Crv FritzFrog je identificiran, zarazio je poslužitelje putem SSH-a i izgradio decentralizirani botnet

Tvrtka Guardicore, specijalizirana za zaštitu podatkovnih centara i cloud sustava, otkriveno FritzFrog, novi zlonamjerni softver visoke tehnologije koji napada poslužitelje temeljene na Linuxu. FritzFrog kombinira crv koji se širi bruteforce napadom na poslužitelje s otvorenim SSH portom i komponente za izgradnju decentraliziranog botneta koji radi bez kontrolnih čvorova i nema niti jednu toč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 međusobni status. Nove žrtve pronalaze se izvođenjem bruteforce napada na poslužitelje koji prihvaćaju zahtjeve putem SSH-a. Kada se otkrije novi poslužitelj, pretražuje se rječnik tipičnih kombinacija prijava i lozinki. Kontrola se može provesti 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 poslužitelje nekoliko sveučilišta i velike željezničke tvrtke. Napominje se da su glavne mete napada mreže obrazovnih ustanova, medicinskih centara, vladinih agencija, banaka i telekomunikacijskih tvrtki. Nakon što je poslužitelj kompromitiran, na njemu se organizira proces rudarenja kriptovalute Monero. Aktivnost dotičnog malwarea prati se od siječnja 2020.

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

Zlonamjerne komponente su kamuflirane kao ifconfig, libexec, php-fpm i nginx procesi. Botnet čvorovi nadziru status svojih susjeda i, ako se poslužitelj ponovno pokrene ili čak ponovno instalira OS (ako je modificirana authorized_keys datoteka prenesena na novi sustav), oni ponovno aktiviraju zlonamjerne komponente na hostu. Za komunikaciju se koristi standardni SSH - malware dodatno pokreće lokalni “netcat” koji se veže na localhost sučelje i sluša promet na portu 1234, kojem vanjski hostovi pristupaju kroz SSH tunel, koristeći ključ iz authorized_keys za povezivanje.

Crv FritzFrog je identificiran, zarazio je poslužitelje putem SSH-a i izgradio decentralizirani botnet

Kod komponente FritzFrog napisan je u Go i radi u višenitnom načinu rada. Zlonamjerni softver uključuje nekoliko modula koji se izvode u različitim nitima:

  • Cracker - traži lozinke na napadnutim poslužiteljima.
  • CryptoComm + Parser - organizira šifriranu P2P vezu.
  • CastVotes je mehanizam za zajednički odabir ciljanih hostova za napad.
  • TargetFeed - prima popis čvorova za napad od susjednih čvorova.
  • DeployMgmt je implementacija crva koji distribuira zlonamjerni kod kompromitiranom poslužitelju.
  • U vlasništvu - odgovoran za povezivanje s poslužiteljima koji već pokreću zlonamjerni kod.
  • Assemble - sastavlja datoteku u memoriji iz zasebno prenesenih blokova.
  • Antivir - modul za suzbijanje konkurentskog zlonamjernog softvera, identificira i prekida procese s nizom “xmr” koji troše CPU resurse.
  • Libexec je modul za rudarenje kriptovalute Monero.

P2P protokol koji se koristi u FritzFrogu podržava oko 30 naredbi odgovornih za prijenos podataka između čvorova, pokretanje skripti, prijenos komponenti zlonamjernog softvera, status anketiranja, razmjenu zapisa, pokretanje proxyja itd. Informacije se prenose preko zasebnog kriptiranog kanala sa serijalizacijom u JSON formatu. Enkripcija koristi asimetričnu AES šifru i Base64 kodiranje. Za razmjenu ključeva koristi se DH protokol (Diffie–Hellman). Kako bi odredili stanje, čvorovi stalno razmjenjuju ping zahtjeve.

Svi botnet čvorovi održavaju distribuiranu bazu podataka s informacijama o napadnutim i kompromitiranim sustavima. Ciljevi napada su sinkronizirani kroz botnet - svaki čvor napada zaseban cilj, tj. dva različita botnet čvora neće napasti isti host. Čvorovi također prikupljaju i prenose lokalne statistike susjedima, poput veličine slobodne memorije, vremena neprekidnog rada, opterećenja CPU-a i aktivnosti prijave na SSH. Ove se informacije koriste za donošenje odluke o pokretanju procesa rudarenja ili korištenju čvora samo za napad na druge sustave (na primjer, rudarenje se ne pokreće na opterećenim sustavima ili sustavima s čestim administratorskim vezama).

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

Izvor: opennet.ru

Dodajte komentar