In de Security Tip van de week geeft elke week een andere professional, expert, onderzoeker of lezer een security tip. Persoonlijke tips, variërend van het veilig configureren van Windows, een handige security tool of het juist instellen van een firewall, waarmee de tipgever zijn systeem, applicatie of netwerk veiliger maakt.
Heb jij ook een leuke, originele, maar bovenal goede security tip die niet mag ontbreken, stuur dan een mail naar redactie@security.nl.
Deze week de Security Tip van Bart Blaze
Malware lab, de basics
Even een quote uit een artikel van mij:
Before we begin, I’d like to make clear that if you want to test your skills after reading this article or want to test malware in general, you should set up a proper testing environment. Make sure you are using a Virtual Machine if testing on your own machine, or create a machine for the sole use of testing malware and antimalware tools. In either case, it’s a good idea to use a separate network or use a DMZ should you have one. Personally I recommend having the machine connected to the internet, so the malware can do its evil work to its maximum potential and you will be able to carefully study and dissect its workings completely.
Denk wel dat bovenstaande duidelijk is:
Ik raad aan om, als je VM gebruikt, een snapshot te nemen in:
a) een "clean" state
b) een state waarop je tools en dergelijke staan
Hierna voer je X of Y malware uit
Voor de disk zelf kan je best split virtual disk gebruiken, aangezien deze minder schijfruimte gaat innemen (dynamisch), single file wordt meer gebruikt voor oudere toestellen. Qua performantie maakt dit niet veel verschil, voor malware analysis al zeker niet.
Voor de netwerkconnectie wordt meestal bridged gebruikt, aangezien NAT soms problemen kan geven bij bepaalde netwerkkaarten. Voor malware analysis zelf lijkt dit me op zich niet veel uit te maken. Nog een handige link met extra uitleg:
Over het OS dat je kan gebruiken
Buiten uiteraard een Windows OS (bv. een Windows XP en een Windows 7, twee verschillende OS'en kunnen soms 2 verschillende resultaten opleveren) kan je ook een *nix distri gebruiken welke speciaal voor Malware Analysts is ontworpen. Hier heb je keuze:
Nu wat betreft de tools zelf. Uiteraard zijn er verschillende logging tools beschikbaar, maar we gaan beginnen met enkele automatisch systemen:
Sandboxie
Indien je geen VM hebt of geen kunt gebruiken maar toch min of meer malware analysis gaan uitvoeren, kan je Sandboxie gebruiken. Deze gaat in feite programma's (of in dit geval malware), op een "apart stukje" van je harde schijf uitvoeren. Ik vermoed echter dat iedereen hiermee bekend is. Note: voer nooit een VM uit in een sandbox!
Malzilla
Malzilla is een excellente tool voor als je geen VM hebt (anders natuurlijk ook). Malzilla kan eigenlijk heel wat, zoals bv. Javascript decoden, lijst van links op een site weergeven, maar het voornaamste is eigenlijk dat je een URL kan bezoeken en kan bekijken wat er allemaal gebeurt (bv. een redirect naar X site, een redirect naar Google, helemaal niets,...). Handig is ook dat je al dan niet een referrer kan instellen. Bepaalde malware gaat controleren of je via X of Y referral gaat en zoniet, redirect gewoon naar Google. Het kan ook gebeuren dat hetzelfde IP slechts 1x dezelfde malware site mag/kan bezoeken. In Malzilla kan je dan een proxy instellen.
URLQuery en JSunpack zijn beide tools om malware sites te analyseren, indien je moeilijkheden hebt met Malzilla of, wegens tijdsgebrek snel iets moet checken. URLquery is meer intuïtief. Beide tools zijn echter onmisbaar.
Last, but not least: VirusTotal
Schitterende service om snel een sample te checken. Houd in het achterhoofd dat detecties kunnen verschillen via VirusTotal of op een echt systeem (bv. behaviour analysis wordt niet mee opgenomen in de scanners op VirusTotal). Eveneens kan je bij File Detail makkelijk de mèta-data checken. Afhankelijk van het type bestand (PE files, Android files, others) worden extra scanners uitgevoerd. (.exe, .com, .apk, .jar, .pdf)
Nu, manuele systemen en tools. Je kan al een schat aan tools op deze link vinden:
Mijn persoonlijke favorieten:
Fiddler: bekijken wat X of Y URL precies probeert te laden, handig voor de infection vector en methodiek te bepalen.
RegShot: neem een "snapshot" van het huidige systeem en vergelijk daarna welke wijzigingen malware heeft doorgevoerd.
Revelo: meer een all-in-one tool, vergelijkbaar met Malzilla, maar anders.
Uiteraard kan je ook Wireshark gebruiken maar:
a) Dit is redundant als je ook Remnux gebruikt.
b) Ik heb effectief al malware tegengekomen die gewoon weigert iets te doen als Wireshark op het toestel staat.
Andere "monitoring" tools on-the-fly zijn bijvoorbeeld:
Er zijn verschillende packers, de bekendste is wel UPX. Eveneens zijn er nog een pak andere packers en zelfs custom packers gemaakt door - de malware author zelf. Bestand kan je unpacken in een disassembler (bv. IDA Pro, OllyDBG). Kijken of er een packer aanwezig is kan je met VirusTotal, of met tools zoals PEiD of LordPE
Bart werkt bij Panda Security overdag als corporate & malware technician en werkt 's nachts als malware researcher. Meer informatie kan je terugvinden op zijn Twitter of blog.
Dit artikel is geschreven op persoonlijke titel van de auteur en reflecteert niet noodzakelijk de zienswijze van Security.NL.
Deze posting is gelocked. Reageren is niet meer mogelijk.