Geinfecteerd door Cryptowall ransomware? Lang leve de backup!

Foutmelding

Foutmelding

Ben je weer eens met je administratie bezig, kom je er ineens achter dat je een (pdf) bestand niet kunt openen.. Da's gek.  Probeer een andere: weer!  Nog eens goed kijken…  Wat zijn dat voor bestanden??

Er staan 3 extra bestanden in de directory, allen met de titel: DECRYPT_INSTRUCTION…

Onze bestanden zijn gekaapt!  Voor de liefhebbers: Hier lees je alles over de werkwijze van deze boeven!

Snel verder gekeken, kom ze overal tegen…  Niet alleen op de lokale computer, maar vooral op de netwerkschijven van onze nas.  En de bestanden zelf herstellen is NIET MOGELIJK. 

Er zijn totaal 15188 bestanden (documenten, pdf bestanden, foto's en films, totaal zo'n 20Gb) aangetast door de ransomware.  Daarvan is ongeveer de helft niet echt belangrijk (Ik ben niet zo van weggooien :-)), de andere helft staat (als het goed is) op onze backup disk.  Uiteindelijk zijn er na het restoren van zo'n 7500 bestanden een handvol bestanden die we echt kwijt zijn.  En dat zijn gelukkig bestanden zie vervangbaar zijn.

MORAAL VAN DIT VERHAAL: ZORG VOOR EEN GOEDE OFF-LINE BACKUP!!!

Lees verder als je wilt weten hoe ik de bestanden heb teruggezet…

Hier lees je in stappen hoe ik de bestanden voor zover mogelijk heb hersteld.

1. Virus verwijderen.

Er zijn verschillende methoden beschreven op internet hoe je dit virus en aanverwante malware moet verwijderen, maar als je echt zeker wil zijn is er maar 1 oplossing: Je PC formateren en Windows opnieuw installeren.  Dit heb ik dus gedaan, mede omdat we geen waardevolle zaken op de C schijf hebben staan.  Mocht dit voor jou wel zo zijn, maak dan eerst een backup van deze bestanden!

2. Alle geinfecteerde bestanden identificeren.

Als eerste wilde ik precies weten welke bestanden nu 'kapot' waren, zodat alleen deze verwijderd worden, en de goede bestanden blijven staan. De geinfecteerde bestanden zijn op verschillende manieren te identificeren:

  • In de registry maakt het Cryptowall virus onder HKCU\Software\<unique ID>\PROTECTED een lijst van alle encryted bestanden.  Deze kun je exporteren en vervolgens omzetten met een text editor om deze bestanden te verwijderen.
  • In ons geval waren alle bestanden 5 juni 2014 gewijzigd. Hier kun je een filter op zetten, zodat je al deze bestanden in een lijst krijgen.

Uiteindelijk heb ik gekozen voor optie 2, omdat ik (klinkt raar) toch eerst een backup van alle geinfecteerde bestanden wilde maken, en dat was eenvoudiger met optie 2.

3. De geinfecteerde bestanden kopieren en verwijderen.

Om de bestanden te filteren en de kopieren heb ik gebruik gemaakt van een tool die in de Microsoft Resource kit 2003 zit, nl robocopy.exe. Met deze tool kun je heel eenvoudig een filter zetten om de bestanden te kopieren.  Ik heb de volgende syntax gebruikt:

robocopy s: g: /MAXAGE:20140605 /MINAGE:20140606 /R:0 /TS /FP /NDL /NP /s /log:g:\backup-encrypted-files.log

Kort vertaald doet dit het volgende: Kopieer alle bestanden inclusief subdirectory's (/s) van schijf S naar schijf G die niet niet ouder zijn dan 5 juni, maar ook niet jonger dan 6 juni. Doe geen retry als het bestanden niet gelezen kan worden. (/R:0), schrijf alle bewerkingen in het logbestand, inclusief het volledige pad (/FP) en de timestamp (/TS) van de bestanden, maar log geen directorynamen. (/NDL

Om deze manier heb ik alle geinfecteerde bestanden op de G schijf gekregen, en de complete lijst van de bestanden in het logbestand:

New File           618776 2014/06/05 15:20:27    S:\users\Gerrit\Techniek\Thuis netwerk\Airco\05 afvoerbuis naar buiten.JPG
New File           568088 2014/06/05 15:20:36    S:\users\Gerrit\Techniek\Thuis netwerk\Airco\06 afvoer-modstuk met gaas.JPG

Om deze bestanden vervolgens te verwijderen heb ik het logbestand gekopieerd en hernoemt naar delete-encrypted-files.bat. Vervolgens heb ik dit bestand geopend in notepad++, mijn favoriete text editor. Daar heb ik de overbodige regels (zonder bestandsnaam) weggehaald en de volgende zoek en vervang actie's uitgevoerd:

  1. Zoek: ^……………………………………………… , vervang dit door: del ", en vink de zoekmethode 'Reguliere Expressie' aan. Hierdoor wordt het begin van de regel gewijzigd, zodat er voor de bestandsnaam 'del "' komt te staan. (Commande delete met haakjes openen. Dit is nodig als je bestandsnamen met spaties erin hebt.
  2. Zoek: $ , vervang dit door ", ook hier weer als Reguliere Expressie zoeken. Dit zorgt ervoor dat de regel wordt beëindigd met een haakje. Het resultaat iis danals volgt.
del "S:\users\Gerrit\Techniek\Thuis netwerk\Airco\05 afvoerbuis naar buiten.JPG"
del "S:\users\Gerrit\Techniek\Thuis netwerk\Airco\06 afvoer-modstuk met gaas.JPG"

Vervolgens het bestand opgeslagen en als volgt uitgevoerd:

delete-encrypted-files.bat >delete.log 2>&1 

Dit zorgt ervoor dat de output van het bestand gelogged wordt in delete.log. Hierdoor kun je zien of alles goed gegaan is. (Bedenkt dat dit heel snel gaat, en dat het om 15000 bestanden gaat!)

4. Restoren van verwijderde bestanden.

Nu heb je dus alle 'kapotte' bestanden weg gehaald. Tijd om je backup terug te zetten!  Mijn backup staat op een externe harddisk, die ik via USB koppel. De backup maak ik altijd met een gratis programma wat 'Directory Compare' heet. Het leuke van dit programma is dat je met behulp van .dcp bestanden je een backup/synchronisatie kunt configureren en deze met behulp van een script kunt starten. Misschien maak ik hier nog wel eens een artikeltje over…  Maar het restoren doe ik dus ook met Directory Compare.

Hierbij selecteer je in de rechter kolom onder 'Source' de map waarin de backup staat, en in de rechter kolom de map waar de missende bestanden heen moeten. Vervolgens selecteer je onder Ínclude' 'Subdirectories' en 'newer Source Files', en klik op je 'Scan' Directory Compare gaat nu alle directories langs om te kijken welke bestanden er missen.  Als dit klaar is, zie je in het scherm de lijst met alle missende bestanden staan die terug gezet kunnen worden.

Klik nu op Options – Configure, tabje 'Unattended mode'. Klik op Log File, en vul een locatie en bestandsnaam in voor je Log bestand. Dit is belangrijk, want anders kunnen we straks niet zien wat we kwijt zijn….

Klik nu op het icoontje 'Update Selected' om de restore te starten.  Als dit klaar is zijn je bestanden terug gezet. Nu rest ons alleen nog de laatste controle: Wat zijn we kwijt??

5. Controleren welke bestanden nog missen…

Hiervoor hebben we 2 bestanden nodig:

  1. Het bat bestand van de verwijder actie.
  2. Het log bestand van de restore actie.

Deze bestanden willen we gaan vergelijken, maar dan moeten ze wel eerst bewerkt worden, zodat alleen de bestandsnamen met het volledige pad in deze bestanden staan. Hiervoor gebruik je find.exe en notepad++, waarbij we ook de TextFX en de Compare plugin nodig hebben.

Bestand 1:
Hier moeten we eerst een (groot) aantal regels verwijderen. Alle bestanden die het virus heeft geplaatst (DECRYPT_INSTRUCTION.*) moeten eruit gehaald worden.  Dit kan heel eenvoudig met behulp van het 'find' commando. Open hiervoor een command-line in de map waar dit bestand staat, en voer het volgende commando uit:

find /V "DECRYPT_" delete-encrypted-files.bat >kapotte-bestanden.txt

Dit commando filtert alle regels met 'DECRYPT_' eruit, en schrijft deze naar het bestand 'kapotte-bestanden.txt'
Open dit bestand met notepad++, en verwijder m.b.v. zoek en vervang van alle regels 'del "', en het afsluitende ".  Vervolgens selecteer je alle text (CTRL-A), en ga je in het menu naar TextFX – TextFX tools – 'Sort lines case insensitive'  Dit zorgt ervoor dat we straks de boel kunnen vergelijken.

Bestand 2:
Hier moeten we ook weet een groot aantal regels verwijderen, maar nu selecteren we met 'find' de regels die we willen behouden:

find "Copying:" restored-bestanden.log>teruggezette-bestanden.txt

Open dit bestand met notepad++, en vervang m.b.v. zoek en vervang van alle regels 'Copying:   <source-driveletter>' in <destination-driveletter>.  Vervolgens selecteer je alle text (CTRL-A), en ga je in het menu naar TextFX – TextFX tools – 'Sort lines case insensitive' 

Nu kunnen we de bestanden vergelijken. Zorg dat ze beiden geopend zijn in Notepad++, en ga in het menu naar Plugins – Compare – Compare. De bestanden worden nu naast elkaar gezet, en er verschijnt rechts een gekleurde kolom, waarin de verschillen worden aangegeven.  Je kunt door de tegelijkertijd door de beide bestanden scrollen. Als je in het bestand 'kapotte-bestanden.txt' een rood stopteken ziet, betekend dit dat je bestand NIET gerestored, dus kwijt is…

Tot zover deze beschrijving. Ik hoop dat iemand er wat aan heeft. :-).  Ik was iig heel blij mijn onze backup!