我写了一个签名来匹配iframes
中的小http responses
。
此工作正常,我在signatures.log
和notice.log
中输入了一个条目。
我想提取任何符合此sig
的文件,以便我仔细查看。如果我查看signature_match
事件,我可以看到http
内容数据变量 -
我应该将此数据输出到文件中,还是有办法使用file_extract
功能正确提取文件。
我想用更多sigs
扩展它,因此文件提取是我首选的方法。
我是否应该捕获sig_match
事件然后“调用”文件提取或捕获file_new事件并以某种方式匹配sig
?
答案 0 :(得分:2)
你可以做一些简单的事情,但有一点需要注意。这将通过使用与fa_file
记录一起提供的bof_buffer(Begin Of File缓冲区)来匹配文件的前4096个字节。我们可以使用file_sniff
事件查看该记录,以查看您在那里找到的内容。
event file_sniff(f: fa_file, meta: fa_metadata)
{
if ( /<[iI][fF][rR][aA][mM][eE][[:blank:]]/ in f$bof_buffer )
{
Files::add_analyzer(f, Files::ANALYZER_EXTRACT);
}
}
使这一点变得不那么重要的原因是你实际上没有机会在file_sniff
事件之后提取完整的文件。 Bro总是以流式方式对数据进行操作,并且它不会永久保存在内存中,所以我们只维护这个小缓冲区,以便我们在将文件刷新到分析器(例如文件提取分析器)之前对文件做出决定
您是否真的希望提取整个文件,或者只是想提取iframe的网址?