Gransker LuminosityLink Remote Access Trojan Configuration

dette innlegget Er også tilgjengelig I: 日本語 (japansk)

I De Siste Ukene har jeg brukt tid på å undersøke luminositylink Remote Access Trojan ‘ S (rat) EMBEDDED configuration. For de uvitende, LuminosityLink Er en malware familie koster $40 som utgir seg for å være et systemadministrasjon verktøy. Men, når henrettet, malware utnytter en svært aggressiv keylogger, samt en rekke andre ondsinnede funksjoner som tillater en angriper å få full kontroll over et offer maskin.

LuminosityLink 1

Figur 1 luminositylink nettsted

på forespørsel fra en kollega ble jeg bedt om å trekke ut konfigurasjonen Av En luminositylink-prøve, og mens jeg bare kunne ha utført malware i et sandkassemiljø og trukket konfigurasjonen fra minnet, valgte jeg å se om jeg kunne utføre samme handling mot statisk binær.

dette førte til meg å forstå hvordan konfigurasjonen er kryptert i binær, samt hvordan å analysere den konfigurasjonen. Jeg har laget et skript for å utføre denne handlingen mot en uendret LuminosityLink malware-prøve, som jeg vil dele i dette blogginnlegget. Videre så jeg på de omtrent 18.000 LuminosityLink-prøvene Palo Alto Networks har samlet over tid, og ved hjelp av dette skriptet kunne jeg trekke ut konfigurasjonene av 14.700 prøver. (Disse dataene finner Du i Vedlegget i dette innlegget.)

Oversikt Over LuminosityLink

opprinnelig dukket Opp I Mai 2015, Har luminositylinks popularitet vært på vei oppover, som vist i følgende diagram. Hittil Har Palo Alto Networks sporet omtrent 50,000 forsøk på infeksjoner Av LuminosityLink mot våre kunder.

 LuminosityLink 2

Figur 2 Autofokus graf Av LuminosityLink økter over tid.

LuminosityLink selger for tiden for $40 og kan kjøpes direkte fra forfatteren. Denne pakken tillater angripere å være vert For En luminositylink-server, samt generere tilpassede binærfiler, som er forvirret med ConfuserEx 0.4.0. ConfuserEx er en åpen kildekode-prosjekt som obfuscates den underliggende .NET kode, noe som gjør det mye vanskeligere for reverse ingeniører som dekompilere det. Dette er viktig å merke seg for senere når vi diskuterer å bestemme hvordan å reversere krypteringsprosessen.

som nevnt tidligere, er en rekke konfigurasjonsalternativer inkludert, som vi kan se i følgende skjermbilde.

LuminosityLink 3

Figur 3 Klientkonfigurasjonsalternativer I LuminosityLink

når de er utført, får angriperne et vell av alternativer, inkludert keylogging, eksternt skrivebord, passordstaling Og interaksjon med et skall på enheten.

Reverse-Engineering Konfigurasjonen

det første trinnet i å analysere konfigurasjonen Av LuminosityLink er å trekke den ut statisk. Jeg åpnet først en ren LuminosityLink-prøve ved hjelp av et program som heter dnSpy for å søke etter ledetråder om hvor konfigurasjonen kan lagres. (Som en rask til side, jeg anbefaler dnSpy, som det ikke bare gjør en god jobb med å dekompilere den medfølgende.NET binary, MEN det er også utstyrt med en innebygd debugger, som er medvirkende i å takle problemer som den vi står overfor.)

da jeg først åpnet en prøve binær, forventet jeg ikke mye da jeg visste at prøven ble forvirret ved Hjelp Av ConfuserEx. Men ser på ressursene i prøven, så jeg noen strenger som så lovende ut.

LuminosityLink 4

Figur 4 Innebygde ressurstrenger I LuminosityLink

som vi kan se, inneholder malware en rekke ressurser som igjen inneholder Det som synes Å Være Base64-kodede data. “SMARTLOGS”,” XML “og” CONFIG ” – ressursene inneholder alle et vell av data, som på dette tidspunktet fortsatt er ukjent. Dessverre resulterer dekoding av disse strengene i søppel, noe som sannsynligvis betyr at en annen form for kryptering blir brukt under.

jeg fortsatte å undersøke den underliggende koden, som, mens den er uklar, fortsatt gir et høyt nivå ide om hva ulike klasser gjør. Ved å bruke importerte navnerom, API-kall og visse un-obfuscated strenger, kan vi få ledetråder om hva som skjer i programmet. Spesielt ser vi fd () – klassen ved hjelp av navneområdet Til ‘ System.Sikkerhet.Kryptografi’, som sikkert fortjener etterforskning som vi mistenkte krypto blir brukt mot de tidligere refererte ressurs strenger.

LuminosityLink 5

Figur 5 Kryptografi navneområde som brukes Av LuminosityLink

Når vi undersøker denne klassen videre, ser vi referanser til følgende klasser og funksjoner:

  • MD5CryptoServiceProvider
  • ComputeHash
  • FromBase64String
  • RijndaelManaged

På dette punktet, snudde jeg til min debugger i et forsøk på å se hvordan disse strengene ble håndtert. Jeg satt stoppunkter på ulike samtaler tidligere nevnt. Spesielt breakpoint På RijndaelManaged klasse gir gode resultater.

LuminosityLink 6

Figur 6 Vellykket gjenoppretting av aes-128 nøkkel

Vi kan ikke bare bekrefte AT AES-128-kryptering brukes, Men også kontrollere at ressursstrengen “SMARTLOGS” brukes. Vi kan også identifisere strengen som brukes som nøkkel, som i dette eksemplet er “\ \ ecnOnuR\\noisreVtnerruC \ \ swodniW \ \ tfosorcim\ \ erawtfoS”. Videre undersøkelse viser at denne strengen er hashed ved HJELP AV MD5-algoritmen. De første 15 byte av denne hash er sammenkoblet med hele 16 byte av hash, etterfulgt av en null byte. Vi kan replikere denne dekrypteringsprosessen i Python som sådan:

1
2
3
4
5
6
7
8
9
10

def decrypt_data (data, key_string):
decoded_data = base64.b64dekode (data)
m = hashlib.md5 ()
m.oppdatering (key_string)
md5 = m.digest ()
nøkkel = md5+md5+”\x00″
modus = AES.MODE_ECB
iv = ‘\x00’ * 16
e = AES.ny (nøkkel, modus, iv)
retur e.dekryptere(decoded_data)

Vi kan videre bekrefte at dette er riktig ved hjelp av koden ovenfor. I følgende eksempel er datavariabelen angitt med base64-kodet streng funnet i ressursen “SMARTLOGS”, og key_string-variabelen er satt til den reverserte registernøkkelen som tidligere er nevnt.

1
2

>>> skriv ut decrypt_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|

Ved hjelp av prøving og feiling, er vi i stand til å kartlegge hver variabel vitne i ovennevnte konfigurasjon. Den siste variabelen viser seg å være ganske interessant, da hvert tegn unntatt ‘ 1 ‘ kart til et bestemt konfigurasjonsalternativ. Følgende kartlegging ble bestemt:

  • I: Aktiver Klientinstallasjon/Oppstart
  • d: Klient Utholdenhet Modul: Beskytt Lysstyrke Klient Binær
  • s : På Klient-PC)
  • a : Proaktiv Anti-Malware: Ren Skadelige Filer og Hastighet Opp Klient-PC
  • n : Strømsparer: Hindre Hvilemodus og Slå Av Skjermen etter 15 minutter med inaktivitet
  • M : Fjern Fil etter Kjøring (Smelte)
  • v : Anti-Virtuelle Maskiner/Feilsøking
  • H : Skjule fil Og Kataloger
  • b : backup oppstart

VED hjelp av denne kunnskapen kan vi analysere konfigurasjonen ovenfor, noe Som gir Følgende Resultater.

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

Domene / IP: 172.16.1.100
Port: 11111
BACKUP DNS: backup.dns.com
Filnavn: filnavn.exe
Oppstartsnavn: startup_name
Mappenavn: folder_name
Datakatalognavn: data_directory_name
Sikkerhetskopi Oppstart Exe: backup_startup. exe
Mutex: df5e0e1c667c399588b014cb9b4ae7b33c9c0b4cac9d4169f39197e41e9a43a4
Bygg-ID: BuildID
Innstillinger:
Aktiver Klientinstallasjon/Oppstart
klient utholdenhet Modul: beskytt lysstyrke klient binær
stille modus (skjul lysstyrke vindu på klient-pc)
proaktiv anti-malware: Rengjør Skadelige Filer og Få Fart På Klient-PC
Strømsparer: Forhindre Hvilemodus og Slå Av Skjermen etter 15 minutter med inaktivitet
Fjern Fil etter Utførelse (Smelte)
Anti-Virtuelle Maskiner/Feilsøking
Skjul Fil Og Kataloger
Sikkerhetskopieringsoppstart

Parsing LuminosityLink Konfigurasjoner I Skala

Ved hjelp av denne kunnskapen opprettet vi et skript for å analysere konfigurasjonen av en gitt prøve. Skriptet søker etter strenger som ser ut til å være base64-kodet med en lengde større enn 50 og tar en brute-force tilnærming. Selv om det ikke er elegant, gjør det jobben ganske vellykket. Skriptet kan lastes ned I Vedlegg delen av dette blogginnlegget.

Går Gjennom Palo Alto Networks depot av prøver, fant vi omtrent 18.000 filer merket Som LuminosityLink. For disse 18.000 prøvene brukte vi vårt statiske konfigurasjonsutvinnings-og analyseskript og hentet om lag 4500 konfigurasjoner. De resterende prøvene ble pakket utover den innebygde ConfuserEx obfuscation rutine, og som sådan, rå konfigurasjon strenger var ikke til stede.

disse prøvene ble kjørt gjennom en lokal forekomst av Open source Cuckoo Sandbox, hvor prosessdumpene ble hentet ut. Det samme skriptet ble brukt på disse prosessdumpene, hvor vi kunne få ytterligere 10.200 konfigurasjoner, og etterlot oss totalt 14.700 analyserte LuminosityLink-konfigurasjoner.

da prøvene ble behandlet, ble det oppdaget flere nøkler som ble brukt av forfatteren. Følgende ytterligere tre strenger ble brukt til å generere nøklene Til LuminosityLink-prøver.

  • denne conf ‘ ig inneholder ikke noe nyttig. Avslutt opptrer som om du er kult ved å dekryptere den.
  • Ressurser.SMARTLOGS
  • Angi Et Passord

det ser ut som om forfatteren Av LuminosityLink ikke er uten sans for humor. Dess, som vi analyserte eldre prøver, det ble oppdaget at konfigurasjonen gjort en endring en gang mellom februar og juni i år. Færre alternativer var tilgjengelige i konfigurasjonen av eldre prøver. Det angitte skriptet står for disse forskjellene og ulike nøkler som brukes.

ved hjelp av de samlede dataene fra de 14 700 konfigurasjonene ble følgende statistikk på høyt nivå trukket:

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

Toppporter

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

de analyserte konfigurasjonsdataene, gitt I CSV-filformatet, blir fritt gitt til sikkerhetssamfunnet i håp om at beskyttelse vil bli opprettet mot denne trusselen.

Konklusjon

LuminosityLink, mens markedsført som en systemadministrasjon verktøyet, er en formidabel keylogger og bakdør brukes av et stort antall kriminelle. Hittil Har Palo Alto Networks sett over 50,000 forsøk på infeksjoner Av LuminosityLink, som omfatter 18,000 unike prøver. Malware er billig og lett tilgjengelig for publikum, noe som gjør dette til en farlig trussel mot både organisasjoner og enkeltpersoner.

ved reverse-engineering LuminosityLink-prøver kunne vi statisk trekke ut og analysere den innebygde konfigurasjonen, som igjen gir verdifull informasjon om hvilke verter og porter malware er konfigurert til å kommunisere. Den gir også informasjon om konfigurerte beskyttelser konfigurert i kjørbar, samt installasjonsinformasjon.

Palo Alto Networks-kunder er beskyttet mot denne trusselen på følgende måter:

En Autofokus-kode kan brukes til å spore denne malware-familien

  • Alle luminositylink-prøver er riktig merket som skadelig i Brann
  • Alle identifiserte domener er flagget som skadelig
  • Nettverkstrafikk er riktig identifisert OG blokkert SOM trussel-ID #14460 (lumonositylinkrat.Gen Kommando Og Kontroll Trafikk)

Vedlegg

et ekstraksjons-og analyseskript for luminositylink-prøver finner du her.

et skript som skal brukes til å analysere enkle konfigurasjonsstrenger finner du her.

EN CSV-fil som inneholder alle konfigurasjonsdataene hentet fra Palo Alto Networks prøvesett, finner du her.

Få oppdateringer fra
Palo Alto
Nettverk!

Registrer deg For å motta de siste nyhetene, cyber threat intelligence og forskning fra oss

ved å sende inn dette skjemaet, godtar du Våre Vilkår For Bruk og bekrefter Vår Personvernerklæring.

Write a Comment

Din e-postadresse vil ikke bli publisert.