Bol identifikovaný červ FritzFrog, ktorý infikuje servery cez SSH a vytvára decentralizovaný botnet

Spoločnosť Guardicore, špecializujúca sa na ochranu dátových centier a cloudových systémov, odhalené FritzFrog, nový high-tech malvér, ktorý útočí na servery založené na Linuxe. FritzFrog kombinuje červa, ktorý sa šíri prostredníctvom brutálneho útoku na servery, s otvoreným portom SSH a komponentmi na vybudovanie decentralizovaného botnetu, ktorý funguje bez riadiacich uzlov a nemá jediný bod zlyhania.

Na vybudovanie botnetu sa používa proprietárny P2P protokol, v ktorom uzly navzájom interagujú, koordinujú organizáciu útokov, podporujú prevádzku siete a navzájom monitorujú stav. Nové obete sú nájdené vykonaním bruteforce útoku na servery, ktoré prijímajú požiadavky cez SSH. Keď sa zistí nový server, vyhľadá sa slovník typických kombinácií prihlasovacích údajov a hesiel. Kontrola môže byť vykonaná cez akýkoľvek uzol, čo sťažuje identifikáciu a blokovanie prevádzkovateľov botnetov.

Podľa výskumníkov má botnet už asi 500 uzlov vrátane serverov niekoľkých univerzít a veľkej železničnej spoločnosti. Je potrebné poznamenať, že hlavnými cieľmi útoku sú siete vzdelávacích inštitúcií, zdravotníckych stredísk, vládnych agentúr, bánk a telekomunikačných spoločností. Po napadnutí servera sa na ňom organizuje proces ťažby kryptomeny Monero. Aktivita predmetného malvéru bola sledovaná od januára 2020.

Zvláštnosťou FritzFrogu je, že uchováva všetky údaje a spustiteľný kód iba v pamäti. Zmeny na disku pozostávajú iba z pridania nového kľúča SSH do súboru author_keys, ktorý sa následne používa na prístup na server. Systémové súbory sa nemenia, čo robí červa neviditeľným pre systémy, ktoré kontrolujú integritu pomocou kontrolných súčtov. V pamäti sú uložené aj slovníky pre hrubé vynútenie hesiel a dáta pre ťažbu, ktoré sú synchronizované medzi uzlami pomocou P2P protokolu.

Škodlivé komponenty sú maskované ako procesy ifconfig, libexec, php-fpm a nginx. Uzly botnetu monitorujú stav svojich susedov a v prípade reštartovania servera alebo dokonca preinštalovania operačného systému (ak bol upravený súbor autorizovaných kľúčov prenesený do nového systému), opätovne aktivujú škodlivé komponenty na hostiteľovi. Na komunikáciu sa používa štandardné SSH – malvér navyše spustí lokálny „netcat“, ktorý sa naviaže na rozhranie localhost a počúva prevádzku na porte 1234, ku ktorému pristupuje externý hostiteľ cez tunel SSH, pomocou kľúča z autorizovaných kľúčov sa pripája.

Bol identifikovaný červ FritzFrog, ktorý infikuje servery cez SSH a vytvára decentralizovaný botnet

Kód komponentu FritzFrog je napísaný v Go a beží vo viacvláknovom režime. Malvér obsahuje niekoľko modulov, ktoré bežia v rôznych vláknach:

  • Cracker - hľadá heslá na napadnutých serveroch.
  • CryptoComm + Parser - organizuje šifrované P2P pripojenie.
  • CastVotes je mechanizmus na spoločný výber cieľových hostiteľov na útok.
  • TargetFeed – Prijíma zoznam uzlov na útok zo susedných uzlov.
  • DeployMgmt je implementácia červa, ktorý distribuuje škodlivý kód na napadnutý server.
  • Vlastnené – zodpovedá za pripojenie k serverom, na ktorých je už spustený škodlivý kód.
  • Assemble - zostaví súbor v pamäti zo samostatne prenesených blokov.
  • Antivir - modul na potlačenie konkurenčného malvéru, identifikuje a ukončuje procesy s reťazcom „xmr“, ktoré spotrebúvajú zdroje CPU.
  • Libexec je modul na ťažbu kryptomeny Monero.

Protokol P2P používaný vo FritzFrogu podporuje asi 30 príkazov zodpovedných za prenos údajov medzi uzlami, spúšťanie skriptov, prenos komponentov škodlivého softvéru, stav dotazovania, výmenu protokolov, spúšťanie serverov proxy atď. Informácie sa prenášajú cez samostatný šifrovaný kanál so serializáciou vo formáte JSON. Šifrovanie využíva asymetrickú šifru AES a kódovanie Base64. Protokol DH sa používa na výmenu kľúčov (diffie-hellman). Na určenie stavu si uzly neustále vymieňajú požiadavky ping.

Všetky uzly botnetu udržiavajú distribuovanú databázu s informáciami o napadnutých a napadnutých systémoch. Ciele útoku sú synchronizované v celom botnete – každý uzol útočí na samostatný cieľ, t.j. dva rôzne uzly botnetu nenapadnú toho istého hostiteľa. Uzly tiež zhromažďujú a prenášajú miestne štatistiky susedom, ako je veľkosť voľnej pamäte, doba prevádzky, zaťaženie procesora a prihlasovacia aktivita SSH. Tieto informácie sa používajú na rozhodnutie, či začať proces ťažby alebo použiť uzol len na útok na iné systémy (ťažba sa napríklad nespustí na načítaných systémoch alebo systémoch s častým pripojením správcu).

Na identifikáciu FritzFroga výskumníci navrhli jednoduchý shell skript. Na určenie poškodenia systému
znaky ako prítomnosť načúvajúceho spojenia na porte 1234, prítomnosť škodlivý kľúč v autorizovaných_kľúčoch (rovnaký kľúč SSH je nainštalovaný na všetkých uzloch) a prítomnosť v pamäti spustených procesov „ifconfig“, „libexec“, „php-fpm“ a „nginx“, ktoré nemajú priradené spustiteľné súbory („/proc/ /exe" ukazuje na vzdialený súbor). Znakom môže byť aj prítomnosť prevádzky na sieťovom porte 5555, ku ktorej dochádza, keď malvér pristupuje na typický pool web.xmrpool.eu počas ťažby kryptomeny Monero.

Zdroj: opennet.ru

Pridať komentár