Guardicore, andmete keskuste ja pilvesüsteemide kaitsele spetsialiseerunud ettevõte, on välja töötanud uue kõrgtehnoloogilise pahavara FritzFrog, mis ründab Linuxi põhiseid servereid. FritzFrog ühendab endas viirusprogrammi, mis levib bruteforce-rünnaku kaudu avatud SSH-pordiga serveritesse, ning komponente detsentraliseeritud botivõrgu loomiseks, mis töötab ilma juhtseisunditeta ja ei oma ühtegi ebaõnnestumise punkti.
Botivõrgu loomiseks kasutatakse kohandatud P2P-protokolli, kus sõlmed suhtlevad omavahel, koordineerivad rünnakute korraldamist, toetavad võrgu tööd ja kontrollivad üksteise seisundit. Uute ohvrite leidmine toimub bruteforce-rünnakute läbi SSH-päringute vastu suunatud serveritele. Uue serveri leidmisel viiakse läbi sõnaraamatute põhjal koosluste proovimine logiinide ja paroolide osas. Juhtimine võib toimuda mis tahes sõlmest, mis keerukustab botivõrgu operaatorite tuvastamist ja blokeerimist.
Uuringute kohaselt on botnet juba umbes 500 sõlme, sealhulgas mitme ülikooli ja suure raudteefirma serverid. Rõhutatakse, et rünnaku peamine siht on haridussektor, meditsiinikeskused, riigiasutused, pangad ja telekommunikatsioonifirmad. Pärast serveri kompromiteerimist korraldatakse seal Monero krüptovaluuta kaevandamisprotsess. Selle kahjuliku tarkvara tegevust on jälgitud alates 2020. aasta jaanuarist.
FritzFrogi eripära on see, et ta hoiab kõik andmed ja täidetava koodi vaid mälus. Muudatused kettal piirdub ainult uue SSH-võtme lisamisega faili authorized_keys, mida kasutatakse hiljem serverisse sisenemiseks. Süsteemifaile ei muudeta, mis muudab ussi süsteemidele, mis kontrollivad kontrollsummade järgi, märkamatuks. Mälus hoitakse ka paroole purustamiseks mõeldud sõnastikke ja kaevandamisandmeid, mis sünkroneeritakse sõlmede vahel P2P-protokolli abil.
Kahjulikud komponendid maskeerivad end protsesside «ifconfig», «libexec», «php-fpm» ja «nginx» all. Botivõrgu sõlmed jälgivad naabrite seisundit ja serveri taaskäivitamise või isegi opsüsteemi uuesti installimise korral (kui muudetud fail authorized_keys uude süsteemi üle kantakse) aktiveerivad nad kahjulikud komponendid uuesti hostis. Kommunikatsiooni jaoks kasutatakse tavalist SSH-d — kahjulik tarkvara käivitab lisaks lokaalset «netcat», mis seondub localhost'i liidesega ja kuulab liiklust sadamal 1234, millele välised sõlmed pääsevad ligi SSH-tunnelite kaudu, kasutades ühendamiseks luku authorized_keys.
FritzFrog'i komponentide kood on kirjutatud Go keeles ja töötab mitme teema režiimis. Kahjulik tarkvara sisaldab mitmeid mooduleid, mis käivituvad erinevates lõimedes:
- Cracker — teeb paroolide proovimist rünnatavates serverites.
- CryptoComm + Parser — loob krüpteeritud P2P-ühenduse.
- CastVotes — mehhanism rünnatavate hostide ühisvalimiseks.
- TargetFeed — saab rünnatavate sõlmede nimekirja naabersõlmedelt.
- DeployMgmt — kahjuliku koodi levitamise ussi rakendamine häkitud serveris.
- Owned — vastutab serveritega ühenduse eest, millel on juba käivitatud pahavara.
- Assemble — kogub faili mälus eraldi edastatud plokkidest.
- Antivir — konkurentsivõimeliste pahavarade pärssimise moodul, mis tuvastab ja lõpetab protsessid, millel on string «xmr», mis kasutavad CPU ressursse.
- Libexec — Monero krüptovaluuta kaevandamise moodul.
FritzFrog P2P-protokoll toetab umbes 30 käsku, mis vastutavad andmete edastamise, skriptide käivitamise, pahavara komponentide edastamise, oleku küsitluse, logide vahetamise, proxy käivitamise jms eest. Teave edastatakse eraldi krüpteeritud kanalil JSON formaadis serialiseerituna. Krüpteerimiseks kasutatakse asümmeetrilist AES šifreerimist ja Base64 kodeerimist. Võtmete vahetamiseks kasutatakse DH-protokolli (). Oleku määramiseks vahetavad sõlmed pidevalt ping-päringute kaudu teavet.
Kõik botneti sõlmed toetavad jaotatud andmebaasi, kus on teave rünnatavate ja kompromiteeritud süsteemide kohta. Rünnakueesmärgid sünkroonitakse kogu botnetis – iga sõlm ründab eraldi eesmärki, st kaks erinevat botneti sõlme ei ründa sama hosti. Sõlmed koguvad ja edastavad ka naabersõlmedele kohalikku statistikat, nagu vaba mälu suurus, tööaeg, CPU koormus ja SSH sissepääsude aktiivsus. Seda teavet kasutatakse otsustamiseks, kas alustada kaevandamisprotsessi või kasutada sõlme ainult teiste süsteemide ründamiseks (näiteks kaevandamine ei toimu koormatud süsteemides või süsteemides, kus administraatori sisselogimine toimub sageli).
FritzFrog'i tuvastamiseks on teadlastel ette nähtud lihtne . Süsteemi nakatumise määramiseks
võivad kasutada selliseid tunnuseid nagu kuulamisseose olemasolu porti 1234 peal, kohalolek authorized_keys (kõikidel sõlmedel on sama SSH-võti) ning mälus töötavate protsesside nagu «ifconfig», «libexec», «php-fpm» ja «nginx» olemasolu, millel ei ole seotud täidetavaid faile («/proc//exe» viitab eemalolevale failile). Samuti võib märkideks olla liiklus võrgu pordil 5555, mis tekib pahavara suhtlemisel tüüpilise web.xmrpool.eu kogumiga Monero krüptovaluuta kaevandamise protsessis.
Allikas: opennet.ru
