FritzFrog-ormen har blitt identifisert, infiserer servere via SSH og bygger et desentralisert botnett

Guardicore-selskap som spesialiserer seg på beskyttelse av datasentre og skysystemer, avslørt FritzFrog, en ny høyteknologisk skadelig programvare som angriper Linux-baserte servere. FritzFrog kombinerer en orm som sprer seg gjennom et bruteforce-angrep på servere med en åpen SSH-port, og komponenter for å bygge et desentralisert botnett som opererer uten kontrollnoder og ikke har et enkelt feilpunkt.

For å bygge et botnett brukes en proprietær P2P-protokoll, der noder samhandler med hverandre, koordinerer organiseringen av angrep, støtter driften av nettverket og overvåker hverandres status. Nye ofre blir funnet ved å utføre et bruteforce-angrep på servere som godtar forespørsler via SSH. Når en ny server oppdages, søkes det i en ordbok med typiske kombinasjoner av pålogginger og passord. Kontroll kan utføres gjennom hvilken som helst node, noe som gjør det vanskelig å identifisere og blokkere botnett-operatører.

Ifølge forskere har botnettet allerede rundt 500 noder, inkludert serverne til flere universiteter og et stort jernbaneselskap. Det bemerkes at hovedmålene for angrepet er nettverk av utdanningsinstitusjoner, medisinske sentre, offentlige etater, banker og telekommunikasjonsselskaper. Etter at serveren er kompromittert, organiseres prosessen med å utvinne Monero-kryptovalutaen på den. Aktiviteten til den aktuelle skadevare har blitt sporet siden januar 2020.

Det spesielle med FritzFrog er at den lagrer all data og kjørbar kode kun i minnet. Endringer på disken består kun av å legge til en ny SSH-nøkkel til filen authorized_keys, som deretter brukes for å få tilgang til serveren. Systemfiler endres ikke, noe som gjør ormen usynlig for systemer som sjekker integriteten ved hjelp av kontrollsummer. Minnet lagrer også ordbøker for brute-forcing passord og data for gruvedrift, som er synkronisert mellom noder ved hjelp av P2P-protokollen.

Ondsinnede komponenter er kamuflert som ifconfig, libexec, php-fpm og nginx-prosesser. Botnet-noder overvåker statusen til naboene, og hvis serveren startes på nytt eller til og med operativsystemet installeres på nytt (hvis en modifisert authorized_keys-fil ble overført til det nye systemet), reaktiverer de skadelige komponenter på verten. For kommunikasjon brukes standard SSH - skadevaren lanserer i tillegg en lokal "netcat" som binder seg til localhost-grensesnittet og lytter til trafikk på port 1234, som eksterne verter får tilgang til gjennom en SSH-tunnel, ved å bruke en nøkkel fra authorized_keys for å koble til.

FritzFrog-ormen har blitt identifisert, infiserer servere via SSH og bygger et desentralisert botnett

FritzFrog-komponentkoden er skrevet i Go og kjører i flertrådsmodus. Skadevaren inkluderer flere moduler som kjører i forskjellige tråder:

  • Cracker - søker etter passord på angrepne servere.
  • CryptoComm + Parser - organiserer en kryptert P2P-tilkobling.
  • CastVotes er en mekanisme for i fellesskap å velge målverter for angrep.
  • TargetFeed - Mottar en liste over noder som skal angripes fra nærliggende noder.
  • DeployMgmt er en implementering av en orm som distribuerer ondsinnet kode til en kompromittert server.
  • Eid - ansvarlig for å koble til servere som allerede kjører skadelig kode.
  • Monter - setter sammen en fil i minnet fra separat overførte blokker.
  • Antivir - en modul for å undertrykke konkurrerende skadelig programvare, identifiserer og avslutter prosesser med strengen "xmr" som bruker CPU-ressurser.
  • Libexec er en modul for utvinning av Monero-kryptovalutaen.

P2P-protokollen som brukes i FritzFrog støtter omtrent 30 kommandoer som er ansvarlige for å overføre data mellom noder, kjøre skript, overføre skadevarekomponenter, pollingstatus, utveksle logger, starte proxyer, etc. Informasjon overføres over en egen kryptert kanal med serialisering i JSON-format. Kryptering bruker asymmetrisk AES-chiffer og Base64-koding. DH-protokollen brukes for nøkkelutveksling (Diffie–Hellman). For å bestemme tilstanden utveksler noder konstant ping-forespørsler.

Alle botnett-noder opprettholder en distribuert database med informasjon om angrepne og kompromitterte systemer. Angrepsmål synkroniseres gjennom botnettet – hver node angriper et eget mål, dvs. to forskjellige botnettnoder vil ikke angripe samme vert. Noder samler også inn og overfører lokal statistikk til naboer, for eksempel ledig minnestørrelse, oppetid, CPU-belastning og SSH-påloggingsaktivitet. Denne informasjonen brukes til å bestemme om gruveprosessen skal startes eller om noden kun skal brukes til å angripe andre systemer (for eksempel starter ikke gruvedrift på lastede systemer eller systemer med hyppige administratortilkoblinger).

For å identifisere FritzFrog har forskere foreslått en enkel shell script. For å fastslå systemskader
tegn som tilstedeværelsen av en lytteforbindelse på port 1234, tilstedeværelsen ondsinnet nøkkel i authorized_keys (den samme SSH-nøkkelen er installert på alle noder) og tilstedeværelsen i minnet av kjørende prosesser "ifconfig", "libexec", "php-fpm" og "nginx" som ikke har tilknyttede kjørbare filer ("/proc/ /exe" peker på en ekstern fil). Et tegn kan også være tilstedeværelsen av trafikk på nettverksport 5555, som oppstår når skadelig programvare får tilgang til det typiske bassenget web.xmrpool.eu under utvinningen av Monero-kryptovalutaen.

Kilde: opennet.ru

Legg til en kommentar