Cercetătorii ESET oferă o analiză a unui atac efectuat de un actor de amenințare aliniat cu China, nedezvăluit anterior, pe care l-am numit Blackwood și despre care credem că operează cel puțin din 2018. Atacatorii livrează un implant sofisticat, pe care l-am numit NSPX30, prin intermediul adversarului. -in-the-middle (AitM) atacă deturnarea solicitărilor de actualizare din software-ul legitim.
Puncte cheie în această postare pe blog:
- Am descoperit că implantul NSPX30 este implementat prin mecanismele de actualizare ale software-ului legitim, cum ar fi Tencent QQ, WPS Office și Sogou Pinyin.
- Am detectat implantul în atacuri direcționate împotriva companiilor chineze și japoneze, precum și împotriva persoanelor din China, Japonia și Regatul Unit.
- Cercetarea noastră a urmărit evoluția NSPX30 până la o mică ușă din spate din 2005 pe care am numit-o Project Wood, concepută pentru a colecta date de la victimele sale.
- NSPX30 este un implant în mai multe etape care include mai multe componente, cum ar fi un dropper, un instalator, încărcătoare, un orchestrator și o ușă din spate. Ambele din urmă au propriile lor seturi de pluginuri.
- Implantul a fost proiectat în funcție de capacitatea atacatorilor de a efectua interceptarea pachetelor, permițând operatorilor NSPX30 să-și ascundă infrastructura.
- NSPX30 este, de asemenea, capabil să se înregistreze în mai multe soluții antimalware chinezești.
- Atribuim această activitate unui nou grup APT pe care l-am numit Blackwood.
Profil Blackwood
Blackwood este un grup APT aliniat Chinei, activ din cel puțin 2018, care se angajează în operațiuni de spionaj cibernetic împotriva persoanelor și companiilor chineze și japoneze. Blackwood are capabilități de a efectua atacuri adversare din mijloc pentru a livra implantul pe care l-am numit NSPX30 prin actualizări ale software-ului legitim și de a ascunde locația serverelor sale de comandă și control prin interceptarea traficului generat de implant.
Prezentare generală a campaniei
În 2020, a fost detectată o creștere a activității rău intenționate pe un sistem vizat situat în China. Aparatul a devenit ceea ce numim în mod obișnuit „magnetul de amenințare”, deoarece am detectat încercări ale atacatorilor de a folosi seturi de instrumente malware asociate cu diferite grupuri APT: Panda evazivă, LuoYu, și un al treilea actor de amenințare pe care îl urmărim ca LittleBear.
Pe acel sistem am detectat și fișiere suspecte care nu aparțineau setului de instrumente ale acelor trei grupuri. Acest lucru ne-a determinat să începem o investigație asupra unui implant pe care l-am numit NSPX30; am putut urmări evoluția sa până în 2005.
Conform telemetriei ESET, implantul a fost detectat pe un număr mic de sisteme. Printre victime se numără:
- persoane neidentificate situate în China și Japonia,
- o persoană neidentificată vorbitoare de chineză, conectată la rețeaua unei universități publice de cercetare de mare profil din Regatul Unit,
- o mare companie de producție și comerț din China și
- biroul din China al unei corporații japoneze din sectorul de inginerie și producție.
De asemenea, am observat că atacatorii încearcă să compromită din nou sistemele dacă accesul este pierdut.
Figura 1 este o distribuție geografică a țintelor Blackwood, conform telemetriei ESET.
Evoluția NSPX30
În timpul cercetării noastre asupra implantului NSPX30, am cartografiat evoluția acestuia înapoi la un strămoș timpuriu - o ușă din spate simplă pe care am numit-o Project Wood. Cea mai veche mostră de Project Wood pe care am putut-o găsi a fost compilată în 2005 și se pare că a fost folosită ca bază de cod pentru a crea mai multe implanturi. Un astfel de implant, din care a evoluat NSPX30, a fost numit DCM de către autorii săi în 2008.
Figura 2 ilustrează o cronologie a acestor evoluții, pe baza analizei noastre a mostrelor din colecția noastră și a telemetriei ESET, precum și a documentației publice. Cu toate acestea, evenimentele și datele documentate aici sunt încă o imagine incompletă a aproape două decenii de dezvoltare și activitate rău intenționată a unui număr necunoscut de actori amenințări.
În secțiunile următoare descriem câteva dintre constatările noastre cu privire la Proiectul Wood, DCM și NSPX30.
Proiect Wood
Punctul de plecare în evoluția acestor implanturi este o mică ușă din spate compilată pe 9 ianuarieth, 2005, conform marcajelor de timp prezente în antetul PE al celor două componente ale sale – încărcătorul și ușa din spate. Acesta din urmă are capabilități de a colecta informații de sistem și de rețea, precum și de a înregistra apăsările de taste și de a face capturi de ecran.
Am denumit Project Wood ușa din spate, pe baza unui nume mutex recurent, așa cum se arată în Figura 3.
Timpurile de compilare sunt indicatori nesiguri, deoarece pot fi alterați de atacatori; prin urmare, în acest caz specific, am luat în considerare puncte de date suplimentare. În primul rând, marcajele temporale din antetul PE al încărcătorului și mostrele de ușă din spate; vezi Tabelul 1. Există doar o diferență de 17 secunde în timpul de compilare al ambelor componente.
Tabelul 1. Marcaje temporale de compilare PE în componente din eșantionul din 2005
SHA-1 |
Filename |
Marca temporală a compilației PE |
Descriere |
9A1B575BCA0DC969B134 |
MainFuncOften.dll |
2005-01-09 08:21:22 |
Project Wood ușă din spate. Marca temporală din tabelul de export se potrivește cu marcajul temporal al compilației PE. |
834EAB42383E171DD6A4 |
- |
2005-01-09 08:21:39 |
Încărcătorul Project Wood conține ușa din spate încorporată ca resursă. |
Al doilea punct de date provine din eșantionul picurător care a fost comprimat folosind UPX. Acest instrument inserează versiunea sa (Figura 4) în fișierul comprimat rezultat – în acest caz, versiunea UPX 1.24, care a fost lansat în 2003, anterior datei de compilare a probei.
Al treilea punct de date este metadatele valide din anteturile PE Rich (Figura 5), care indică faptul că eșantionul a fost compilat folosind Visual Studio 6.0, lansat în 1998, înainte de data de compilare a probei.
Evaluăm că este puțin probabil ca marcajele de timp, metadatele Antetelor bogate și versiunea UPX să fi fost toate manipulate de atacatori.
Documentatie publica
Potrivit unui hârtie tehnică publicat de Institutul SANS în septembrie 2011, o ușă din spate fără nume și neatribuite (Project Wood) a fost folosită pentru a viza o personalitate politică din Hong Kong prin e-mailuri de spearphishing.
În octombrie 2014, G DATA a publicat a raportează a unei campanii pe care a numit-o Operațiunea TooHash, care de atunci a fost atribuită Gelsemium grupul APT. Rootkit-ul G DATA numit DirectsX încarcă o variantă a ușii din spate Project Wood (vezi Figura 6) cu unele caracteristici văzute în DCM și mai târziu în NSPX30, cum ar fi listarea permisă în produsele de securitate cibernetică (detaliată mai târziu, în Tabelul 4).
DCM alias Dark Spectre
Primul Project Wood a servit ca bază de cod pentru mai multe proiecte; unul dintre ele este un implant numit DCM (vezi Figura 7) de către autorii săi.
Raportul de la Tencent din 2016 descrie o variantă DCM mai dezvoltată, care se bazează pe capacitățile AitM ale atacatorilor pentru a-și compromite victimele, oferind programul de instalare DCM ca o actualizare de software și pentru a exfiltra datele prin solicitări DNS către servere legitime. Ultima dată când am observat DCM folosit într-un atac a fost în 2018.
Documentatie publica
DCM a fost documentat pentru prima dată de compania chineză Jiangmin în 2012, deși a fost lăsat fără nume în acel moment și a fost mai târziu numit Dark Specter de Tencent în 2016.
NSPX30
Cel mai vechi eșantion de NSPX30 pe care l-am găsit a fost compilat pe 6 iunieth, 2018. NSPX30 are o configurație de componente diferită de DCM, deoarece funcționarea sa a fost împărțită în două etape, bazându-se pe deplin pe capacitatea AitM a atacatorului. Codul DCM a fost împărțit în componente mai mici.
Am denumit implantul după căile PDB găsite în mostrele de plugin:
- Z:Workspacemm32NSPX30Pluginspluginb001.pdb
- Z:WorkspaceCodeMMX30ProtrunkMMPluginshookdllReleasehookdll.pdb
Credem că NSP se referă la tehnica sa de persistență: DLL-ul încărcător persistent, care este numit pe disc msnsp.dll, este denumit intern mynsp.dll (conform datelor Export Table), probabil pentru că este instalat ca Winsock namesritm provider (NSP).
În cele din urmă, după cunoștințele noastre, NSPX30 nu a fost documentat public înainte de această publicare.
Analiza tehnica
Folosind telemetria ESET, am stabilit că mașinile sunt compromise atunci când software-ul legitim încearcă să descarce actualizări de pe servere legitime folosind protocolul HTTP (necriptat). Actualizările software deturnate le includ pe cele pentru software-ul popular chinezesc, cum ar fi Tencent QQ, Sogou Pinyin și WPS Office.
O ilustrare a lanțului de execuție așa cum se vede în telemetria ESET este prezentată în Figura 8.
În Tabelul 2, oferim un exemplu de URL și adresa IP la care a fost rezolvat domeniul pe sistemul utilizatorului în momentul în care a avut loc descărcarea.
Tabelul 2. O adresă URL observată, o adresă IP a serverului și un nume de proces al unei componente legitime de descărcare
URL-ul |
Prima dată văzut |
Adresa IP |
ASN |
Downloader |
http://dl_dir.qq[.]com/ |
2021-10-17 |
183.134.93[.]171 |
AS58461 (CHINANET) |
Tencentdl.exe |
Conform telemetriei ESET și informațiilor DNS pasive, adresele IP observate în alte cazuri, sunt asociate cu domenii de la companii de software legitime; am înregistrat până la milioane de conexiuni pe unele dintre ele și am văzut componente software legitime descărcate de la acele adrese IP.
Ipoteza implantului de rețea
Modul exact în care atacatorii sunt capabili să livreze NSPX30 ca actualizări rău intenționate rămâne necunoscut pentru noi, deoarece încă nu am descoperit instrumentul care le permite atacatorilor să-și compromită inițial țintele.
Pe baza propriei noastre experiențe cu actori de amenințări aliniați la China care prezintă aceste capacități (Panda evazivă și Vrăjitorii), precum și cercetări recente privind implanturile de router atribuite BlackTech și Dragonul Camaro (Aka Mustang Panda), speculăm că atacatorii implementează un implant de rețea în rețelele victimelor, eventual pe dispozitive de rețea vulnerabile, cum ar fi routere sau gateway-uri.
Faptul că nu am găsit indicii de redirecționare a traficului prin DNS ar putea indica faptul că atunci când implantul de rețea ipotetizat interceptează traficul HTTP necriptat legat de actualizări, acesta răspunde cu dropperul implantului NSPX30 sub forma unui DLL, a unui fișier executabil sau a unei arhive ZIP. care conține DLL.
Anterior, am menționat că implantul NSPX30 folosește capacitatea de interceptare a pachetelor a atacatorilor pentru a-și anonimiza infrastructura C&C. În următoarele subsecțiuni vom descrie cum fac acest lucru.
Interceptarea HTTP
Pentru a descărca ușa din spate, orchestratorul efectuează o solicitare HTTP (Figura 9) către site-ul web Baidu – un motor de căutare și furnizor de software legitim din China – cu o caracteristică particulară. Agent de utilizator mascandu-se ca Internet Explorer pe Windows 98. Răspunsul de la server este salvat într-un fișier din care componenta backdoor este extrasă și încărcată în memorie.
Solicitare-URI este personalizat și include informații de la orchestrator și sistemul compromis. În cererile neinterceptate, emiterea unei astfel de solicitări către serverul legitim returnează un cod de eroare 404. O procedură similară este folosită de backdoor pentru a descărca plugin-uri, folosind un mod ușor diferit Solicitare-URI.
Implantul de rețea ar trebui pur și simplu să caute solicitări HTTP GET www.baidu.com cu acel bătrân anume Agent de utilizator și analizați Solicitare-URI pentru a determina ce sarcină utilă trebuie trimisă.
Interceptarea UDP
În timpul inițializării sale, ușa din spate creează un soclu de ascultare UDP pasiv și permite sistemului de operare să aloce portul. Pot exista complicații pentru atacatorii care folosesc backdoors pasive: de exemplu, dacă firewall-urile sau routerele care folosesc NAT împiedică comunicarea de intrare din afara rețelei. În plus, controlerul implantului trebuie să cunoască adresa IP exactă și portul mașinii compromise pentru a contacta ușa din spate.
Credem că atacatorii au rezolvat această din urmă problemă folosind același port pe care ușa din spate ascultă comenzile pentru a exfiltra și datele colectate, astfel încât implantul de rețea va ști exact unde să redirecționeze pachetele. Procedura de exfiltrare a datelor, implicit, începe după ce socket-ul a fost creat și constă în interogări DNS pentru microsoft.com domeniu; datele colectate sunt atașate la pachetul DNS. Figura 10 prezintă o captură a primei interogări DNS trimisă de backdoor.
Prima interogare DNS este trimisă către 180.76.76[.]11:53 (un server care, la momentul scrierii, nu expune niciun serviciu DNS) și pentru fiecare dintre următoarele interogări, adresa IP de destinație este schimbată la adresa următoare, așa cum se arată în Figura 11.
180.76.76.0/24 rețeaua este deținută de Baidu și, în mod interesant, unele dintre serverele de la aceste adrese IP expun servicii DNS, cum ar fi 180.76.76.76, care este a lui Baidu serviciu public DNS.
Credem că atunci când pachetele de interogare DNS sunt interceptate, implantul de rețea le transmite către serverul atacatorilor. Implantul poate filtra cu ușurință pachetele combinând mai multe valori pentru a crea o amprentă, de exemplu:
- destinatia adresei IP
- Port UDP (am observat 53, 4499, și 8000),
- ID-ul tranzacției de potrivire a interogării DNS 0xFEAD,
- nume de domeniu și,
- Interogare DNS cu date străine adăugate.
Gânduri finale
Utilizarea capacității AitM a atacatorilor de a intercepta pachete este o modalitate inteligentă de a ascunde locația infrastructurii lor C&C. Am observat victime situate în afara Chinei – adică în Japonia și Regatul Unit – împotriva cărora orchestratorul a reușit să desfășoare ușa din spate. Atacatorii au trimis apoi comenzi către backdoor pentru a descărca pluginuri; de exemplu, victima din Marea Britanie a primit două plugin-uri concepute pentru a colecta informații și chat-uri de la Tencent QQ. Prin urmare, știm că sistemul AitM era în vigoare și funcționa și trebuie să presupunem că și mecanismul de exfiltrare a fost.
Unele dintre servere – de exemplu, în 180.76.76.0/24 rețea – par a fi anycasted, ceea ce înseamnă că ar putea exista mai multe servere geolocate în întreaga lume pentru a răspunde solicitărilor (legitime) primite. Acest lucru sugerează că interceptarea rețelei este probabil efectuată mai aproape de ținte, mai degrabă decât mai aproape de rețeaua lui Baidu. Interceptarea de la un ISP chinez este, de asemenea, puțin probabilă, deoarece Baidu are o parte din infrastructura sa de rețea în afara Chinei, astfel încât victimele din afara Chinei nu pot trece prin niciun ISP chinez pentru a ajunge la serviciile Baidu.
NSPX30
În secțiunile următoare vom descrie etapele majore ale execuției malware-ului.
Etapă 1
Figura 12 ilustrează lanțul de execuție atunci când componenta legitimă încarcă un DLL dropper rău intenționat care creează mai multe fișiere pe disc.
Picuratorul execută RsStub.exe, o componentă software legitimă a produsului antimalware chinezesc Rising Antivirus, care este folosit abuziv pentru a încărca lateral malware comx3.dll.
Figura 13 ilustrează pașii majori făcuți în timpul execuției acestei componente.
Cand RsStub.exe Apeluri ExitProcess, funcția de încărcare din codul shell este executată în locul codului funcției API legitime.
Încărcătorul decriptează DLL-ul de instalare din fișier comx3.dll.txt; shellcode-ul încarcă apoi DLL-ul de instalare în memorie și îi apelează punctul de intrare.
DLL de instalare
Programul de instalare folosește tehnici de ocolire UAC preluate din implementări open-source pentru a crea un nou proces elevat. Pe care îl folosește depinde de mai multe condiții, așa cum se vede în tabelul 3.
Tabelul 3. Condiția principală și subcondițiile respective care trebuie îndeplinite pentru a aplica o tehnică de bypass UAC
Condiţiile verifică prezenţa a două procese: credem că avp.exe este o componentă a software-ului antimalware Kaspersky și rstray.exe o componentă a Rising Antivirus.
Programul de instalare încearcă să dezactiveze trimiterea de mostre de către Windows Defender și adaugă o regulă de excludere pentru DLL-ul de încărcare msnsp.dll. Face acest lucru executând două comenzi PowerShell prin cmd.exe:
- cmd /c powershell -inputformat none -outputformat none -NonInteractive -Command Set-MpPreference -SubmitSamplesConsent 0
- cmd /c powershell -inputformat none -outputformat none -NonInteractive -Command Add-MpPreference -ExclusionPath „C:Program Files (x86)Common Filesmicrosoft sharedTextConvmsnsp.dll”
Programul de instalare aruncă apoi DLL-ul încărcător persistent în C:Fișiere de program (x86)Fișiere comunemicrosoft sharedTextConvmsnsp.dll și stabilește persistența pentru acesta folosind API-ul WSCInstallNameSpace pentru a instala DLL ca a Furnizor de spațiu de nume Winsock numit msnsp, așa cum se arată în Figura 14.
Ca rezultat, DLL-ul va fi încărcat automat ori de câte ori un proces folosește Winsock.
În cele din urmă, programul de instalare renunță la încărcătorul DLL mshlp.dll și DLL-ul orchestrator criptat WIN.cfg la C:ProgramDataWindows.
Etapă 2
Această etapă începe cu execuția msnsp.dll. Figura 15 ilustrează lanțul de încărcare din etapa 2.
orchestrator
Figura 16 ilustrează sarcinile majore efectuate de orchestrator, care includ obținerea ușii din spate și încărcarea pluginurilor.
Când este încărcat, orchestratorul creează două fire pentru a-și îndeplini sarcinile.
Firul orchestrator 1
Orchestratorul șterge fișierul dropper original de pe disc și încearcă să încarce ușa din spate msfmtkl.dat. Dacă fișierul nu există sau nu reușește să se deschidă, orchestratorul folosește API-urile Internet Windows pentru a deschide o conexiune la site-ul web legitim al companiei chineze Baidu, așa cum sa explicat anterior.
Răspunsul de la server este salvat într-un fișier temporar supus unei proceduri de validare; dacă toate condițiile sunt îndeplinite, sarcina criptată din interiorul fișierului este scrisă într-un fișier nou și redenumită ca msfmtkl.dat.
După ce noul fișier este creat cu sarcina utilă criptată, orchestratorul citește conținutul acestuia și decriptează sarcina utilă folosind RC4. PE rezultat este încărcat în memorie și punctul său de intrare este executat.
Firul orchestrator 2
În funcție de numele procesului curent, orchestratorul efectuează mai multe acțiuni, inclusiv încărcarea pluginurilor și adăugarea de excluderi pentru a permite listarea DLL-urilor de încărcare în bazele de date locale a trei produse software antimalware de origine chineză.
Tabelul 4 descrie acțiunile întreprinse atunci când numele procesului se potrivește cu cel al unei suite de software de securitate în care orchestratorul poate lista încărcătoarele sale.
Tabelul 4. Acțiuni ale orchestratorului la executarea într-un proces cu numele unui software de securitate specific
Numele procesului |
Software vizat |
Acțiune |
qqpcmgr.exe qqpctray.exe qqpcrtp.exe |
Încercarea de a încărca DLL-ul legitim TAVinterface.dll pentru a utiliza funcția exportată CreateTaveInstance pentru a obține o interfață. Când apelați o a doua funcție din interfață, aceasta trece o cale de fișier ca parametru. |
|
360safe.exe 360tray.exe |
Încercarea de a încărca DLL-ul legitim deepscancloudcom2.dll pentru a utiliza funcțiile exportate XDOpen, XDAddRecordsEx, și XDCînchide, adaugă o nouă intrare în fișierul bazei de date SQL speedmem2.hg. |
|
360sd.exe |
Încercări de deschidere a fișierului sl2.db to adaugă o structură binară codificată în base64 care conține calea către DLL-ul de încărcare. |
|
kxescore.exe kxetray.exe |
Încercarea de a încărca DLL-ul legitim securitykxescankhistory.dll pentru a utiliza funcția exportată KSDllGetClassObject pentru a obține o interfață. Când apelează una dintre funcțiile din vtable, trece o cale de fișier ca parametru. |
Tabelul 5 descrie acțiunile întreprinse atunci când numele procesului se potrivește cu cel al software-ului de mesagerie instant selectat. În aceste cazuri, orchestratorul încarcă pluginuri de pe disc.
Tabelul 5. Acțiunile Ochestrator atunci când se execută într-un proces cu numele unui anumit software de mesagerie instant
Numele procesului |
Software vizat |
Acțiune |
qq.exe |
Încercările de a crea un mutex numit OBȚINEȚI BLOCAREA MESAJULUI QQ. Dacă mutex-ul nu există deja, acesta încarcă pluginurile c001.dat, c002.dat, și c003.dat de pe disc. |
|
wechat.exe |
Încarcă pluginul c006.dat. |
|
telegram.exe |
Încarcă pluginul c007.dat. |
|
skype.exe |
Încarcă pluginul c003.dat. |
|
cc.exe |
Necunoscut; eventual CloudChat. |
|
raidcall.exe |
||
yy.exe |
Necunoscut; eventual o aplicație de la YY rețea socială. |
|
aliim.exe |
Încarcă pluginul c005.dat. |
După finalizarea acțiunilor corespunzătoare, firul revine.
Grupul de pluginuri „c”
Din analiza noastră a codului orchestratorului, înțelegem că ar putea exista cel puțin șase plugin-uri din grupul „c”, dintre care doar trei ne sunt cunoscute în acest moment.
Tabelul 6 descrie funcționalitatea de bază a pluginurilor identificate.
Tabelul 6. Descrierea pluginurilor din grupul „c”
Nume plugin |
Descriere |
c001.dat |
Fură informații din bazele de date QQ, inclusiv acreditările, jurnalele de chat, listele de contacte și multe altele. |
c002.dat |
Cârlige mai multe funcții de la Tencent QQ KernelUtil.dll și Common.dll în memoria QQ.exe proces, permițând interceptarea mesajelor directe și de grup și a interogărilor SQL către bazele de date. |
c003.dat |
Conectează mai multe API-uri: - CoCreateInstance - waveInOpen - waveInClose - waveInAddBuffer - waveOutOpen - waveOutWrite - waveOutClose Acest lucru permite pluginului să intercepteze conversațiile audio în mai multe procese. |
Ușă din dos
Am împărtășit deja câteva detalii despre scopul de bază al ușii din spate: să comunice cu controlorul său și să exfiltreze datele colectate. Comunicarea cu controlerul se bazează în principal pe scrierea datelor de configurare a pluginului într-un fișier necriptat numit licenţă.dat, și invocarea funcționalității din pluginurile încărcate. Tabelul 7 descrie cele mai relevante comenzi gestionate de ușa din spate.
Tabelul 7. Descrierea unora dintre comenzile gestionate de ușa din spate
ID de comandă |
Descriere |
0x04 |
Creează sau închide un shell invers și gestionează intrarea și ieșirea. |
0x17 |
Mută un fișier cu căile furnizate de controler. |
0x1C |
Dezinstalează implantul. |
0x1E |
Colectează informații despre fișiere dintr-un director specificat sau colectează informații despre unități. |
0x28 |
Termină un proces cu un PID dat de controler. |
Grupuri de pluginuri „a” și „b”
Componenta backdoor conține propriile DLL-uri plugin încorporate (vezi Tabelul 8) care sunt scrise pe disc și oferă backdoor-ului capacitățile de bază de spionaj și colectare de informații.
Tabelul 8. Descrieri ale grupurilor de pluginuri „a” și „b” încorporate în ușa din spate
Nume plugin |
Descriere |
a010.dat |
Colectează informații despre software-ul instalat din registry. |
b010.dat |
Face capturi de ecran. |
b011.dat |
Keylogger de bază. |
Concluzie
Am analizat atacurile și capacitățile unui actor de amenințare pe care l-am numit Blackwood, care a efectuat operațiuni de spionaj cibernetic împotriva persoanelor și companiilor din China, Japonia și Regatul Unit. Am mapat evoluția NSPX30, implantul personalizat implementat de Blackwood, până în 2005, la o mică ușă din spate pe care am numit-o Project Wood.
Interesant este că implantul Project Wood din 2005 pare a fi opera unor dezvoltatori cu experiență în dezvoltarea de malware, având în vedere tehnicile implementate, făcându-ne să credem că încă trebuie să descoperim mai multe despre istoria ușii primordiale din spate.
Pentru orice întrebări despre cercetarea noastră publicată pe WeLiveSecurity, vă rugăm să ne contactați la threatintel@eset.com.
ESET Research oferă rapoarte private de informații APT și fluxuri de date. Pentru orice întrebări despre acest serviciu, vizitați ESET Threat Intelligence .
IOCs
Fişiere
SHA-1 |
Filename |
Nume de detectare ESET |
Descriere |
625BEF5BD68F75624887D732538B7B01E3507234 |
minibrowser_shell.dll |
Win32/Agent.AFYI |
Picurător inițial NSPX30. |
43622B9573413E17985B3A95CBE18CFE01FADF42 |
comx3.dll |
Win32/Agent.AFYH |
Încărcător pentru instalator. |
240055AA125BD31BF5BA23D6C30133C5121147A5 |
msnsp.dll |
Win32/Agent.AFYH |
Încărcător persistent. |
308616371B9FF5830DFFC740318FD6BA4260D032 |
mshlp.dll |
Win32/Agent.AFYH |
Încărcător pentru orchestrator. |
796D05F299F11F1D78FBBB3F6E1F497BC3325164 |
comx3.dll.txt |
Win32/TrojanDropper.Agent.SWR |
Instalator decriptat. |
82295E138E89F37DD0E51B1723775CBE33D26475 |
WIN.cfg |
Win32/Agent.AFYI |
Orchestrator decriptat. |
44F50A81DEBF68F4183EAEBC08A2A4CD6033DD91 |
msfmtkl.dat |
Win32/Agent.VKT |
Ușă din spate decriptată. |
DB6AEC90367203CAAC9D9321FDE2A7F2FE2A0FB6 |
c001.dat |
Win32/Agent.AFYI |
Acreditări și plugin pentru furtul de date. |
9D74FE1862AABAE67F9F2127E32B6EFA1BC592E9 |
c002.dat |
Win32/Agent.AFYI |
Plugin de interceptare a mesajelor Tencent QQ. |
8296A8E41272767D80DF694152B9C26B607D26EE |
c003.dat |
Win32/Agent.AFYI |
Plugin de captare audio. |
8936BD9A615DD859E868448CABCD2C6A72888952 |
a010.dat |
Win32/Agent.VKT |
Plugin de colectare de informații. |
AF85D79BC16B691F842964938C9619FFD1810C30 |
b011.dat |
Win32/Agent.VKT |
Plugin Keylogger. |
ACD6CD486A260F84584C9FF7409331C65D4A2F4A |
b010.dat |
Win32/Agent.VKT |
Plugin de captură de ecran. |
Reţea
IP |
domeniu |
Furnizor de găzduire |
Prima dată văzut |
Detalii |
104.193.88[.]123 |
www.baidu[.]com |
Beijing Baidu Netcom Science and Technology Co., Ltd. |
2017-08-04 |
Site-ul web legitim contactat de către orchestrator și componentele backdoor pentru a descărca încărcături utile. Solicitarea HTTP GET este interceptată de AitM. |
183.134.93[.]171 |
dl_dir.qq[.]com |
IRT-CHINANET-ZJ |
2021-10-17 |
O parte a adresei URL de unde dropper-ul a fost descărcat de un software legitim. |
Tehnici MITRE ATT&CK
Acest tabel a fost construit folosind versiune 14 din cadrul MITRE ATT&CK.
tactică |
ID |
Nume si Prenume |
Descriere |
Dezvoltarea resurselor |
Dezvoltarea capacităților: Malware |
Blackwood a folosit un implant personalizat numit NSPX30. |
|
Acces inițial |
Compromis în lanțul de aprovizionare |
Componenta dropper a NSPX30 este livrată atunci când solicitările legitime de actualizare software sunt interceptate prin AitM. |
|
Execuție |
Interpret de comenzi și scripturi: PowerShell |
Componenta de instalare a NSPX30 folosește PowerShell pentru a dezactiva transmiterea eșantionului Windows Defender și adaugă o excludere pentru o componentă de încărcare. |
|
Interpret de comandă și scripting: Windows Command Shell |
Programul de instalare al NSPX30 poate folosi cmd.exe când încercați să ocoliți UAC. Ușa din spate a lui NSPX30 poate crea o carcasă inversă. |
||
Interpret de comenzi și scripturi: Visual Basic |
Instalatorul NSPX30 poate folosi VBScript atunci când încearcă să ocolească UAC. |
||
API nativ |
Instalatorul NSPX30 și utilizarea backdoor CreateProcessA/W API-uri pentru a executa componente. |
||
Persistență |
Fluxul de execuție a deturnării |
Încărcătorul NSPX30 este încărcat automat într-un proces atunci când Winsock este pornit. |
|
Privilegiul escaladării |
Execuție declanșată de eveniment |
Programul de instalare al NSPX30 modifică registrul pentru a schimba valoarea cheii unui buton media (APPCOMMAND_LAUNCH_APP2) pentru a indica executabilul său de încărcare. |
|
Mecanism de control al cotei abuzive: ocoliți controlul contului utilizatorului |
Instalatorul NSPX30 folosește trei tehnici pentru a încerca ocolirea UAC. |
||
Evaziunea apărării |
Deofuscați/Decodificați fișierele sau informațiile |
Fișierele de instalare, orchestrator, backdoor și configurație ale NSPX30 sunt decriptate cu RC4 sau combinații de instrucțiuni aritmetice și biți. |
|
Deteriorarea apărărilor: dezactivați sau modificați instrumentele |
Programul de instalare al NSPX30 dezactivează trimiterea eșantionului Windows Defender și adaugă o excludere pentru o componentă de încărcare. Orchestratorul NSPX30 poate modifica bazele de date ale software-ului de securitate pentru a permite lista componentelor sale de încărcare. Software-ul vizat include: Tencent PC Manager, 360 Safeguard, 360 Antivirus și Kingsoft AntiVirus. |
||
Eliminarea indicatorului: ștergerea fișierului |
NSPX30 își poate șterge fișierele. |
||
Îndepărtarea indicatorului: persistență clară |
NSPX30 își poate elimina persistența. |
||
Executarea comenzilor indirecte |
Instalatorul NSPX30 execută PowerShell prin Command Shell din Windows. |
||
Masquerading: potriviți numele sau locația legitimă |
Componentele lui NSPX30 sunt stocate în folderul legitim %PROGRAMDATA%Intel. |
||
Modificați registrul |
Programul de instalare al lui NSPX30 poate modifica registry atunci când încearcă să ocolească UAC. |
||
Fișiere sau informații ofucate |
Componentele lui NSPX30 sunt stocate criptate pe disc. |
||
Fișiere sau informații ofucate: încărcături utile încorporate |
Picuratorul NSPX30 conține componente încorporate. Încărcătorul NSPX30 conține cod shell încorporat. |
||
Execuție proxy binar de sistem: Rundll32 |
Programul de instalare al NSPX30 poate fi încărcat prin intermediul rundll32.exe. |
||
Acces la acreditări |
Adversarul-la-Mijloc |
Implantul NSPX30 este livrat victimelor prin atacuri AitM. |
|
Acreditări din magazinele de parole |
Pluginul NSPX30 c001.dat poate fura acreditările din bazele de date Tencent QQ. |
||
Descoperire |
Descoperirea fișierelor și a directorului |
Ușa din spate și pluginurile NSPX30 pot lista fișiere. |
|
Registrul de interogări |
NSPX30 a010.dat pluginul colectează diverse informații despre software-ul instalat din registry. |
||
Descoperire software |
NSPX30 a010.dat pluginul colectează informații din registru. |
||
Descoperirea informațiilor de sistem |
Ușa din spate a lui NSPX30 colectează informații despre sistem. |
||
Descoperirea configurației rețelei sistemului |
Ușa din spate a lui NSPX30 colectează diverse informații despre adaptorul de rețea. |
||
Descoperirea conexiunilor de rețea de sistem |
Ușa din spate a lui NSPX30 colectează informații despre adaptorul de rețea. |
||
Descoperire proprietar/utilizator de sistem |
Ușa din spate a lui NSPX30 colectează informații despre sistem și despre utilizator. |
||
Colectie |
Captură de intrare: înregistrarea tastelor |
Pluginul NSPX30 b011.dat este un keylogger de bază. |
|
Arhivați datele colectate: arhivați prin bibliotecă |
Pluginurile NSPX30 comprimă informațiile colectate folosind zlib. |
||
Captură audio |
Pluginul NSPX30 c003.dat înregistrează fluxurile audio de intrare și ieșire. |
||
Colectare automată |
Orchestratorul și backdoor-ul lui NSPX30 lansează automat pluginuri pentru a colecta informații. |
||
Etape de date: Staging local de date |
Pluginurile NSPX30 stochează date în fișiere locale înainte de exfiltrare. |
||
Captură de ecran |
Pluginul NSPX30 b010.dat face capturi de ecran. |
||
Comandă și Control |
Protocolul stratului de aplicație: protocoale web |
Orchestratorul și componentele backdoor ale NSPX30 descarcă încărcături utile folosind HTTP. |
|
Protocolul stratului de aplicație: DNS |
Ușa din spate a lui NSPX30 exfiltrează informațiile colectate folosind DNS. |
||
Codificarea datelor: codificare standard |
Datele colectate pentru exfiltrare sunt comprimate cu zlib. |
||
Ofucarea datelor |
Ușa din spate a lui NSPX30 criptează comunicațiile C&C. |
||
Protocol non-aplicație de nivel |
Ușa din spate a lui NSPX30 utilizează UDP pentru comunicațiile C&C. |
||
Împuternicire |
Comunicațiile NSPX30 cu serverul său C&C sunt trimise prin proxy printr-o componentă neidentificată. |
||
Exfiltrarea |
Exfiltrare automată |
Când este disponibilă, ușa din spate a lui NSPX30 exfiltrează automat orice informație colectată. |
|
Limitele de dimensiune a transferului de date |
Ușa din spate a lui NSPX30 exfiltrează datele colectate prin interogări DNS cu o dimensiune fixă a pachetului. |
||
Exfiltrare prin protocol alternativ: exfiltrare prin protocol non-C2 necriptat |
Ușa din spate a lui NSPX30 exfiltrează informațiile colectate folosind DNS. |
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- PlatoHealth. Biotehnologie și Inteligență pentru studii clinice. Accesați Aici.
- Sursa: https://www.welivesecurity.com/en/eset-research/nspx30-sophisticated-aitm-enabled-implant-evolving-since-2005/
- :are
- :este
- :nu
- :Unde
- $UP
- 08
- 1
- 10
- 11
- 12
- 13
- 14
- 15%
- 16
- 17
- 179
- 180
- 19
- 2005
- 2008
- 2011
- 2014
- 2016
- 2018
- 2020
- 24
- 360
- 7
- 75
- 77
- 8
- 9
- 98
- a
- Capabil
- Despre Noi
- acces
- Conform
- Cont
- acțiuni
- activ
- activitate
- actori
- plus
- Suplimentar
- În plus,
- adresa
- adrese
- Adaugă
- După
- împotriva
- Agent
- Propriul rol
- TOATE
- lista permisă
- aproape
- deja
- de asemenea
- alternativă
- Cu toate ca
- an
- analiză
- analiza
- analizate
- și
- antivirus
- Orice
- api
- API-uri
- apare
- Electrocasnice
- aplicație
- Aplică
- APT
- arhivă
- SUNT
- în jurul
- AS
- evalua
- asociate
- asuma
- At
- ataca
- Atacuri
- încercare
- încercarea
- Încercările
- audio
- Autorii
- în mod automat
- disponibil
- înapoi
- ușă din dos
- Backdoors
- Baidu
- bazat
- de bază
- BE
- deoarece
- deveni
- fost
- înainte
- fiind
- Crede
- CEL MAI BUN
- bitwise
- atât
- construit
- buton
- by
- by-pass
- denumit
- apel
- apeluri
- Campanie
- CAN
- capacități
- capacitate
- capabil
- captura
- transportate
- caz
- cazuri
- lanţ
- Schimbare
- si-a schimbat hainele;
- Chat
- China
- chinez
- clar
- mai aproape
- Închideri
- CO
- cod
- codeBase
- colecta
- colectare
- colector
- COM
- combinaţii
- combinând
- vine
- în mod obișnuit
- comunica
- Comunicare
- Comunicații
- Companii
- companie
- compilat
- completarea
- component
- componente
- compromis
- compromis
- condiție
- Condiții
- Conduce
- Configuraţie
- legat
- conexiune
- Conexiuni
- luate în considerare
- constă
- contactați-ne
- conține
- conținut
- Control
- controlor
- conversații
- CORPORAȚIE
- Corespunzător
- ar putea
- crea
- a creat
- creează
- scrisori de acreditare
- Curent
- personalizat
- Securitate cibernetică
- Întuneric
- de date
- puncte de date
- Baza de date
- baze de date
- Data
- DCM
- DCM-uri
- zeci de ani
- Mod implicit
- livra
- livrate
- livrarea
- depinde de
- implementa
- dislocate
- Implementarea
- descrie
- descrie
- descriere
- proiectat
- destinație
- detaliat
- detalii
- detectat
- Detectare
- Determina
- determinat
- dezvoltat
- Dezvoltatorii
- Dezvoltare
- evoluții
- FĂCUT
- diferenţă
- diferit
- direcționa
- descoperi
- a descoperit
- distribuire
- împărțit
- dns
- do
- documentaţie
- face
- domeniu
- domenii
- Descarca
- Picături
- în timpul
- fiecare
- Devreme
- cu ușurință
- elevat
- e-mailuri
- încorporat
- permite
- permițând
- codare
- criptate
- captivant
- Motor
- Inginerie
- intrare
- eroare
- stabilește
- evenimente
- evoluţie
- evoluat
- evoluție
- exact
- exemplu
- a executa
- executat
- Executa
- executând
- execuție
- exfiltrațiile
- expune
- exista
- experienţă
- a explicat
- explorator
- exporturile
- fapt
- eșuează
- DESCRIERE
- Figura
- Fișier
- Fişiere
- filtru
- Găsi
- constatările
- amprentă digitală
- firewall-uri
- First
- fixată
- următor
- Pentru
- formă
- Înainte
- găsit
- din
- complet
- funcţie
- funcționalitate
- funcții
- gateway-uri
- generată
- geografice
- obține
- GitHub
- Da
- dat
- Go
- grup
- Grupului
- HAD
- Mânere
- Avea
- anteturile
- aici
- Ascunde
- Profil înalt
- istorie
- Hong
- Hong Kong
- Cum
- Totuși
- HTML
- http
- HTTPS
- ID
- identificat
- if
- ilustrează
- imagine
- implementările
- implementat
- in
- include
- include
- Inclusiv
- Intrare
- Creșteri
- indica
- indicaţii
- Indicatorii
- individ
- persoane fizice
- informații
- Infrastructură
- inițială
- inițial
- iniţiat
- intrare
- Cereri
- inserții
- în interiorul
- instala
- instalat
- instanță
- in schimb
- Institut
- instrucțiuni
- Inteligență
- interfaţă
- intern
- Internet
- în
- investigaţie
- IP
- Adresa IP
- Adresele IP
- ISP
- emitent
- IT
- ESTE
- în sine
- ianuarie
- Japonia
- Japonez
- iunie
- Cheie
- regat
- Cunoaște
- cunoştinţe
- cunoscut
- Kong
- mare
- Nume
- mai tarziu
- lansa
- strat
- conducere
- cel mai puțin
- Led
- stânga
- legitim
- Permite
- Probabil
- Listă
- Ascultare
- ascultă
- liste
- încărca
- încărcător
- încărcare
- loturile
- local
- situat
- locaţie
- bloca
- Uite
- pierdut
- Ltd
- maşină
- Masini
- Principal
- major
- rău
- malware
- manager
- manipulat
- de fabricaţie
- Meci
- meciuri
- potrivire
- Mai..
- sens
- mecanism
- mecanisme
- Mass-media
- Memorie
- menționat
- mesaj
- mesaje
- cu
- Metadata
- Microsoft
- ar putea
- milioane
- modifica
- mai mult
- cele mai multe
- Mai ales
- multiplu
- trebuie sa
- nume
- Numit
- Nevoie
- nevoilor
- reţea
- rețele
- Nou
- Nu.
- Nici unul
- Înștiințare..
- număr
- obține
- obținerea
- a avut loc
- octombrie
- of
- promoții
- Birou
- Vechi
- cele mai vechi
- on
- ONE
- afară
- deschide
- open-source
- de operare
- sistem de operare
- operaţie
- Operațiuni
- Operatorii
- or
- comandă
- origine
- original
- Altele
- al nostru
- afară
- producție
- exterior
- peste
- propriu
- deţinute
- P&E
- pachete
- pagină
- parametru
- parte
- special
- trece
- pasiv
- Parolă
- cale
- căi
- PC
- ciudat
- Efectua
- efectuată
- efectuează
- persistență
- imagine
- Loc
- Plato
- Informații despre date Platon
- PlatoData
- "vă rog"
- conecteaza
- Plugin-uri
- Punct
- puncte
- politic
- Popular
- eventual
- PowerShell
- prezenţă
- prezenta
- împiedica
- în prealabil
- anterior
- privat
- probabil
- Problemă
- procedură
- proces
- procese
- Produs
- Produse
- Program
- proiect
- Proiecte
- protocol
- furniza
- prevăzut
- furnizorul
- împuternicit
- public
- Publicare
- public
- publicat
- scop
- interogări
- mai degraba
- ajunge
- primit
- recent
- record
- înregistrări
- recurente
- trimite
- se referă
- cu privire la
- înregistrată
- registru
- legate de
- bazându-se
- rămășițe
- îndepărtare
- scoate
- răspuns
- raportează
- Rapoarte
- solicita
- cereri de
- cercetare
- cercetători
- hotărât
- resursă
- respectiv
- răspuns
- rezultat
- rezultând
- Returnează
- inversa
- Bogat
- în creștere
- router
- Regula
- acelaşi
- salvate
- Ştiinţă
- Ştiinţă şi Tehnologie
- capturi de ecran
- Caută
- motor de cautare
- Al doilea
- secunde
- secțiuni
- securitate
- vedea
- părea
- pare
- văzut
- selectate
- trimis
- Septembrie
- servit
- serverul
- Servere
- serviciu
- Servicii
- Seturi
- câteva
- comun
- Coajă
- indicat
- Emisiuni
- asemănător
- simplu
- pur şi simplu
- întrucât
- SIX
- Mărimea
- ușor diferite
- mic
- mai mici
- So
- Social
- Software
- componente software
- soluţii
- unele
- sofisticat
- specific
- specificată
- spectru
- împărţi
- spionaj
- Etapă
- Stadiile
- standard
- Începe
- început
- Pornire
- paşi
- Încă
- stoca
- stocate
- fluxuri
- Şir
- structura
- studio
- subiect
- supunere
- astfel de
- sugerează
- suită
- apare
- suspicios
- sistem
- sisteme
- tabel
- Lua
- luate
- ia
- Ţintă
- vizate
- obiective
- sarcini
- tehnică
- tehnici de
- Tehnologia
- temporar
- Tencent
- decât
- acea
- Marea Britanie
- Regatul unit
- lumea
- lor
- Lor
- temă
- apoi
- Acolo.
- prin urmare
- Acestea
- ei
- Al treilea
- acest
- aceste
- amenințare
- actori amenințători
- trei
- Prin
- timp
- cronologie
- timestamp-ul
- la
- instrument
- Urmă
- urmări
- Trading
- trafic
- transfer
- a declanșat
- Două
- Uk
- înţelege
- Unit
- Regatul Unit
- universitate
- necunoscut
- improbabil
- ANONIM
- Actualizează
- actualizări
- URL-ul
- us
- utilizare
- utilizat
- Utilizator
- utilizări
- folosind
- valabil
- validare
- valoare
- Valori
- Variantă
- diverse
- verifica
- versiune
- vertical
- de
- Victimă
- victime
- Vizita
- vizual
- vulnerabil
- a fost
- Cale..
- we
- web
- website
- BINE
- au fost
- Ce
- cand
- oricând
- care
- lățime
- Wikipedia
- voi
- ferestre
- cu
- lemn
- Apartamente
- de lucru
- lume
- ar
- scris
- scris
- încă
- zephyrnet
- Zip