包含photoshop提取簽名的詞條
在之前的文章中,我們專(zhuān)注于追蹤和分析從網(wǎng)絡(luò )中得到的數據。但事實(shí)上,在網(wǎng)絡(luò )中追蹤不是唯一的選項。在企業(yè)的主機和服務(wù)器上有大量的數據集來(lái)發(fā)掘未知的惡意行為,包括運行的進(jìn)程,活動(dòng)的網(wǎng)絡(luò )連接,監聽(tīng)端口,文件系統遺留,用戶(hù)日志,自動(dòng)運行等等。而這些數據,難點(diǎn)只在于決定關(guān)注哪些點(diǎn)來(lái)開(kāi)始你的追蹤進(jìn)程。一旦你決定關(guān)注的領(lǐng)域,你可以收集數據,查找可疑的異常,然后做進(jìn)一步調查。
在這個(gè)系列的最后一部分,我們將會(huì )描述利用免費工具在主機吉印通 行追蹤的一些要點(diǎn)。這些技術(shù)首先會(huì )幫你發(fā)現主機上惡意行為的一些線(xiàn)索——不管你有沒(méi)有簽名或者IOC。你可以自由的使用這些,同時(shí)感受追蹤的強大功能。
搜索指標
一個(gè)通用的起始點(diǎn)是在你的主機上搜索IOC。雖然許多人認為這是追蹤,但這僅僅是搜索。不僅僅是搜索,但是為了快速和多變的指標進(jìn)行搜索。 事實(shí)上,由于對手行為趨勢IOC的有效生命周期不斷下降。大部分安全專(zhuān)業(yè)人員都知道這些,并且在Verizon’s DBIR上周的發(fā)布上強調。也就是說(shuō),在你的系統上搜索已知的IOC仍然是必要的,這仍然是常用的步驟。下面是幾個(gè)網(wǎng)站公布的幾種格式的威脅情報信息。
你的主機上一個(gè)擴展性更好的常用IOC是寫(xiě)得好的Yara簽名。 Yara用二進(jìn)制模式和序列來(lái)檢測和分類(lèi)你系統上的惡意程序。Yara和Grep很像,都采用了一系列已知的模式然后進(jìn)行搜索匹配。但是Yara做得更多,在文件,硬盤(pán)和內存中搜索二進(jìn)制模式。一個(gè)好的病毒分析師能夠手寫(xiě)Yara簽名來(lái)檢測惡意軟件的拷貝和變種,新的版本,甚至通過(guò)一個(gè)二進(jìn)制模式來(lái)找到相同家族的惡意軟件?;谶@些原因,Yara是識別惡意軟件最著(zhù)名的開(kāi)源工具之一,并且是免費的。
Yara
Yara規則是基于二進(jìn)制序列或文本對已知惡意軟件模式進(jìn)行結構化的一個(gè)很好的方法。下面是用來(lái)檢測Mimikatz(攻擊者從內存中提取windows認證信息的工具)病毒的Yara簽名的一個(gè)片段。這個(gè)特殊的簽名其實(shí)是Mimikatz工具的作者編寫(xiě)的。
你可以在本地運行Yara,但是如果在遠程或者多臺機器上運行功能會(huì )更強大。Powershell能夠讓操作更方便。利用Powershell運行Yara可以通過(guò)下面這幾個(gè)簡(jiǎn)單的步驟,假設你已經(jīng)有登錄憑證并且Powershell已經(jīng)遠程開(kāi)放了。
將Yara二進(jìn)制傳到目標機器上 w/ 原生windows功能
PS copy yara.exe \\TARGET-HOST\C$\TEMP\yara.exe
規則傳輸
PS copy rules.yara \\TARGET-HOST\C$\TEMP\rules.yara
執行掃描w/反彈命令
PS Invoke-Command -ComputerName TARGET -
Block { c:\TEMP\yara.exe c:\TEMP\rules.yara c:\targetdir } -credential USER
這會(huì )對運行一組Yara規則產(chǎn)生影響(上面例子中的rules.yara)在給定的目錄(上面例子中的c:\targetdir)。這樣就可以搜索很多主機的硬盤(pán)來(lái)標識提取出匹配二進(jìn)制簽名的文件。
這很強大,但并非沒(méi)有缺點(diǎn)。正如我們知道的,簽名很容易失效。不單單是因為Yara簽名寫(xiě)得不好導致的誤報,并且由于惡意軟件變種很快,規則需要經(jīng)常更新不然就會(huì )失效。這非常消耗時(shí)間和資源。然而,跟在IOC中搜索hash值,文件名,或者一些通用的標識相比,使用Yara要強大的多。
無(wú)情報追蹤
即使你有IOC作為入口點(diǎn),IOC不足以發(fā)現你的企業(yè)中的所有可能的惡意行為?,F在就輪到追蹤登場(chǎng)了。追蹤是對未知威脅進(jìn)行系統的主動(dòng)的追擊。這需要在你的數據中標識模式和疑點(diǎn)來(lái)找到你網(wǎng)絡(luò )中可能的惡意程序。正如前面所述,主機上有許多可以追蹤的點(diǎn)。
我們建議從自動(dòng)運行的程序開(kāi)始。攻擊者通常需要在你重啟之后持續潛伏在系統中。這樣做可以長(cháng)期在網(wǎng)絡(luò )中隱藏。自啟動(dòng)項是一個(gè)很好的查找異常和疑點(diǎn)的地方,由于以下幾個(gè)原因。通過(guò)網(wǎng)絡(luò )的異常值分析來(lái)看,自啟動(dòng)項往往是一致的。出現的自啟動(dòng)項中只有一小部分是惡意的,所以從需要分析的地方把它找出來(lái)很難。
另外,為了長(cháng)期運行,需要釋放文件到硬盤(pán)中。有些行為很明顯是可疑的-比如在%TEMP%文件夾外執行了奇怪的文件名。在許多環(huán)境下,惡意自動(dòng)運行的軟件很突出很容易被好的追蹤器檢測到。一旦惡意運行被檢測到,進(jìn)一步的分析會(huì )著(zhù)手進(jìn)行確認和處理。
收集自動(dòng)運行程序
在現代的操作系統中,有上百個(gè)攻擊者可能隱藏的地方。這些包括啟動(dòng)注冊表,服務(wù),驅動(dòng),瀏覽器,Office擴展,很其他更少人知道的地方和方法。
除了大量的位置,抓取到的數據對于分析也很有意義,因為操作系統格式化數據的方式。Sysinternals (由微軟維護)創(chuàng )建了一個(gè)叫Autoruns的工具來(lái)處理這個(gè)問(wèn)題,免費的。
雖然不完美,這個(gè)工具在windows系統上從自啟動(dòng)項提取數據已經(jīng)做的很好了,并取得hash值,允許一些基本的處理(比如上傳到VirusTotal)。
我們推薦結合Powershell 和autoruns的命令行來(lái)使用,這樣可以遠程從你的系統抓取數據。這些可以通過(guò)以下幾個(gè)步驟完成:
將自動(dòng)運行的二進(jìn)制和msvcr100.DLL傳到目標主機 w/原生windows函數
PS copy autorunsc.exe \\TARGET-HOST\C$\TEMP\autorunsc.exe
PS copy msvcr100.dll \\TARGET-HOST\C$\TEMP\msvcr100.dll
執行w/ 反彈命令(w/輸出選項)
PS Invoke-Command -ComputerName TARGET -Block { c:\TEMP\autorunsc.exe –a (??) –h ( c:\TEMP\autoruns-output.txt) } -credential USER
收集輸出
PS copy \\TARGET-HOST\C$\TEMP\autoruns-output.txt c:\directory
正如之前,這樣可以通過(guò)網(wǎng)絡(luò )來(lái)獲取許多系統上的數據。
數據分析
我們推薦你先把自啟動(dòng)項的hash值上傳到VirusTotal ??梢灾肋@是不是一個(gè)惡意軟件,然后你可以有針對性的分析。幸運的是,Sysinternals可以幫你完成這些,或者你可以用VirusTotal 的API寫(xiě)一些東西。
所以你已經(jīng)收集到了所有的自啟動(dòng)項并且判斷哪些是惡意軟件。這是一個(gè)很好的開(kāi)始,但是還不夠。你需要追蹤未知的惡意軟件并且在數據中找到異常。
這里有好多方法可以實(shí)現,但是我們推薦hash的第一個(gè)棧,然后查找數據中不匹配一般族群的異常。先取得自啟動(dòng)項的hash值,然后以這樣的格式列出HOST:HASH。下面提供了一個(gè)具體的例子,看起來(lái)大概是這樣的(在真實(shí)的環(huán)境中你可能會(huì )有更多的自啟動(dòng)項。)
一個(gè)簡(jiǎn)單的步驟是用冒號(:)來(lái)描述輸出
# cat hash-map.txt | cut -d’:’-f2 hashes.txt
然后在你的系統吉印通 行歸納和排序來(lái)快速識別異常。
在這個(gè)例子中,我有* 2個(gè)系統。每個(gè)系統上都出現許多自啟動(dòng)項。幾只出現在一個(gè)上。這個(gè)異常是很可疑的。最合理的步驟是先看看那個(gè)主機上自動(dòng)運行輸出的細節。你會(huì )看到奇怪的描述,奇怪的文件名,奇怪的自動(dòng)運行位置,以及更多的信息。下面的例子展示了“svcchost.exe”在開(kāi)機的時(shí)候從C:\WINDOWS\temp目錄啟動(dòng)。
下一個(gè)例子展示了一個(gè)程序在啟動(dòng)的時(shí)候從回收站執行,只有單字符的文件名,很清楚的顯示一些奇怪的東西在執行。
這里你不僅僅可以從自動(dòng)運行數據獲取可疑的信息。還有很多方法。你可以進(jìn)行進(jìn)一步的研究,比如在Elasticsearch(另一個(gè)免費工具)中建立數據索引,定期從你的終端收集自動(dòng)運行信息,查看自動(dòng)運行的變化,搜索相關(guān)的數據。當然,還有很多的終端線(xiàn)索可以用于追蹤。一個(gè)好的追蹤器需要覆蓋日志,進(jìn)程,網(wǎng)絡(luò )信息,以及其他。
總結
通過(guò)這個(gè)系列的三篇文章,我們提供了使用免費軟件在主機上和網(wǎng)絡(luò )吉印通 程進(jìn)行追蹤的幾種方法。追蹤技術(shù)不依賴(lài)于時(shí)刻變化的簽名和IOC,因此提供方法來(lái)更好的匹配復雜的模型和攻擊技術(shù)。每個(gè)組織和研究者可以開(kāi)始主動(dòng)的檢測網(wǎng)絡(luò )中未知的威脅。從被動(dòng)DNS到自動(dòng)運行,我們已經(jīng)覆蓋了很多方面并且描述了多種免費而強大的方法來(lái)在主機和網(wǎng)絡(luò )上追蹤。
*參考來(lái)源:endgame,FB小編老王隔壁的白帽子翻譯,轉載請注明來(lái)自FreeBuf黑客與極客(FreeBuf.COM)