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
Argument | Tegevus |
---|---|
Argumenti pole või see ei vasta järgmistele argumentidele | Pü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. |
-i | Tagauks taaskäivitatakse lülitiga – k. |
-k | Tagaukse interpreteerija (kirjeldatud hiljem) kutsutakse tapmislülitiga. |
-d | Tagaukse interpreteerija kutsutakse ilma tapmislülitita. |
Märkus:
- Tapmislüliti annab tagauksele õiguse desinstallida või taaskäivitada SparrowDoor.
- 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:
1234567891011 | struct 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õti | Väärtus | Eesmärk |
---|---|---|
domeen | credits.offices-analytics[.]com | C & C serveri domeen |
kasutaja | kasutaja | C & C serveriga ühenduse loomiseks kasutatavad puhverserveri sätted |
pass | pass | |
ip | 127.1.1.1 | |
port | 8080 | |
serviceName | WSearchIndex | Püsivuse seadistamiseks teenuse loomiseks kasutatav teave. Pange tähele, et serviceName kasutatakse registri võtme Run all oleva väärtuse nimena. |
serviceDisplayName | Windowsi otsingu indeks | |
serviceDescription | Pakub 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 ID | Tegevus |
---|---|
0x1C615632 | Praegune protsess on suletud. |
0x1DE15F35 | Alamprotsess svchost.exe loob processToken C & C serveri määratud protsessi (protsessi ID) teabega, argumendiga-d ja seejärel süstitakse protsessi karploomikood. |
0x1A6B561A | Kataloog luuakse C & C serveri nime abil. |
0x18695638 | Fail nimetatakse ümber. Nii ümbernimetatava faili kui ka uue nime annab C & C server. |
0x196A5629 | Fail kustutatakse vastavalt sissetulevatele andmetele. |
0x17685647 | Kui 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. |
0x15665665 | Määratud faili sisu filtreerimiseks luuakse uus lõim. |
0x16675656 | Kui 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. |
0x14655674 | Andmete kirjutamiseks määratud faili luuakse uus lõim. |
0x12635692 | Kui 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. |
0x13645683 | Kui 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. |
Muu | Taaskä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-1 | Failinimi | ESET-i tuvastus | Kirjeldus |
---|---|---|---|
B9601E60F87545441BF8579B2F62668C56507F4A | p64.exe debug.log | Win64/Riskware.Mimikatz.H | Mimikatz |
4DF896624695EA2780552E9EA3C40661DC84EFC8 | p64.exe debug.log | Win64/Riskware.Mimikatz.H | Mimikatz |
76C430B55F180A85F4E1A1E40E4A2EA37DB97599 | dump.exe | Win64/Kryptik.BSQ | Lsass dumper |
873F98CAF234C3A8A9DB18343DAD7B42117E85D4 | nbtscan.exe | Win32/NetTool.Nbtscan.A | Nbtscan |
FDC44057E87D7C350E6DF84BB72541236A770BA2 | 1.cab | Win32/FamousSparrow.A | Dropper |
C36ECD2E0F38294E1290F4B9B36F602167E33614 | Indexer.exe | – | Seaduslik K7 binaar |
BB2F5B573AC7A761015DAAD0B7FF03B294DC60F6 | K7UI.dll | Win32/FamousSparrow.A | Laadur |
23E228D5603B4802398B2E7419187AEF71FF9DD5 | MpSvc.dll | Laadur | |
2560B7E28B322BB7A56D0B1DA1B2652E1EFE76EA | – | – | Krüptitud shellikood |
E2B0851E2E281CC7BCA3D6D9B2FA0C4B7AC5A02B | K7UI.dll | Win32/FamousSparrow.B | Laadur |
Domeen | IP aadress | Kommentaar |
---|---|---|
credits.offices-analytics[.]com | 45.192.178[.]206 | SparrowDoor C&C server |
– | 27.102.113[.]240 | Tarnedomeen |
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 = |
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. |
Jaga artiklit