W ostatniej już części cyklu o wirusach omówimy, jakie mechanizmy kopii zapasowych są wbudowane w system Windows, oraz jak wirusy je uszkadzają, aby uniemożliwić klientom samodzielne odzyskanie danych. Artykuł będzie co jakiś czas aktualizowany o nowe pomysły.
W systemie plików NTFS usunięte dane da się odzyskiwać na wiele sposobów – jedne są bardziej, a inne mniej skuteczne, stąd właśnie „odzyskiwać” zamiast „odzyskać”. Natomiast nawet niewielka i dość przypadkowa część oryginalnych danych może się np. okazać ważnym dowodem w sądzie. Albo po prostu może się okazać „tym kluczowym fragmentem” (np. kluczem szyfrującym do kopii zapasowych), dzięki któremu klient odzyska utracone dane w inny sposób.
Dlatego też skuteczne uszkodzenie danych na zainfekowanym komputerze jest procesem dużo trudniejszym, niż mogłoby się na pierwszy rzut oka wydawać – a już zwłaszcza gdy ma to być uszkodzenie odwracalne, co jest istotą działania oprogramowania ransomware.
Czy „pusta” powierzchnia naprawdę jest pusta?
Jedną z podstawowych technik samodzielnego odzyskiwania danych za pomocą programów typu Photorec, Foremost, R-Studio, Recuva, czy dziesiątek innych mniej znanych, jest analiza powierzchni dysku pod kątem plików, które zostały usunięte (a tak naprawdę tylko oznaczone jako usunięte), ale ich zawartość nie została jeszcze nadpisana.
W zależności od typu systemu plików, stopnia jego fragmentacji, oraz wybranego programu odzyskującego, wyniki takiej operacji mogą być mniej lub bardziej zadowalające. Najczęściej jednak, użycie kilku różnych programów jednocześnie pozwala odzyskać większość tak usuniętych danych.
Dlatego też jedną z pierwszych (albo ostatnich, zależnie od sposobu enumeracji danych) operacji realizowanych przez programy ransomware jest wyczyszczenie „pustej” (czyli po prostu nieużywanej) powierzchni dysku. Można to zrobić per partycja za pomocą programu cipher.exe, który tworzy pliki tymczasowe o zerowej zawartości, tym samym zapełniając dysk:
cipher /W:C\
USN Journal
System plików NTFS zawiera 2 mechanizmy journallingu, czyli zapisywania zmian dokonywanych w systemie plików, oraz w samej partycji. Interesujący dla wirusów jest tzw. USN Journal, przechowujący informacje o usuwanych plikach. Do zarządzania nim służy program fsutil.exe – tak wygląda jego przykładowe wywołanie:
fsutil usn deletejournal /D C:
Volume Shadow Copy
Mechanizm Volume Shadow Copy (polska nazwa to Kopiowanie woluminów w tle) to usługa, której początki sięgają Windows Server 2003, której zadaniem jest robienie okresowych „migawek” plików użytkownika.
Kasowanie kopii VSS za pomocą polecenia vssadmin.exe to jeden z najstarszych trików ransomware, mających na celu uniemożliwienie samodzielnego odzyskania danych. Co za tym idzie, metoda ta jest też bardzo szeroko rozpoznawana przez różne narzędzia zabezpieczające:
vssadmin Delete Shadows /All /Quiet
Dlatego dobrym pomysłem jest skorzystanie z PowerShella, w którym można to polecenie zapisać na różne sposoby:
Get-WmiObject Win32_Shadowcopy | ForEach-Object {$_.Delete();}
Get-WmiObject Win32_ShadowCopy | % { $_.Delete() }
Get-WmiObject Win32_ShadowCopy | Remove-WmiObject
Gdy już usunięcie kopii VSS się uda, warto również zabezpieczyć się przed nimi na przyszłość, ustawiając możliwie niewielki limit miejsca na nowe migawki (w ten sposób działa ransomware Cl0p):
vssadmin resize shadowstorage /for=D: /on=D: /maxsize=401MB
Niektóre wirusy, np. Ryuk, bezpośrednio po usunięciu kopii VSS, dodatkowo wyłączają też mechanizm automatycznej naprawy Windows 10:
bcdedit /set {default} recoveryenabled no
bcdedit /set {default} bootstatuspolicy ignoreallfailures
Windows Backup
O ile Volume Shadow Copy jest w pewnym sensie mechanizmem działającym niejawnie (poniżej poziomu systemu plików), o tyle Windows 10 ma wbudowany również drugi mechanizm – Windows Backup – działający w pełni jawnie, zarządzany poleceniem wbadmin.exe.
Tworzy on drzewo katalogów posegregowanych wg miesięcy i tygodni, w środku zaś znajdują się archiwa ZIP z kopiami plików utworzonych lub zmodyfikowanych od momentu utworzenia poprzedniego backupu. Archiwa takie mogą być następnie kopiowane na dyski zewnętrzne, urządzenia NAS, wysyłane do chmury itd.
Usunięcia kopii zapasowych z tego mechanizmu można dokonać poleceniem:
wbadmin delete catalog -quiet
Jeśli celem jest po prostu zaszyfrowanie bieżących danych na komputerze i ujawnienie się z żądaniem okupu, powyższa operacja będzie wystarczająca. Natomiast jeśli celem wirusa jest dłuższe działanie w ukryciu, ma sens również wyłączenie Windows Backupu na przyszłość:
wbadmin disable backup -quiet
Punkty przywracania i konfiguracja systemu Windows
Poza plikami użytkownika, system Windows chroni też swoją własną konfigurację – dzięki temu w razie np. instalacji jakiegoś źle działającego sterownika, gdy po restarcie komputera Windows nie może ponownie wstać, możliwy jest powrót do ostatniej działającej konfiguracji. Funkcjonalność tą zapewnia mechanizm Restore Points, w polskiej wersji Punkty przywracania.
Co ciekawe, punkty przywracania najłatwiej usuwa się z poziomu PowerShella:
Get-ComputerRestorePoint | delete-ComputerRestorePoint
Zewnętrzne narzędzia do backupu
System Windows, poza szeregiem opisanych mechanizmów umożliwia też łatwą integrację z zewnętrznymi narzędziami do backupu:
- zorientowanymi lokalnie, działającymi częściowo manualnie, jak np. Cobian Backup czy Acronis True Image
- zorientowanymi na duże instalacje, działającymi w architekturze klient-serwer, np. Veeam, Veritas, Arkeia
Tutaj znajdziesz tabelkę z nazwami usług, jakie realnie wyłącza ransomware Defray777 – większość z nich dotyczy właśnie systemów Veeam i Veritas.
Wyłączanie usług, gdy mamy już ich nazwy, może się odbywać na różne sposoby – szczegółowo opisaliśmy to w poprzednim odcinku. W skrócie, najczęściej wirusy używają po prostu takiego polecenia:
net stop VeeamBackupSvc
Następnie w przypadku narzędzi zorientowanych lokalnie, np. Cobian Backup, można się jeszcze zastanowić nad ręcznym usunięciem bieżących kopii zapasowych. Z drugiej strony, w przypadku wirusów typu ransomware najczęściej nie ma to sensu i tylko komplikowałoby implementację, skoro za chwilę wirus i tak zaszyfruje po prostu wszystkie znalezione treści.
Podsumowanie
Większość przedstawionych wyżej przykładowych poleceń pochodzi albo z narzędzia Defeat-Defender, które (w nieco pozmienianej postaci) realny włamywacz pozostawił na komputerze realnemu klientowi serwisu Ransomware.pl, albo z tej strony.
Niektóre z poleceń pochodzą z innych źródeł, np. z analiz działania popularnych programów ransomware – linki do nich zostały podane bezpośrednio w powyższym tekście.
To jest już ostatnia część mini-cyklu o działaniu wirusów. Zobacz też część pierwszą, drugą, trzecią i czwartą. A kod źródłowy wszystkich omówionych części znajdziesz pod tym adresem.
Intencją autorów ani wydawcy treści prezentowanych w magazynie PAYLOAD nie jest namawianie bądź zachęcanie do łamania prawa. Jeśli popełniłeś lub masz zamiar popełnić przestępstwo, bądź masz wątpliwości, czy Twoje działania nie będą łamać prawa, powinieneś skonsultować się z najbliższą jednostką Policji lub Prokuratury, a jeśli są one związane z pieniędzmi, dla pewności również z Urzędem Skarbowym.
Nie zezwala się na użycie treści prezentowanych w magazynie PAYLOAD, ani produktów dostępnych w sklepie PAYLOAD, do celów popełniania przestępstw lub przestępstw skarbowych.