0

在官方 Yara 规则存储库 git hub 中有一个索引文件。这个:https ://github.com/Yara-Rules/rules/blob/master/index.yar

我想用 bash 或其他语言创建一个脚本,该脚本能够将所有 yara 文件合并到一个 .yar(如 index.yar)中,其中包括我所有的 yara 文件。我可以手动完成,但问题是有太多规则无法在脚本中手动写下来。

例如这个存储库:https ://github.com/citizenlab/malware-signatures/tree/master/malware-families 我真的不知道如何创建一个文件来创建一个包含所有这些 yara 规则的文件存储库

提前感谢您的所有帮助,我很感激。

4

2 回答 2

1

我不确定您的问题,但为什么不列出原始 yar 文件并循环下载它们呢?在下面的示例中,我拉下 3 个文件并打印它们,但我删除了所有包含包含的行的文件名。然后我当然会使用 '>' 将此脚本运行到另一个文件中:

例子 :

#!/bin/bash

raw_list_urls="https://raw.githubusercontent.com/Yara-Rules/rules/master/index.yar https://raw.githubusercontent.com/Yara-Rules/rules/master/index.yar https://raw.githubusercontent.com/Yara-Rules/rules/master/index.yar"
IFS=' ' read -r -a urls <<< "${raw_list_urls}"

for url in "${urls[@]}" ; do
        echo "Getting ${url}" ; sleep 2
        curl "${url}" | grep include | cut -d'"' -f2
done

输出示例:

./malware/RAT_ShadowTech.yar
./malware/RAT_Shim.yar
./malware/RAT_Terminator.yar
./malware/RAT_Xtreme.yar
./malware/RAT_ZoxPNG.yar
./malware/RAT_jRAT.yar
./malware/RAT_xRAT.yar
./malware/RAT_xRAT20.yar
./malware/TOOLKIT_Chinese_Hacktools.yar
./malware/TOOLKIT_Dubrute.yar
./malware/TOOLKIT_FinFisher_.yar
./malware/TOOLKIT_Gen_powerkatz.yar
./malware/TOOLKIT_Mandibule.yar
于 2018-11-23T18:36:27.123 回答
0

我编写了一个小脚本,它*.yar在本地文件夹中查找文件并创建一个索引文件,其中包含找到的 para 规则:

for f in $(find . -mindepth 1 ! -path "./$(basename $PWD)_all.yar" -type f -name "*.yar"); do
  if [[ "$f" == *"Mobile_Malware"* || "$f" == *"mobile"* ]]; then  # exclude Android rules
    continue
  fi
  echo "include \"$f\"" >> $(basename $PWD)_index.yar;
done;
于 2021-06-30T16:20:37.140 回答