Badacze Avast opracowali deszyfrator dla ransomware Akira i udostępnili go do publicznego pobrania. Ransomware Akira pojawiło się w marcu 2023 roku i od tego czasu gang twierdzi, że przeprowadza udane ataki na różne organizacje, między innymi z branży edukacyjnej, finansowej i nieruchomości.
Należy pamiętać, że to oprogramowanie ransomware nie jest powiązane z oprogramowaniem ransomware Akira odkrytym przez Karstena Hahna w 2017 r. , a naszego narzędzia deszyfrującego nie można używać do odszyfrowywania plików z tego starego wariantu.
Oprogramowanie ransomware Akira jest dostarczane jako 64-bitowy plik binarny systemu Windows napisany dla systemu operacyjnego Windows. Jest napisany w C++ z dużym wsparciem bibliotek C++. Dodatkowo do implementacji kodu szyfrowania asynchronicznego wykorzystano bibliotekę Boost. Plik binarny jest połączony przez Microsoft Linker w wersji 14.35.
W czerwcu 2023 r. badacz bezpieczeństwa rivitna opublikował próbkę skompilowaną dla systemu Linux. Wersja systemu Linux jest 64-bitowa i korzysta z biblioteki Boost.
Schemat szyfrowania Akira
Podczas działania ransomware generuje symetryczny klucz szyfrujący za pomocą CryptGenRandom(), który jest generatorem liczb losowych zaimplementowanym przez Windows CryptoAPI. Pliki są szyfrowane przez Chacha 2008 (implementacja DJ Bernsteina).
Klucz symetryczny jest szyfrowany szyfrem RSA-4096 i dołączany na końcu zaszyfrowanego pliku. Klucz publiczny jest zakodowany na stałe w pliku binarnym oprogramowania ransomware i różni się w zależności od próbki.
Lista wykluczeń
Podczas wyszukiwania plików do zaszyfrowania Akira nie jest szczególnie wybredny. Podczas gdy odmiany ransomware zwykle mają listę typów plików do zaszyfrowania, Akira ma listę plików, których nie należy szyfrować:
.exe
.dll
.lnk
.sys
.msi
akira_readme.txt
Ponadto istnieją foldery, które Akira zawsze ignoruje:
winnt
temp
thumb
$Recycle.Bin
$RECYCLE.BIN
System Volume Information
Boot
Windows
Trend Micro
Istnieje nawet starszy winnt
folder, który był używany jako domyślny folder do instalacji systemu Windows 2000.
Schemat szyfrowania małych plików
Pliki są szyfrowane w zależności od ich rozmiaru. W przypadku plików o rozmiarze 2 000 000 bajtów i mniejszych ransomware szyfruje pierwszą połowę pliku. Struktura takiego zaszyfrowanego pliku wygląda następująco:
Typ bloku | Rozmiar |
Zaszyfrowany blok | Rozmiar pliku / 2 |
Zwykły blok tekstowy | Rozmiar pliku / 2 |
Stopka pliku | 534 bajty |
Schemat szyfrowania dużych plików
W przypadku plików większych niż 2 000 000 bajtów Akira szyfruje cztery bloki. Najpierw obliczany jest rozmiar pełnego bloku (patrz rysunek 1).
Następnie obliczany jest rozmiar zaszyfrowanej części bloku (patrz rysunek 2).
Następnie tworzony jest układ zaszyfrowanego pliku (patrz rysunek 3).
Typ bloku | Rozmiar |
Zaszyfrowany blok nr 1 | Zaszyfrowana długość |
Zwykły blok tekstowy | Długość bloku — długość zaszyfrowana |
Zaszyfrowany blok nr 2 | Zaszyfrowana długość |
Zwykły blok tekstowy | Długość bloku — długość zaszyfrowana |
Zaszyfrowany blok nr 3 | Zaszyfrowana długość |
Zwykły blok tekstowy | Długość bloku — długość zaszyfrowana |
Zaszyfrowany blok nr 4 | Zaszyfrowana długość |
Zwykły blok tekstowy | Reszta pliku |
Stopka pliku | 534 bajty |
Strukturę stopki pliku można opisać następującą strukturą w języku C:
Zaszyfrowane pliki można rozpoznać po rozszerzeniu .akira
. Plik o nazwie akira_readme.txt
— żądanie okupu — jest umieszczany w każdym folderze (patrz Rysunek 5).
Żądanie okupu wspomina o dwóch witrynach TOR. W pierwszym (Rysunek 6) użytkownik może wymienić zhakowane firmy; w drugim ofiary są instruowane, jak dokonać płatności (wykres 7).
Linuxowa wersja Akiry
Wersja oprogramowania ransomware Akira dla systemu Linux działa identycznie jak jego odpowiednik dla systemu Windows. Zaszyfrowane pliki mają to samo rozszerzenie i ten sam schemat szyfrowania. Oczywiście interfejs Windows CryptoAPI nie jest dostępny w systemie Linux, więc autorzy oprogramowania ransomware wykorzystali bibliotekę Crypto++ do pokrycia części obsługiwanych przez interfejs CryptoAPI w systemie Windows.
Nasz zespół pracuje obecnie nad linuksową wersją naszych deszyfratorów. W międzyczasie deszyfrator w wersji dla systemu Windows może być używany do odszyfrowywania plików zaszyfrowanych przez oprogramowanie ransomware w wersji dla systemu Linux. Użyj warstwy WINE, aby uruchomić deszyfrator pod Linuksem.
Podobieństwa do Contiego
Akira ma kilka podobieństw do oprogramowania ransomware Conti v2, co może wskazywać, że autorzy szkodliwego oprogramowania przynajmniej inspirowali się źródłami Conti, które wyciekły. Cechy wspólne obejmują:
- Lista wykluczeń typów plików. Akira ignoruje pliki z takimi samymi rozszerzeniami jak Conti, z tą różnicą, że
akira_readme.txt
zamiastR3ADM3.txt
. - Lista wykluczeń katalogów. Ponownie Akira ignoruje te same foldery co Conti, w tym
winnt
iTrend Micro
, co sprawia, że domyślny folder instalacyjny Trend Micro jest szczególnie odporny na obydwa rodzaje oprogramowania ransomware. - Struktura ogona pliku Akira jest równa ogonowi pliku dodanemu przez Conti (patrz rysunek 8)
Zmienna członkowska bEncryptType
jest ustawiona na 0x24, 0x25, 0x26 przez Conti w wersji 2, Akira używa 0x32.
- Implementacja ChaCha 2008 używana przez ransomware Akira jest taka sama, jak ta używana przez ransomware Conti.
- Kod generowania klucza (dwa wywołania CryptGenRandom, a następnie CryptEncrypt) przypomina funkcję generowania klucza Conti.
Jak używać narzędzia deszyfrującego Avast do odszyfrowywania plików zaszyfrowanych przez ransomware
Prosimy o uważne przeczytanie instrukcji. Od tego będzie zależał wskaźnik sukcesu odszyfrowywania. Jeśli nie lubisz czytać instrukcji, przeczytaj przynajmniej instrukcje dotyczące pary plików.
1. Pierwszym krokiem jest pobranie pliku binarnego deszyfratora. Avast zapewnia 64-bitowy deszyfrator, ponieważ oprogramowanie ransomware jest również 64-bitowe i nie może działać w 32-bitowym systemie Windows. Jeśli nie masz innego wyboru, jak korzystać z aplikacji 32-bitowych, możesz pobrać deszyfrator 32-bitowy tutaj.
2. Uruchom plik wykonywalny, najlepiej jako administrator. Zaczyna jako kreator, który prowadzi cię przez konfigurację procesu deszyfrowania.
3. Na stronie początkowej mamy link do informacji o licencji. Kliknij przycisk Dalej, gdy będziesz gotowy do rozpoczęcia.
4. Na następnej stronie wybierz listę lokalizacji, które chcesz wyszukać i odszyfrować. Domyślnie ma listę wszystkich dysków lokalnych:
5. Na następnej stronie musisz podać przykład pliku w jego oryginalnej postaci, a następnie zaszyfrowanego przez ransomware Akira. Wpisz obie nazwy plików. Możesz także przeciągać i upuszczać pliki z Eksploratora Windows na stronę kreatora.
Niezwykle ważne jest, aby wybrać parę plików, które są tak duże, jak to tylko możliwe. Ze względu na obliczenia rozmiaru bloku Akira, mogą występować dramatyczne różnice w limicie rozmiaru, nawet w przypadku plików, które różnią się rozmiarem o 1 bajt.
Kiedy klikniesz Dalej, narzędzie deszyfrujące dokładnie zbada parę plików i powie ci, jaki jest największy plik do odszyfrowania. Ogólnie rzecz biorąc, limit rozmiaru powinien być taki sam jak rozmiar oryginalnego pliku:
6. Następna strona to miejsce, w którym odbywa się proces łamania hasła. Kliknij Start, gdy będziesz gotowy do rozpoczęcia. Ten proces zwykle zajmuje tylko kilka sekund, ale wymaga dużej ilości pamięci systemowej. Dlatego zdecydowanie zalecamy korzystanie z 64-bitowej wersji narzędzia deszyfrującego.
Po znalezieniu hasła możesz kontynuować odszyfrowywanie wszystkich zaszyfrowanych plików na komputerze, klikając Dalej.
7. Na ostatniej stronie możesz wyrazić zgodę na utworzenie kopii zapasowej zaszyfrowanych plików. Te kopie zapasowe mogą pomóc, jeśli coś pójdzie nie tak podczas procesu odszyfrowywania. Ten parametr jest wybrany domyślnie, co zalecamy. Po kliknięciu Odszyfruj rozpocznie się proces odszyfrowywania. Pozwól deszyfratorowi działać i poczekaj, aż zakończy odszyfrowywanie wszystkich plików.
W przypadku pytań lub komentarzy dotyczących deszyfratora Avast wyślij wiadomość e-mail na adres decryptors@avast.com.
IOC (wskaźniki kompromisu)
Wersje Windowsa
3c92bfc71004340ebc00146ced294bc94f49f6a5e212016ac05e7d10fcb3312c
5c62626731856fb5e669473b39ac3deb0052b32981863f8cf697ae01c80512e5
678ec8734367c7547794a604cc65e74a0f42320d85a6dce20c214e3b4536bb33
7b295a10d54c870d59fab3a83a8b983282f6250a0be9df581334eb93d53f3488
8631ac37f605daacf47095955837ec5abbd5e98c540ffd58bb9bf873b1685a50
1b6af2fbbc636180dd7bae825486ccc45e42aefbb304d5f83fafca4d637c13cc
9ca333b2e88ab35f608e447b0e3b821a6e04c4b0c76545177890fb16adcab163
d0510e1d89640c9650782e882fe3b9afba00303b126ec38fdc5f1c1484341959
6cadab96185dbe6f3a7b95cf2f97d6ac395785607baa6ed7bf363deeb59cc360
Wersja Linuksa
1d3b5c650533d13c81e325972a912e3ff8776e36e18bca966dae50735f8ab296