Sukūrė Hunters Team Axon
Medžiotojų komanda AXON atskleidė ir aktyviai stebi vykstančią grėsmių kampaniją, pavadintą „VEILDrive“. Iš pradžių aptikta tiriant kenkėjišką veiklą kliento infrastruktūroje, VEILDrive naudoja Microsoft SaaS rinkinį, ypač Teams, SharePoint, Quick Assist ir OneDrive. Vykdyti savo taktiką Unikaliai grėsmės veikėjas naudoja „OneDrive“. Command & Control (C&C) metodas, įterptas į tinkintą kenkėjišką programinę įrangą, kuri yra įdiegta pažeistose aplinkose. Mūsų analizė rodo, kad ši kampanija gali būti rusiška, o AXON komanda įspėjo ir Microsoft, ir paveiktas organizacijas, kad būtų sumažintas tolesnis išnaudojimas.
Mūsų tyrimai prasidėjo 2024 m. rugsėjį po atsako į ypatingos svarbos infrastruktūros objektą Jungtinėse Valstijose. VEILDrive atakos metodai labai skiriasi nuo įprasto grėsmės elgesio. Jie labai pasikliauja „Microsoft“ SaaS infrastruktūra, kad platintų sukčiavimo kampanijas ir saugotų kenkėjišką programinę įrangą. Ši nuo SaaS priklausoma strategija apsunkina aptikimą realiuoju laiku ir apeina įprastą apsaugą.
Kenkėjiška programinė įranga, susijusi su VEILDrive, yra Java pagrindu sukurtas .jar failas, kuriame ypač trūksta užtemimo, todėl jis yra neįprastai skaitomas ir gerai struktūrizuotas. Nepaisant savo paprastumo, kenkėjiška programa išvengė aptikimo naudojant aukščiausio lygio Endpoint Detection and Response (EDR) įrankį ir visus VirusTotal saugos variklius. Tai išryškina kritinę riziką: net neužtemdytas, paprastas kodas gali išvengti šiuolaikinių aptikimo mechanizmų, o tai rodo, kad reikia iš naujo peržiūrėti aptikimo strategijas didelės rizikos aplinkoje.
Šioje ataskaitoje pateikiama įžvalgų apie VEILDrive metodikas ir dabartinių aptikimo metodų apribojimus, siekiant geriau aprūpinti kibernetinio saugumo bendruomenę nuo besivystančių grėsmių.
2024 m. rugsėjį „Team AXON“ reagavo į incidentą, nukreiptą į kritinės infrastruktūros įmonę Jungtinėse Valstijose. Šis tyrimas atskleidė unikalią grėsmės kampaniją „VEILDrive“, kuri demonstravo neįprastą taktiką, metodus ir procedūras (TTP), kurios labai skyrėsi nuo tų, kurios paprastai matomos panašiuose incidentuose.
Remdamiesi savo išvadomis, apskaičiavome, kad VEILDrive kampanija prasidėjo 2024 m. rugpjūčio pradžioje ir išlieka aktyvi iki šios ataskaitos. Naudodamas „Microsoft SaaS“ paslaugas, įskaitant „Teams“, „SharePoint“, „Quick Assist“ ir „OneDrive“, užpuolikas išnaudojo patikimą anksčiau pažeistų organizacijų infrastruktūrą, kad platintų sukčiavimo atakas ir saugotų kenkėjiškas programas. Ši į debesis orientuota strategija leido grėsmės veikėjui išvengti įprastų stebėjimo sistemų aptikimo.
Pažymėtina, kad VEILDrive pristatė naują „OneDrive“ pagrindu sukurtą komandų ir valdymo (C&C) metodą, įterptą į „Java“ pagrįstą kenkėjišką programinę įrangą, įdiegtą pažeistuose įrenginiuose. Pati kenkėjiška programa, .jar failas, pasižymi dviem įspūdingomis savybėmis:
Šios savybės pabrėžia, kad net ir be sudėtingų vengimo metodų, kruopščiai sukurta, neužtemdyta kenkėjiška programa gali išvengti šiuolaikinės apsaugos. Šis tyrimas pabrėžia esamų aptikimo strategijų spragą ir pabrėžia, kad reikia būti budriems, kad būtų išvengta ne tokių įprastinių atakų metodų.
Komanda AXON pasidalino savo išvadomis su „Microsoft“ ir paveiktomis organizacijomis, siūlydama veiksmingą žvalgybos informaciją, kad sumažintų šią nuolatinę grėsmę.
2024 m. rugsėjo pradžioje vienas iš „Hunters“ klientų, toliau vadinamas „Org C“, pasitelkė „Team AXON“ pagalbą sprendžiant aktyvų incidentą. Byla buvo susijusi su konkrečiu „Org C“ įrenginiu, kuris buvo pažeistas dėl socialinės inžinerijos.
Įtartinai sukurta suplanuota užduotis „Org C“ darbuotojo įrenginyje suaktyvino įspėjimą, todėl buvo atliktas tolesnis tyrimas. Koreliuodama žurnalus ir bendraudama su paveiktu vartotoju, komanda paaiškino pradinės prieigos metodą.
Žemiau yra atakos diagrama, kurioje pateikiama aukšto lygio atakos srauto apžvalga:
Įvykių seka susiklostė taip:
Piktybiškas veikėjas pasinaudojo „Microsoft Teams“, kad praneštų keturiems atrinktiems „Org C“ darbuotojams, kurie, be to, buvo netechniniai pagal savo vaidmenis, neturėjo jokio kito akivaizdaus ryšio. Užpuolikas apsimetė IT komandos nariu ir paprašė prieigos prie kiekvieno darbuotojo įrenginio naudodamasis „Quick Assist“ nuotolinės pagalbos įrankiu.
Užuot naudojęs naujai sukurtą paskyrą apsimetinėjimui, užpuolikas pasinaudojo potencialios ankstesnės aukos, kuri čia vadinama „Org A“, pažeista vartotojo paskyra.
M365 audito žurnalai buvo naudojami siekiant nustatyti „Microsoft Teams“ sukčiavimą.
Buvo nustatyti keli „ MessageSent “ ir „ ChatCreated “ įvykiai, kuriuos visus sukėlė anksčiau pažeistas organizacijos A naudotojas, priklausantis grėsmės veikėjui.
Nors buvo taikytasi į 4 darbuotojus, buvo nustatytas tik vienas „ MemberAdded “ įvykis, nukreiptas į pažeistą organizacijos A vartotoją.
Aukščiau pateikta įžvalga buvo ir intriguojanti, ir vertinga, išryškinanti didėjantį sukčiavimo per Microsoft Teams ir panašių komunikacijos priemonių paplitimą. Sėkmingų ir nesėkmingų sukčiavimo bandymų atskyrimas naudojant M365 audito žurnalus ir koreliacija su EDR žurnalais gali būti labai svarbus tyrimams.
„Microsoft Teams“ pranešimai, kuriuos gavo tiksliniai „Org C“ vartotojai, buvo įmanomi naudojant „Microsoft Teams“ „ Išorinės prieigos “ funkciją, kuri pagal numatytuosius nustatymus leidžia „vienas su vienu“ bendrauti su bet kuria išorine organizacija.
Užpuolikas sėkmingai priviliojo „Org C“ auką vykdyti „Microsoft“ greitosios pagalbos įrankį ir suteikė jiems prieigos kodą per „Microsoft Teams“. Dėl to grėsmės veikėjas turėjo interaktyvią prieigą prie aukos kompiuterio.
Tada grėsmių veikėjas pasidalijo atsisiuntimo nuoroda į atskiros organizacijos „SharePoint“ (auka priklausė kitam nuomininkui, o ne tam, kuris buvo naudojamas sukčiaujant „Microsoft Teams“ pokalbyje, kurį vadinsime „Org B“). Šioje nuorodoje buvo slaptažodžiu apsaugotas .zip failas, pavadintas Client_v8.16L.zip, kuriame buvo įvairių failų, įskaitant papildomą RMM įrankį.
Failą, greičiausiai interaktyviomis priemonėmis, atsisiuntė užpuolikas, jau turintis nuotolinę prieigą, veikdamas explorer.exe kontekste, leidžiantis spustelėti nuorodą ir, jei reikia, atsisiųsti įrankius.
Verta paminėti, kad tyrimo metu susiejome M365 audito žurnalus, kuriuose buvo pateikta tiksli informacija apie gaunamus URL adresus Microsoft Teams pranešimuose, su aukos prieglobos EDR telemetrija, kad visiškai suprastume užpuoliko TTP.
Daug kartų buvo bandoma atlikti rankines kenkėjiškas operacijas naudojant nuotolinę prieigą. Ši veikla visų pirma apėmė atkaklumo pastangas, pvz., suplanuotų užduočių kūrimą, kad būtų pakartotinai vykdomas vienas iš užpuoliko atsisiųstų failų – RMM įrankis, vadinamas LiteManager („ROMServer.exe“).
schtasks /Create /TN "Perfomance monitoring" /SC MINUTE /TR C:\ProgramData\500000003\ROMServer.exe
Atlikęs aukščiau aprašytą veiklą, aktorius rankiniu būdu atsisiunčia kitą .zip failą pavadinimu Cliento.zip.
Kaip ir anksčiau, nuoroda buvo pasidalinta pokalbyje tarp nukentėjusio vartotojo ir grėsmės veikėjo. Šiame .zip faile buvo pagrindinė .JAR kenkėjiška programa ir visas Java kūrimo rinkinys, skirtas .JAR kenkėjiškai programai vykdyti.
Grėsmės veikėjas įvykdė .JAR kenkėjišką programą naudodamas: C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar
Kenkėjiško .JAR failo kontekste buvo nustatytos kelios tinklo veiklos ir komandų vykdymai, įskaitant:
Keletas siunčiamų DNS užklausų / tinklo veiklos į → safeshift390-my.sharepoint.com
Keletas siunčiamų DNS užklausų / tinklo veiklos į → graph.microsoft.com
Keletas siunčiamų DNS užklausų / tinklo veiklos į → login.microsoftonline.com
Vietinių surašymo komandų vykdymas:
Systeminfo
net time
Get-WmiObject -Class
Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
{$_.interfacetype -eq \"USB\"}"
Šioje ekrano kopijoje rodomos pagrindinės proceso medžio dalys, susijusios su kenkėjiška veikla:
Užpuolikas taip pat įtraukė kenksmingą JAR dvejetainį failą kaip raktą registre, kad būtų nuolat vykdoma „Java“ kenkėjiška programa.
Komandų eilutė:
Set-ItemProperty -Path \"HKCU:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\" -Name \"current\" -Value \"C:\\ProgramData\\Cliento\\jdk-22_windows-x64_bin\\jdk-22.0.2\\bin\\javaw.exe -jar C:\\ProgramData\\Cliento\\Cliento.jar\" -ErrorAction Stop"
Šio incidento suvaldymas ir likvidavimas buvo labai greitas ir veiksmingas, o pagal mūsų turimus teismo ekspertizės įrodymus nebuvo jokių požymių, kad užpuolikas sugebėjo padaryti didelės žalos aukos šeimininkui ir organizacijai.
Viena iš pagrindinių įžvalgų iš pirmiau aprašyto atakų srauto yra ta, kad užpuolikas naudojo įvairias gerai žinomas ir dažnai naudojamas „Microsoft“ paslaugas kaip savo atakos dalį, kad pasislėptų matomoje vietoje ir galbūt dėl patogumo.
Greitai apibendrinkite „Microsoft“ paslaugas, kurias iki šiol naudoja grėsmės veikėjas, naudodami šią lentelę:
Aptarnavimas | Nuomininkas | Tikslas |
---|---|---|
Microsoft komandos | Nuo Org A iki Org C | „Spear Phishing Messages“, kad priviliotų auką atsisiųsti ir vykdyti nuotolinio valdymo įrankį |
Greitoji pagalba | Organizacija C | Grėsmės veikėjas siunčia greitosios pagalbos kodą naudodamas „Microsoft Teams“ pranešimą, kad gautų pradinį nuotolinio valdymo pultą |
SharePoint | Nuo Org B iki Org C | Kenkėjiški failai yra „priglobti“ organizacijos „SharePoint“ nuomininke. Atsisiuntimo nuorodos bendrinamos su „Org C“ per „SharePoint“ pranešimus ir užpuolikas atidaro naudodamas „Quick Assist“. |
Grafiko API | Nuo organizacijos C iki N/A | Turėjome požymių, kad kenkėjiška prieiga prie Microsoft Graph (graph[.]microsoft[.]com) buvo inicijuota kenkėjiško kliento.jar. |
Šiame etape nustatėme keturias pirmiau minėtas „Microsoft“ paslaugas / programas. Nors supratome pirmųjų trijų tikslą, veikla, nukreipta į Graph API, liko neaiški. Turėjome keletą prielaidų dėl galimo jo tikslo, bet reaguojant į incidentą vien prielaidų nepakanka, ar ne?
Siekdami surinkti daugiau informacijos ir geriau suprasti .JAR kenkėjišką programą „Cliento.jar“ sistemoje „OneDrive“ / „SharePoint“ – įvertinti galimus užpuoliko veiksmus ir suprasti jo ketinimus – pradėjome išsamią kenkėjiškos programos analizę.
Mes naudojome „Java“ dekompiliatorių, pavadintą „JDGUI“, norėdami dekompiliuoti kenkėjišką programą Client.jar (pavadinome „ODC2“).
Vien iš pradinio aukšto lygio pažvelgę į kenkėjišką programą, galėjome iš karto susieti ją su „PowerShell“ vykdymu, kurį matėme incidento tyrime. Taip yra dėl to, kad įtrauktas „ jPowerShell “ Java paketas - PowerShell paketas, skirtas Java.
Be to, galėjome matyti papildomų paketų, pvz., „komandos“, „ryšys“, „paleidimo priemonė“, „arba prisijungti“ ir kt. Tai suteikė mums aukšto lygio supratimą apie kenkėjiškų programų struktūrą.
Pradėjome nuo Main.class su „paleidimo priemonės“ paketu ir radome užkoduotų kredencialų rinkinį, kurį naudoja kenkėjiška programa. Tai mus šiek tiek nustebino, bet labai įdomu.
Toliau analizuodami kenkėjišką programą (kaip aprašyta toliau pateiktoje išsamioje analizėje), nustatėme, kad kenkėjiška programa naudojo šiuos kredencialus, kad atliktų „Entra ID“ autentifikavimą vardu. Norint atlikti šį autentifikavimą, buvo naudojamas užkoduotas atnaujinimo prieigos raktas su kliento ID ir kliento paslaptimi, kad būtų užklaustas prieigos raktas.
Autentifikavimas leido kenkėjiškajai programai pasiekti konkrečių „Entra ID“ naudotojų „OneDrive“ nuomininkus, kurie tariamai priklauso aktoriui, piktnaudžiaudami šia prieiga C2 tikslais.
Pagrindinėje Main.class funkcijoje matome patį įėjimo tašką, kuriame yra kelios gijos. Tai apima funkcijų „odThread1“ ir „mainThread1“ vykdymą.
„odThread1“ apima valdiklio „odRun“ funkcijos vykdymą, kuri autentifikavimui gauna pirmąjį koduotų kredencialų rinkinį (Refresh Token ir kt.).
Jis naudoja „40.90.196.221“ IP adresą „odRun“ ryšio sąrankai
„Run“ IP adresas „40.90.196.228“ inicijuoja HTTPS lizdą užpuoliko C2. Šis IP taip pat yra „Azure“ IP ir labai tikėtina, kad tai bus virtuali mašina. Šis C2 kanalas, kaip aprašyta toliau, yra labiau „klasikinis“ ir leidžia vykdyti „PowerShell“ komandas.
Norėdami gauti daugiau informacijos apie šiuos IP adresus, patikrinome žinomus išteklius, pvz., ipinfo.io ir Microsoft paskelbtas Azure IP adresų paslaugų žymas, kaip parodyta toliau esančioje ekrano kopijoje:
Taip pat verta paminėti, kad šioje kenkėjiškoje programoje rastas papildomas sunkiai užkoduotas IP adresas (38.180.136.85), atrodo, priklauso kitam paslaugų teikėjui ir yra susijęs su prieglobos paslaugomis. Remiantis mūsų įžvalgomis, šis IP adresas nebuvo aktyviai naudojamas kenkėjiškų programų. Manome, kad tai buvo dėl senų priežasčių (ankstesnė C2 infrastruktūra).
Šiek tiek giliau įsigilinus į „mainThread1()“, kuri vykdo funkciją „ctrl.run()“, matome, kad funkcija run() bando sukurti ryšį ir reguliariai tikrina, ar ryšys gyvas. Tada jis bando „išanalizuoti Command“, pašalindamas iš jos nesusijusias dalis.
Ši funkcija „paleisti“ naudoja „connect()“ ryšiui nustatyti / iš naujo nustatyti. Jis sukuria lizdą nuotoliniam IP adresui, kurį matėme aukščiau - 40.90.196.228.
Šiai „vykdymo“ funkcijai naudojama „CommandManager“, kuri apima skirtingus šios kenkėjiškos programos teikiamų komandų / galimybių, įskaitant failų perkėlimą iš kliento į serverį ir iš serverio į klientą, failų glaudinimą, ekrano kopijas, tinklo ryšių uždarymą ir, žinoma, komandų vykdymas.
Ji patikrina, ar gauta komanda yra tuščia, ar iš C2 serverio buvo gauta tikra komanda.
Jei komanda randama, ji ją analizuoja ir vykdo. Vykdymas iš esmės yra PowerShell kontekste.
Įeinančios komandos kaip „PowerShell“ komandos vykdymas vykdomas naudojant anksčiau minėtą „jPowerShell“ įvyniotuvą.
Prieš gilinantis į „OneDrive C2“ funkcijų pagrindą, svarbu pažymėti, kad svarbios kenkėjiškos programos kodo dalys labai priklauso nuo trijų konkrečių „OneDrive“ failų „tipų“: UUID, cf_UUID ir rf_UUID. Kaip pastebėta mūsų tyrimo metu, komanda Get-WmiObject -Class Win32_ComputerSystemProduct | Select-Object -ExpandProperty UUID
buvo vykdomas, atskleidžiant įrenginio aparatinės įrangos UUID. Šis unikalus identifikatorius padeda atskirti kiekvieną VEILDrive kampanijos auką.
Kiekvienas failo tipas vaidina skirtingą vaidmenį kenkėjiškos programos veikloje. Toliau pateiktoje ekrano kopijoje pateikiami šių failų pavyzdžiai ir pagrindiniai jų vaidmenys vykdant kenkėjiškas programas.
Pasinerkime į „OneDrive C2“ funkcijų srautą ir tai, kaip tie UUID failai naudojami praktiškai:
Be klasikinių nuotolinio vykdymo galimybių per PowerShell, funkcija „odRun“ yra atsakinga už kitą giją, pagrįstą „OneDrive“ kaip ryšio kanalu. Tai unikali šios kenkėjiškos programos dalis.
„odRun“, kaip mes matome, tikriausiai pavadintas „OneDrive“ („OneDriveRun“) vardu ir apima „OneDrive“ ryšio sukūrimą naudojant „Odconnect“ funkciją kaip pirmąjį veiksmą:
Kaip matote, pirmiausia eilutė „machineUUID“ nustatoma kaip tuščia eilutė. Po to įvykdoma funkcija „getMachineUUID()“, kuri, kaip rodo jos pavadinimas, gauna nukentėjusio įrenginio mašinos UUID:
Tada matome, kad „OneDrive“ ryšys vykdomas naudojant „OdConnect“ funkciją – prisijungiama prie „login[.]microsoftonline[.]com“, kad būtų sukurtas / atnaujintas naujų prieigos ir atnaujinimo prieigos raktų rinkinys. .
"checkFile": ši funkcija patikrina, ar dabartinio vartotojo OneDrive namų aplanke yra failas pavadinimu == machineUUID
OneDrive failas, pavadintas įrenginio machineUUID (be priešdėlių).
Bus vykdomas cf_MachineUUID failo turinys.
Po to vėl įrašomas failas į OneDrive, naudojant „ writeFileToOneDrive “, pirmiausia „rf_“ + machineUUID, su vykdymo atsako turiniu.
Ir dar vienas „ writeFileToOneDrive “ naudojimas, norint įrašyti ir ištuštinti „cf_“ failą, iš esmės užkertant kelią kito tos pačios komandos vykdymui (nes kenkėjiška programa veikia cikle).
Trumpai apibendrinant, atrodo, kad ši kenkėjiška programa turi du skirtingus C2 kanalus, su kuriais ji gali veikti:
HTTPS Socket C2 : labiau klasikinis metodas, gaunantis komandas iš nuotolinio Azure VM ir vykdant jas PowerShell kontekste.
„OneDrive“ pagrindu sukurtas C2 : tai yra unikalesnė, o veikimo būdas yra šiek tiek sudėtingesnis ir kūrybiškesnis. Jį sudaro trys skirtingi failai, kuriuose yra nukentėjusio įrenginio UUID, kai kurie su priešdėliais (rf_ ir cf_). Kad grėsmės veikėjas galėtų lengvai siųsti komandas ir gauti jas naudojant Microsoft Graph.
Pastaba : svarbu paminėti, kad ši kenkėjiška programa, be standartinio komandų vykdymo, turi papildomų galimybių, įskaitant failų perdavimą. Tačiau aukščiau pateikta išsami informacija skirta tik komandos vykdymo aspektui.
Šiuo metu akivaizdu, kad ši ataka sumaniai sujungė paprastus metodus su sudėtinga, unikalia taktika. Viena išskirtinė mūsų pradinio tyrimo savybė buvo platus „Microsoft“ infrastruktūros ir paslaugų, integruotų kampanijos metu, naudojimas.
Išanalizavę kenkėjišką programą ir susieję naują informaciją su tyrimo įžvalgomis, aiškiau supratome, kaip užpuolikas naudojasi įvairiomis paslaugomis ir jų tikslais. Pastebėjome, kad „Microsoft“ paslaugų ir infrastruktūros panaudojimas buvo dar platesnis, nei manyta iš pradžių.
Žemiau esančioje lentelėje rasite trumpą santrauką:
Aptarnavimas | Nuomininkas | Tikslas |
---|---|---|
Microsoft komandos | Nuo Org A iki Org C | „Spear Phishing Messages“, kad priviliotų auką atsisiųsti ir vykdyti nuotolinio valdymo įrankį |
Greitoji pagalba | Organizacija C | Grėsmės veikėjas siunčia greitosios pagalbos kodą naudodamas „Microsoft Teams“ pranešimą, kad gautų pradinį nuotolinio valdymo pultą |
SharePoint | Nuo Org B iki Org C | Kenkėjiški failai yra „priglobti“ organizacijos B „SharePoint“ nuomininke. Atsisiuntimo nuorodos bendrinamos su „Org C“ per „SharePoint“ pranešimus ir užpuolikas atidaro naudodamas „Quick Assist“ |
Azure VM | Užpuoliko infrastruktūra | Kenkėjiška programa susisiekė su „Azure“ virtualia mašina, kuri priklauso grėsmės veikėjui HTTPS Socket C2 tikslais. |
„OneDrive“ („Graph API“) | Tarp „Attacker's OneDrive“ ir „Org C“ prieglobos (-ų) | Grėsmių veikėjas naudojo „OneDrive“ kaip papildomą C2 kanalą, kad gautų tokias funkcijas kaip nuotolinis komandų vykdymas, ekrano kopijų darymas, failų atsisiuntimas / įkėlimas ir kt., taikomi organizacijos C prieglobai. |
Azure AD programos registracija | Tarp „Attacker's OneDrive“ ir „Org C“ pagrindinio kompiuterio (-ų | Programa buvo naudojama autentifikuoti „Azure AD“ vartotojo abonemento, priklausančio aktoriui, vardu ir pasiekti jos „OneDrive“ pagrindinį aplanką. |
C5f077f6-5f7e-41a3-8354-8e31d50ee4d
893e5862-3e08-434b-9067-3289bec85f7d
B686e964-b479-4ff5-bef6-e360321a9b65
2c73cab1-a8ee-4073-96fd-38245d976882
SafeShift390[.]onmicrosoft[.]com
GreenGuard036[.]onmicrosoft[.]com
a515634efa79685970e0930332233aee74ec95aed94271e674445712549dd254
1040aede16d944be8831518c68edb14ccbf255feae3ea200c9401186f62d2cc4
7f61ff9dc6bea9dee11edfbc641550015270b2e8230b6196e3e9e354ff39da0e
d6af24a340fe1a0c6265399bfb2823ac01782e17fc0f966554e01b6a1110473f
7f33398b98e225f56cd287060beff6773abb92404afc21436b0a20124919fe05
40.90.196[.]221
40.90.196[.]228
38.180.136[.]85
213.87.86[.]192
Be konkrečių aukščiau paminėtų IOC, sukūrėme kelias grėsmių paieškos užklausas, kurios gali būti naudojamos aptikti atakas, sukeltas to paties veikėjo, vykdomas pagal tą pačią kampaniją arba turinčias panašias charakteristikas (TTP).
Pastaba: rekomenduojamas VEILDrive medžioklės laikotarpis yra nuo 2024 m. liepos mėn.
Užklausos logika: atlikdami analizę nustatėme, kad užpuoliko nuotolinės prieigos įrankis (RAT) naudojo Powershell, kad gautų mašinos UUID kaip vykdymo proceso dalį. Ši užklausa aptinka neįprastus „Powershell“ atvejus, kuriuos sukūrė javaw.exe su konkrečiomis komandinės eilutės vėliavėlėmis, kurias naudoja grėsmės veikėjas.
Užklausa:
SELECT EVENT_TIME, AGENT_ID, PARENT_PROCESS_NAME, PARENT_PROCESS_COMMANDLINE, INITIATING_PROCESS_NAME, INITIATING_PROCESS_COMMANDLINE, TARGET_PROCESS_NAME, TARGET_PROCESS_COMMANDLINE, TARGET_PROCESS_OS_PID FROM INVESTIGATION.EDR_PROCESS_CREATION_EVENTS WHERE 1=1 AND PARENT_PROCESS_NAME ILIKE '%javaw%' AND INITIATING_PROCESS_NAME ILIKE '%cmd%' AND TARGET_PROCESS_NAME ILIKE '%powershell%' AND TARGET_PROCESS_COMMANDLINE ILIKE 'powershell.exe -ExecutionPolicy Bypass -NoExit -NoProfile %' AND EVENT_TIME > current_timestamp - interval '60d'
Užklausos logika: ši užklausa aptinka suplanuotos užduoties egzempliorius, kurie registruojami vykdant ROM įrankį, kurį grėsmės veikėjas naudoja išlikimui.
Užklausa:
SELECT EVENT_TIME AS EVENT_TIME, AID AS AGENT_ID, CID AS COMPUTER_ID, EVENT_SIMPLE_NAME AS EVENT_NAME, RAW:TaskName AS TASK_NAME, RAW:TaskExecCommand AS TASK_EXEC_COMMAND, RAW:TaskAuthor AS TASK_AUTHOR, RAW:UserName AS USER_NAME --- Adjust according to your EDR of choice FROM RAW.CROWDSTRIKE_RAW_EVENTS WHERE EVENT_SIMPLE_NAME = 'ScheduledTaskRegistered' AND TASK_EXEC_COMMAND ILIKE '%romserver%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'
SET YOUR_ORGANIZATION_NAME = 'hunters'; SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, OPERATION AS EVENT_TYPE, SPLIT_PART(LOWER(SPLIT_PART(USER_ID, '@', 2)), '.', 1) AS SENDER_ORG_DOMAIN, RECORD_SPECIFIC_DETAILS:message_ur_ls AS MESSAGE_URLS, WORKLOAD AS WORKLOAD, USER_ID AS USER_ID, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS FROM RAW.O365_AUDIT_LOGS WHERE NOT USER_ID ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND (NOT (MESSAGE_URLS ILIKE '%' || SENDER_ORG_DOMAIN || '%') AND MESSAGE_URLS ILIKE '%sharepoint%') AND NOT MESSAGE_URLS ILIKE '%' || $YOUR_ORGANIZATION_NAME || '%' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '60d'
Užklausos logika: ši užklausa aptinka laiškus, siunčiamus išorinių vartotojų iš neįprastų domenų asmeninio pokalbio metu. Užklausa išfiltruoja plačiai naudojamus domenus pagal istorinę veiklą ir identifikuoja išorinius narius, įtrauktus į pokalbius, kurie gali vykdyti sukčiavimo atakas.
Užklausa:
SET YOUR_DOMAIN_NAME = 'hunters'; --- GET EXTERNAL TEAMS AND ONEDRIVE USERS OF THE LAST 3 MONTHS - TO CLEAN EXTENSIVELY USED DOMAINS WITH COMMONLY_USED_DOMAINS AS ( SELECT LOWER(SPLIT_PART(USER_ID , '@', 2)) AS DOMAIN_COMMONLY_USED, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE WORKLOAD IN ('MicrosoftTeams', 'OneDrive') AND EVENT_TIME > CURRENT_TIMESTAMP - interval '90d' AND USER_ID ILIKE '%@%' GROUP BY DOMAIN_COMMONLY_USED HAVING COUNTER > 20 ), ---- Get List of External Domains that recently communicated with our organization using Microsoft Teams LATEST_EXTERNAL_DOMAINS AS ( SELECT USER_ID AS LATEST_EXT_USERS, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, MIN(EVENT_TIME) AS MIN_EVENT_TIME, MAX(EVENT_TIME) AS MAX_EVENT_TIME, ARRAY_AGG(DISTINCT OPERATION) AS OPERATIONS, ARRAY_AGG(DISTINCT RECORD_SPECIFIC_DETAILS:communication_type) AS COMMUNICATION_TYPE, COUNT(*) AS COUNTER FROM RAW.O365_AUDIT_LOGS WHERE EVENT_TIME > CURRENT_TIMESTAMP - interval '50d' AND NOT USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND NOT USER_ID IN ('app@sharepoint') AND USER_ID ILIKE '%@%' -- CLEAN-UP OF EXTENSIVELY USED DOMAINS AND USER_DOMAIN NOT IN (SELECT DISTINCT DOMAIN_COMMONLY_USED FROM COMMONLY_USED_DOMAINS) AND OPERATION IN ('MemberAdded', 'ChatCreated') AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' GROUP BY USER_ID HAVING COUNT(*) > 5 ) SELECT EVENT_TIME, ORGANIZATION_ID AS ORG_ID, WORKLOAD AS WORKLOAD, OPERATION AS OPERATION, USER_ID AS USER_ID, LOWER(SPLIT_PART(USER_ID , '@', 2)) AS USER_DOMAIN, RECORD_SPECIFIC_DETAILS:chat_thread_id AS CHAT_THREAD_ID, RECORD_SPECIFIC_DETAILS:communication_type AS COMMUNICATION_TYPE, RECORD_SPECIFIC_DETAILS:members[0].DisplayName AS MEMBER_DISPLAY_NAME_0, RECORD_SPECIFIC_DETAILS:members[0].UPN AS MEMBER_UPN_0, RECORD_SPECIFIC_DETAILS:members[0] AS MEMBERS_0, RECORD_SPECIFIC_DETAILS:members[1].DisplayName AS MEMBER_DISPLAY_NAME_2, RECORD_SPECIFIC_DETAILS:members[1].UPN AS MEMBER_UPN_2, RECORD_SPECIFIC_DETAILS:members[1] AS MEMBERS_2, RECORD_SPECIFIC_DETAILS:resource_tenant_id AS RESOURCE_TENANT_ID, RECORD_SPECIFIC_DETAILS, RAW:ClientIP AS CLIENT_IP FROM RAW.O365_AUDIT_LOGS WHERE 1=1 AND RECORD_SPECIFIC_DETAILS:communication_type = 'OneOnOne' AND ( RECORD_SPECIFIC_DETAILS:members[0].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) OR RECORD_SPECIFIC_DETAILS:members[1].UPN IN (SELECT LATEST_EXT_USERS FROM LATEST_EXTERNAL_DOMAINS) ) AND USER_ID ILIKE '%' || $YOUR_DOMAIN_NAME || '%' AND OPERATION = 'MemberAdded' AND EVENT_TIME > CURRENT_TIMESTAMP - interval '50d';
Išsami užklausos logika: kadangi ši užklausa yra šiek tiek sudėtinga, čia pateikiamas logikos paaiškinimas. Pirma, mes naudojame „Snowflake“ funkciją „CTE“, kad sukurtume du vaizdus:
Galiausiai gauname išsamią informaciją apie naudotoją ir su juo susijusį domeną, užklausę filtruotus rezultatus iš LATEST_EXTERNAL_DOMAINS.
Apėmėme medžioklės ir tyrimo aspektus, susijusius su daugybe aktoriaus naudojamų puolimo technikų. Taip pat žinoma, kad kai kurie iš tų kenkėjiškų metodų ir metodų naudojami įvairiose kampanijose.
Apsaugodami savo organizaciją nuo šių grėsmių, galite žymiai sumažinti sėkmingų atakų, nukreiptų į įvairias jūsų organizacijos infrastruktūros dalis, riziką.
Štai keletas higienos grynuolių, kurie gali būti naudojami siekiant pagerinti jūsų laikyseną:
VEILDrive sujungia paprastumą ir rafinuotumą. Buvo įdomu stebėti klasikinių C2 charakteristikų naudojimą lygiagrečiai su C2 per OneDrive, taip pat klasikinio suplanuoto užduočių atkaklumo naudojimą kartu su kenkėjiškų programų vykdymu, kurio aukščiausios klasės EDR neaptinka.
Tyrimo ir grėsmių tyrimo metu nustatytos charakteristikos buvo įdomios ir leido mums geriau suprasti, kaip šis grėsmės veikėjas veikia, kokiomis žinomomis paslaugomis jis piktnaudžiauja, kaip jomis piktnaudžiauja ir kokiu tikslu.
Tai, kaip „OneDrive“ buvo piktnaudžiaujama C2 ryšiui VEILDrive, turėjo unikalių savybių. Tačiau bendroji „OneDrive“ piktnaudžiavimo C2 tikslais samprata per pastaruosius mėnesius išaugo, todėl verta tai atsiminti.
Pradinė prieiga per sukčiavimą tokiose komunikacijos platformose kaip „Microsoft Teams“, „Slack“ ir panašiose paslaugose tampa vis dažnesnė.
Prognozuojame, kad laikui bėgant tai taps dar dažnesnė. Taigi su šiuo aspektu susijusios higienos ir laikysenos priemonės (kaip minėta aukščiau esančiuose higienos grynuoliuose) yra labai svarbios.
Nuotolinio administravimo įrankiai jau labai populiarūs tarp grėsmės veikėjų. Norint sumažinti neteisėtos prieigos galimybę naudojant tokias priemones, galima taikyti įvairius metodus. Mūsų požiūriu, šioje srityje rekomenduojamas metodas yra įtraukimas į baltąjį sąrašą (įtraukimas į sąrašą) kartu su patikimu stebėjimu.
Tikimės, kad atsiras daugiau tokio pobūdžio kampanijų, kuriose bus naudojami panašūs metodai ir savybės. Todėl primygtinai rekomenduojama nuolat stebėti ir aktyviai ieškoti tokio tipo grėsmių.
Norėdami gauti naujausią informaciją apie grėsmių paieškos tyrimus, veiklą ir užklausas, sekite Team Axon X/Twitter paskyrą ( @team__axon ).