ESET teeb koostööd oma partnerite Microsofti, Lumeni Black Lotus Labsi, NTT Ltd. ja teistega, et segada Trickboti robotvõrke. ESET panustas projekti tehnilise analüüsi, statistilise teabe ning teadaolevate käsu- ja juhtimisserveri domeeninimede ja IP-de andmete edastamisega.
Trickbot on alates 2016. aasta lõpust nakatanud kogu maailmas üle miljoni arvutiseadme ning oleme jälginud nende tegevust algusest peale. Ainuüksi 2020. aastal analüüsis meie automaatne platvorm enam kui 125 000 pahatahtlikku proovi ning laadis alla ja dekrüpteeris enam kui 40 000 Trickboti moodulite poolt kasutatavaid konfiguratsioonifaile, andes meile suurepärase ülevaate antud robotvõrgu kasutatavate C&C serverite osas.
Trickbot, kauakestev robotvõrk
Trickbot on häirinud interneti kasutajaid juba pikemat aega. ESET tuvastas esimest korda Trickboti 2016. aasta lõpus. Nende aastate jooksul on Trickboti rünnakud olnud pidevad, mis teeb sellest ühe suurima ja pikaealisema robotvõrgu. Kirjutasime meie 2020. aasta esimese kvartali ohurapordis, et Trickbot on üks levinumaid panganduse pahavara troojalasi. Joonisel 1 on näha ESETi telemeetria andmed – kaardilt on selgelt nähe, et antud pahavara tüvi kujutab endast ohtu interneti kasutajatele üle kogu maailma.
Joonis 1. Trickbot on panganduse troojalane, millest teatati esmakordselt 2016. aastal. See on arenenud ja püsiv modulaarne trooja, mille eesmärk on varastada panga kasutajate andmeid
Seda on levitatud mitmel viisil. Hiljuti täheldasime, et Trickbotiga nakatati süsteeme, mida ohustas juba eelnevalt Emotet, veel üks suur robotvõrk. Varem kasutati Trickboti pahavara peamiselt panganduse troojalasena, varastades veebipanga kontodelt kasutajate andmeid ja üritades seeläbi teostada pettusi.
Trickboti modulaarne ülesehitus võimaldab tal teha mitmesuguseid pahatahtlikke tegevusi, kasutades selleks erinevaid pluginaid. See võib arvutist varastada igasuguseid andmeid ja viimasel ajal on seda kasutatud kahjulikemate rünnakute, nagu näiteks lunavara, edastusmehhanismina.
Üks vanimaid platvormi tarbeks loodud pluginaid võimaldab Trickbotil kasutada veebilehe muutjaid – tehnika, mis võimaldab pahavaral muuta pilti, mida kasutaja näeb rikutud süsteemiga veebilehtedel. Plugina toimimise tagavad peamooduli alla laaditud konfiguratsioonifailid. Need sisaldavad teavet veebilehtede kohta, mida tuleks muuta ja kuidas seda teha. Joonisel 2 on väljavõte ühest sellisest dekrüpteeritud konfigureerimisfailist, mis sisaldab sihitud URL-e ja pahatahtlikke C&C URL-e, millega peaks bot ohvri URL-idele juurdepääsemiseks “ühendust võtma”.
Joonis 2.Väljavõte dekrüpteeritud dinj konfiguratsioonifailist (redigeeritud)
Trickboti rünnakute jälgimisel kogusime kümneid tuhandeid erinevaid konfiguratsioonifaile, mis võimaldas meile tuvastada Trickboti operaatorite sihitud veebilehti. Joonisel 3 on näidatud konfiguratsioonifailidest eraldatud veebilehtede arv 2020. aastal.
Joonis 3. Sihitud veebilehtede arv 2020. aastal
Need URL-id kuuluvad enamasti finantsasutustele. Nendest konfiguratsioonifailidest leitud sihtmärkide arv on alates märtsist järsult langenud. See langeb kokku ajaga, mil Trickboti operaatorid jätsid veebilehe muutja mooduli välja automaatselt alla laaditud vaike pluginaprogrammide loendist – seetõttu ei ole meil ka andmeid märtsi kohta; pidime kohandama oma protsesse, et säilitada sihitud URL-ide nähtavust. Arvude langus on tõenäoliselt tingitud sellest, et Trickboti jõuk hakkas keskenduma teisele monetiseerimise võimalusele: lunavarale.
Nendel juhtudel kasutatakse kõigepealt Trickbotiga ohustamist, et korraldada organisatsiooni võrgus vaatlust ja põikiliikumisi ning nakatada seejärel võimalikult palju süsteeme Ryuki lunavaraga. Kogutud andmete põhjal näeme, et Trickboti operaatorid liikusid pangakontodelt raha varastamise juurest kogu organisatsiooni ohustamie juurde ning kasutasid seejärel Trickboti Ryuki täideviimiseks ning lunaraha nõudmiseks nakatatud süsteemide avamiseks.
Samuti täheldasime uusi ning väidetavalt Trickboti operaatoritelt pärit pahavara arendusprojekte, mis võivad selgitada nende äkilist loobumist Trickboti kui panganduse troojalase kasutamisest. Üks neist projektidest on nn Anchor projekt, platvorm, mis on enamasti suunatud spionaažile, mitte kuritegevusele. Samuti on nad tõenäoliselt seotud Bazari pahavaraga – laadija ja tagauksega, mida kasutatakse pahavara, näiteks lunavara, juurutamiseks ja tundlike andmete varastamiseks nakatunud süsteemidest.
Trickbot sukeldub sügavale
Trickboti teeb mitmekülgseks selle funktsioonide laiendamise võimalus pluginatega. Monitoorimise käigus suutsime koguda ja analüüsida 28 erinevat pluginat. Mõni on mõeldud salasõnade kogumiseks brauseritest, e-posti klientidelt ja erinevatest rakendustest, teised aga saavad muuta võrguliiklust või olla ise levitajaks. Trickboti pluginaid kasutatakse Windowsi standardsete DLL-failidena, tavaliselt vähemalt järgmise nelja eristava ekspordiga: Start, Control, Release and FreeBuffer.
Huvitav on, et mõnel on Rich päised ja teisel ei ole. Rich päised on dokumenteerimata andmestruktuur, mis on lisatud kõikidele Microsoft Visual Studio 97 SP3 või uuemate versioonide koostatud binaarfailidele. Need sisaldavad teavet arenduskeskkonna osas, kuhu lisati käivitatav fail. Asjaolu, et Rich päised ei ole alati pluginatest leitavad – ja kui nad ka on seal olemas, näitavad nad erinevaid arenduskeskkondi, sunnib meid uskuma, et need pluginad on kirjutanud erinevad arendajad.
Huvitav on, et mõnel on Rich päised ja teisel ei ole. Rich päised on dokumenteerimata andmestruktuur, mis on lisatud kõikidele Microsoft Visual Studio 97 SP3 või uuemate versioonide koostatud binaarfailidele. Need sisaldavad teavet arenduskeskkonna osas, kuhu lisati käivitatav fail. Asjaolu, et Rich päised ei ole alati pluginatest leitavad – ja kui nad ka on seal olemas, näitavad nad erinevaid arenduskeskkondi, sunnib meid uskuma, et need pluginad on kirjutanud erinevad arendajad.
Joonis 4. Iga Trickboti plugina variatsioonide arv
Konfiguratsioonifailid kõigile
Kuigi Trickboti installis on palju potentsiaalselt erinevaid allalaaditud konfiguratsioonifaile, sisaldab põhimoodul krüpteeritud, kõvakoodiga konfiguratsiooni. See sisaldab loetelu C&C serveritest ja ka vaikeloendit pluginatest, mis tuleks laadida alla.
Nagu varem mainitud, tuginevad mõned pluginad nõuetekohaseks toimimiseks ka konfiguratsioonifailidele. Need pluginad tuginevad põhimoodulile, et see laadiks konfiguratsioonifailid C&C serveritest alla. Pluginad saavutavad selle väikese mooduli konfiguratsioonistruktuuri läbimisega, mis on salvestatud plugina binaarse katte jaotisesse, mis omakorda annab peamoodulile teavet alla laaditavate andmete osas.
Konfiguratsioonifailide kogumine võimaldas meil kaardistada Trickboti võrguinfrastruktuuri. Põhimoodul kasutab oma kõvakodeeritud C&C serverite loendit ja loob nendega ühenduse, et laadida alla teine C&C serverite loend, nn psrv-loend. Põhimoodul ühendub C&C serveri teise kihiga, et laadida alla kõvakoodiga konfiguratsioonifailis määratud vaike pluginad. Teisi mooduleid saab laadida alla hiljem, kui nad saavad Trickboti operaatorilt selleks käsu. Mõnel pluginal, näiteks injectDll-il, on oma C&C serverid, mis sisaldavad konfiguratsioonifaile. Ning viimasena on pluginate jaoks loodud eri C&C serverid. Kõige levinumad neist on nn dpost serverid, mida kasutatakse varastatud andmete, näiteks kasutajatunnuste filtreerimiseks, ent eksisteerib ka teisi. Kõik need lisakihid muudavad nende töö häirimise raskemaks. Joonisel 5 on näidatud esialgset suhtlusprotsessi.
Joonis 5. Trickboti võrgu suhtlusprotsess
Oleme jälginud neid erinevaid servereid alates 2017. aasta algusest. Need teadmised olid häirimise protsessis loomulikult hädavajalikud, kuna suutsime panustada pahatahtlike operaatorite poolt kasutatava võrguinfratruktuuri kaardistamisesse.
Veel üks huvitav tehisese, mille suutsime robotvõrku analüüsides leida, on igas Trickboti proovis olev unikaalne identifikaator, nn gtag. See on string, mis asub algses kõvakodeeritud konfiguratsioonifailis, tuvastades erinevaid Trickboti rünnakuid või ohustamisviise. Näiteks usutakse Emoteti pärast, et mor rünnakud on Trickboti kättetöö. gtagsid võivad mõnikord näidata ka rünnakut sihtmärki. Hea näide on uk03-1, mis on suunatud peamiselt Ühendkuningriigi finantsasutustele.
Joonisel on esitatud kõikide gtagside ajaskaala, mille oleme saanud Trickboti konfiguratsioonifailidest 2019. aasta septembrist kuni 2020. aasta septembrini. Vaadates mor gruppi, näeme Emoteti kampaaniate järsku lõppu aprillis 2020. Samuti on mõned rühmad, mida kasutatakse konkreetsete moodulite kaupa. Vastavalt viimasele Unit42 blogipostitusele on rühmad tot, jim ja lib ühed kõige enam vaadatud gtagsid ning need on seotud vastavalt moodulitega mshare, nworm / mworm ja tab. Kuna neid kõiki kasutatakse põikiliikumiseks, pole üllatav ajajoonel olev enamasti konstantne joon.
Joonis 6. gtags rühmade ajajoon
Lõpetuseks
Soov ja püüd häirida raskesti tabatavat ohtu nagu Trickbot, on väga keeruline ja mitmetahuline protsess. Sellel on erinevad tagavaramehhanismid ja selle seotus teiste põrandaaluste väga aktiivsete küberkurjategijatega muudab kogu operatsioni ülimalt keeruliseks. Jätkame Trickboti monitoorimisega ja hindame antud tegevuse mõju pikas perspektiivis niivõrd laialivalguvale robotvõrgule.
Eriline tänu Jakub Tomanekile, Jozef Dúcile, Zoltán Rusnákile ja Filip Mazánile
ESET tuvastamise nimed
Win32/TrickBot
Win64/TrickBot
MITRE ATT&CK tehnikad
Märkus. See tabel koostati MITER ATT & CK raamistiku 7. versiooniga
Taktika | ID | Nimetus | Kirjeldus |
---|---|---|---|
Esmane juurdepääs | T1566.001 | Andmepüük: õngevõtmise manus | Trickbot kasutas pahavara juurutamiseks Exceli tabeliga e-kirja, mis sisaldas pahatahtlikku makrot. |
Täitmine | T1059.003 | Käskude ja skriptide tõlk: Windowsi käsukest | Trickbot kasutas arvutis pahavara alla laadimiseks ja juurutamiseks cmd.exe / c. |
T1059.005 | Käskude ja skriptide tõlk: Visual Basic | Trickbot kasutas Exceli dokumentides olevaid makrosid pahavara alla laadimiseks ja juurutamiseks kasutaja arvutisse. | |
T1106 | Lokaalne API | Trickbot kasutab täisvoo haldamiseks Windows API CreateProcessW -i. | |
T1204.002 | Kasutaja “kätte saamine”: pahatahtlik fail | Trickbot on üritanud saada kasutajaid käivitada pahatahtlikku Exceli manust, et edastada kasulikku koormust. | |
T1059.007 | Käskude ja skriptide tõlk: JavaScript/Jscript | Trickboti grupp kasutas Trickboti laadija allalaadimiseks hägustatud JavaScripti. | |
T1559.001 | Protsessidevaheline suhtlus: komponentobjekti mudel | Trickbot kasutas püsivuse kavandatud toimingu seadistamiseks COM-i. | |
Järjekindlus | T1547.001 | Käivitamise või sisselogimise automaatne täitmine: registri käivitusklahvid / käivituskaust | Trickbot saavutab kausta Startup püsivuse. |
T1053.005 | Ajastatud ülesanne / töö: Ajastatud ülesanne | Trickbot loob süüsteemis püsivust tagava ajastatud ülesande. | |
Eesõiguse eskaleerimine | T1055.012 | Protsessi muutmine: protsessi õõnestamine | Trickbot muudab svchost.exe protsessi. |
Kaitse vältimine | T1140 | Failide või teabe hajutamine / dekodeerimine | Trickbot dekodeerib oma konfiguratsiooniandmed ja moodulid |
T1562.001 | Kaitse kahjustamine: tööriistade keelamine või muutmine | Trickbot saab blokeerida Windows Defenderi. | |
T1112 | Registri muutmine | Trickbot saab muuta registrikandeid. | |
T1027 | Varjatud failid või teave | Trickbot kasutab funktsionaalsuse peitmiseks mittekirjeldavaid nimesid ja kasutab oma laadija- ja konfiguratsioonifailide jaoks AES-CBC (256 bitti) krüpteerimisalgoritmi. | |
T1027.002 | Tarkvara pakkimine | Trickbot kasutab kohandatud pakkijat selle funktsionaalsuse hägustamiseks. | |
T1553 | Subvert Trust Controls | Trickbot kasutab varastatud kehtivate sertifikaatidega allkirjastatud laadijaid. | |
Juurdepääs andmetele | T1555.003 | Salasõna loojate andmed: veebibrauserite andmed | Trickbot suudab hankida salasõnu, mis on salvestatud Chrome, Firefox, Internet Explorer ja Microsoft Edge brauseritesse. |
T1056.004 | Sisendi hõivamine: identifitseerimis API ühendamine | Trickbotil on võimalus hõivata RDP andmeid, hõivates CredEnumerateA API. | |
T1552.001 | Mitteturvalised andmed: andmed failides | Trickbot saab hankida salasõnu, mis on salvestatud mitmetes rakendustes, näiteks Outlook, Filezilla ja WinSCP. Lisaks otsib VNC kasutajaandmete varastamiseks järelliidet .vnc.lnk | |
T1552.002 | Mitteturvalised andmed: Andmed registris | Trickbot saab hankida PuTTY andmeid Software\SimonTatham\Putty\Sessions registrivõtmega. | |
T1110 | Brute Force “Jõurünne” | Trickbot kasutab rdpscanDll moodulit RDP rünnakus. | |
Leiud | T1087.001 | Konto leidmine: lokaalne konto | Trickbot kogub süsteemi kasutajaid. |
T1087.003 | Konto leidmine: e-posti konto | Trickbot kogub Outlookist e-posti aadresse. | |
T1082 | Süsteemi teabe leidmine | Trickbot koondab ohvri masinast saadaoleva operatsioonisüsteemi versiooni, protsessori tüübi, RAM-i hulga. | |
T1083 | Failide ja kataloogide tuvastamine | Trickbot otsib süsteemist kõiki järgmisi faililaiendeid: .avi, .mov, .mkv, .mpeg, .mpeg4, .mp4, .mp3, .wav, .ogg, .jpeg, .jpg, .png, .bmp, .gif, .tiff, .ico, .xlsx, and .zip. See võib hankida ka sirvimisajalugu, küpsiseid ja teavet plugina osas. | |
T1016 | Süsteemi võrgu konfigureerimise tuvastamine | Trickbot hangib ohvri masinast IP-aadressi ja muu asjakohase võrguteabe. | |
T1007 | Süsteemiteenuse tuvastamine | Trickbot kogub süsteemi arvutisse installitud programmide ja teenuste loendi. | |
T1135 | Võrgu jagamise tuvastamine | Trickboti moodul shareDll / mshareDll avastab võrguaktsiad läbi WNetOpenEnumA API. | |
T1057 | Protsessi tuvastamine | Trickbot kasutab protsessiloendi avastamiseks moodulit networkDll. | |
Põikiliikumine | T1210 | Kaugteenuste kasutamine | Trickbot kasutab moodulites külgsuunas liikumiseks EthernalBlue ja EthernalRomance turvaauke wormwinDll, wormDll, mwormDll, nwormDll, tabDll. |
Kogumine | T1005 | Lokaalse süsteemi andmed | Trickbot kogub lokaalseid faile ja teavet ohvri lokaalsest masinast. |
T1185 | Man-in-the-browser (MITB, MitB, MIB, MiB) | Trickbot kasutab veebilehe muutjaid ja brauseri ümbersuunamist, et meelitada ohvreid võltsitud või muudetud veebisaidil sisestama oma andmeid. | |
Juhtimine ja kontroll | T1071.001 | Ülemise kihi protokoll: veebiprotokollid | Trickbot kasutab HTTPS-i oma C&C serveriga ühendumisel, pahavara uuendamiseks, suurema osa pahavara loogikat sooritavate moodulite ja erinevate konfiguratsioonifailide hankimisekss. |
T1573.001 | Krüpteeritud kanal: sümmeetriline krüptograafia | Trickbot kasutab C&C liikluse krüptimiseks kohandatud krüptot, mis kasutab ära Microsofti CryptoAPI-t. | |
T1105 | Ligipääsu tööriista ülekandmine | Trickbot laadib alla mitu täiendavat faili ja salvestab need ohvri masinasse. | |
T1571 | Mittestandardne port | Mõnes Trickboti proovis on C&C jaoks kasutatud HTTP-d portide 447 ja 8082 asemel. | |
T1219 | Kaugjuurdepääsu tarkvara | Trickbot kasutab ohvri masina kaugjuhtimiseks vncDll moodulit. | |
Väljumine | T1041 | Ekstraheerimine läbi C2 kanali | Trickbot filtreerib andmed läbi C&C kanali, kasutades HTTP POST-päringuid. |
Lisa
Külgmised liikumismoodulid
- shareDll, mshareDll, tshareDll
- Moodulid, mida kasutatakse Trickboti laadija levitamiseks nakatunud masina ühendatud võrguvarusse.
- wormwinDll, wormDll, mwormDll, nwormDll
- Moodulid, mida kasutatakse nakatunud masinate lokaalses võrgus viiruse levitamiseks SMB kaudu. See kasutab EternalBlue turvaauku.
- tabDll
- Moodul, mida levitatakse võrgus EternalRomance’i abil.
Teabe hankijad
- pwgrab
- Parooli varastamise moodul..
- systeminfo
- Moodul, mida kasutatakse ohvri masina kohta teabe kogumiseks.
- domainDll
- Moodul, mida kasutatakse volituste ja muude andmete varastamiseks domeenikontrollerilt läbi LDAP-i.
- networkDll
- Süsteemiteabe ja võrgu topoloogia kogumiseks kasutatav moodul.
- outlookDll
- Moodul, mida kasutatakse volituste varastamiseks Microsoft Outlookist.
- importDll
- Moodul, mida kasutatakse brauseriteabe, näiteks küpsiste, brauseri ajaloo, konfiguratsioonide varastamiseks.
- mailsearcher
- Moodul, mida kasutatakse failide otsimiseks kõvakodeeritud laiendite (dokumendid, pildid, video) loendi alusel.
- cookiesDll
- Veebibrauseri küpsiste varastamise moodul.
- squlDll
- Moodul, mida kasutatakse e-posti aadresside korjamiseks SQL-serverist ja Mimikatzi utiliidiga nakatunud süsteemi mandaatide skreipimiseks.
- aDll
- Varastab Active Directory andmebaasi.
- psfin
- Moodul esitab Active Directory päringud konkreetsete stringikonstandide jaoks, mis on seotud Point-of-Sale tarkvaraga.
Võrgu kuritarvitamine
- injectDll
- Veebilehe muutmise moodul.
- NewBCtestDll, NewBCtestnDll
- Moodul, mis on vastupidine puhverserver ja mis on võimeline täitma käske.
- vncDll
- Moodulit kasutatakse RAT-ina nakatunud masinas.
- vpnDll
- Moodul, mida kasutatakse konkreetsele aadressile suunatava VPN-puhverserveri loomiseks.
- rdpscanDll
- Moodul, mida kasutatakse RDP kautamiseks teatud sihtmärkide vastu.
- bcClientDllTestTest
- AVana moodul, mida kasutatakse Trickboti operaatori liikluse puhverdamiseks ohvrimasina kaudu.
- shadnewDll
- Man-in-the-Browser moodul. See sisaldab IcedID peamooduli täielikku rakendamist. See suudab pealt kuulata ohvrimasina veebiliiklusest.
Muud
- mexecDll
- Üldotstarbeline moodul “allalaadimine ja käivitamine”.
Moodulite nimed | Alamkonfiguratsioon | Rich päised |
---|---|---|
shareDll, mshareDll, tshareDll | EI | |
wormwinDll, wormDll, mwormDll, nwormDll | EI | |
tabDll | dpost | JAH |
pwgrab | dpost | JAH |
systeminfo | JAH | |
domainDll | EI | |
networkDll | dpost | JAH |
outlookDll | EI | |
importDll | EI | |
mailsearcher | mailconf | EI |
cookiesDll | dpost | JAH |
squlDll | JAH | |
aDll | JAH | |
psfin | dpost | JAH |
injectDll | dinj, sinj, dpost | JAH/EI |
NewBCtestDll, NewBCtestnDll | bcconfig3 | JAH |
vncDll | vncconf | JAH |
vpnDll | vpnsrv | JAH |
rdpscanDll | srv | JAH |
bcClientDllTestTest | JAH | |
shadnewDll | dom | JAH |
mexecDll | JAH |
Kasulikud lingid:
Microsofti blogi: https://blogs.microsoft.com/on-the-issues/?p=64132
Allikas: Welivesecurity
Jaga artiklit