Luminositylink Remote Access-troijalaisen kokoonpanon tutkiminen

tämä viesti on saatavilla myös muodossa 日本本 (Japani)

viime viikkoina olen viettänyt aikaa LuminosityLink Remote Access-troijalaisen (RAT) sulautetun kokoonpanon tutkimiseen. Tietämättömille LuminosityLink on 40 dollaria maksava haittaohjelmaperhe, joka väittää olevansa järjestelmänhallinnan apuohjelma. Kuitenkin, kun suoritetaan, haittaohjelma hyödyntää erittäin aggressiivinen keylogger, sekä useita muita haitallisia ominaisuuksia, joiden avulla hyökkääjä saada täyden hallinnan uhri kone.

 LuminosityLink 1

Kuva 1 LuminosityLink-sivusto

työkaverin pyynnöstä minua pyydettiin purkamaan luminositylink-näytteen kokoonpano, ja vaikka olisin voinut yksinkertaisesti suorittaa haittaohjelman hiekkalaatikossa ja vetää kokoonpanon muistista, päätin kokeilla, voisinko suorittaa saman toiminnon staattista binääriä vastaan.

tämä johti siihen, että ymmärsin, miten kokoonpano on salattu binäärissä, sekä miten jäsentää kyseinen kokoonpano. Olen luonut script suorittaa tämän toiminnon vastaan muuttumaton LuminosityLink haittaohjelmien näyte, jonka aion jakaa tässä blogikirjoitus. Lisäksi tarkastelin Palo Alto Networksin aikojen saatossa keräämiä noin 18 000 LuminosityLink-näytettä, ja tämän käsikirjoituksen avulla sain poimittua 14 700 näytteen kokoonpanot. (Nämä tiedot löytyvät tämän postauksen liitteestä.)

Luminositylinkin yleiskatsaus

alun perin toukokuussa 2015 noussut Luminositylinkin suosio on ollut nousussa, kuten seuraavasta taulukosta käy ilmi. Palo Alto Networks on tähän mennessä jäljittänyt noin 50 000 Luminositylinkin tartuntayritystä asiakkaitamme vastaan.

 LuminosityLink 2

kuva 2 Automaattinen tarkennus kuvaaja LuminosityLink istuntoja ajan.

LuminosityLink myy tällä hetkellä 40 dollarilla ja sen voi ostaa suoraan tekijältään. Tämän paketin avulla hyökkääjät voivat isännöidä LuminosityLink-palvelinta sekä luoda räätälöityjä binäärejä, jotka on sekoitettu ConfuserEx 0.4.0: n kanssa. ConfuserEx on avoimen lähdekoodin projekti, joka hämärtää taustalla olevaa .NETTOKOODI, mikä tekee sen paljon vaikeammaksi käänteisinsinööreille, jotka hajottavat sitä. Tämä on tärkeää huomata myöhemmin, kun keskustelemme määritettäessä, miten kääntää-insinööri salaus prosessi.

kuten aiemmin mainittiin, mukana on useita asetusvaihtoehtoja, kuten seuraavasta kuvakaappauksesta näkyy.

 LuminosityLink 3

kuva 3 asiakkaan määritysvaihtoehdot luminositylink

suoritettuaan hyökkääjille annetaan runsaasti vaihtoehtoja, kuten keyloggaus, etätyöpöytä, salasanojen varastaminen ja vuorovaikutus laitteen komentotulkin kanssa.

Reverse-Engineering konfiguraatio

ensimmäinen vaihe luminositylinkin konfiguraation jäsentämisessä on sen staattinen uuttaminen. Avasin aluksi puhtaan LuminosityLink-näytteen dnspy-nimisellä ohjelmalla etsiäkseni vihjeitä siitä, missä kokoonpano voidaan tallentaa. (Koska nopea syrjään, suosittelen dnspy, koska se ei vain tee hienoa työtä decompiling edellyttäen. Net binary, mutta se on myös varustettu sisäänrakennettu debugger, joka on keskeinen ongelmien ratkaisemiseksi, kuten yksi kohtaamme.)

kun alun perin avasin näytteen binääriä, en odottanut paljoa, koska tiesin, että näyte oli sekamuotoinen Kunfuserexilla. Kun kuitenkin tarkastelin näytteen resursseja, näin joitain lupaavalta näyttäviä naruja.

 LuminosityLink 4

Kuva 4 Sulautetut resurssijonot luminositylinkissä

kuten näemme, haittaohjelma sisältää useita resursseja, jotka puolestaan sisältävät Base64-koodattua tietoa. “SMARTLOGS” -, “XML” – ja “CONFIG” – resurssit sisältävät kaikki runsaasti dataa, joka tässä vaiheessa on vielä tuntematonta. Valitettavasti näiden merkkijonojen purkaminen johtaa roskiin, mikä todennäköisesti tarkoittaa, että niiden alla käytetään jotain muuta salausta.

jatkoin taustalla olevan koodin tutkimista, joka hämäräperäisenä antaa silti korkean tason käsityksen siitä, mitä eri luokat tekevät. Käyttämällä tuotuja nimiavaruuksia, API-puheluita ja tiettyjä un-obfuscated merkkijonoja, voimme saada vihjeitä siitä, mitä tapahtuu ohjelman sisällä. Erityisesti näemme FD () – luokan käyttäen nimiavaruutta ‘System.Security.Salaus”, joka varmasti kannattaa tutkia, koska epäilimme crypto käytetään vastaan aiemmin viitattu resurssi merkkijonoja.

 LuminosityLink 5

kuva 5 salauksen nimiavaruus, jota käytetään luminositylink

tutkiessamme tätä luokkaa, näemme viittauksia seuraaviin luokkiin ja funktioihin:

  • MD5CryptoServiceProvider
  • ComputeHash
  • FromBase64String
  • RijndaelManaged

tässä vaiheessa Käännyin debuggerini puoleen yrittäen nähdä, miten näitä merkkijonoja käsiteltiin. Asetan keskeytyspisteitä aiemmin mainittuihin puheluihin. Erityisesti rijndaelmanaged-luokan breakpoint tuottaa erinomaisia tuloksia.

 LuminosityLink 6

kuva 6 AES-128 key

onnistunutta palauttamista voimme paitsi tarkistaa, että AES-128-salausta käytetään, myös varmistaa, että “SMARTLOGS” – resurssijonoa käytetään. Voimme myös tunnistaa käytettävän merkkijonon avaimena, joka tässä nimenomaisessa esimerkissä on “\\ecnOnuR\\noisreVtnerruC\\swodniW\\tfoorcim\\erawtfoS”. Lisätutkimus paljastaa, että tämä merkkijono on hashed käyttäen MD5 algoritmi. Tämän hash: n ensimmäiset 15 tavua yhdistetään koko 16 tavun hash: iin, jonka jälkeen merkitään nolla tavua. Voimme toistaa tämän salauksen purkuprosessin Pythonissa sellaisenaan:

1
2
3
4
5
6
7
8
9
10

def decrypt_data (data, key_string):
decoded_data = base64.b64decode (data)
m = hashlib.md5()
m.update(key_string)
md5 = m.digest()
key = md5+MD5+”\x00″
mode = AES.MODE_ECB
iv = “\x00 ” * 16
e = AES.uusi (avain, tila, iv)
palauta e. Pura salaus (decoded_data)

voimme edelleen varmistaa, että tämä on oikein käyttämällä yllä olevaa koodia. Seuraavassa esimerkissä datamuuttuja on asetettu “SMARTLOGS”-resurssista löytyvällä base64-koodatulla merkkijonolla, ja key_string-muuttuja on asetettu aiemmin mainitulle käänteiselle rekisteriavaimelle.

1
2

>>> tulosta salauksen_data(data, 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|

käyttämällä yrityksen ja erehdyksen, voimme onnistuneesti kartoittaa jokaisen muuttujan todistanut edellä kokoonpano. Viimeisin muuttuja osoittautuu varsin mielenkiintoiseksi, sillä jokainen merkki lukuun ottamatta’ 1 ‘ karttoja tiettyyn asetusvaihtoehtoon. Seuraavat kartoitukset määritettiin:

  • I: Ota käyttöön asiakkaan asennus / käynnistys
  • d: asiakkaan Pysyvyysmoduuli: suojaa Luminosityn asiakkaan binääri
  • s : Äänetön tila (Piilota Luminositeettiikkuna asiakkaan PC : llä)
  • a: ennakoiva haittaohjelmien torjuntaohjelma : Puhdista Haitalliset tiedostot ja nopeuta asiakkaan PC: tä
  • n : virransäästö : Estä lepotila ja sammuta näyttö 15 minuutin käyttämättömyyden jälkeen
  • m : Poista tiedosto suorituksen jälkeen (sulata)
  • v : virtuaalikoneet/virheenkorjaus
  • h: piilota tiedosto ja hakemistot
  • b: varmuuskopioinnin käynnistäminen

tämän tiedon avulla voimme jäsentää yllä olevaa määritystä, josta saadaan seuraavat tulokset.

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
Backup DNS: backup.dns.com
tiedostonimi: tiedostonimi.exe
Startup Name: startup_name
Folder_name
Data Directory_name
Backup Startup Exe: backup_startup.exe
Mutex: df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4
rakennuskoodi: BuildID
Asetukset:
ota Asiakasasennus käyttöön/startup
client persistence Module: suojaa Luminosity client Binary
silent mode (Hide Luminosity window on client PC)
proactive Anti-Malware: Puhdista Haitalliset tiedostot ja nopeuta asiakastietokonetta
virransäästö: Estä lepotila ja sammuta näyttö 15 minuutin käyttämättömyyden jälkeen
Poista tiedosto suorituksen jälkeen (sulata)
Anti-virtuaalikoneet/virheenkorjaus
piilota tiedosto ja hakemistot
varmuuskopiointi

Jäsennämme LuminosityLink-kokoonpanoja asteikolla

käyttämällä tätä tietoa loimme skriptin jäsennelläksemme tietyn näytteen konfiguraatiota. Skripti etsii merkkijonoja, jotka näyttävät olevan base64-koodattuja ja joiden pituus on yli 50, ja vie brute-force lähestymistapa. Vaikka se ei ole tyylikäs, se tekee työn varsin onnistuneesti. Skripti on ladattavissa tämän blogikirjoituksen liitteessä olevasta osiosta.

Palo Alto Networksin näytteiden arkistosta löytyi noin 18 000 tiedostoa, jotka oli merkitty Luminositylinkiksi. Näiden 18,000 näytteitä, sovelsimme staattinen kokoonpano louhinta ja jäsennys script ja onnistuneesti haettu noin 4,500 kokoonpanot. Loput näytteet pakattiin yli sisäänrakennettu Kunfuserex obfuscation rutiini, ja sellaisena, raaka kokoonpano Jouset eivät olleet läsnä.

nämä näytteet ajettiin paikallisen avoimen lähteen Cuckoo hiekkalaatikon kautta, jossa prosessikaatopaikat louhittiin. Samaa käsikirjoitusta sovellettiin näihin prosessikaivoksiin, joissa saimme 10 200 kokoonpanoa lisää, jolloin meille jäi yhteensä 14 700 jäsennettyä LuminosityLink-kokoonpanoa.

kun näytteitä käsiteltiin, paljastui lisää avaimia tekijän käyttöön. LuminosityLink-näytteiden näppäinten tuottamiseen käytettiin seuraavia kolmea muuta merkkijonoa.

  • tämä konf ‘ IG ei sisällä mitään hyödyllistä. Lakkaa käyttäytymästä kuin olisit cool purkamalla salaus.
  • resurssit.ÄLYLOGIT
  • Määritä salasana

vaikuttaa siltä, ettei Luminositylinkin tekijältä puutu huumorintajua. Lisäksi, kun jäsennimme vanhempia näytteitä, havaittiin, että kokoonpano teki muutoksen joskus tämän vuoden helmi-kesäkuussa. Vanhempien näytteiden kokoonpanossa oli vähemmän vaihtoehtoja. Tarjottu skripti selittää nämä erot ja käytetyt eri näppäimet.

14 700 kokoonpanosta koottuja tietoja käyttäen vedettiin seuraavat korkean tason tilastot:

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

Top Ports

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

CSV-tiedostomuodossa tarjottavat jäsennetyt konfiguraatiotiedot annetaan vapaasti turvallisuusyhteisölle siinä toivossa, että tätä uhkaa vastaan luodaan suojauksia.

Conclusion

LuminosityLink on systeemihallinnon apuvälineenä markkinoitu valtava keylogger ja takaovi, jota käyttää suuri joukko rikollisia. Tähän mennessä Palo Alto Networks on todistanut yli 50 000 LuminosityLink-infektioyritystä, joista on otettu 18 000 yksittäistä näytettä. Haittaohjelma on halpa ja helposti yleisön saatavilla, mikä tekee tästä vaarallisen uhan sekä organisaatioille että yksilöille.

käänteistekniikan LuminosityLink-näytteiden avulla pystyimme staattisesti purkamaan ja jäsentämään sulautetun kokoonpanon, mikä puolestaan antaa arvokasta tietoa siitä, millä isännillä ja porteilla haittaohjelma on määritetty kommunikoimaan. Se tarjoaa myös tietoja konfiguroiduista suojauksista, jotka on määritetty suoritustiedostossa, sekä asennustiedoista.

Palo Alto Networksin asiakkaat on suojattu tältä uhalta seuraavilla tavoilla:

automaattitarkennus-tunnisteella voidaan seurata tätä haittaohjelmaperhettä

  • kaikki LuminosityLink-näytteet on asianmukaisesti merkitty haitallisiksi Kulovalkeassa
  • kaikki tunnistetut verkkotunnukset on merkitty haitallisiksi
  • verkkoliikenne on asianmukaisesti tunnistettu ja estetty uhkatunnus #14460 (lumonositylinkrat.Gen ohjaus-ja Valvontaliikenne)

lisäys

luminositylink-näytteiden uutto-ja jäsennyskirjoitus löytyy täältä.

skripti, jota käytetään tavallisten asetusmerkkijonojen jäsentämiseen, löytyy täältä.

CSV-tiedosto, joka sisältää kaikki Palo Alto Networksin näytesarjasta poimitut konfiguraatiotiedot, löytyy täältä.

Hanki päivityksiä
Palo Alto
Networks!

Kirjaudu saadaksesi uusimmat uutiset, kyberuhkatiedustelun ja tutkimuksen meiltä

lähettämällä tämän lomakkeen hyväksyt käyttöehtomme ja hyväksyt tietosuojalausuntomme.

Write a Comment

Sähköpostiosoitettasi ei julkaista.