ESETi teadlased on avastanud uue küberspionaažigrupi, kes sihib hotelle, valitsusi ja eraettevõtteid kogu maailmas. Andsime rühmale nimeks FamousSparrow ja usume, et see on tegutsenud vähemalt 2019. aastast.

Meie uurimise käigus telemeetriaandmeid, mõistsime, et FamousSparrow võimendas Microsoft Exchange’i haavatavusi, mida nimetatakse ProxyLogoniks, mida kirjeldasime ulatuslikult 2021. aasta märtsis. Meeldetuletuseks, seda kaugkoodi käivitamise haavatavust kasutas rohkem kui 10 APT-rühma Exchange’i meiliserverite ülevõtmiseks kogu maailmas. ESET-i telemeetria andmetel hakkas FamousSparrow haavatavusi ära kasutama 2021-03-03 [NF1], päeval pärast plaastri väljalaskmist, seega on tegemist veel ühe APT grupiga, kellel oli ligipääs ProxyLogoni kaugkoodi täitmise haavatavusele 2021. aasta märtsis.

Selles blogpostituses arutame FamousSparrow nimele omistamist ja grupi viktimoloogiat. Sellele järgneb detailne tehniline analüüs grupi peamisest tagauksest, millele andsime nime SparrowDoor.

Märkus omistamise kohta

Famoussparrow on rühm, mida peame kohandatud tagaukse SparrowDoor (mida kajastame detailselt selle blogipostituse hilisemates lõikudes) ainsaks praeguseks kasutajaks. See kasutab ka kahte Mimikatzi kohandatud versiooni (vt jaotist Kompromissi indikaatorid), mida saab kasutada juhtumite seostamiseks selle rühmaga.

Kuigi me peame FamousSparrow-t eraldi üksuseks, leidsime sidemed teiste teadaolevate APT gruppidega. Ühel juhtudest võtsid ründajad kasutusele Motnug variandi, mis on SparklingGoblini kasutatav laadur. Teisel juhul leidsime FamousSparrow poolt kompromiteeritud masinast töötava Metasploiti, mille C & C serveriks on cdn.kkxx 888666 [.] com. See domeen on seotud rühmaga, mida nimetatakse DRDControl.

Viktimoloogia

Grupeering on olnud aktiivne alates 2019. aasta augustist ja see sihib peamiselt hotelle kogu maailmas. Lisaks oleme näinud mõningaid sihtmärke teistes sektorites, näiteks valitsustes, rahvusvahelistes organisatsioonides, insenerifirmades ja õigusfirmades järgmistes riikides:

  • Brasiilia
  • Burkina Faso
  • Lõuna-Aafrika
  • Kanada
  • Iisrael
  • Prantsusmaa
  • Guatemala
  • Leedu
  • Saudi Araabia
  • Taiwan
  • Tai
  • Suurbritannia

Joonis 1. FamousSparrow sihtmärkide geograafiline jaotus

Kompromissvektor

Mõnel juhul suutsime leida esialgse kompromissvektori, mida kasutasid FamousSparrow ja neid süsteeme ohustasid haavatavad internetipõhised veebirakendused. Usume, et FamousSparrow kasutas ära teadaolevaid kaugkoodi käivitamise haavatavusi Microsoft Exchange’ is (sh ProxyLogon märtsis 2021), Microsoft SharePointis ja Oracle Operas (hotellihalduse äritarkvara), mida kasutati mitmesuguste pahatahtlike proovide sisestamiseks.

Kui server on ohustatud, juurutavad ründajad mitmeid kohandatud tööriistu:

  • A Mimikatzi variant
  • Väike utiliit, mis sisestab ProcDump kettale ja kasutab seda lsass protsessi tühjendamiseks, tõenäoliselt selleks, et koguda mälus olevaid saladusi, näiteks volitusi
  • Nbtscan, NetBIOS-i skanner
  • SparrowDoor tagaukse laadur

Through our telemetry, we were able to recover only the loader component (SHA-Meie telemeetria kaudu suutsime taastada ainult laaduri komponendi (SHA-1: E2B0851E2E281CC7BCA3D6D9B2FA0C4B7AC5A02B). Leidsime ka väga sarnase laaduri VirusTotal (SHA-1: BB2F5B573AC7A761015DAAD0B7FF03B294DC60F6), mis võimaldas meil leida puuduvad komponendid, sealhulgas SparrowDoor.

Sparrowdoor

Laadur

Sparrowdoor laaditakse algselt DLL-i otsingutellimuse kaaperdamise kaudu, kasutades kolme elementi – DLL-i kaaperdamise hostina kasutatav seaduslik K7 Computing programm (Indexer.exe), pahatahtlik DLL (K7UI.dll) ja krüpteeritud shellikood (MpSvc.dll) – kõik need sisestatakse %PROGRAMDATA%\ Software\. Võib eeldada, et esialgse SparrowDoor täideviimisega kasutatav käsurea argument on püsivuse seadistamiseks kas mitte midagi või midagi muud peale-i, – k või-d (nende kolme argumendi funktsionaalsused on selgitatud allpool). Kui püsivus on seadistatud, käivitatakse SparrowDoor koos käsurea argumendiga-i. Esialgse laadimisprotsessi voo lühiülevaate leiate jooniselt 2. Kui soovite laadimisprotsessi põhjalikult uurida, jätkake lugemist!

Joonis 2. Sparrowdoor ettevalmistus

Õiguspärane programm Indexer.exe nõuab, et raamatukogu K7UI.dll toimiks. Seetõttu otsib OS DLL-faili ettenähtud laadimisjärjekorras kataloogidest. Kuna kataloog, kus Indexer.exe fail on salvestatud, on koormusjärjestuses kõige kõrgemal kohal, puututakse sellega kokku DLL otsingu-tellimise kaaperdamisega. Ja just nii saab pahavara täis. Indexer.exe laadib pahatahtliku K7UI.dll, mis omakorda paigutab koodi Indexer.exe (kõnest WinMain kuni jmp K7UI .0 x 100010D0) ja seejärel naaseb Indexer.exe. Selle tulemusena käivitab Indexer.exe WinMaini kutsumise asemel K7UI.dll alamprogrammi (asub jaotises. text). Me nimetasime selle alamprogrammi käivitajaks. Käiviti funktsiooniks on laadida MpSvc.dll (krüpteeritud shellikood) mällu kataloogist, kus talletatakse ka Indexer.exe, dekrüptida sisu ja seejärel käivitada shellikood.

Shellikood (MpSvc.dll) krüptitakse neljabaidise XOR-i abil, kusjuures võti on faili esimesed neli baiti.

MpSvc.dll laeb erinevaid PE struktuuri koostamise eest vastutavaid teeke ja leiab kasutatavate funktsioonide aadressid. Pärast seda jaotab ta RWX-mälu ja kopeerib sellesse erinevaid asukohti (PE struktuuri koostamiseks). See parandab ka mitmete funktsioonide importi erinevatest raamatukogudest. Lõpuks käivitab see äsja ehitatud tagaukse PE sisenemispunktist. Huvitaval kombel ei ole sellel ümberehitatud täitmiskujutisel PE-päiseid, nagu on näidatud joonisel 2, nii et laadur käivitab tagaukse, hüpates sisenemispunkti määratud mälus raskekodeeritud nihkes.

Joonis 3. PE -päis puudub äsja ehitatud tagaukses MpSvc.dll shellikoodist

Tagauks

Tagauksele edastatud argumendid on päritud Indexer.exe edastatud argumentidest või mis tahes muust binaarist, mis saab shellkoodi/tagaukse sisestatud. Tagaukse poolt pärast argumendi määramist tehtud ülesanded on toodud tabelis 1.

Tabel 1. SparrowDoor antud käsureaargumentide põhjal teostatud toimingud

ArgumentTegevus
Argumenti pole või see ei vasta järgmistele argumentidelePüsivus seatakse registri käivitusvõtme ja teenuse kaudu, mis luuakse ja käivitatakse binaarses karmis kodeeritud konfiguratsiooniandmete (kirjeldatud järgmises jaotises) abil. Lõpuks taaskäivitatakse tagauks-i lülitiga.
-iTagauks taaskäivitatakse lülitiga – k.
-kTagaukse interpreteerija (kirjeldatud hiljem) kutsutakse tapmislülitiga.
-dTagaukse interpreteerija kutsutakse ilma tapmislülitita.

Märkus:

  1. Tapmislüliti annab tagauksele õiguse desinstallida või taaskäivitada SparrowDoor.
  2. Tagaukse interpreteerija helistatakse sõltumata kasutatavast argumendist, sest see lõpeb alati a – k või-d argumendiga.

Konfiguratsiooniandmed

Konfiguratsioon leitakse binaarfailist ja see dekrüpteeritakse, kasutades mitmebaidist XOR võtit ^&32yUgf. Konfiguratsioonil on järgmine vorming:

1234567891011struct config{char domain[64]; char user [64]; char pass[64]; char ip[64]; char port[2]; char serviceName[64]; char serviceDisplayName[128]; char serviceDescription[128];};

Krüptitud väärtused on välja toodud tabelis 2.

Tabel 2. Konfiguratsiooni võtme-väärtuse paarid koos nende otstarbe kirjeldusega

VõtiVäärtusEesmärk
domeencredits.offices-analytics[.]comC & C serveri domeen
kasutajakasutajaC & C serveriga ühenduse loomiseks kasutatavad puhverserveri sätted
passpass
ip127.1.1.1
port8080
serviceNameWSearchIndexPüsivuse seadistamiseks teenuse loomiseks kasutatav teave. Pange tähele, et serviceName kasutatakse registri võtme Run all oleva väärtuse nimena.
serviceDisplayNameWindowsi otsingu indeks
serviceDescriptionPakub failide, e-posti ja muu sisu sisu indekseerimist, atribuutide vahemällu talletamist ja otsingutulemeid.

Ühendused võivad olla kas puhverserveri kaudu või mitte ning need ühenduvad C & C serveriga pordi 443 (HTTPS) kaudu. Seega tuleks side TLS-i abil krüptida. Esimese C & C serveriga ühenduse loomise katse ajal kontrollib SparrowDoor, kas ühendust saab luua puhverserverit kasutamata, ja kui ei saa, siis saadetakse andmed puhverserveri kaudu. Kõik väljaminevad andmed krüptitakse XOR-võtme hH7 @ 83 #mi abil ja kõik sissetulevad andmed dekrüpteeritakse XOR-võtme h * ^ 4 hFa abil. Andmetes on struktuur, mis algab käsu ID-ga, millele järgneb krüpteeritud andmete pikkus, millele järgnevad krüpteeritud andmed.

Joonisel 4 on toodud näide selle kohta, kuidas andmed saadetakse C & C serverisse (antud juhul saadab see süsteemiteavet), samal ajal kui joonisel 5 on kujutatud sama andmekoormuse plainteksti vorm.

Joonis 4. Wiresharki tõmmis, mis näitab tagaukse kaudu POSTedi andmeid

Joonis 5. Süsteemiteavet sisaldavad dekrüpteeritud andmed

Ohvri kohaliku IP-aadressi saab sel juhul teisendada kümnendarvuks, andes tulemuseks 192.168.42.1.

Sessiooni ID on tagaukse protsessiga seostatud kaugtöölaua teenuste seansi ID, mis leiti ProcessIdToSessionId Windows API kutsega.

SystemInfoHash arvutatakse sdbm räsialgoritmi kaudu, kasutades kasutajanime, arvuti nime, hostiaadresse ja seansi ID-d.

Tagaukse tõlgi funktsioon

Selles funktsioonis teostatakse privileegide eskalatsioon, reguleerides SparrowDoor protsessi pääsuluba SeDebugPrivilege lubamiseks. Pärast seda lapitakse sulgemisfunktsioon (Ws2_32.dll), et vältida saatmiste ja vastuvõttude keelamist soklile ning closesocket (Ws2_32.dll) lapitakse, et võimaldada DONT_LINGER esmalt sulgeda pesa ilma ootel andmete saatmist või vastuvõtmist ootamata. Lõpuks saadetakse süsteemiteave C & C serverisse (nagu on näha eespool joonistel 4 ja 5), et andmeid tagasi saada.

C & C serverist saadud andmete välja Command ID põhjal saab tagaukse abil sooritada erinevaid pahatahtlikke toiminguid, mis on detailselt toodud tabelis 3.

Tabel 3. Toimingud, mida teostab SparrowDoor, kui vastavad käsu ID-d on vastu võetud

Käsu IDTegevus
0x1C615632Praegune protsess on suletud.
0x1DE15F35Alamprotsess svchost.exe loob processToken C & C serveri määratud protsessi (protsessi ID) teabega, argumendiga-d ja seejärel süstitakse protsessi karploomikood.
0x1A6B561AKataloog luuakse C & C serveri nime abil.
0x18695638Fail nimetatakse ümber. Nii ümbernimetatava faili kui ka uue nime annab C & C server.
0x196A5629Fail kustutatakse vastavalt sissetulevatele andmetele.
0x17685647Kui andmete pikkus on 1 ja andmed vastavad $, saadetakse systemInfoHash pikkus koos draivitüüpidega. Kui andmete pikkus on suurem kui 2 ja andmete esimesed 2 baiti vastavad $\-le, saadetakse teave määratud kataloogis olevate failide kohta. Kaasatud teave on järgmine: faili atribuudid, faili maht ja faili kirjutamise aeg.
0x15665665Määratud faili sisu filtreerimiseks luuakse uus lõim.
0x16675656Kui tapmislüliti on aktiveeritud, siis praegused püsivuse sätted (register ja teenus) eemaldatakse ja Indexer.exe fail käivitatakse (droperi taaskäivitamiseks). Kui ei, siis taaskäivitatakse tagaukse silmus.
0x14655674Andmete kirjutamiseks määratud faili luuakse uus lõim.
0x12635692Kui tapmislüliti on aktiveeritud, siis püsisätted eemaldatakse ja kõik failid, mida kasutavad SparrowDoor (Indexer.exe, K7UI.dll ja MpSvc.dll), eemaldatakse. Kui ei, siis taaskäivitatakse tagaukse ring.
0x13645683Kui andmed ühtivad „switch ”, siis taaskäivitatakse tagauks lüliti-d abil. Kui ei, koeb see cmd.exe kesta ning seadistab sisendi ja väljundi nimelised torud (mida kasutab C & C server) interaktiivse pöördkesta loomiseks. Kui andmed ühtivad Exit \ r\ n, siis kudemiskest lõpetatakse.
MuuTaaskäivitab tagaukse ringi.

Järeldus

FamousSparrow on jörjekordne APT grupp, kellel oli juurdepääs ProxyLogoni kaugkoodi käivitamise haavatavusele 2021. aasta märtsi alguses. Serverirakendustes (nt SharePoint ja Oracle Opera) on esinenud teadaolevaid haavatavusi. See on järjekordne meeldetuletus, et Internetiühendusega rakenduste kiire lappimine on kriitilise tähtsusega või kui kiire lappimine ei ole võimalik, siis on parem neid internetti üldse mitte lubada.

Sihtimine, mis hõlmab valitsusi kogu maailmas, viitab sellele, et FamousSparrow kavatsus on spionaaž. Oleme esile tõstnud mõned lingid SparklingGoblinile ja DRBControl, kuid me ei arvesta, et need grupid on samad.

Meie GitHubi hoidlast leiate tervikliku loendi kompromiitide indikaatoritest (IoCd) ja proovidest.

Mis tahes päringute tegemiseks või teemaga seotud näidiste esitamiseks võtke meiega ühendust threatintel@eset.com.

Kompromissituse näitajad

SHA-1FailinimiESET-i tuvastusKirjeldus
B9601E60F87545441BF8579B2F62668C56507F4Ap64.exe
debug.log
Win64/Riskware.Mimikatz.HMimikatz
4DF896624695EA2780552E9EA3C40661DC84EFC8p64.exe
debug.log
Win64/Riskware.Mimikatz.HMimikatz
76C430B55F180A85F4E1A1E40E4A2EA37DB97599dump.exeWin64/Kryptik.BSQLsass dumper
873F98CAF234C3A8A9DB18343DAD7B42117E85D4nbtscan.exeWin32/NetTool.Nbtscan.ANbtscan
FDC44057E87D7C350E6DF84BB72541236A770BA21.cabWin32/FamousSparrow.ADropper
C36ECD2E0F38294E1290F4B9B36F602167E33614Indexer.exeSeaduslik K7 binaar
BB2F5B573AC7A761015DAAD0B7FF03B294DC60F6K7UI.dllWin32/FamousSparrow.ALaadur
23E228D5603B4802398B2E7419187AEF71FF9DD5MpSvc.dllLaadur
2560B7E28B322BB7A56D0B1DA1B2652E1EFE76EAKrüptitud shellikood
E2B0851E2E281CC7BCA3D6D9B2FA0C4B7AC5A02BK7UI.dllWin32/FamousSparrow.BLaadur
DomeenIP aadressKommentaar
credits.offices-analytics[.]com45.192.178[.]206SparrowDoor C&C server
27.102.113[.]240Tarnedomeen

MITRE ATT&CK tehnikad

See tabel ehitati MITRE ATT & CK raamistiku 9. versiooni abil.

Taktika ID Nimi Kirjeldus
Ressursiarendus T1588.005 Hankimisvõimalused: laiendused FamousSparrow kasutas RCE haavatavusi Microsoft Exchange’i, SharePointi ja Oracle Opera vastu.
T1583.001 Infrastruktuuri hankimine: domeenid FamousSparrow ostis domeeni Hosting Conceptsis.
T1583.004 Infrastruktuuri hankimine: Server FamousSparrow rentisid servereid Shanghai Ruisu Network Technology ja DAOU TECHNOLOGY.
Algne juurdepääs T1190 Avaliku juurdepääsu rakenduse kasutamine FamousSparrow kasutas RCE haavatavusi Microsoft Exchange’i, SharePointi ja Oracle Opera vastu.
Täitmine T1059.003 Käsu – ja skriptiinterjöör: Windowsi käsuShell FamousSparrow kasutas cmd.exe failide allalaadimiseks ja installimiseks käskude SparrowDoor.
T1203 Klienditäite kasutamine FamousSparrow kasutas SparrowDoor installimiseks RCE haavatavusi Microsoft Exchange’ is, SharePointis ja Oracle Operas.
Püsivus T1547.001 Algkäivitus või sisselogimise automaatkäivitus: registri käivitusvõtmed/käivituskaust Sparrowdoor saavutab püsivuse HKCU Run registriväärtuse WSearchIndex = \Indexer.exe-i registrikirje kaudu.
T1543.003 Loo või muuda süsteemne protsess: Windowsi teenus FamousSparrow installib SparrowDoor teenusena nimega WSearchIndex.
T1574.001 Kaaperdamise täitmisvoog: DLL-i otsingutellimuse häkkimine FamousSparrow laeb pahatahtliku K7UI.dll DLL otsingukorralduse kaaperdamise kaudu.
Kaitse vältimine T1055.001 Protsessi süstimine: Dynamic-link Library Injection MpSvc.dll (shellikood) süstitakse protsessidesse SparrowDoor’i poolt.
T1134.002 Juurdepääsuloa manipulatsioon: protsessi loomine loaga SparrowDoor loob protsessid C&C-serveri poolt määratud protsesside märkidega, kasutades selleks CreateProcessAsUserA API.
T1134 Juurdepääsuloa manipulatsioon SparrowDoor püüab kohandada oma sümboolika privileege, et saada SeDebugPrivilege.
T1027 Varjatud failid või teave Shellikood, MpSvc.dll, on krüpteeritud XOR-i abil koos SparrowDoor’i sisseehitatud konfiguratsiooniga.
Volituste juurdepääs T1003 OS Volituste mahalaadimine FamousSparrow kasutab kohandatud Mimikatz’i versiooni.
Avastamine T1082 Süsteemi teabe avastamine SparrowDoor kogub kasutajanime, arvutinime, RDP-seansi ID ja kettatüübid süsteemis ning saadab need andmed C&C-serverile.
T1083 Failide ja kataloogide leidmine SparrowDoor saab kontrollida määratud kataloogis olevaid faile, saades nende nimed, atribuudid, suurused ja viimase muutmise aja, ning saadab need andmed C&C-serverile.
Kogumine T1005 Kohaliku süsteemi andmed SparrowDoor on võimeline lugema failide sisu ja edastama need C&C-serverisse.
Juhtimine ja kontroll T1071.001 Rakenduskihi protokoll: veebiprotokollid SparrowDoor suhtleb C&C-serveriga, kasutades HTTPS-protokolli.
T1573.001 Krüpteeritud kanal: Sümmeetriline krüptograafia SparrowDoor krüpteerib/dekrüpteerib kommunikatsiooni oma C&C serveriga, kasutades erinevaid mitmebaidiseid XOR-võtmeid.
Eksfiltreerimine T1041 Eksfiltreerumine C2-kanali kaudu SparrowDoor eksfiltreerib andmeid oma C&C-kanali kaudu.