Kolejna odsłona kampanii "Komornika Sądowego" – ransomware Petya i Mischa

cert.pl 7 lat temu

W pierwszym tygodniu sierpnia trafiła do nas wiadomość podszywająca się pod zawiadomienie od komornika sądowego o następującej treści:

Nr sprawy EGZ/2035-TR/12C/08/2016

ZAWIADOMIENIE O WSZCZĘCIU EGZEKUCJI
Komornik Sądowy przy Sądzie Rejonowym Poznań – Grunwald i Jeżyce w Poznaniu Piotr Tomaszewski zawiadamia o wszczęciu postępowania egzekucyjnego na wniosek wierzyciela:

PKO Bank Polski Spółka Akcyjna
ul. Puławska 15
02-515 Warszawa
którego reprezentuje: Adwokat Agnieszka Marciniak
ul. Grunwaldzka 519E/2, 62-064 Plewiska / Poznań

Postępowanie egzekucyjne zostało wszczęte na podstawie tytułu wykonawczego:

Nakaz zapłaty w postępowaniu upominawczym Sądu Rejonowego Poznań – Grunwald i Jeżyce w Poznaniu z dnia 13-07-2016, syg. akt VI Nc-e35886/EZ/16 zaopatrzone w klauzule wykonywalności z dnia 02-08-2016

w którym zasądzono od dłużnika na rzecz wierzyciela:

należność główna: 46 832,61 zł
odsetki do 02-08-2016: 1 257,95 zł

W przypadku zwłoki również dalsze odsetki od dnia 03-08.2016 w wysokości 0,75 zł dziennie wraz z należną od nich opłatą egzekucyjną w wysokości 15%

Koszt procesu: 840,00 zł
Koszt zastępstwa adwokackiego w egzekucji: 150,00 zł

Do każdej przekazywanej kwoty należy doliczyć opłatę stosunkową w wysokości 15% kwot przekazywanych oraz opłatę za przelew 0,35 zł.

Do powyższych kwot dojdą dalsze koszty egzekucyjne wysokość których zostanie ustalona w miarę dokonywania czynności. W celu uniknięcia dalszych kosztów należy wpłacić całą egzekwowaną należność łącznie z kosztami na konto komornika: Bank Polska Kasa Opieki S.A. I/Oddział Poznań 50 1240 1747 1111 0010 2730 9341
Lub bezpośrednio w kancelarii mieszczącej się: ul. Józefa Chociszewskiego 21/6, 60-255 Poznań

Wierzyciel wskazał we wniosku następujące sposoby egzekucji:
– rachunków bankowych
– nieruchomości
– ruchomości
– inne wierzytelności

Pobierz oryginał sądowego nakazu zapłaty:

VINc-e35886EZ16.pdf

Pobierz oryginał zawiadomienia o wszczęciu postępowania egzekucyjnego:

EGZ2035-TR12C082016.pdf
W korespondencji oraz przy wpłatach podać sygnaturę EGZ/2035-TR/12C/08/2016
Komornik Sądowy
Piotr Tomaszewski
Pouczenie: o ile podstawę egzekucji stanowi tytuł wykonawczy w postaci zaopatrzonego w klauzulę wykonalności nakazu zapłaty wydanego w elektronicznym postępowaniu upominawczym, komornik poucza dłużnika o treści art. 139 § 1 i 5, art. 168, art. 172, art. 820 § 1 i2 art. 825 pkt 2, a także o treści art. 505 (art. 805 § 1 k.p.c.)

Scenariusz jest oczywisty – mail zawiera załącznik z rzekomymi dokumentami dotyczącymi sprawy opisanej powyżej. Jest to archiwum ZIP, dla uwiarygodnienia umieszczone pod domeną podszywającą się pod kancelarię prawniczą z Poznania. Archiwum zawiera plik o nazwie VINc-e35886EZ16-pdf.pif. Na dzień pisania posta plik jest rozpoznawany tylko przez 7/58 silników antywirusowych w serwisie VirusTotal.

Jak widać w dalszym ciągu jest wykorzystywana sztuczka z rozszerzeniem .pif, charakterystyczna dla kampanii tego aktora. Jedną z poprzednich opisywaliśmy pod koniec 2014 roku.

Rzekome dokumenty w formacie PDF są dropperem ransomware o nazwach Petya oraz Mischa.

Dropper i wybór payloadu

Dropper na początku swojego działania sprawdza uprawnienia procesu:

W przypadku braku uprawnień administracyjnych (niepotwierdzenie w okienku User Account Control po uruchomieniu), proces próbuje uruchomić się z podwyższonymi uprawnieniami. o ile mu się nie uda, następuje wybór Mischy jako payloadu (żółta „ścieżka” na zrzucie ekranu) w postaci biblioteki DLL o nazwie Setup.dll.

Następnym krokiem jest wstrzyknięcie biblioteki, do procesu conhost.exe , dzięki techniki znanej jako Reflective DLL injection i rozpoczęcie szyfrowania plików za jej pomocą. Poniżej najważniejszy fragment funkcji realizującej wstrzyknięcie:

W sytuacji kiedy dropper zostanie uruchomiony od razu z uprawnieniami administracyjnymi (potwierdzenie w okienku User Account Control), ofiara jest infekowana ransomware Petya.

Początek działania malware to nadpisanie MBR oraz wybranych sektorów dysku twardego – od 34. do 66. Następnie generowany jest błąd systemu operacyjnego i następuje ponowne uruchomienie komputera z fałszywym narzędziem chkdsk.

Mischa – szczegóły techniczne

Schemat działania ransomware zawiera się w kilku krokach:

1. Pobierane są informacje o podmontowanych dyskach wymiennych, udziałach sieciowych oraz dyskach lokalnych.

2. Następnie tworzona jest lista plików do zaszyfrowania na znalezionych dyskach. Poniżej fragment funkcji odpowiedzialnej za wybranie plików o odpowiednich rozszerzeniach (lista rozszerzeń szyfrowanych plików znajduje się tutaj).

Co ciekawe, szyfrowane są również pliki o rozszerzeniach .exe i biblioteki .dll. Aby uniknąć zaszyfrowania plików systemowych i w konsekwencji niemożliwości uruchomienia systemu operacyjnego przez ofiarę, odpowiednie katalogi systemowe są blacklistowane (lista blacklistowanych katalogów).

3. Pliki są odczytywane w częściach po 1024 bajty.

4. Kolejnym krokiem jest operacja xorowania odczytanych 16 bajtów z losowym buforem, a następnie szyfrowanie dzięki autorskiego algorytmu.

5. Zaszyfrowane części pliku są zapisywane jako jedna i na końcu dodawane są dodatkowe dane: wielkość pliku przed zaszyfrowaniem, losowy bufor użyty podczas xorowania oraz identyfikator ofiary.

6. Po zaszyfrowaniu do nazwy plików dodawana jest część identyfikatora użytkownika.

7. Na pulpicie znajdziemy żądanie okupu w wersji tekstowej oraz HTML o nazwie YOUR_FILES_ARE_ENCRYPTED.[TXT | HTML].

Petya – szczegóły techniczne

Petya jest bardzo ciekawym rodzajem ransomware – jako pierwszy ransoware nadpisywała strukturę MBR w celu całkowitego zablokowania dostępu do systemu operacyjnego.

Dodatkowo, autorzy pokusili się o stworzenie niskopoziomowego szyfrującego wykorzystującego algorytm Salsa20 (tak jak było wcześniej wspomniane, nadpisuje 32 sektory dysku twardego, od 34. do 66.).

MBR przed infekcją:

Oraz po infekcji:

Nadpisanie MBR zakończone było wymuszeniem ponownego uruchomienia systemu operacyjnego. Deweloperzy posłużyli się w tym miejscu nieudokumentowaną oficjalnie funkcją WinAPI – NtRaiseHardError.

Po infekcji użytkownikowi wyświetlane było fałszywe narzędzie chkdsk (screen w akapicie Dropper i wybór payloadu). W rzeczywistości w tym momencie szyfrowane są dane użytkownika. Poniżej zapisany kod payloadu w sektorze nr 34.

Po zaszyfrowaniu na początku sektora nr 54 zapisywana jest flaga statusu szyfrowania. W przypadku kiedy jest ustawiona na 0, ransomware wyświetla „narzędzie” chkdsk.

Po zaszyfrowaniu plików użytkownikowi zostaje wyświetlone żądanie okupu:

Co zrobić kiedy zostałem zainfekowany?

Podobnie jak w ostatnim wpisie dotyczącym CryptXXX i CrypMIC, zalecamy posiadanie aktualnej, pełnej kopii zapasowej najważniejszych danych oraz aktualnego oprogramowania. Oczywiście należy również wyrobić sobie nawyk krytycznego podejścia do korespondecji mailowej, której się nie spodziewamy (zwłaszcza zawierającej załączniki lub nakazującej wykonanie akcji pobrania pliku z zewnętrznych serwisów i uruchomienia na własnym komputerze).

Niestety plików zaszyfrowanych najnowszą wersją Petya oraz Mischa nie da się odszyfrować dzięki narzędzi dostępnych w Internecie. W przypadku infekcji starszą wersją Petya, powstało narzędzie Anti-Petya, które umożliwia wygenerowanie klucza potrzebnego do odszyfrowania plików.

Celem prewencji, zaawansowanym użytkownikom możemy polecić honeypota AntiRansom oraz narzędzie ProcFilter.

Aktualizacja 25.07.2017

Malwarebytes opublikowało narzędzie do deszyfrowania wszystkich odmian ransomware Petya: Red Petya, Green Petya (+ Mischa) i GoldenEye.

Skrót kryptograficzny próbki i reguła YARA

VINc-e35886EZ16-pdf.pif SHA256: ecc5cc62c8200954079191e586123522f88aa1414ae98908380176d75d2e7eab
Setup.dll SHA256: 024400c8b62e67add08e10f02052b1066d4e0c89652670dd545308bb4237bcad
rule mischa : ransomware
{
meta:
author="kamilf"

strings:
$ransom_note_header = "You became victim of the PETYA RANSOMWARE!"
$ransom_filename_txt = "YOUR_FILES_ARE_ENCRYPTED.TXT"
$ransom_filename_html = "YOUR_FILES_ARE_ENCRYPTED.HTML"
$find_xxxx_section = { BA 2E [3] 8D 47 ?? 38 17 75 14 8D [3] 85 D2 74 21 0F BE [2] 0F BE ?? 40 }
$generate_keys_1 = { 8A CE C0 E9 ?? 80 F9 ?? 1A C0 80 C1 ?? 24 D9 02 C1 8A CE 80 E1 ?? 88 47 ?? 80 F9 ?? 1A C0 80 C1 ??}
$generate_keys_2 = { F3 0F 7F 47 ?? F3 0F 6F 46 ?? F3 0F 7F 47 ?? F3 0F 6F 46 [31] 66 0F D6 47 ?? }
$write_petya_to_hdd = { 99 2B C8 8B 45 ?? 6A ?? 1B C2 0F A4 C8 09 6A ?? 50 C1 [2] 51 FF [2] FF 15 [4] }
$inject_mischa_dll = { 8A [2] 84 C0 75 F9 8B 5F ?? 2B F1 8B CB [3] 8D 51 ?? 8A [2] 84 C0 75 F9 8B 7F ?? 2B CA 8B D7 8D 42 ?? [3] 8D 9B [4] }
$injected_dll_prepare_ransom_note = { 52 57 50 E8 [4] FF 73 ?? BF [4] B9 [4] 8B D7 E8 [4] FF 73 ?? BA [4] 89 45 ?? 8B C8 E8 [4] FF 73 ?? BA [4] 89 45 ?? 8B C8 E8 [4] }
$encryption_helper_function = { C1 E9 ?? 81 E1 FF [3] C1 E8 ?? 25 [4] 8B 0C [5] 33 0C [5] 8B 45 ?? C1 E8 ?? 33 0C [5] 0F B6 ?? 33 0C [5] }

condition:
6 of ($find_xxxx_section, $generate_keys_1, $generate_keys_2, $write_petya_to_hdd, $inject_mischa_dll, $ransom_note_header, $ransom_filename_txt, $ransom_filename_html, $injected_dll_prepare_ransom_note, $encryption_helper_function)
}

Materiały dodatkowe

Czytelnikom zainteresowanym tematem duetu Mischa & Petya polecamy następujące wpisy:

Idź do oryginalnego materiału