Perfctl-haittaohjelma
Uhkaavat ohjelmistot ovat saastuttaneet tuhansia Linux-pohjaisia järjestelmiä. Se erottuu salakavalasta lähestymistavastaan, laajasta väärinkäytöksistään, joita se voi hyödyntää, ja monenlaisista haitallisista toimista, joita se voi suorittaa.
Tämä uhka havaittiin ensimmäisen kerran vuonna 2021, ja se hyödyntää yli 20 000 yleisesti havaittua virheellistä kokoonpanoa tunkeutuakseen järjestelmiin, mikä aiheuttaa riskin miljoonille Internetiin yhdistetyille laitteille. Lisäksi se hyödyntää CVE-2023-33426:ta, kriittistä haavoittuvuutta, jonka vakavuusaste on enintään 10 ja joka korjattiin viime vuonna Apache RocketMQ:ssa, Linux-järjestelmissä laajalti käytetyssä viestintä- ja suoratoistoalustassa.
Sisällysluettelo
Perfctl-haittaohjelma on varustettu laajalla valikoimalla haitallisia ominaisuuksia
Perfctl on saanut nimensä haitallisesta komponentista, joka louhii salaa kryptovaluuttoja. Kehittäjät, joiden henkilöllisyydet ovat edelleen tuntemattomia, yhdistivät Linuxin suorituskyvyn seurantatyökalun nimen "perf" sanaan "ctl", joka on yleinen lyhenne komentoriviohjelmissa. Perfctl:n huomionarvoinen ominaisuus on se, että se käyttää prosessi- ja tiedostonimiä, jotka muistuttavat tyypillisesti Linux-ympäristöissä olevia nimiä, mikä mahdollistaa sen, että se voi välttää käyttäjien havaitsemisen.
Peittääkseen läsnäolonsa entisestään Perfctl käyttää erilaisia stealth-taktiikoita. Näitä ovat monien komponenttien asentaminen rootkit-paketteina, jotka ovat erityinen haittaohjelmaluokka, joka on suunniteltu piiloutumaan käyttöjärjestelmältä ja hallintatyökaluilta. Muita väistämisstrategioita ovat:
- Helposti havaittavien toimintojen pysäyttäminen uusien käyttäjien kirjautumisten yhteydessä
- Unix-liittimen käyttäminen TOR:n yli ulkoiseen viestintään
- Sen asennusbinaari poistetaan suorituksen jälkeen ja sen jälkeen suoritetaan taustapalveluna
- Linux-prosessin pcap_loop manipulointi käyttämällä tekniikkaa, joka tunnetaan nimellä hooking, joka estää hallinnollisia työkaluja tallentamasta haitallista liikennettä
- Viestivirheiden estäminen näkyvien hälytysten välttämiseksi suorituksen aikana.
Perfctl on suunniteltu kestämään, jotta se pysyy tartunnan saaneilla koneilla uudelleenkäynnistyksen tai ydinkomponenttien poistamisyritysten jälkeen. Se saavuttaa tämän tekniikoilla, kuten muokkaamalla ~/.profile-skriptiä, joka alustaa ympäristön käyttäjän kirjautumisen aikana, jolloin haittaohjelma latautuu ennen laillisia palvelinprosesseja. Se myös kopioi itsensä useisiin levypaikkoihin muistista. Pcap_loopin kytkeminen lisää pysyvyyttä entisestään sallimalla vaarallisten toimintojen jatkumisen myös sen jälkeen, kun ensisijaiset hyötykuormat on havaittu ja poistettu.
Sen lisäksi, että Perfctl käyttää järjestelmäresursseja kryptovaluutan louhimiseen, se muuttaa tartunnan saaneen koneen voittoa tuottavaksi välityspalvelimeksi, jolloin maksavat asiakkaat voivat välittää Internet-liikennettään. Kyberturvallisuustutkijat ovat myös havainneet, että haittaohjelmat toimivat takaovena muiden haittaohjelmaperheiden asentamiselle.
Perfctl-haittaohjelmatartunnan hyökkäysvirta
Hyödynnettyään haavoittuvuutta tai virheellistä konfiguraatiota, hyväksikäyttökoodi lataa ensisijaisen hyötykuorman vaarantuneelta palvelimelta, joka on muutettu haittaohjelman anonyymiksi jakelukanavaksi. Tutkitussa hyökkäyksessä hyötykuorma sai nimen httpd. Suorituksen yhteydessä tiedosto replikoituu muistista uuteen sijaintiin /temp-hakemistossa, suorittaa kopioidun version, lopettaa alkuperäisen prosessin ja poistaa ladatun binaarin.
Kun tiedosto on siirretty /tmp-hakemistoon, se suoritetaan eri nimellä, joka jäljittelee tunnettua Linux-prosessia, tässä tapauksessa nimenomaan sh. Myöhemmin se perustaa paikallisen Command-and-Control (C2) -prosessin. Se pyrkii saamaan juurijärjestelmän oikeuksia hyödyntämällä CVE-2021-4043:a, oikeuksien eskalaatiohaavoittuvuutta, joka korjattiin vuonna 2021 Gpacissa, suositussa avoimen lähdekoodin multimediakehyksessä.
Haittaohjelma kopioi sitten itsensä muistista useisiin muihin levysijainteihin, jälleen kerran käyttämällä nimiä, jotka muistuttavat rutiinijärjestelmätiedostoja. Se ottaa käyttöön myös rootkit-paketin sekä sarjan yleisesti käytettyjä Linux-apuohjelmia, jotka on muutettu toimimaan rootkit-paketteina, sekä kaivoskomponentin. Joissakin tapauksissa haittaohjelma asentaa ohjelmiston "välityspalvelimen kaappausta varten", mikä viittaa liikenteen salaiseen reitittämiseen tartunnan saaneen koneen läpi ja salaa tietojen todellisen alkuperän.
Osana C2-toimintaansa haittaohjelma avaa Unix-socketin, luo kaksi hakemistoa /tmp-hakemistoon ja tallentaa siihen toimintatiedot. Nämä tiedot sisältävät isäntätapahtumat, niiden kopioiden sijainnit, prosessien nimet, viestintälokit, tunnukset ja lisälokitiedot. Lisäksi se käyttää ympäristömuuttujia tallentaakseen tietoja, jotka vaikuttavat sen suorittamiseen ja käyttäytymiseen.
Kaikki binaarit on pakattu, riisuttu ja salattu, mikä osoittaa vankkaa sitoutumista turvatoimien kiertämiseen ja käänteisen suunnittelun monimutkaisuuteen. Haittaohjelma käyttää kehittyneitä kiertotaktiikoita, kuten toimintansa keskeyttämistä, kun se havaitsee uuden käyttäjän btmp- tai utmp-tiedostoissa, ja lopettaa kaikki kilpailevat haittaohjelmat säilyttääkseen hallitsevan asemansa tartunnan saaneessa järjestelmässä.
Perfctl vaarantaa kymmeniä tuhansia laitteita
Analysoimalla tietoja Internetiin yhdistettyjen Linux-palvelimien määrästä eri palveluissa ja sovelluksissa tutkijat arvioivat, että tuhannet koneet ovat saaneet Perfctl-tartunnan. Heidän havainnot osoittavat, että haavoittuvien koneiden joukko – ne, jotka eivät ole vielä asentaneet korjaustiedostoa CVE-2023-33426:lle tai joilla on virheellisiä määrityksiä – ovat miljoonia. Tutkijat eivät kuitenkaan ole vielä arvioineet haitallisten kaivostyöläisten tuottaman kryptovaluutan kokonaismäärää.
Tarkistaakseen, onko Perfctl joutunut heidän laitteensa kohteena tai tartunnan saaneen, käyttäjien tulee etsiä tunnistettuja kompromissin merkkejä. Lisäksi heidän tulee olla valppaana epätavallisten prosessorin käytön piikkien tai odottamattomien järjestelmän hidastumisen varalta, erityisesti joutojaksojen aikana.