suricata文件提取

1.架構(gòu)

文件提取代碼在一些協(xié)議解析器之上工作涵妥。應(yīng)用程序?qū)咏馕銎髟诹髦亟M引擎和UDP流跟蹤之上運(yùn)行。

在HTTP的情況下,解析器負(fù)責(zé)解壓縮并在必要時(shí)解壓縮請(qǐng)求和/或響應(yīng)數(shù)據(jù)朦蕴。

這意味著流引擎指厌,重組引擎和應(yīng)用程序?qū)咏馕銎髦械脑O(shè)置都會(huì)影響文件提取的工作刊愚。

實(shí)際提取并存儲(chǔ)到磁盤(pán)的文件由規(guī)則語(yǔ)言控制。

支持的協(xié)議是:

HTTP

SMTP

FTP

NFS

SMB

2.設(shè)置

stream.checksum_validation控制流引擎是否拒絕具有無(wú)效校驗(yàn)和的數(shù)據(jù)包踩验。通常一個(gè)好主意鸥诽,但網(wǎng)絡(luò)接口執(zhí)行校驗(yàn)和卸載很多數(shù)據(jù)包可能似乎被打破。默認(rèn)情況下啟用此設(shè)置箕憾,可以通過(guò)設(shè)置為“no”來(lái)禁用此設(shè)置牡借。請(qǐng)注意,可以按接口控制校驗(yàn)和處理袭异,請(qǐng)參閱示例配置中的“checksum_checks”钠龙。

file-store.stream-depth控制流重組的完成程度。超過(guò)此值不會(huì)重新組裝。這意味著在此值之后將不再跟蹤HTTP會(huì)話(huà)俊鱼。默認(rèn)情況下刻像,使用1兆字節(jié)的設(shè)置。0將其設(shè)置為無(wú)限制并闲。如果設(shè)置為no细睡,則禁用它并考慮stream.reassembly.depth。

libhtp.default-config.request-body-limit?/?libhtp.server-config.<config> .request-body-limit控制http_client_body關(guān)鍵字跟蹤檢查HTTP請(qǐng)求主體的數(shù)量帝火,但也用于限制文件檢查溜徙。值0表示無(wú)限制。

libhtp.default-config.response-body-limit?/?libhtp.server-config.<config> .response-body-limit與請(qǐng)求主體限制類(lèi)似犀填,只適用于HTTP響應(yīng)主體蠢壹。

3.輸出

3.1?File-Store和Eve?fileinfo

有兩個(gè)輸出模塊用于記錄有關(guān)提取的文件的信息。第一個(gè)是記錄記錄eve.files的eve子記錄器fileinfo九巡。這些fileinfo記錄提供有關(guān)文件的元數(shù)據(jù)图贸,但不提供實(shí)際的文件內(nèi)容。

必須在eve輸出中啟用此選項(xiàng):

圖1

另一個(gè)輸出模塊file-store將實(shí)際文件存儲(chǔ)到磁盤(pán).

file-store使用它自己的日志目錄(默認(rèn)情況下存儲(chǔ)在默認(rèn)日志目錄)冕广,并使用日志文件的內(nèi)容的SHA256作為文件名疏日。然后將每個(gè)文件放在名為00到ff的目錄中,其中目錄共享文件名的前2個(gè)字符撒汉。例如沟优,如果解壓縮文件的SHA256十六進(jìn)制字符串以“f9bc6d ...”開(kāi)頭,則我們將文件放在目錄?filestore/f9中睬辐。

使用SHA256作為文件名允許自動(dòng)重復(fù)數(shù)據(jù)刪除提取的文件挠阁。但是,如果再次提取相同的文件溯饵,則會(huì)更新預(yù)先存在的文件的時(shí)間戳侵俗,類(lèi)似于touch命令。

可選地瓣喊,fileinfo可以將記錄寫(xiě)入其自己的文件坡慌,共享與其引用的文件相同的SHA256黔酥。為了處理每次出現(xiàn)的提取文件的元數(shù)據(jù)藻三,這些文件名包含一些額外的字段以確保唯一性。目前的格式是:

<SHA256>.<SECONDS>.<ID>.json

<SECONDS>是觸發(fā)存儲(chǔ)文件的數(shù)據(jù)包的秒數(shù)跪者,并且<ID>是Suricata實(shí)例的運(yùn)行時(shí)的唯一ID棵帽。不應(yīng)依賴(lài)這些值,僅用于確保唯一性渣玲。

這些fileinfo記錄對(duì)fileinfo記錄到eve輸出的記錄是必不可少的逗概。

3.2?File-Store(V1)

注意:文件存儲(chǔ)版本1已被版本2取代,不再推薦使用忘衍。

圖2

存儲(chǔ)的每個(gè)文件都將具有名稱(chēng)“file.<id>”逾苫。除非使用waldo選項(xiàng)卿城,否則將重置ID并覆蓋文件。如果write-meta設(shè)置為yes(默認(rèn))铅搓,則生成包含文件元數(shù)據(jù)的“file.<id> .meta”文件瑟押。如果設(shè)置了include-pid選項(xiàng),則文件將改名為“file.<pid>.<id>”星掰,元文件將為“file.<pid>.<id> .meta”多望。文件在打開(kāi)時(shí)還會(huì)帶有后綴“.tmp”,只有在最終確定時(shí)才會(huì)刪除氢烘。

3.3 File-Log(已棄用)

file-log 是一個(gè)獨(dú)立的記錄器怀偷,用于記錄有關(guān)提取的文件的信息。它已被棄用播玖,不應(yīng)使用椎工。它已被eve.files在Eve輸出取代。

圖3

4.規(guī)則

沒(méi)有規(guī)則就不會(huì)進(jìn)行提取蜀踏。最簡(jiǎn)單的規(guī)則是:

alert http any any->any any(msg:"FILE store all";filestore;sid:1;rev:1;)

這只會(huì)將所有文件存儲(chǔ)到磁盤(pán)晋渺。想要以pdf擴(kuò)展名存儲(chǔ)所有文件?

alert http any any->any any(msg:"FILE PDF file claimed";fileext:"pdf";filestore;sid:2;rev:1;)

或者更確切地說(shuō)是所有實(shí)際的PDF文件

alerthttpanyany->anyany(msg:"FILE pdf detected";filemagic:"PDF document";filestore;sid:3;rev:1;)

或者只是存儲(chǔ)來(lái)自黑名單校驗(yàn)和md5的文件脓斩?

alerthttpanyany->anyany(msg:"Black list checksum match and extract MD5";filemd5:fileextraction-chksum.list;filestore;sid:4;rev:1;)

或者只存儲(chǔ)黑名單校驗(yàn)和sha1中的文件木西?

alerthttpanyany->anyany(msg:"Black list checksum match and extract SHA1";filesha1:fileextraction-chksum.list;filestore;sid:5;rev:1;)

或者最后從黑名單校驗(yàn)和sha256存儲(chǔ)文件?

alerthttpanyany->anyany(msg:"Black list checksum match and extract SHA256";filesha256:fileextraction-chksum.list;filestore;sid:6;rev:1;)

綁定Suricata下載是一個(gè)包含更多示例規(guī)則的文件随静。在存檔中八千,轉(zhuǎn)到rules/目錄并檢查files.rules文件。

5.MD5

Suricata可以動(dòng)態(tài)計(jì)算文件的MD5校驗(yàn)和并記錄它們燎猛。

5.1?配置

在suricata yaml:

圖4

對(duì)于JSON輸出恋捆,可選:

圖2

確保depth: 0 它可以完全跟蹤所有文件

圖3

確保我們有request-body-limit:0和?response-body-limit:0

圖4

5.2 測(cè)試

出于測(cè)試目的,我們僅在file.rules(測(cè)試/示例文件)中使用此規(guī)則:

alert http any any->any any(msg:"FILE store all";filestore;sid:1;rev:1;)

上面的規(guī)則將保存通過(guò)HTTP打開(kāi)/下載的文件的所有文件數(shù)據(jù)

啟動(dòng)Suricata(-S選項(xiàng)僅加載指定的規(guī)則文件重绷,如果在suricata.yaml中啟用了任何其他規(guī)則沸停,則忽略它):

suricata -c /etc/suricata/suricata.yaml -S? file.rules? -i? eth0

元數(shù)據(jù):

圖5

在files-json.log(或eve.json)中:

{"id":1,"timestamp":"05\/01\/2012-11:10:27.693583","ipver":4,"srcip":"2.23.144.170","dstip":"192.168.1.91","protocol":6,"sp":80,"dp":51598,"http_uri":"\/en\/US\/prod\/collateral\/routers\/ps5855\/prod_brochure0900aecd8019dc1f.pdf","http_host":"www.cisco.com","http_referer":"http:\/\/www.google.com\/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.cisco.com%2Fen%2FUS%2Fprod%2Fcollateral%2Frouters%2Fps5855%2Fprod_brochure0900aecd8019dc1f.pdf&ei=OqyfT9eoJubi4QTyiamhAw&usg=AFQjCNGdjDBpBDfQv2r3VogSH41V6T5x9Q","filename":"\/en\/US\/prod\/collateral\/routers\/ps5855\/prod_brochure0900aecd8019dc1f.pdf","magic":"PDF document, version 1.6","state":"CLOSED","md5":"59eba188e52467adc11bf2442ee5bf57","stored":true,"size":9485123}

{"id":12,"timestamp":"05\/01\/2012-11:12:57.421420","ipver":4,"srcip":"2.23.144.170","dstip":"192.168.1.91","protocol":6,"sp":80,"dp":51598,"http_uri":"\/en\/US\/prod\/collateral\/routers\/ps5855\/prod_brochure0900aecd8019dc1f.pdf","http_host":"www.cisco.com","http_referer":"http:\/\/www.google.com\/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDAQFjAA&url=http%3A%2F%2Fwww.cisco.com%2Fen%2FUS%2Fprod%2Fcollateral%2Frouters%2Fps5855%2Fprod_brochure0900aecd8019dc1f.pdf&ei=OqyfT9eoJubi4QTyiamhAw&usg=AFQjCNGdjDBpBDfQv2r3VogSH41V6T5x9Q","filename":"\/en\/US\/prod\/collateral\/routers\/ps5855\/prod_brochure0900aecd8019dc1f.pdf","magic":"PDF document, version 1.6","state":"CLOSED","md5":"59eba188e52467adc11bf2442ee5bf57","stored":true,"size":9485123}

5.3 沒(méi)有任何規(guī)則下記錄所有MD5

如果你想記錄MD5s的所有內(nèi)容以及通過(guò)Suricata檢查的流量,但不記錄文件本身昭卓,那么你所要做的就是禁用文件存儲(chǔ)并只啟用帶強(qiáng)制MD5的JSON輸出 - 在suricata.yaml設(shè)置如這樣:?

圖6
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末愤钾,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子候醒,更是在濱河造成了極大的恐慌能颁,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件倒淫,死亡現(xiàn)場(chǎng)離奇詭異伙菊,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)镜硕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)运翼,“玉大人,你說(shuō)我怎么就攤上這事兴枯∧硝澹” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵念恍,是天一觀(guān)的道長(zhǎng)六剥。 經(jīng)常有香客問(wèn)我,道長(zhǎng)峰伙,這世上最難降的妖魔是什么疗疟? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮瞳氓,結(jié)果婚禮上策彤,老公的妹妹穿的比我還像新娘。我一直安慰自己匣摘,他們只是感情好店诗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著音榜,像睡著了一般庞瘸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赠叼,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天擦囊,我揣著相機(jī)與錄音,去河邊找鬼嘴办。 笑死瞬场,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的涧郊。 我是一名探鬼主播贯被,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼妆艘!你這毒婦竟也來(lái)了彤灶?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤双仍,失蹤者是張志新(化名)和其女友劉穎枢希,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體朱沃,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逗物。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搬卒。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖翎卓,靈堂內(nèi)的尸體忽然破棺而出契邀,到底是詐尸還是另有隱情,我是刑警寧澤失暴,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布坯门,位于F島的核電站,受9級(jí)特大地震影響逗扒,放射性物質(zhì)發(fā)生泄漏古戴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一矩肩、第九天 我趴在偏房一處隱蔽的房頂上張望现恼。 院中可真熱鬧,春花似錦黍檩、人聲如沸叉袍。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)喳逛。三九已至,卻和暖如春棵里,著一層夾襖步出監(jiān)牢的瞬間艺配,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工衍慎, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留转唉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓稳捆,卻偏偏與公主長(zhǎng)得像赠法,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子乔夯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355