Wulfric Ransomware – egy nem létező zsarolóprogram
Néha nagyon szeretne néhány vírusíró szemébe nézni, és megkérdezni: miért és miért? A „hogyan” kérdésre mi magunk is válaszolhatunk, de nagyon érdekes lenne megtudni, mire gondolt ez vagy az a kártevő-készítő. Főleg, ha ilyen „gyöngyszemekkel” találkozunk.
A mai cikk hőse egy kriptográfus érdekes példája. Nyilvánvalóan csak egy újabb „ransomware”-nek szánták, de technikai megvalósítása inkább valaki kegyetlen tréfájának tűnik. Erről a megvalósításról fogunk ma beszélni.
Sajnos ennek a kódolónak az életciklusát szinte lehetetlen nyomon követni - túl kevés a statisztika róla, mivel szerencsére nem terjedt el. Ezért az eredetet, a fertőzés módjait és az egyéb hivatkozásokat elhagyjuk. Beszéljünk csak a találkozásunk esetéről Wulfric Ransomware és hogyan segítettünk a felhasználónak elmenteni a fájljait.
I. Hogyan kezdődött az egész
Azok, akik zsarolóprogramok áldozatává váltak, gyakran felveszik a kapcsolatot vírusirtó laboratóriumunkkal. Segítséget nyújtunk, függetlenül attól, hogy milyen vírusirtó termékeket telepítettek. Ezúttal egy olyan személy keresett meg minket, akinek a fájljait ismeretlen kódoló érintette.
Jó napot A fájlok titkosítása egy fájltárolón (samba4) történt, jelszó nélküli bejelentkezéssel. Gyanítom, hogy a fertőzés a lányom számítógépéről származott (Windows 10 normál Windows Defender védelemmel). A lány számítógépe ezután nem volt bekapcsolva. A fájlok főleg .jpg és .cr2 formátumban vannak titkosítva. Fájlkiterjesztés a titkosítás után: .aef.
A felhasználóktól mintákat kaptunk titkosított fájlokról, váltságdíj-jegyzetet és egy olyan fájlt, amely valószínűleg az a kulcs, amelyre a ransomware szerzőjének szüksége volt a fájlok visszafejtéséhez.
Íme az összes nyomunk:
01c.aef (4481K)
hacked.jpg (254K)
hacked.txt (0K)
04c.aef (6540K)
pass.key (0K)
Vessünk egy pillantást a jegyzetre. Hány bitcoint ezúttal?
Fordítás:
Figyelem, a fájlok titkosítva vannak!
A jelszó egyedi a számítógépére.
Fizesse be a 0.05 BTC összeget a Bitcoin címére: 1ERtRjWAKyG2Edm9nKLLCzd8p1CjjdTiF
Fizetés után küldjön egy e-mailt a pass.key fájl csatolásával [e-mail védett] fizetési értesítéssel.
A megerősítés után küldök egy dekódolót a fájlokhoz.
A Bitcoinokról: hu.wikipedia.org/wiki/Bitcoin
Ha bármilyen kérdése van, írjon nekem a címre [e-mail védett]
Bónuszként elmondom, hogyan törték fel számítógépét, és hogyan védheti meg a jövőben.
Egy nagyképű farkas, amelynek célja, hogy megmutassa az áldozatnak a helyzet súlyosságát. Azonban lehetett volna rosszabb is.
Rizs. 1. -Bónuszként elmondom, hogyan védheti meg számítógépét a jövőben. -Valódinak tűnik.
II. Kezdjük el
Mindenekelőtt a kiküldött minta szerkezetét néztük meg. Furcsa módon nem úgy nézett ki, mint egy ransomware által megsérült fájl. Nyissa meg a hexadecimális szerkesztőt, és nézze meg. Az első 4 bájt tartalmazza az eredeti fájlméretet, a következő 60 bájt nullákkal van kitöltve. De a legérdekesebb a végén van:
Rizs. 2 Elemezze a sérült fájlt. Mi az, ami azonnal megragadja?
Minden bosszantóan egyszerűnek bizonyult: a fejlécből 0x40 bájt került át a fájl végére. Az adatok visszaállításához egyszerűen térjen vissza az elejére. A fájlhoz való hozzáférés helyreállt, de a név titkosítva maradt, és a dolgok egyre bonyolultabbak vele.
Rizs. 3. A Base64 titkosított név úgy néz ki, mint egy kavargó karakterkészlet.
Próbáljuk meg kitalálni pass.key, felhasználó által beküldött. Ebben egy 162 bájtos ASCII karaktersorozatot látunk.
Rizs. 4. 162 karakter maradt az áldozat PC-jén.
Ha alaposan megnézi, észre fogja venni, hogy a szimbólumok bizonyos gyakorisággal ismétlődnek. Ez utalhat az XOR használatára, amelyet ismétlések jellemeznek, amelyek gyakorisága a billentyű hosszától függ. Miután a karakterláncot 6 karakterre osztottuk, és az XOR sorozatok néhány változatával XOR-t végeztünk, nem értünk el érdemi eredményt.
Rizs. 5. Lásd az ismétlődő konstansokat középen?
Úgy döntöttünk, hogy konstansokat keresünk a google-ban, mert igen, ez is lehetséges! És végül mindegyik egy algoritmushoz vezetett – a kötegelt titkosításhoz. A forgatókönyv tanulmányozása után világossá vált, hogy vonalunk nem más, mint a munkájának eredménye. Meg kell említeni, hogy ez egyáltalán nem titkosító, hanem csak egy kódoló, amely a karaktereket 6 bájtos sorozatokra cseréli. Nincsenek kulcsok vagy egyéb titok :)
Rizs. 6. Ismeretlen szerzőségű eredeti algoritmus egy darabja.
Az algoritmus nem működne úgy, ahogy kellene, ha nem egy részletet:
Rizs. 7. Morpheus jóváhagyta.
Fordított helyettesítéssel átalakítjuk a karakterláncot ebből pass.key 27 karakteres szövegbe. Az emberi (valószínűleg) „asmodat” szöveg külön figyelmet érdemel.
8. ábra. USGFDG=7.
A Google ismét segíteni fog nekünk. Kis keresgélés után egy érdekes projektet találunk a GitHubon – Folder Locker, amely .Neten íródott, és egy másik Git-fiók „asmodat” könyvtárát használja.
Rizs. 9. Mappa Locker felület. Ügyeljen arra, hogy ellenőrizze a rosszindulatú programokat.
A segédprogram a Windows 7 és újabb rendszerekhez készült titkosítója, amely nyílt forráskódúként kerül terjesztésre. A titkosítás során jelszót használnak, amely szükséges a későbbi visszafejtéshez. Lehetővé teszi az egyes fájlokkal és teljes könyvtárakkal való munkát.
Könyvtára a Rijndael szimmetrikus titkosítási algoritmust használja CBC módban. Figyelemre méltó, hogy a blokkméretet 256 bitre választották – ellentétben az AES szabványban elfogadottal. Ez utóbbiban a méret 128 bitre korlátozódik.
Kulcsunkat a PBKDF2 szabvány szerint állítjuk elő. Ebben az esetben a jelszó SHA-256 a segédprogramban megadott karakterláncból. Csak meg kell találni ezt a karakterláncot a visszafejtési kulcs generálásához.
Nos, térjünk vissza a már dekódolthoz pass.key. Emlékszel arra a sorra, amely egy sor számot és az „asmodat” szöveget tartalmazza? Próbáljuk meg a karakterlánc első 20 bájtját használni jelszóként a Folder Locker számára.
Nézd, működik! Előkerült a kódszó, és mindent tökéletesen megfejtett. A jelszó karaktereiből ítélve ez egy adott szó HEX-es reprezentációja az ASCII-ben. Próbáljuk meg szöveges formában megjeleníteni a kódszót. Kapunk 'árnyfarkas'. Érzi már a likantrópia tüneteit?
Vessünk még egy pillantást az érintett fájl szerkezetére, most már ismerve a szekrény működését:
02 00 00 00 – névtitkosítási mód;
58 00 00 00 – a titkosított és base64 kódolású fájlnév hossza;
40 00 00 00 – az átvitt fejléc mérete.
Maga a titkosított név és az átvitt fejléc piros, illetve sárga színnel van kiemelve.
Rizs. 10. A titkosított név pirossal, az átvitt fejléc sárgával van kiemelve.
Hasonlítsuk össze most a titkosított és visszafejtett neveket hexadecimális ábrázolásban.
A dekódolt adatok szerkezete:
78 B9 B8 2E – a segédprogram által létrehozott szemét (4 bájt);
0С 00 00 00 – a visszafejtett név hossza (12 bájt);
Ezután jön a tényleges fájlnév és a kitöltés nullákkal a kívánt blokkhosszig (kitöltés).
Rizs. 11. Az IMG_4114 sokkal jobban néz ki.
III. Következtetések és következtetések
Vissza az elejére. Nem tudjuk, mi motiválta a Wulfric.Ransomware szerzőjét, és milyen célt követett. Természetesen az átlagos felhasználó számára még egy ilyen titkosító munkájának eredménye is nagy katasztrófának tűnik. A fájlok nem nyílnak meg. Minden név eltűnt. A szokásos kép helyett egy farkas van a képernyőn. Arra kényszerítenek, hogy olvass a bitcoinokról.
Igaz, ezúttal egy „szörnyű kódoló” leple alatt egy olyan nevetséges és ostoba zsarolási kísérletet rejtettek el, ahol a támadó kész programokat használ, és a kulcsokat közvetlenül a tetthelyen hagyja.
Egyébként a kulcsokról. Nem volt olyan rosszindulatú szkriptünk vagy trójai, amely segítene megérteni, hogyan történt ez. pass.key – a fájl megjelenési mechanizmusa a fertőzött számítógépen továbbra is ismeretlen. De emlékszem, jegyzetében a szerző megemlítette a jelszó egyediségét. Tehát a dekódolás kódszava ugyanolyan egyedi, mint a shadow wolf felhasználónév :)