WannaCry / Wanacrypt Ransomware
Afgelopen weekeind hebben de media veel tijd besteed aan het WannaCry/Wanacrypt virus. Dit virus is ook bekend onder de namen WanaCrypt0r en WCry. In deze post refereren we voor het gemak aan WannaCry. Toepasselijke naam overigens omdat heel veel systeembeheerders in het Verenigd Koninkrijk, Spanje, Rusland, Frankrijk en Duitsland afgelopen weekeind echt een traantje weggepinkt zullen hebben. Zo zijn o.a. Renault, Telefonica, FedEx en tientallen zorginstellingen getroffen. In Nederland valt de schade vooralsnog mee maar WannaCry is ook vertaald naar het Nederlands en dus zijn er wel degelijk diverse Nederlandse systemen (QPark) gegijzeld door het WannaCry virus.
WannaCry
Op het moment van schrijven heeft het WannaCry virus 350.000 systemen geïnfecteerd in zeker 175 landen. De totale schade loopt op tot vele miljoenen waarmee WannaCry zich op de kaart zet als een van de grootste cybercrime aanvallen ooit. Momenteel lijkt de aanval afgezwakt te zijn omdat een security onderzoeker (MalwareTech – https://twitter.com/MalwareTechBlog/status/863187104716685312) per ongeluk de killswitch ontdekte in de malware.

De makers van WannaCry hadden deze killswitch ingebouwd zodat ze de aanval zelf een halt toe konden roepen. De malware zoekt namelijk naar 2 domeinen, namelijk: http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com en hxxp://www.ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com.

Als een van deze domeinen bestaat zou de malware zijn schadelijke payload niet uitvoeren waardoor verdere infectie voorkomen wordt. Nadat deze domeinen geregistreerd waren is feitelijk de WannaCry aanval gestopt. Let op, reeds versleutelde computers zijn nog steeds gegijzeld en ook computers binnen netwerken achter een proxy welke het killswitch domein niet herkennen zullen nog steeds versleuteld en gegijzeld worden.
Het zal vermoedelijk niet lang duren alvorens nieuwe WannaCry varianten zonder killswitch losgelaten worden op onze netwerken. Laten we niet stilzitten en leren van de informatie die we hebben over deze aanval.
WannaCry Infectie
WannaCry kan net als andere Ransomware varianten op verschillende manieren verspreid worden. De meest gehoorde methode is een malafide e-mail met een PDF bijlage. Maar ook malafide URL’s kunnen de computer infecteren met WannaCry.
WannaCry Vulnerability
WannaCry maakt misbruik van een “Windows SMB Remote Code Execution Vulnerability”. Deze vulnerability komt voor op alle Microsoft systemen v.a. Windows XP. Niet-Windows systemen zullen de WannaCry infectie dus niet oplopen. Zoals al eerder gezegd is deze vulnerability waarschijnlijk al jaren misbruikt door geheime diensten als de NSA en staat deze ook bekend als de “EternalBlue” exploit van de Equation Group welke weer onderdeel is den de “FuzzBunch toolkit” welke ontwikkeld is door “Shadow Brokers”.
De vulnerability is zelfs zo ernstig dat Microsoft ook een patch uitgebracht heeft voor Windows XP systemen. Alle systemen die voorzien zijn van automatische updates moeten dus al reeds voorzien zijn van deze update die in maart als is uitgekomen. Het gaat over Microsoft Patch MS17-010 (https://technet.microsoft.com/en-us/library/security/ms17-010.aspx). Mochten je systemen nog niet voorzien zijn van deze patch dan is het dringend aan te raden deze alsnog spoedig te installeren.
Dit beveiligingslek is zeer succesvol en werkt door een integer-overflow tijdens het parseren van een misvormde Trans2-aanvraag in de SMBv1-server. Door deze overflow kan er code uitgevoerd worden in de context van de applicatie waardoor er geen verificatie nodig is en de exploit zonder problemen uitgevoerd kan worden.
WannaCry verspreiding
WannaCry verspreid zich verder op 2 mogelijke manieren. Allereerst doorzoekt de worm (de verspreiding geschied via gelijke methode als een worm) het netwerk op aanwezigheid van de Backdoor.Double.Pulsar backdoor. Zoals gebruikt wordt door de EternalBlue exploit. Als deze aanwezig is dan wordt deze backdoor gebruikt om de payload te leveren en uit te voeren. Als de backdoor niet aanwezig is dan worden andere (minder secure) methodes gebruikt om de payload te verspreiden.
De malware is gecodeerd in een DLL dropper en versleuteld met een AES-key. De dropper bestaat uit een main-dropper en een sub-dropper. De main-dropper wordt gebruikt voor de verspreiding en de sub-dropper voor de versleuteling. De sub-dropper is aanwezig in de maindropper en bestaat uit diverse ZIP bestanden welke voorzien zijn van een wachtwoord (WNcry@2ol7).
De malware gebruikt vervolgens een ingebouwde AES-sleutel om de DLL te decoderen. Als deze in het geheugen is geladen (onder de naam MSSECSVC2.0 met omschrijving “Microsoft Security Service (2.0)”) wordt het malware proces gestart. De MSSECSVC2.0 service zal vervolgens rebooten en na het rebooten diverse IP adressen (niet beperkend tot interne IP adressen) targetten voor verspreiding.
Als de malware een andere computer heeft gevonden zal deze dus proberen te verbinden over NetBIOS. De malware verzend 3 NetBIOS session pakketten waarvan 1 het IP adres bevat van de machine die gebruikt wordt en 2 hard-coded adressen. Dit zijn 192.168.56.20 en 172.16.99.5. Deze sessie pakketten worden waarschijnlijk gebruikt om verwarring te zaaien bij de netwerk engineer die de infectie analyseert. Als de malware verbonden is met de default IPC$ share zal deze proberen om alle aanwezige shares op te vragen om deze te infecteren.
De malware wordt dus niet op de disk geplaatst en zal ook niet meer teruggevonden worden. Zoals de meeste ransomware heeft de WannaCry malware een korte levensduur. Na versleuteling is de malware die de bestanden versleuteld heeft al van het systeem verwijderd.
Wat gebeurt er na WannaCry infectie?
Als de computer geïnfecteerd is zal WannaCry de volgende stappen uitvoeren.
1. Er wordt een TOR cliënt gedownload zodat de malware over een anonieme link met zijn Command & Control servers kan communiceren.
2. Het commando “icacls . /grant Everyone:F /T /C /Q” wordt uitgevoerd waarmee de malware full access krijgt tot mappen en bestanden.
3. Windows Shadow Copies worden verwijderd (back-up verwijderen voorkomt herstel van verloren bestanden door de gebruiker zelf).
4. Windows Startup Recovery wordt uitgeschakeld.
5. Windows Server Back-up Historie wordt leeggemaakt.
6. De encryptor start en begint met het versleutelen van alle 179 ondersteunde bestandstypen.
7. Gebruikers krijgen onderstaande scherm te zien waarin de instructies te lezen zijn wat de gebruiker moet doen om de bestanden te decrypten. Gemiddeld zal er om +/- 300 euro aan Bitcoins gevraagd worden en heb je 3 dagen de tijd om deze te betalen alvorens het bedrag verhoogd wordt. Na een week verdwijnt de optie om bestanden te decrypten en zijn je bestanden permanent verloren.
8. In directories met versleutelde bestanden wordt ook een tekstbestand genaamd !Please Read Me!.txt geplaatst met instructies om de bestanden te decrypten.
9. Er wordt een desktop wallpaper geplaatst welke er als volgt uitziet:
De volledige set met commando’s welke uitgevoerd worden na infectie is als volgt:
attrib +h . icacls. /grant Everyone:F /T /C /Q taskdl.exe @WanaDecryptor@.exe fi 148131494626672.bat @WanaDecryptor@.exe co cmd.exe /c start /b @WanaDecryptor@.exe vs taskse.exe C:\Users\[User]\AppData\Local\Temp\@WanaDecryptor@.exe @WanaDecryptor@.exe cmd.exe /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "vlyxsemjujkp530" /t REG_SZ /d "\"<Install Dir>\tasksche.exe\"" /f cscript.exe //nologo m.vbs |
De volgende bestanden worden na infectie geïnstalleerd:
- taskdl.exe – Cleaner component welke gebruikt wordt alvorens de versleuteling start. Wordt gebruikt om alle *.WNCRYPT bestanden te verwijderen in de installatie directory en de prullenbak.
- taskse.exe – Component welke gebruikt wordt om de verspreiding naar meerdere machines uit te voeren. Het component wacht op een specifiek signaal alvorens deze connectie maakt middels WTSEnumerateSessionsA om zich te verspreiden.
- b.wnry – Bevat de wallpaper welke na infectie getoond wordt.
- c.wnry – Informatie met BitCoin wallets en Command & Control servers.
- r.wnry – De WannaCry text file.
- m.wnry – RTF met de decryptie instructies.
- s.wnry – TOR Client welke gebruikt wordt voor C&C communicatie en BitCoin betalingen.
- t.wnry – Een versleuteld bestand welke de versleutel routine bevat van de WannaCry malware.
- u.wnry / @WannaDecryptor@.exe – Het Encryptor/Decryptor component. Dit component laad het t.wnry component en draait deze in het geheugen (RAM).
- m.vbs – Maakt de snelkoppeling naar de Decryptor op het bureaublad van de PC.
.bat – Dit BAT bestand maakt het m.vbs bestand.- Msg Folder – Bevat decryptie instructies in alle talen.
WannaCry voorkomen / Mitigation
WannaCry is een ransomware variant die in essentie niet zo veel anders is dan alle ransomware varianten die we recentelijk gezien hebben. De reden dat WannaCry zich zo snel kon verspreiden is omdat deze zichzelf repliceert naar andere computer op het interne netwerk en ook naar het internet.
Er zijn 2 gouden regels die van toepassing zijn op elke ransomware infectie:
1. Zorg altijd voor goede, complete en off-site backups zodat je na infectie alle belangrijke bestanden kunt herstellen vanuit een backup.
2. Betaal NOOIT de gevraagde ransom. In het geval dat er geen goede backups aanwezig zijn is het betalen van de ransom zeer aantrekkelijk. Echter werkt het betalen van de ransom soms helemaal niet, soms gedeeltelijk en maar zelden voor alle bestanden. Daarnaast ondersteun je door het betalen van de ransom de criminele activiteiten van de aanvaller. Betuig nooit steun aan dit schorum!
De volgende stappen kunnen gebruikt worden om de WannaCry ransomware te voorkomen:
1. Zorg dat alle systemen gepatched zijn met de Microsoft MS17-010 patch.
2. Indien je gebruik maakt van oudere (unsuported) systemen zoals Windows XP, 2003 en 8 installeer dan de speciale Microsoft Emergency Patch.
3. Netwerk administrators kunnen geïnfecteerde systemen ontdekken (bijvoorbeeld d.m.v. een IDS) door te zoeken naar de 2 hardcoded IP adressen in netwerk pakketten (192.168.56.20, 172.16.99.5).
4. Zorgt ervoor dat de killswitch domeinen (http://www.iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea.com & hxxp://www.ifferfsodp9ifjaposdfjhgosurijfaewrwergwea.com) niet geblokkeerd zijn!
5. Blokkeer outbound TOR verkeer
6. Blokkeer SMBv1. Hoewel deze optie nadelige effecten kan hebben voor de werking van sommige systemen kun je voor verspreiding SMBv1 dichtzetten. Dit doe je door UDP poorten 137 en 138 dicht te zetten en door TCP poorten 139 en 445 af te sluiten.
Helaas is te verwachten dat de WannaCry slechts het startschot is van vele soortgelijke broertjes en zusjes. Nieuwe varianten zullen nog slimmer worden en steeds moeilijker te stoppen zijn. En als we alle WannaCry broertjes en zusjes gehad hebben volgen er weer nieuwe nog betere aanvallen. WannaCry is slechts het begin.
Broeders en zusters wapen uzelf. . . en nu… I WannaCry….;-)