Guardicore, andmete keskuste ja pilvesüsteemide kaitsmisega tegelev ettevõte, uue kõrgtehnoloogilise pahavara FritzFrog, mis ründab Linuxi põhiseid servereid. FritzFrog ühendab endas ussi, mis levib bruteforce-rünnaku kaudu avatud SSH-portide kaudu serveritesse, ja komponente, mis võimaldavad luua hajusasse botneti, mis töötab ilma juhtimisteguri ja ei oma ühtegi rikke punkti.
Botneti loomiseks kasutatakse spetsiaalset P2P-protokolli, kus sõlmed suhtlevad omavahel, koordineerivad rünnakute korraldust, hoolitsevad võrgu toimimise eest ja jälgivad üksteise seisundit. Uute sihtmärkide leidmine toimub bruteforce-rünnakute kaudu serveritele, mis aktsepteerivad SSH-päringuid. Uue serveri avastamisel viiakse läbi sõnastiku läbimine tüüpiliste kasutajanime ja paroolide kombinatsioonide osas. Juhtimine võib toimuda mistahes sõlme kaudu, mis keerukaks teeb botneti operaatorite väljaselgitamise ja blokeerimise.
Uuringute andmetel on botnetil juba ligikaudu 500 sõlme, sealhulgas mitme ülikooli ja suure raudteefirma serverid. Märgitakse, et rünnaku peamine sihtmärk on haridusasutuste, meditsiinikeskuste, riigiasutuste, pankade ja telekommunikatsioonifirmade võrgud. Pärast serveri kompromiteerimist organiseeritakse seal Monero krüptovaluuta kaevandamise protsess. Selle pahavara tegevust on jälgitud alates 2020. aasta jaanuarist.
FritzFrogi eripära on see, et kõik andmed ja täitmisjärgne kood hoitakse ainult mälus. Muudatused kettale piirdumisega uue SSH-võtme lisamisega authorized_keys failile, mida kasutatakse hiljem serverisse pääsemiseks. Süsteemifailid ei muutu, mis teeb ussi nähtamatuks süsteemidele, mis kontrollivad terviklikkust kontrollsummade abil. Mälus hoitakse ka paroolide läbimise jaoks sõnastikke ja kaevandamiseks vajalikke andmeid, mis sünkroonitakse sõlmede vahel P2P-protokolli abil.
Kahjulikud komponendid maskeerivad end protsesside «ifconfig», «libexec», «php-fpm» ja «nginx» alla. Botivõrgu sõlmed jälgivad naabrite seisundit ja käivitavad kahjulikud komponendid uuesti, kui server taaskäivitub või kui opsüsteem uuendatakse (kui muudetud fail authorized_keys on uude süsteemi üle kantud). Kommunikatsiooniks kasutatakse tavapärast SSH-d — kahjulik tarkvara käivitab lisaks kohalikku «netcat» rakendust, mis seotakse localhosti liidese ja kuulab liikumist pordil 1234, millele välimised sõlmed pöörduvad SSH-tunneli kaudu, kasutades ühenduse loomiseks võtmeid authorized_keys failist.
FritzFrog komponentide kood on kirjutatud Go keeles ja töötab mitme lõime režiimis. Kahjulik tarkvara sisaldab mitmeid mooduleid, mida käivitatakse erinevates lõimedes:
- Cracker — teostab paroolide proovimist rünnatavates serverites.
- CryptoComm + Parser — organiseerib krüpteeritud P2P-ühenduse.
- CastVotes — mehhanism sihtkohtade ühiseks valimiseks rünnaku jaoks.
- TargetFeed — saadab rünnaku sihtmärkide nimekirja naabersõlmedelt.
- DeployMgmt — kahjuliku koodi levitamise realistlik rakendus häkitud serverisse.
- Owned — vastutab ühenduse eest serveritega, kus kahjulik kood on juba töös.
- Assemble — kogub faili mälus eraldiseisvatest edastatud plokkidest.
- Antivir — konkurentsivõimeliste kahjulike programmide pärssimise moodul, tuvastab ja lõpetab protsessid, millel on "xmr" string ning mis tarbivad CPU ressursse.
- Libexec — moodul Monero krüptovaluuta kaevandamiseks.
FritzFrogis kasutatav P2P-protokoll toetab umbes 30 käsku, mis vastutavad andmete edastamise, skriptide käivitamise, kahjuliku tarkvara komponentide edastamise, oleku küsitlemise, logide vahetamise, prokside käivitamise jms eest. Teave edastatakse eraldi krüpteeritud kanali kaudu, kasutades JSON formaati. Krüpteerimiseks kasutatakse asümmeetri krüpti AES ja kodeerimist Base64. Võtmete vahetamiseks kasutatakse DH protokolli (). Sõlmed vahetavad pidevalt ping-kutseid seisundi määramiseks.
Kõik botivõrgu sõlmed toetavad jaotatud andmebaasi, millel on teave rünnatud ja kompromiteeritud süsteemide kohta. Rünnaku sihtmärgid sünkroniseeritakse kogu botivõrgus - iga sõlm ründab eraldi sihtmärki, st kaks erinevat botivõrgu sõlme ei ründa sama hosti. Sõlmed koguvad ja edastavad ka naabritele kohalikku statistikat, nagu vaba mälu suurus, tööaeg, CPU koormus ja SSH kaudu sisse logimise aktiivsus. Seda teavet kasutatakse mining-protsessi käivitamise või sõlme kasutamiseks vaid teiste süsteemide ründamiseks (näiteks ei käivitu mining koormatud süsteemidel või süsteemidel, kus administraatoritel on sagedane juurdepääs).
FritzFrogi tuvastamiseks on uurijad pakkunud lihtsat . Süsteemi nakatumise määramiseks
võib kasutada märke nagu kuuldava ühenduse olemasolu sadamal 1234, kohalolek failis authorized_keys (kõikidele sõlmedele seadistatakse sama SSH-võti) ja käivitatud protsesside mälu olemasolu, nagu «ifconfig», «libexec», «php-fpm» ja «nginx», mis ei oma seotud täidetavaid faile («/proc//exe» osutab eemaldatud failile). Samuti võib tunnusena olla olemasolev liiklus võrgu sadamal 5555, mis tekib muutunud PAhwaat tacnderes
Allikas: opennet.ru
