Odkrit je bil črv FritzFrog, ki je okužil strežnike prek SSH in zgradil decentraliziran botnet

Podjetje Guardicore, specializirano za zaščito podatkovnih centrov in sistemov v oblaku, razkrila FritzFrog, nova visokotehnološka zlonamerna programska oprema, ki napada strežnike, ki temeljijo na Linuxu. FritzFrog združuje črv, ki se širi z napadom bruteforce na strežnike z odprtimi vrati SSH, in komponente za izgradnjo decentraliziranega botneta, ki deluje brez nadzornih vozlišč in nima ene same točke odpovedi.

Za izgradnjo botneta se uporablja lastniški protokol P2P, v katerem vozlišča med seboj komunicirajo, usklajujejo organizacijo napadov, podpirajo delovanje omrežja in spremljajo status drug drugega. Nove žrtve se najdejo z izvajanjem bruteforce napada na strežnike, ki sprejemajo zahteve prek SSH. Ko je zaznan nov strežnik, se preišče slovar tipičnih kombinacij prijav in gesel. Nadzor se lahko izvaja prek katerega koli vozlišča, kar otežuje prepoznavanje in blokiranje operaterjev botnetov.

Po mnenju raziskovalcev ima botnet že približno 500 vozlišč, vključno s strežniki več univerz in velikega železniškega podjetja. Opozoriti je treba, da so glavne tarče napada omrežja izobraževalnih ustanov, zdravstvenih centrov, vladnih agencij, bank in telekomunikacijskih podjetij. Ko je strežnik ogrožen, se na njem organizira proces rudarjenja kriptovalute Monero. Dejavnosti zadevne zlonamerne programske opreme so sledili od januarja 2020.

Posebnost FritzFrog-a je, da hrani vse podatke in izvršljivo kodo samo v pomnilniku. Spremembe na disku obsegajo samo dodajanje novega ključa SSH v datoteko authorized_keys, ki se nato uporabi za dostop do strežnika. Sistemske datoteke se ne spremenijo, zaradi česar je črv neviden za sisteme, ki preverjajo celovitost s kontrolnimi vsotami. V pomnilniku so shranjeni tudi slovarji za vsiljevanje gesel in podatki za rudarjenje, ki se sinhronizirajo med vozlišči s protokolom P2P.

Zlonamerne komponente so zakamuflirane kot procesi ifconfig, libexec, php-fpm in nginx. Botnetna vozlišča spremljajo status svojih sosedov in, če se strežnik znova zažene ali celo znova namesti OS (če je bila spremenjena datoteka authorized_keys prenesena v nov sistem), ponovno aktivirajo zlonamerne komponente na gostitelju. Za komunikacijo se uporablja standardni SSH - zlonamerna programska oprema dodatno zažene lokalni »netcat«, ki se poveže z vmesnikom localhost in posluša promet na vratih 1234, do katerih zunanji gostitelji dostopajo prek tunela SSH, pri čemer za povezavo uporabljajo ključ iz Authorized_keys.

Odkrit je bil črv FritzFrog, ki je okužil strežnike prek SSH in zgradil decentraliziran botnet

Koda komponente FritzFrog je napisana v Go in deluje v večnitnem načinu. Zlonamerna programska oprema vključuje več modulov, ki se izvajajo v različnih nitih:

  • Cracker - išče gesla na napadenih strežnikih.
  • CryptoComm + Parser - organizira šifrirano povezavo P2P.
  • CastVotes je mehanizem za skupno izbiro ciljnih gostiteljev za napad.
  • TargetFeed - Prejme seznam vozlišč za napad iz sosednjih vozlišč.
  • DeployMgmt je implementacija črva, ki distribuira zlonamerno kodo ogroženemu strežniku.
  • V lasti – odgovoren za povezovanje s strežniki, na katerih se že izvaja zlonamerna koda.
  • Sestavi - sestavi datoteko v pomnilniku iz ločeno prenesenih blokov.
  • Antivir - modul za zatiranje konkurenčne zlonamerne programske opreme, identificira in prekine procese z nizom "xmr", ki porabljajo CPU vire.
  • Libexec je modul za rudarjenje kriptovalute Monero.

Protokol P2P, ki se uporablja v FritzFrogu, podpira približno 30 ukazov, ki so odgovorni za prenos podatkov med vozlišči, izvajanje skriptov, prenos komponent zlonamerne programske opreme, stanje anketiranja, izmenjavo dnevnikov, zagon proxyjev itd. Informacije se prenašajo po ločenem šifriranem kanalu s serializacijo v formatu JSON. Šifriranje uporablja asimetrično šifro AES in kodiranje Base64. Za izmenjavo ključev se uporablja protokol DH (Diffie–Hellman). Za določitev stanja vozlišča nenehno izmenjujejo zahteve za ping.

Vsa vozlišča botnetov vzdržujejo porazdeljeno bazo podatkov z informacijami o napadenih in ogroženih sistemih. Cilji napadov so sinhronizirani po celotnem botnetu – vsako vozlišče napade ločeno tarčo, tj. dve različni vozlišči botneta ne bosta napadli istega gostitelja. Vozlišča tudi zbirajo in prenašajo lokalne statistične podatke sosedom, kot so velikost prostega pomnilnika, čas delovanja, obremenitev procesorja in dejavnost prijave SSH. Te informacije se uporabljajo za odločitev, ali zagnati proces rudarjenja ali uporabiti vozlišče samo za napad na druge sisteme (rudarjenje se na primer ne zažene v naloženih sistemih ali sistemih s pogostimi skrbniškimi povezavami).

Za identifikacijo FritzFrog so raziskovalci predlagali preprosto lupinski skript. Za ugotavljanje poškodb sistema
znake, kot je prisotnost poslušajoče povezave na vratih 1234, prisotnost zlonamerni ključ v authorized_keys (isti ključ SSH je nameščen na vseh vozliščih) in prisotnost v pomnilniku izvajajočih se procesov »ifconfig«, »libexec«, »php-fpm« in »nginx«, ki nimajo povezanih izvršljivih datotek (»/proc/ /exe" kaže na oddaljeno datoteko). Znak je lahko tudi prisotnost prometa na omrežnih vratih 5555, ki se pojavi, ko zlonamerna programska oprema dostopa do tipičnega bazena web.xmrpool.eu med rudarjenjem kriptovalute Monero.

Vir: opennet.ru

Dodaj komentar