Myytäviä hakkereita: Buer Loader -haittaohjelman sisältä

Tutkiessamme Ryuk-hyökkäystä syyskuussa 2020 havaitsimme, että Ryuk-toimijat olivat käyttäneet suhteellisen uutta menetelmää alkuperäisen pääsyn hankkimiseen: Buer-nimistä haittaohjelmapudotinta. Syyskuun hyökkäys oli osa Sophosin jäljittämää vähäistä spear phishing -hyökkäystä. Seuraavan kuukauden aikana se kehittyi paljon suuremmaksi roskapostikampanjaksi, joka sisälsi Bueria sekä useita muuntyyppisiä ”ladattavia” haittaohjelmia, kun Ryuk-toimijat pyrkivät lisäämään hyökkäyksiään.

Buer esiteltiin ensimmäisen kerran elokuussa 2019, ja se on haittaohjelmia palveluna tarjoava tuote, jota käytetään toimittamaan mitä tahansa pakettia, jonka palveluasiakas haluaa, ja joka tarjoaa alustavan vaaratilanteen kohdehenkilöiden Windows-tietokoneille ja mahdollistaa digitaalisen rantautumispaikan luomisen myöhempää vahingollista toimintaa varten. Buer on aiemmin liitetty pankkitroijalaishyökkäyksiin ja muihin haittaohjelmien käyttöönottoihin – ja nyt lunnasohjelmaoperaattorit ovat ilmeisesti ottaneet sen omakseen. Buer on monella tapaa sijoitettu vaihtoehdoksi Emotetille ja Trickbotin kehittyvälle Bazar-kuormaajalle (jotka molemmat käyttävät samankaltaisia toimintatapoja käyttöönotossaan).

Full-service bots

Bueria mainostettiin ensimmäisen kerran foorumipostauksessa 20. elokuuta 2019 otsikolla ”Modular Buer Loader”, jota sen kehittäjät kuvailivat ”uudeksi modulaariseksi botiksi… kirjoitettu puhtaalla C:llä”, jonka komento- ja ohjauskoodi (C&C) on kirjoitettu .NET Core MVC:llä (jota voidaan käyttää Linux-palvelimilla). Verkkorikollinen voi ostaa 350 dollarilla (plus minkä tahansa palkkion, jonka kolmannen osapuolen takaaja ottaa) mukautetun lataajan ja pääsyn C&C-paneeliin yhdestä ainoasta IP-osoitteesta – osoitteen muuttaminen maksaa 25 dollaria. Buerin kehittäjät rajoittavat käyttäjien määrän kahteen osoitteeseen tiliä kohden.

Botin koodin, joka on käännetty käyttäjäkohtaisesti ladattavaksi, mainostettu koko vaihtelee 22 ja 26 kilotavun välillä – tosin tarkastelemamme näyte oli noin 40 kilotavua sen jälkeen, kun se oli purettu dropperista. Botti voidaan konfiguroida suoritettavaksi joko 32-bittisenä Windows-ohjelmana tai DLL:nä.

C&C:tä voidaan käyttää kampanjan onnistuneiden latausten määrän seurantaan ja tehtävien jakamiseen boteille suodattimien, kuten sijaintimaan, käyttöjärjestelmän ”bittisyyden” (32- tai 64-bittinen), tartunnan saaneen koneen prosessoreiden lukumäärän ja botin saamien käyttöoikeuksien tason perusteella. Botit, joiden havaitaan toimivan Itsenäisten valtioiden yhteisön alueella, sammutetaan – tämä on entisen Neuvostoliiton alueella kehitettyjen haittaohjelmien yleinen käyttäytymistapa, jolla yritetään välttää paikallisten viranomaisten huomio.

näyttökuva
Buer-loader-botin ”tiedostojenhallinta komento- ja ohjaus ”paneelissa”. Täältä voi ladata tiedostoja levitettäväksi – maksimikoko on 28 megatavua.
Buer-paneeli seuraa asennuksia käyttöjärjestelmän, suorittimen, ”bittisyyden” (32 tai 64), aktiivisuuden ja sen mukaan, millä maantieteellisellä alueella ne ovat lokalisointiasetusten ja muun sormenjälkitiedon perusteella.

Tehtävät voidaan ajoittaa suoritettaviksi tietyksi ajaksi tai ne voidaan keskeyttää käskystä, ja tehtävän telemetriatieto lähetetään takaisinkytkettynä paneeliin. Paneelia voidaan käyttää myös bottien päivitysten käyttöönottoon, mukaan lukien (ainakin mainoksen perusteella) moduulien käyttöönotto, jolloin valmiita moduuleja voidaan lisätä ”ajan myötä” osana palvelua. Ja tietenkin tarjotaan asennuskonsultointia ja teknistä tukea.

Palkinto jokaisen dokumentin sisällä

virtauskaavio
Buer-loader-hyökkäyksen kulku.

Sophosin nopean reagoinnin tiimi löysi Buer-näytteen syyskuisen Ryuk-hyökkäyksen perimmäiseltä syyltä. Loader toimitettiin Google Docsiin tallennetulla haitallisella asiakirjalla, joka vaati uhria ottamaan käyttöön skriptimuotoisen sisällön aktivoituakseen – käyttäytyminen oli samankaltaista kuin Emotetilla ja muilla haitallisten roskapostiviestien kautta tehdyillä loader-hyökkäyksillä, mutta siinä hyödynnettiin pilvitallennusta rikosteknisen analyysin vaikeuttamiseksi.

Keräsimme Sophosin roskaposti-loukkuihin muita viestejä samasta kampanjasta saman ajanjakson aikana. Kaikissa viesteissä käytettiin Google Docs -tiedostoja, ja ne lähetettiin käyttäen suosittua kaupallista sähköpostin jakelupalvelua – mikä peitti entisestään lähteen ja haitalliseen asiakirjaan liittyvän linkin.

näyttökuva sähköpostiviestistä
Esimerkki Spear Phishes -viestien jakelua tekevän Buer-botin alkuvaiheen toiminnasta.

Esimerkkinä tuon haitallista asiakirjaa jakelevan Buer-botin hyötykuormasta käytettiin nimeä printt_dokumentti.exe. Kuten muutkin analysoimamme Buer-dropper-näytteet, se oli digitaalisesti allekirjoitettu binääri, jossa käytettiin varastettua ja nyt kumottua varmentetta, jonka DigiCert oli myöntänyt puolalaiselle ohjelmistokehittäjälle ”NEEDCODE SP Z O O” ja joka oli myönnetty 17. syyskuuta 2020. Dropperi rakennettiin käyttäen muokattua koodia Microsoftin kuvankaappauksen esimerkkisovelluksesta, AcquireTestistä, käyttäen koodin ”file enumeration” -toimintoa koodin poistamiseen ja pudottamiseen.

Dropperi tekee useita asioita varmistaakseen asianmukaisen toimituksen. Se tarkistaa ensin debuggerin läsnäolon välttääkseen rikosteknisen analyysin, ja tarkistaa sitten kieli- ja lokalisointiasetukset määrittääkseen hyökkäyksen kohteena olevan järjestelmän maantieteellisen alueen. Jos asetukset vastaavat IVY-maata, se poistuu tallentamatta haittaohjelmaa. Muussa tapauksessa dropperi dumppaa sitten Buer-robotin muistiin ja suorittaa sen.

Huomionarvoista on, että Buer Loader- ja Ryuk-lunnasohjelmat käyttävät samaa shellcode-kuorintaohjelmaa (shellcode loader) suorittaakseen puretun haittaohjelmakoodin muistissa:

Buer loader shell code…

ja Ryuk loaderin kuorikoodi.

Tämä ei välttämättä ole osoitus yhteisestä tekijyydestä, vaan kehittäjät ovat saattaneet yksinkertaisesti käyttää lähteenä samaa esimerkkikoodia.

Buer-robotti tekee käynnistyksen yhteydessä useita asioita asettautuakseen. Botti suorittaa kaksi PowerShell-komentosarjaa – yhden, jolla ohitetaan suorituskäytännöt, jotta botin suorittamat PowerShell-komennot menevät läpi ilman varoituksia (Set-ExecutionPolicy Bypass), ja toisen (add-mppreference -exclusionpath), jolla tehdään muutoksia Windows Defenderin poissulkemisluetteloon, jolloin sen lataamat tiedostot jäävät Windowsin sisäänrakennetun haittaohjelmasuojauksen ulkopuolelle.

Buer kysyy Windows-rekisteristä \Microsoft\Cryptography\MachineGuidin arvoa saadakseen tartunnan saaneen koneen yksilöllisen tunnisteen. Sitten botti soittaa kotiin ja on vuorovaikutuksessa komento- ja ohjauspalvelimen (tässä tapauksessa 104248.83.13) kanssa useiden suojattujen HTTP-”POST”- ja ”GET”-viestien välityksellä.

Sitten on Buerin ”lataaja”-osa. Buerin pudotettavaksi pakatut tiedostot haetaan määrätystä lähteestä ja pudotetaan kansioon, joka luodaan C:\ProgramData\-hakemistoon – hakemiston nimi luodaan ohjelmallisesti ja se vaihtelee käyttöönottojen mukaan. Syyskuun hyökkäyksessä Bueria käytettiin Cobalt Strike -majakan levittämiseen saastuneeseen tietokoneeseen, jota puolestaan käytettiin verkon hyväksikäyttöön ja Ryuk-hyökkäyksen käynnistämiseen.

Mixing it up

Haitallinen roskapostikampanja, joka johti Buer-loader- ja Ryuk-lunnasohjelmatartuntoihin, kehittyi syyskuun lopussa, kun havaitsimme, että sen takana olevat toimijat siirtyivät samoilla taktiikoilla pois vähäisestä määrästä SendGridin kautta lähetettävään postiin, joka lähetettiin Internet-hosting-palveluntarjoajien välityksellä – pääasiassa yhden venäläisen Internet-palveluntarjoajan kautta. Lokakuussa roskapostin määrä kasvoi sitten dramaattisesti siirtymällä Google Docsista (koska Google sulki vanhat tiedostot käyttöehtojen rikkomisen vuoksi) toiseen kaupalliseen sähköposti- ja tiedostojen jakelupalveluun.

Hieman vähemmän kohdennettu roskapostiviesti, jossa oli linkki Constant Contactin tallentamaan haittaohjelmaan.

Kahdessa viimeisessä vaiheessa roskapostin lähettäjä pysyi samankaltaisena ja muutkin tuntomerkit viittasivat roskapostin lähettäjätahojen samankaltaisuuteen, mutta liitetiedostoissa levitettiin useita erityyppisiä ”dropperi”-haittaohjelmia. Buerin lisäksi löydettiin myös näytteitä Bazarista ja ZLoaderista, joiden hyötykuormat vaihtelivat. Eräässä Bazar loaderin hyötykuormassa hyökkääjät käyttivät salasanalla suojattua Excel-taulukkolaskentaohjelmaa. Samaan aikaan Bazarin ja ZLoaderin tiedettiin osallistuneen myös Ryuk-hyökkäyksiin.

On selvää, että Ryuk on palannut ja että sen takana olevat toimijat kehittävät menetelmiään hyökkäyksen alkuvaiheessa käyttämällä useita loader-botteja alkuperäisen pääsyn saavuttamiseksi. Ei ole selvää, onko kaikkien näiden hyökkäysten takana sama toimija, joka käyttää useita haittaohjelma-as-a-service-alustoja Ryukin toimittamiseen, vai onko Ryuk-toimijoita useita. Tekniikoiden samankaltaisuus näissä kampanjoissa viittaa kuitenkin siihen, että niiden välillä on ainakin koordinointia: niissä käytetään kohdennettuja sähköpostiviestejä, joissa on pilvipohjaisia haittaohjelmia ja houkutin, joka kannustaa välittömiin toimiin (jotka liittyvät usein palkkoihin tai veroihin).

Parasta lieventämistä näille hyökkäyksille on phishing-hyökkäyksiä koskevan koulutuksen vahvistaminen. Vaikka nämä pahansuovat sähköpostiviestit ovat kohdennettuja, ne on yleensä muotoiltu kömpelösti ja niissä käytetään kohteen nimeä oudoilla tavoilla. Sähköpostin huolellinen lukeminen paljastaa useimmat koulutetut käyttäjät. Nämä hyökkäykset ovat kuitenkin yhä kehittyneempiä, ja jopa hyvin koulutetut käyttäjät saattavat lopulta napsauttaa sähköpostin väärää linkkiä, jos roskapostitunnistus ei havaitse heitä ensin.

Sophos havaitsee ja estää Buerin sekä mukautetuilla tunnisteilla (Troj/BuerLd-A) että koneellisella oppimisella ja havaitsee spear phishing -viestit roskapostina. Buer Loaderiin liittyvät vaaratekijät löytyvät SophosLabsin GitHubista.

Sophos kiittää Sophos Rapid Response -tiimin Peter Mackenzietä, Elida Leiteä, Syed Shahramia ja Bill Kearnya sekä SophosLabsin Anand Ajjania, Brett Covea ja Gabor Szappanosia heidän panoksestaan tämän raportin laatimiseen.

Vastaa

Sähköpostiosoitettasi ei julkaista.