1
Voor Security.nl heb ik een post geschreven hoe je een eigen malware analyse lab kan opstellen. Deze post vind je hieronder terug als mirror. Feedback is steeds welkom!

Ik deel deze post op in enkele compartimenten, om het overzichtelijk te houden.

Over het environment, de computer, zelf
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:
- gebruik geen shared folders tussen VM & host
- gebruik bij voorkeur een apart netwerk
- gebruik bij voorkeur een fysiek toestel en geen VM
- gebruik antivirus op je fysiek toestel als je een VM gebruikt

Malware gaat vaak checken op bepaalde characteristics in het systeem, zoals hardware GUIDs, eigenschappen van de Netwerkkaart, nakijken of X of Y tools geïnstalleerd staan, controleren op X of Y services.... Vandaar dat een echt fysiek toestel soms betere of zelfs compleet andere resultaten (behaviour) kan geven dan in een VM. Indien een fysiek toestel niet mogelijk is, kan je inderdaad kiezen voor virtualisatiesoftware:
VirtualBox (Oracle/Sun) of VMware Workstation/VMWare Player. Beiden zijn makkelijk in gebruik.

Code: Selecteer alles

VirtualBox: gratis, kan snapshots nemen
VMWare WS: niet gratis, kan snapshots nemen
VMWare Player: gratis, kan geen snapshots nemen
Een handig tooltje om na te gaan hoe malware je systeem op bepaalde parameters checkt is Pafish:
https://github.com/a0rtega/pafish" onclick="window.open(this.href);return false;

Ik raad aan om, als je VM gebruikt, een snapshot te nemen in:
a) een "clean" state
b) een state waarop je tools ed. 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: http://zeltser.com/vmware-malware-analysis/" onclick="window.open(this.href);return false;


Over het OS dat je kan gebruiken
Buiten uiteraard een Windows OS (bv. een Windows XP en een Windows 7, 2 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:
  • Malnet2 - deze wordt niet meer developed denk ik, heb deze ergens in 2010 op HITB leren kennen en maar af en toe gebruikt. Enkel de slides zijn nog nuttig voor referentie.
    Info: http://conference.hitb.org/hitbsecconf2 ... %20Lab.pdf" onclick="window.open(this.href);return false; (slides) & " onclick="window.open(this.href);return false;
  • Remnux - deze gebruik ik tegenwoordig, de ideale toolbox, een must have dus!
    Info: http://zeltser.com/remnux/" onclick="window.open(this.href);return false; & https://www.sans.org/webcasts/malware-a ... mnux-96397" onclick="window.open(this.href);return false; (video)
  • Je eigen distri - Niets houd je tegen om immers zelf een eigen environment op te zetten met tools die jij wil - echter, waarom zou je het wiel heruitvinden?


Tools voor Windows
Idealiter verloopt een analyse van wat X of Y malware doet als volgt:
a) Zet beide VM's op, zowel Windows box als Remnux
b) Prepareer de tools of logging op beide toestellen
c) Bezoek X link of voer Y malware uit
d) Bekijk het behaviour van de malware
e) Sla de logs op en bekijk deze ook nog eens apart, in-depth

Nu wat betreft de tools zelf. Uiteraard zijn er verschillende logging tools beschikbaar, maar we gaan beginnen met enkele automatisch systemen:
Malwr - https://malwr.com/" onclick="window.open(this.href);return false;
ThreatExpert - http://www.threatexpert.com/" onclick="window.open(this.href);return false;
Anubis - http://anubis.iseclab.org/" onclick="window.open(this.href);return false;
--> Deze 3 bovenste zijn in feite online sandboxes, waar je malware naar kan uploaden en hierna een (al dan niet) uitgebreid rapport kan bekijken. Dit kan handig zijn moest een sample weigeren te runnen op jouw systeem, of je hebt geen tijd om zelf uitgebreid onderzoek te doen. Uiteraard zijn er nog andere sandboxes online, maar deze zijn wel de bekendste. (vooral Malwr is een aanrader)

Sandboxie - http://www.sandboxie.com/" onclick="window.open(this.href);return false;
--> 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 - http://malzilla.sourceforge.net/" onclick="window.open(this.href);return false;
--> 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 - http://urlquery.net/" onclick="window.open(this.href);return false;
JSunpack - http://jsunpack.jeek.org/" onclick="window.open(this.href);return false;
--> Beide zijn tools om malware sites te analyseren, indien je moeilijkheden hebt met Malzilla of, wegens tijdsgebrek snel iets moet checken. URLquery is meer intuïtitef. Beide tools zijn echter onmisbaar.

Last, but not least:
VirusTotal - https://www.virustotal.com/" onclick="window.open(this.href);return false;
--> 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 onderstaande link vinden:
http://zeltser.com/malware-analysis-toolkit/" onclick="window.open(this.href);return false;

Mijn persoonlijke favorieten:
Fiddler - http://fiddler2.com/" onclick="window.open(this.href);return false; - bekijken wat X of Y URL precies probeert te laden, handig voor de infection vector en methodiek te bepalen
RegShot - http://sourceforge.net/projects/regshot/" onclick="window.open(this.href);return false; - neem een "snapshot" van het huidige systeem en vergelijk daarna welke wijzigingen malware heeft doorgevoerd
Revelo - http://www.kahusecurity.com/tools/" onclick="window.open(this.href);return false; - 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:
WinPatrol - http://www.winpatrol.com/" onclick="window.open(this.href);return false;
Process Guard - http://download.cnet.com/ProcessGuard/3 ... 33974.html" onclick="window.open(this.href);return false;


Algemene tips & trucs
  • Nog enkele leuke slides voor de eerste keer dat je malware analysis gaat performen, inclusief de sample
    http://zeltser.com/reverse-malware/intr ... 201208.pdf" onclick="window.open(this.href);return false;
  • Gebruik tools zoals Process Explorer om na te kijken wat de malware gaat doen. Bv. wordt CMD geladen voor een bepaald commando uit te voeren? Wordt er in explorer.exe geïnjecteerd? Spawnt deze child-process? Gaat deze aan click-fraude doen? Welke strings worden er precies ingeladen? Wat is de malware naam exact? Hoe bereikt deze persistentie op het systeem? Is deze malware signed (digitaal certificaat)?
  • Heb je malware uitgevoerd maar lijkt er niet meteen iets te gebeuren? Check met Process Explorer of je een proces ziet. Ja? Oké, ga verder met analyse. Nee? Wacht 5 minuten en kijk of er iets verandert. Nog steeds niet? Herstart het systeem. Mogelijk moet je de systeemtijd zelfs enkele dagen verder zetten.
  • Mogelijk kan de malware ook packed zijn, dit is ofwel voor compressie ofwel voor antivirus-detectie te omzeilen. Meer uitleg over packers vind je op: http://www.virusbtn.com/resources/glossary/packer.xml" onclick="window.open(this.href);return false;
    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- https://www.hex-rays.com/products/ida/index.shtml" onclick="window.open(this.href);return false;, OllyDBG- http://www.ollydbg.de/,.." onclick="window.open(this.href);return false;.). Kijken of er een packer aanwezig is kan je met VirusTotal, of met tools zoals PEiD - http://www.aldeid.com/wiki/PEiD" onclick="window.open(this.href);return false; of LordPE - http://www.woodmann.com/collaborative/t ... php/LordPE" onclick="window.open(this.href);return false; .
  • Tools voor analyse van PDF kan je zowel online vinden, bv. MalwareTracker - http://www.malwaretracker.com/pdf.php" onclick="window.open(this.href);return false;, VirusTotal (zie ook hierboven), of kan je zelf doen met bv. PDFiD of PDF-Parser - http://blog.didierstevens.com/programs/pdf-tools/" onclick="window.open(this.href);return false; .
    Tools voor analyse van JAR zijn schaarser, bv. ShowMyCode - http://www.showmycode.com/" onclick="window.open(this.href);return false; of je bekijkt deze zelf met JD-GUI - http://java.decompiler.free.fr/" onclick="window.open(this.href);return false;
  • Werkt een bepaalde malware site niet? Dubbelcheck eens met URLquery of http://isup.me" onclick="window.open(this.href);return false; om te kijken of die wel online is. Deze is ofwel
    a) Effectief offline (offline gehaald)
    b) Je IP is gebanned (op land)
    c) Je hebt geen correcte referrer gebruikt
    d) Nog niet actief
    e) Iets in je netwerk blokkeert de link, bijvoorbeeld MBAM, of een URL/Malware filter ingebakken in je router of andere appliance
Slot
Wel, dat was de beloofde post. Een heel pak informatie, naar ik hoop voldoende uitgelegd en voorzien van informatie. Verdere vragen mag je natuurlijk altijd stellen, maar zoek eerst zelf even op of je er iets over terugvind. Belangrijk is altijd dat je vragen blijft stellen, niet alleen over deze post, maar ook als je eenmaal aan analysis zelf begint. Waarom zou deze malware X of Y actie uitvoeren? Waarom dit niet en dit wel? Waarom op deze manier? Wat is het nut van deze string of naamgeving van malwarefile/folder? Stay curious!


Het artikel kan je ook vinden op Security.nl:
https://www.security.nl/artikel/46658/1 ... n_lab.html" onclick="window.open(this.href);return false;
Een Engelstalige versie kan je vinden op:
http://bartblaze.blogspot.nl/2013/06/ba ... s-lab.html" onclick="window.open(this.href);return false;
Volg me op Twitter: @bartblaze
Mijn persoonlijke blog: Blaze's Security Blog

Bent u blij met de geboden hulp? klik hier voor een vrijblijvende donatie Afbeelding

Maak een account aan of log in om deel te nemen aan de discussie

Je moet lid zijn om een ​​reactie te kunnen plaatsen

Maak een account aan

Geen lid? Registreer om lid te worden van onze community
Leden kunnen hun eigen onderwerpen starten en zich abonneren op onderwerpen
Het is gratis en duurt maar een minuut

Registreer

Log in

Gebruikersnaam
Wachtwoord

Terug naar “Security artikelen & handleidingen”