在官方的Yara规则存储库git集线器中有一个索引文件。这里:https://github.com/Yara-Rules/rules/blob/master/index.yar
我想创建一个脚本在bash或其他语言能够合并所有雅拉文件在一个.yar (如index.yar),其中包括我所有的雅拉文件。我可以手动完成,但问题是有太多的规则需要在脚本中手动写下来。
例如,这个存储库:https://github.com/citizenlab/malware-signatures/tree/master/malware-families,我真的不知道如何创建一个文件来创建一个包含所有这些来自存储库的yara规则的yara文件
提前感谢你的帮助,我很感激。
发布于 2018-11-24 02:36:27
我不太清楚你的问题,但为什么不直接列出原始的yar文件,然后循环下载它们呢?在下面的示例中,我拉下3个文件并打印它们,但是我用include去掉了除了文件名之外的所有行。当然,我会使用'>‘将这个脚本运行到另一个文件中:
示例:
#!/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发布于 2021-07-01 00:20:37
我编写了一个小脚本,它在本地文件夹中查找*.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;https://stackoverflow.com/questions/53451069
复制相似问题