Otkriven crv FritzFrog, koji inficira servere putem SSH-a i gradi decentralizirani botnet

Kompanija Guardicore, specijalizovana za zaštitu data centara i cloud sistema, otkriveno FritzFrog, novi visokotehnološki zlonamjerni softver koji napada servere zasnovane na Linuxu. FritzFrog kombinuje crva koji se širi napadom bruteforce na servere sa otvorenim SSH portom i komponente za izgradnju decentralizovanog botneta koji radi bez kontrolnih čvorova i nema jednu tačku kvara.

Za izgradnju botneta koristi se vlasnički P2P protokol u kojem čvorovi međusobno komuniciraju, koordiniraju organizaciju napada, podržavaju rad mreže i prate status jedni drugih. Nove žrtve se pronalaze izvođenjem bruteforce napada na servere koji prihvataju zahtjeve putem SSH-a. Kada se otkrije novi server, pretražuje se rečnik tipičnih kombinacija prijava i lozinki. Kontrola se može izvršiti kroz bilo koji čvor, što otežava identifikaciju i blokiranje botnet operatera.

Prema istraživačima, botnet već ima oko 500 čvorova, uključujući servere nekoliko univerziteta i velike željezničke kompanije. Napominje se da su glavne mete napada mreže obrazovnih institucija, medicinskih centara, vladinih agencija, banaka i telekomunikacionih kompanija. Nakon što je server kompromitovan, na njemu se organizuje proces rudarenja Monero kriptovalute. Aktivnost dotičnog malvera prati se od januara 2020.

Posebna stvar kod FritzFrog-a je da sve podatke i izvršni kod čuva samo u memoriji. Promjene na disku se sastoje samo od dodavanja novog SSH ključa u datoteku authorized_keys, koja se kasnije koristi za pristup serveru. Sistemske datoteke se ne mijenjaju, što crva čini nevidljivim za sisteme koji provjeravaju integritet pomoću kontrolnih suma. Memorija također pohranjuje rječnike za brute-forcing lozinke i podatke za rudarenje, koji se sinkroniziraju između čvorova korištenjem P2P protokola.

Zlonamjerne komponente su kamuflirane kao ifconfig, libexec, php-fpm i nginx procesi. Botnet čvorovi nadgledaju status svojih suseda i, ako se server ponovo pokrene ili čak ponovo instalira OS (ako je modifikovana datoteka authorized_keys prebačena na novi sistem), ponovo aktiviraju zlonamerne komponente na hostu. Za komunikaciju se koristi standardni SSH - zlonamjerni softver dodatno pokreće lokalni “netcat” koji se veže za sučelje lokalnog hosta i sluša promet na portu 1234, kojem vanjski hostovi pristupaju preko SSH tunela, koristeći ključ od authorized_keys za povezivanje.

Otkriven crv FritzFrog, koji inficira servere putem SSH-a i gradi decentralizirani botnet

FritzFrog komponentni kod je napisan u Go i radi u višenitnom modu. Zlonamjerni softver uključuje nekoliko modula koji rade u različitim nitima:

  • Cracker - traži lozinke na napadnutim serverima.
  • CryptoComm + Parser - organizira šifriranu P2P vezu.
  • CastVotes je mehanizam za zajednički odabir ciljnih hostova za napad.
  • TargetFeed - prima listu čvorova za napad od susjednih čvorova.
  • DeployMgmt je implementacija crva koji distribuira zlonamjerni kod kompromitovanom serveru.
  • U vlasništvu - odgovoran za povezivanje sa serverima koji već koriste zlonamjerni kod.
  • Assemble - sastavlja datoteku u memoriji iz zasebno prenesenih blokova.
  • Antivir - modul za suzbijanje konkurentskog zlonamjernog softvera, identifikuje i završava procese nizom “xmr” koji troše CPU resurse.
  • Libexec je modul za rudarenje Monero kriptovalute.

P2P protokol koji se koristi u FritzFrog-u podržava oko 30 komandi odgovornih za prijenos podataka između čvorova, pokretanje skripti, prijenos zlonamjernih komponenti, status anketiranja, razmjenu dnevnika, pokretanje proksija itd. Informacije se prenose preko posebnog šifrovanog kanala sa serijalizacijom u JSON formatu. Šifriranje koristi asimetričnu AES šifru i Base64 kodiranje. DH protokol se koristi za razmjenu ključeva (Diffie–Hellman). Da bi odredili stanje, čvorovi stalno razmjenjuju ping zahtjeve.

Svi botnet čvorovi održavaju distribuiranu bazu podataka sa informacijama o napadnutim i kompromitovanim sistemima. Ciljevi napada su sinhronizovani kroz botnet - svaki čvor napada zasebnu metu, tj. dva različita botnet čvora neće napadati isti host. Čvorovi također prikupljaju i prenose lokalne statistike susjedima, kao što su veličina slobodne memorije, vrijeme neprekidnog rada, opterećenje CPU-a i aktivnost SSH prijave. Ove informacije se koriste za odlučivanje da li da se pokrene proces rudarenja ili da se čvor koristi samo za napad na druge sisteme (na primer, rudarenje ne počinje na učitanim sistemima ili sistemima sa čestim administratorskim vezama).

Da bi identificirali FritzFrog, istraživači su predložili jednostavan shell skripta. Za utvrđivanje oštećenja sistema
znakove kao što je prisustvo prislušne veze na portu 1234, prisutnost zlonamjerni ključ u authorized_keys (isti SSH ključ je instaliran na svim čvorovima) i prisustvo u memoriji pokrenutih procesa “ifconfig”, “libexec”, “php-fpm” i “nginx” koji nemaju pridružene izvršne datoteke (“/proc/ /exe" ukazuje na udaljenu datoteku). Znak može biti i prisustvo saobraćaja na mrežnom portu 5555, koji se javlja kada zlonamjerni softver pristupi tipičnom bazenu web.xmrpool.eu tokom rudarenja kriptovalute Monero.

izvor: opennet.ru

Dodajte komentar