A LuminosityLink Remote Access Trojan Configuration vizsgálata

ez a bejegyzés a következő nyelven is elérhető: 6482>

az elmúlt hetekben időt töltöttem a luminositylink Remote Access Trojan (rat) beágyazott konfigurációjának vizsgálatával. Azok számára, akik nem tudják, a LuminosityLink egy rosszindulatú programcsalád, amely 40 dollárba kerül, amely állítólag rendszeradminisztrációs segédprogram. Végrehajtásakor azonban a rosszindulatú program egy nagyon agresszív keyloggert, valamint számos más rosszindulatú funkciót használ fel, amelyek lehetővé teszik a támadó számára, hogy teljes ellenőrzést szerezzen az áldozatgép felett.

 Luminozitilink 1

1. ábra LuminosityLink weboldal

egy munkatárs kérésére megkértek, hogy bontsam ki a LuminosityLink minta konfigurációját, és bár egyszerűen végrehajthattam volna a rosszindulatú programot egy sandboxos környezetben, és kihúzhattam volna a konfigurációt a memóriából, úgy döntöttem, hogy megnézem, képes vagyok-e ugyanezt a műveletet végrehajtani a statikus bináris fájl ellen.

ez vezetett ahhoz, hogy megértsem, hogyan van titkosítva a konfiguráció a binárison belül, valamint hogyan kell elemezni ezt a konfigurációt. Létrehoztam egy szkriptet, hogy végrehajtsam ezt a műveletet egy változatlan LuminosityLink malware minta ellen, amelyet megosztok ebben a blogbejegyzésben. Ezenkívül megnéztem a Palo Alto Networks által az idők során összegyűjtött nagyjából 18 000 LuminosityLink mintát, és ezzel a szkripttel 14 700 minta konfigurációját tudtam kivonni. (Ezek az adatok a bejegyzés függelékében találhatók.)

a LuminosityLink áttekintése

eredetileg 2015 májusában jelent meg, a LuminosityLink népszerűsége növekszik, amint azt az alábbi ábra mutatja. A mai napig a Palo Alto Networks körülbelül 50 000 megkísérelt LuminosityLink fertőzést követett nyomon ügyfeleink ellen.

 Luminozitilink 2

2. ábra a Luminozitylink munkamenetek autofókusz grafikonja az idő múlásával.

a LuminosityLink jelenleg 40 dollárért kapható, és közvetlenül a szerzőjétől vásárolható meg. Ez a csomag lehetővé teszi a támadók számára, hogy egy LuminosityLink szervert fogadjanak, valamint testreszabott bináris fájlokat hozzanak létre, amelyeket a ConfuserEx 0.4.0 elfed. ConfuserEx egy nyílt forráskódú projekt, amely elhomályosítja a mögöttes .NET kód, ami sokkal nehezebbé teszi a visszafejtő mérnökök számára. Ezt fontos megjegyezni később, amikor a titkosítási folyamat visszafejtésének meghatározásáról beszélünk.

mint korábban említettük, számos konfigurációs lehetőség szerepel, amint azt a következő képernyőképen láthatjuk.

 Luminozitilink 3

3. ábra kliens konfigurációs beállítások a LuminosityLink

a végrehajtást követően a támadók rengeteg lehetőséget kapnak, beleértve a keylogging-et, a távoli asztalt, a jelszólopást és az eszközön lévő shell-lel való interakciót.

a konfiguráció visszafejtése

a LuminosityLink konfigurációjának elemzésének első lépése a statikusan kinyerése. Kezdetben megnyitottam egy tiszta LuminosityLink mintát egy dnspy nevű program segítségével, hogy nyomokat keressek arra vonatkozóan, hogy hol tárolható a konfiguráció. (Gyors félretéve, nagyon ajánlom a dnSpy – t, mivel nemcsak nagyszerű munkát végez a mellékelt.Net bináris visszafejtésében, hanem beépített hibakeresővel is rendelkezik, amely fontos szerepet játszik az olyan problémák kezelésében, mint amilyenekkel szembesülünk.)

amikor kezdetben megnyitottam egy bináris mintát, nem számítottam sokat, mivel tudtam, hogy a mintát a ConfuserEx segítségével elhomályosították. A minta erőforrásait tekintve azonban láttam néhány ígéretesnek tűnő húrot.

 Luminozitilink 4

4. ábra beágyazott erőforrás-karakterláncok a LuminosityLink – ben

mint láthatjuk, a rosszindulatú program számos erőforrást tartalmaz, amelyek viszont Base64 kódolású adatokat tartalmaznak. A “SMARTLOGS”, az “XML” és a “CONFIG” erőforrások mind rengeteg adatot tartalmaznak, ami jelenleg még nem ismert. Sajnos ezeknek a karakterláncoknak a dekódolása szemetet eredményez, ami valószínűleg azt jelenti, hogy a titkosítás valamilyen más formáját használják alatta.

folytattam az alapul szolgáló kód vizsgálatát, amely bár homályos, mégis magas szintű képet ad arról, hogy a különböző osztályok mit csinálnak. Az importált névterek, API-hívások és bizonyos nem elhomályosított karakterláncok használatával nyomokat kapunk arról, hogy mi történik a programon belül. Pontosabban az fd() osztályt látjuk a ‘System névtér használatával.Biztonságiak.Kriptográfia’, amely minden bizonnyal megérdemli a vizsgálatot, mivel gyanítottuk, hogy a kriptográfiát a korábban hivatkozott erőforrás-karakterláncokkal szemben használják.

 LuminosityLink 5

5. ábra a LuminosityLink által használt kriptográfiai névtér

ahogy tovább vizsgáljuk ezt az osztályt, a következő osztályokra és függvényekre hivatkozásokat látunk:

  • MD5CryptoServiceProvider
  • ComputeHash
  • FromBase64String
  • RijndaelManaged

ezen a ponton a hibakeresőmhöz fordultam, hogy megnézzem, hogyan kezelik ezeket a karakterláncokat. Töréspontokat állítottam be a korábban említett különféle hívásokra. Pontosabban, a RijndaelManaged osztály töréspontja kiváló eredményeket hoz.

 LuminosityLink 6

6. ábra az AES-128 kulcs

sikeres helyreállítása nemcsak az AES-128 titkosítás használatát tudjuk ellenőrizni, hanem azt is, hogy a “SMARTLOGS” erőforrás-karakterláncot használják-e. Képesek vagyunk azonosítani a kulcsként használt karakterláncot is, amely ebben a példában “\\ecnOnuR\\noisreVtnerruC\\swodniW\\tfosorciM\\erawtfoS”. A további vizsgálatok azt mutatják, hogy ezt a karakterláncot az MD5 algoritmus segítségével hasítják. Ennek a hashnak az első 15 bájtja összefűződik a hash teljes 16 bájtjával, amelyet egy null bájt követ. Megismételhetjük ezt a visszafejtési folyamatot Pythonban, mint olyan:

1
2
3
4
5
6
7
8
9
10

def decrypt_data (data, key_string):
decoded_data = base64.b64dekód (adat)
m = hashlib.md5()
m.frissítés(key_string)
md5 = m.digest()
kulcs = md5+md5+”\x00″
mode = AES.MODE_ECB
iv = ‘\x00’ * 16
e = AES.új (kulcs, mód, iv)
visszatérés e. dekódolás (decoded_data)

a fenti kód segítségével tovább ellenőrizhetjük, hogy ez helyes-e. A következő példában az adatváltozó a “SMARTLOGS” erőforrásban található base64 kódolású karakterlánccal lett beállítva, a key_string változó pedig a korábban említett fordított beállításkulcsra lett állítva.

1
2

>>> nyomtatás decrypt_data (adatok, key_string)
172.16.1.100|11111|backup.dns.com|filename.exe|startup_name|folder_name|data_directory_name|backup_startup.exe / df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4 / BuildID / 1idsnb|

a próbaverzió segítségével sikeresen leképezhetjük a fenti konfigurációban tapasztalt minden változót. Az utolsó változó elég érdekesnek bizonyul, mivel az ‘1’ kivételével minden karakter leképez egy adott konfigurációs opciót. A következő leképezést határoztuk meg:

  • i: engedélyezze az ügyfél telepítését / indítását
  • d: ügyfél Perzisztencia modul: védje a fényesség kliens bináris
  • s : Csendes mód (fényerő ablak elrejtése ügyfélszámítógépen)
  • a : proaktív Anti-Malware: tisztítsa meg a rosszindulatú fájlokat és gyorsítsa fel az ügyfélszámítógépet
  • N : Energiatakarékos mód: megakadályozza az alvó üzemmódot és kapcsolja ki a monitort 15 perc inaktivitás után
  • m : fájl eltávolítása végrehajtás után (olvadás)
  • v : virtuális gépek/hibakeresés elleni védelem
  • h : fájl és könyvtárak
  • B : backup startup

ezzel a tudással elemezhetjük a fenti konfigurációt, amely a következő eredményeket adja.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Domain/IP: 172.16.1.100
Port: 11111
biztonsági mentés DNS: backup.dns.com
fájlnév: fájlnév.exe
indítás neve: startup_name
mappa neve: folder_name
Adatkönyvtár neve: data_directory_name
biztonsági mentés indítása Exe: backup_startup.exe
Mutex: Df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4
Build ID: BuildID
Beállítások:
kliens telepítés/telepítés engedélyezése indítás
kliens Perzisztencia modul: védje a Luminosity kliensét bináris
csendes mód (A Luminosity ablak elrejtése az ügyfélszámítógépen)
proaktív Anti-Malware: Tisztítsa meg a rosszindulatú fájlokat és gyorsítsa fel az ügyfélszámítógépet
Energiatakarékos mód: megakadályozza az alvó üzemmódot és kapcsolja ki a monitort 15 perc tétlenség után
fájl eltávolítása végrehajtás után (olvadás)
virtuális gépek elleni védelem / hibakeresés
fájl és könyvtárak elrejtése
biztonsági mentés indítása

a LuminosityLink konfigurációk elemzése

skálán ezen ismeretek felhasználásával létrehoztunk egy szkriptet egy adott minta konfigurációjának elemzésére. A szkript olyan karakterláncokat keres, amelyek base64 kódolásúnak tűnnek, és 50-nél hosszabbak, és brute-force megközelítést alkalmaznak. Bár nem elegáns, elég sikeresen végzi a munkát. A szkript letölthető a blogbejegyzés függelék szakaszában.

megy keresztül Palo Alto Networks repository minták, találtunk nagyjából 18.000 fájlok címkéjű LuminosityLink. Ehhez a 18 000 mintához a statikus konfigurációs kibontási és elemzési szkriptünket alkalmaztuk, és sikeresen letöltöttünk körülbelül 4500 konfigurációt. A fennmaradó mintákat a beépített ConfuserEx obfuscation rutinon túl csomagolták, így a nyers konfigurációs húrok nem voltak jelen.

ezeket a mintákat a nyílt forráskódú kakukk homokozó helyi példányán futtattuk, ahol a folyamatlerakókat kivontuk. Ugyanezt a szkriptet alkalmazták ezekre a folyamatlerakókra, ahol további 10 200 konfigurációt tudtunk megszerezni, így összesen 14 700 elemzett LuminosityLink konfigurációt kaptunk.

a minták feldolgozása során további kulcsokat fedeztek fel, amelyeket a szerző használ. A következő további három karakterláncot használtuk a luminositylink minták kulcsainak előállításához.

  • ez a conf ‘ ig nem tartalmaz semmi hasznosat. Ne viselkedj úgy, mintha menő lennél, ha visszafejted.
  • források.SMARTLOGS
  • jelszó megadása

úgy tűnik, mintha a LuminosityLink szerzője nem lenne humorérzék nélkül. Továbbá, ahogy elemeztük a régebbi mintákat, kiderült, hogy a konfiguráció valamikor ez év februárja és júniusa között változott. Kevesebb lehetőség állt rendelkezésre a régebbi minták konfigurációjában. A megadott szkript figyelembe veszi ezeket a különbségeket és a különböző használt kulcsokat.

Segítségével az összesített adatokat a 14,700 konfigurációk, a következő magas szintű statisztikák húztak:

LuminosityLink 7

Figure 7 Prevalence of enabled settings in LuminosityLink configurations

Top C2 TLDs/IP Addresses

  • ddnsnet
  • duckdnsorg
  • no-ipbiz
  • chickenkillercom
  • no-iporg
  • mooocom
  • fishdnscom
  • no-ipinfo
  • ignorelistcom
  • freednssu

Top Build IDs

  • HOME
  • Client
  • crtx1
  • M4CHINATION
  • CSGO
  • NEW
  • Slave
  • CAPO
  • Youtube
  • PROJECT.D

Top Executable Names

  • sysmon.exe
  • client.exe
  • helper.exe
  • repair.exe
  • winlogon.exe
  • svchost.exe
  • Luminosity.exe
  • WinCOMHost.exe
  • chrome.exe
  • windowsbootapp.exe

felső portok

  • 6318
  • 1400
  • 1604
  • 1337
  • 3175
  • 22028
  • 9045
  • 2122
  • 100
  • 9999

a CSV fájlformátumban megadott elemzett konfigurációs adatokat szabadon bocsátják a biztonsági közösség rendelkezésére abban a reményben, hogy védelmet hoznak létre ezzel a fenyegetéssel szemben.

következtetés

LuminosityLink, míg forgalmazott rendszeradminisztrációs segédprogram, egy félelmetes keylogger és backdoor által használt nagyszámú bűnözők. A mai napig a Palo Alto Networks több mint 50 000 kísérletet tett a LuminosityLink fertőzésére, amely 18 000 egyedi mintát ölel fel. A malware olcsó és könnyen elérhető a nyilvánosság számára,ami veszélyes fenyegetést jelent mind a szervezetek, mind az egyének számára.

a LuminosityLink minták visszafejtésével statikusan kinyerhettük és elemezhettük a beágyazott konfigurációt, amely értékes információkat szolgáltat arról, hogy a rosszindulatú programok milyen gazdagépekkel és portokkal kommunikálnak. Ezenkívül információkat nyújt a futtatható fájlban konfigurált konfigurált védelemről, valamint a telepítési információkról.

a Palo Alto Networks ügyfelei a következő módon védettek ezzel a fenyegetéssel szemben:

Autofókuszcímke használható a kártevő-család nyomon követésére

  • a LuminosityLink minden mintája megfelelően van megjelölve rosszindulatúként a WildFire-ben
  • minden azonosított tartományt rosszindulatúként jelölnek meg
  • a hálózati forgalmat megfelelően veszélyforrásként azonosítják és blokkolják id #14460 (lumonositylinkrat.Gen Command and Control Traffic)

függelék

a LuminosityLink mintákra vonatkozó extrakciós és elemzési szkript itt található.

az egyszerű konfigurációs karakterláncok elemzéséhez használt szkript itt található.

A Palo Alto Networks mintakészletéből kinyert összes konfigurációs adatot tartalmazó CSV fájl itt található.

frissítéseket kaphat a
Palo Alto
hálózatokról!

iratkozzon fel, hogy megkapja a legfrissebb híreket, cyber threat intelligence and research tőlünk

az űrlap elküldésével elfogadja a Felhasználási Feltételeket, és elfogadja adatvédelmi nyilatkozatunkat.

Write a Comment

Az e-mail-címet nem tesszük közzé.