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 nimedAlamkonfiguratsioonRich päised
shareDll, mshareDll, tshareDllEI
wormwinDll, wormDll, mwormDll, nwormDllEI
tabDlldpostJAH
pwgrabdpostJAH
systeminfoJAH
domainDllEI
networkDlldpostJAH
outlookDllEI
importDllEI
mailsearchermailconfEI
cookiesDlldpostJAH
squlDllJAH
aDllJAH
psfindpostJAH
injectDlldinj, sinj, dpostJAH/EI
NewBCtestDll, NewBCtestnDllbcconfig3JAH
vncDllvncconfJAH
vpnDllvpnsrvJAH
rdpscanDllsrvJAH
bcClientDllTestTestJAH
shadnewDlldomJAH
mexecDllJAH

Kasulikud lingid:

Microsofti blogi: https://blogs.microsoft.com/on-the-issues/?p=64132

Allikas: Welivesecurity