Historia NotPetya nie przestaje się rozwijać. W nocy ktoś przelał środki z konta na które wpływał okup za odszyfrowanie plików na 3 inne rachunki oraz opublikował wiadomość z nową informacją dla ofiar ataku.
Trzeba przyznać, że afera NotPetya robi się z dnia na dzień coraz ciekawsza i rozwija się zgodnie z rekomendacją przypisywaną Hitchcockowi: „Film powinien zaczynać się od trzęsienia ziemi, potem zaś napięcie ma nieprzerwanie rosnąć”. Kilka godzin temu zebrane przez przestępców bitcoiny ruszyły w drogę a w sieci pojawił się pierwszy komunikat od autorów ataku.
Bitcoiny i transfery
Na adres 1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX, na który można było wpłacać okup za odzyskanie plików wpłynęło ok. 4BTC. Wczoraj w nocy z adresu wykonano trzy transakcje. Najpierw dwa przelewy po ok. 0,01 BTC a następnie reszta kwoty powędrowała na inny rachunek. Pierwsze przelewy trafiły na konta serwisów Pastebin oraz DeepPaste – ktoś kupił za nie usługę umożliwiającą umieszczanie w sieci informacji. Pozostało zatem czekać na publikację – i po kilkudziesięciu minutach pojawił się pierwszy link.
https://depastedihrn3jtw.onion/show.php?md5=21d0a98b38765e1619868fb098f9833d
W serwisie DeepPaste opublikowano ciekawą wiadomość. Niestety sama strona DeepPaste chyba padła pod wpływem nagłego wzrostu zainteresowania, ale można znaleźć zrzut ekranu:
Autor wpisu informuje, że za 100 BTC jest gotów oddać klucz prywatny użyty do zaszyfrowania części danych. Dla przypomnienia – przed restartem zainfekowanego komputera pliki o określonych rozszerzeniach były zaszyfrowane algorytmem AES. Klucz był losowany a następnie szyfrowany kluczem publicznym RSA i zapisywany na dysku. Oferowany klucz prywatny ma umożliwić odszyfrowanie klucza AES (różnego dla każdego komputera) i odzyskanie zaszyfrowanych danych. Nie umożliwi odzyskania boot sectora i tablicy partycji, które były zaszyfrowane kluczem Salsa. Nie jesteśmy pewni, czy kupując klucz RSA od przestępców można faktycznie pliki odzyskać, ale szansa na to na pewno rośnie.
Weryfikacja wiadomości
Autor notatki w DeepPaste udostępnił kilka linków. Pierwsze dwa to
https://mega.nz/#!EWg3mSLL!ipiQ6cXA9GG1DPEjJWoWu5JWmMy4SCxlAt270GgiFHY https://mega.nz/#!YeIXWIwI!BpUlwnLLD_HiTNcg7ASihMRqs6RESZ-6bXBMFVWESXo
Pierwszy prowadzi do pliku public.sha256.dgst. Jest to skrót jakiegoś pliku podpisany kluczem prywatnym RSA. Drugi plik to klucz publiczny, umożliwiający weryfikację podpisu.
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxP/VqKc0yLe9JhVqFMQG wUITO6WpXWnKSNQAYT0O65Cr8PjIQInTeHkXEjfO2n2JmURWV/uHB0ZrlQ/wcYJB wLhQ9EqJ3iDqmN19Oo7NtyEUmbYmopcq+YLIBZzQ2ZTK0A2DtX4GRKxEEFLCy7vP 12EYOPXknVy/+mf0JFWixz29QiTf5oLu15wVLONCuEibGaNNpgq+CXsPwfITDbDD mdrRIiUEUw6o3pt5pNOskfOJbMan2TZu6zfhzuts7KafP5UA8/0Hmf5K3/F9Mf9S E68EZjK+cIiFlKeWndP0XfRCYXI9AJYCeaOu7CXF6U0AVNnNjvLeOn42LHFUK4o6 JwIDAQAB -----END PUBLIC KEY-----
Identyczny klucz znaleźć można w serwisie Pastebin – pochodzi z 27 czerwca. Wiemy, ze w kodzie NotPetya znajdował się klucz publiczny RSA używany do szyfrowania – i jest to ten sam klucz.
Klucz opublikowany w serwisie Mega.nz różni się tylko tym, że zaczyna się dodatkowym ciągiem „MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A” – to różnica związana tylko w formatowaniem, klucze są te same. To oznacza, że autor wiadomości dysponuje kluczem prywatnym umożliwiającym odszyfrowanie kluczy AES zapisanych na dyskach zainfekowanych komputerów. Czy go wyśle po otrzymaniu 100 BTC – to inna sprawa.
To może czat?
Ostatni link
https://kicnpmh5ggclftv6.onion/signup_user_complete/?id=1trno4d6hiripcmntph65re6ty
prowadzi do serwera Mattermost, czyli prywatnego czatu, postawionego w sieci Tor. Wygląda na to, ze faktycznie siedzi tam ktoś pod pseudonimem Petya i odpowiada na pytania użytkowników. Co ciekawe, do tej pory zalogowało się tam tylko 5 osób.
Dajcie znać jeśli udzieli Wam wywiadu :) Być może cała akcja ma za zadanie przykryć wiadomość o tym, że do infekcji zaatakowanychkomputerów na Ukrainie doszło co najmniej w kwietniu tego roku?
Komentarze
Czat obecnie nie działa
http://imgur.com/a/c2dKu
Działa, tylko bezpośrednio w Tor (Tor browser i usuń .dog)
No, to teraz producent MEDoc płaci okup i przygotowuje odszyfrowywacz :)
Heh, tak, wiem, takie rzeczy to tylko w Korei…
Jak to wszystko działa, to dziwię się że nie zrobili bardziej kasowego modelu. Tj. opłata typu 1BTC per serwer za odszyfrowanie całości.
Jak nie ma w tej nowej Petyi (ciekawa jest odmiana tego słowa swoją drogą ;-) działającego deszyfrera, to jakiś mini bootowalny soft na USB czy coś, który sprawę załatwi.
Też swoją drogą mają buga z szyfrowaniem plików, jeśli są większe one niż 1 MB (obszar > 1MB nie jest szyfrowany). Co więcej, ostatni IV (w bodaj AES-CBC) jest używany do kolejnych plików. Co ogólnie może wpłynąć na możliwość deszyfrowania… Jeśli w ogóle nie rozwali deszfyrowania. Przynajmniej niektórzy wrzucają taki kamyczek do szklanej kuli, która ma przewidzieć przyszłość ofiar Petyi ;-)
@Adam i jeszcze jedno w sumie mi się nasunęło. AES to jedno, ale po reboocie całość jest szyfrowana (~FDE) za pomocą Salsa20. A klucz do Salsa20 jest trwale usuwany i nie szyfrowany też pub key. Tak przynajmniej piszą np. tu: https://blog.malwarebytes.com/threat-analysis/2017/06/eternalpetya-lost-salsa20-key/
Więc nawet mając dostęp do klucza prywatnego to dupa, bo nie ma nawet czego odszyfrowywać…
Chyba że np. to FDE nie jest jednak „Full” i dałoby się dostać jakoś do zaszyfrowanego klucza AES-a tym kluczem publicznym.
No właśnie te źródła które udało się znaleźć wskazują, że Salsa20 (której klucz istotnie jest kasowany) szyfruje MFT (bo MBR jest tylko XORowany). Utrudnia to odzyskanie plików ale najwyraźniej nie uniemożliwia. Musimy chyba poczekać aż ktoś zrobi porządny forensic na zaoranej stacji.
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A to zapisany w base64 nagłówek BEGIN RSA PUBLIC KEY
A dokładnie opakowanie surowego klucza RSA w strukturę PKCS#1.5, czyli opis za pomocą identyfikatora OID, co to za klucz i według jakiego algorytmu – tu rsaEncryption.
cat pub.key |grep -v KEY|base64 -d| openssl asn1parse -inform der
zaś sam klucz, czyli sekwencja BIGINTów składających się modulusa i eksponentu RSA, po pominięciu nagłówka PKCS#1.5:
cat pub.key |grep -v KEY|base64 -d| openssl asn1parse -inform der -offset 24
Widzę, że teraz w artykule już dodany link, ale tu może krócej.
Szyfrowanie takim kluczem napisu Test:
echo -n Test |openssl rsautl -pkcs -pubin -inkey pub.key -encrypt -hexdump
Odszyfrowanie – potrzebny prywatny za 100 bitcoinów :-)
Jasne, że dobra oferta zwłaszcza, że niedługo 1BTC będzie warte $100
Przekonałeś mnie, lecę sprzedawać swoje 'bity’