2016-06-18 73 views
2

我寫了一個簽名以匹配http responses中的小iframes提取文件匹配bro簽名

這工作正常,我得到在signatures.lognotice.log條目。

我想以提取打這個sig任何文件,所以我可以有一個仔細看看,如果我看signature_match事件中,我可以看到在數據變量http內容 -

我應該只是輸出這些數據傳輸到一個文件,或者有一種方法可以使用file_extract功能來正確提取文件。

我想擴展此更多sigs所以文件提取是我的首選方法。

我應該捕捉sig_match事件,然後「調用」文件提取或捕獲file_new事件,並以某種方式匹配sig

回答

2

你可以做一些簡單的事情,有一個警告。這將通過使用與fa_file記錄一起給出的bof_buffer(文件開始緩衝區)與文件的前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的url?

+0

我期待提取整個文件 - 我希望能夠在.sig文件中定義負載的文件模式正則表達式,並使用signature_match事件提取任何碰到簽名的文件。這意味着命中將記錄在signatures.log中,並且該文件將被保存到磁盤以供進一步分析。 –