Nástroje na analýzu malvéru, Časť 2

  • utorok, okt 5, 2021
Singel-post cover image

V druhej častí nášho prehľadu prinášame pokračovanie výberu z najpoužívanejších a najužitočnejších nástrojov na analýzu malvéru, ktoré sú navyše k dispozícii bezplatne. Tentoraz sa zameriame aj na nástroje užitočné aj pri iných typoch súborov, než sú tradičné spustiteľné programy.

Wireshark

Wireshark je veľmi dobre známy nástroj na analýzu sieťovej komunikácie a sieťových protokolov. Umožňuje zachytávanie a analýzu sieťovej komunikácie v reálnom čase, aj ukladanie zachytenej komunikácie a jej následnú offline analýzu. Má mnoho zabudovaných filtrov a vďaka množstvu parserov rozumie širokej škále protokolov, z ktorých dokáže vyextrahovať relevantné informácie. V neposlednom rade vie dešifrovať aj SSL/TLS komunikáciu, ak máme k dispozícii privátny kľúč patriaci k serverovému certifikátu. To je obzvlášť vhodné v prípade analýzy malvéru, ktorý využíva protokol https na komunikáciu s riadiacim serverom - pomocou SSL proxy mu môžeme podhodiť “náš” certifikát a následne dešifrovať jeho komunikáciu.

Obr. 1: Wireshark a analýza emailovej komunikácie ransomvéru JobCrypter

Obr. 1: Wireshark a analýza emailovej komunikácie ransomvéru JobCrypter

dnSpy

Dnes už takpovediac história. Dekompilátor, editor a .NET debugger dnSpy bol veľmi obľúbený a používaný nástroj nielen pri analýze malvéru. Avšak v decembri 2020 jeho vývoj skončil a hoci je odvtedy aj repozitár so zdrojovými kódmi na Githube archivovaný, stále je možné stiahnuť funkčné posledné vydanie. Aj keď podpora pre analýzu programov využívajúcich nové .NET vlastnosti už pribúdať nebude, pre analýzu vzoriek založených na starších verziách .NET môže byť stále dobre použiteľný. Tiež môže slúžiť ako vyúková pomôcka vďaka príjemnému používateľskému rozhraniu, dobrému debuggeru a editoru, v ktorom sa dalo (v porovnaní s niektorými alternatívami) rýchlo orientovať v dekompilovanom kóde a hľadať referencie na a z analyzovaných funkcií.

V súčasnosti však je už vhodné doplniť tento nástroj aj súčasnými podporovanými alternatívami, napríklad dekompilátormi dotPeek, ILSpy alebo multiplatformovým MonoDevelop, ktoré funguje aj na Linuxe a tiež je použiteľné na dekompilovanie a analýzu .NET malvéru.

Obr. 2: dnSpy a debuggovanie obfuskovaného programu - funkcia 7.3 dešifrovala payload a vrátila pole bytov, ktoré je možné uložiť pre ďalšiu analýzu (vzorka z Hack The Box)

Obr. 2: dnSpy a debuggovanie obfuskovaného programu - funkcia 7.3 dešifrovala payload a vrátila pole bytov, ktoré je možné uložiť pre ďalšiu analýzu (vzorka z Hack The Box)

Bytecode Viewer

Dekompilátor, editor, kompilátor pre programy a aplikácie vytvorené v jazyku Java, vrátane aplikácií pre Android. Využíva viacero voľne dostupných nástrojov a integruje ich do jednotného používateľského rozhrania. Na dekompilovanie vie využiť až 6 dekompilátorov (JD-GUI/Core, Procyon, CFR, Fernflower, Krakatau, JADX-Core). Pre podporu analýzy a úpravy aplikácií pre Android podporuje aj integráciu Smali/Baksmali a dex2jar, takže je možné priamo pracovať s APK súbormi. Veľmi užitočná je možnosť zobraziť tri panely vedľa seba s výstupom z rôznych dekompilátorov. Občas sa totiž pri dekompilácii stane, že nie každý dekompilátor si dokáže poradiť so všetkým, prípadne dá nie úplne korektný výstup. Práve vtedy príde vhod porovnanie výstupov viacerých rôznych dekompilátorov vedľa seba.

Obr. 3: Bytecode Viewer a malvér Adwind RAT

Obr. 3: Bytecode Viewer a malvér Adwind RAT

Oletools

Veľmi častým zdrojom malvéru sú súbory kancelárskych balíkov - dokumeny, tabuľky, prezentácie a šablóny Microsoft Office. Novšie formáty OOXML (Office Open XML, súbory s príponami .docx, .xlsx, .pptx) sú v podstate XML a ďalšie súbory zabalené v ZIP archíve. Starší formát, OLE, resp. OLE2 (Object Linking and Embedding, Compound Document File Format) sú binárne súbory, ktoré sú však stále používané aj útočníkmi. Na analýzu office súborov je veľmi dobrý nástroj, či skôr sada nástrojov oletools. Táto sada obsahuje malé Python programy na statickú analýzu súborov, extrakciou objektov z OLE aj RTF súborov, ako aj asi najznámejší nástroj olevba na extrakciu a analýzu makier z OLE aj OOXML súborov.

Obr. 4: olevba a analýza makier v dokumente invoice.doc (vzorka z ECSC)

Obr. 4: olevba a analýza makier v dokumente invoice.doc (vzorka z ECSC)

Peepdf

Po súboroch z kancelárskych balíkov sú ďalším druhom dokumentov, ktoré môžu byť zneužívané útočníkmi, súbory typu PDF. Môžu obsahovať aj exploity, aj vložené ďalšie objekty a súbory. Na prezeranie ich štruktúry a analýzu je viacero nástrojov, jeden z ľahšie dostupných je peepdf, ktorý je aj súčasťou Linuxovej distribúcie REMnux zameranej na analýzu malvéru.

Obsahuje interaktívny aj skriptovací mód, umožňuje zobraziť všetky objekty v PDF súbore, zvýrazniť podozrivé elementy a extrahovať ich. Pre tých, ktorí preferujú nástroj s grafickým rozhraním, umožňujúci prechádzanie štruktúry PDF súborov, môžeme ako alternatívny nástroj doporučíť pdfwalker, avšak v schopnostiach za peepdf zaostáva.

Obr. 5: peepdf a zobrazenie podozrivých elementov v PDF súbore s JavaScriptom a vloženým škodlivým programom Meterpreter (vzorka z TryHackMe)

Obr. 5: peepdf a zobrazenie podozrivých elementov v PDF súbore s JavaScriptom a vloženým škodlivým programom Meterpreter (vzorka z TryHackMe)

Záver

V druhej časti nášho miniseriálu sme predstavili ďalších 5 bezplatných nástrojov, tentokrát využiteľných pri analýze programov v .NET, Jave a pri analýze office dokumentov a PDF súborov. Spolu s 5 nástrojmi z prvého dielu predstavuje tento prehľad Top 10 nástrojov, s ktorými je možné analyzovať najčastejšie potenciálne škodlivé súbory aj sieťovú komunikáciu.

Okrem uvedených 10 nástrojov sme spomenuli aj niekoľko alternatív a komplexnejších balíkov nástrojov, vrátane špecializovaného operačného systému na analýzu malvéru zvaného REMnux. Samozrejme, v prípade, že sa niekto venuje analýze malvéru dlhodobo alebo profesionálnejšie, tak pri svojej práci časom začne využívať ďaleko väčší repertoár nástrojov a (aj vlastných) skriptov.

Odkazy