Guardicore-virksomhed, der er specialiseret i beskyttelse af datacentre og cloud-systemer,
For at bygge et botnet bruges en proprietær P2P-protokol, hvor noder interagerer med hinanden, koordinerer tilrettelæggelsen af angreb, understøtter driften af netværket og overvåger hinandens status. Nye ofre bliver fundet ved at udføre et bruteforce-angreb på servere, der accepterer anmodninger via SSH. Når en ny server opdages, søges der i en ordbog med typiske kombinationer af logins og adgangskoder. Kontrol kan udføres gennem enhver node, hvilket gør det vanskeligt at identificere og blokere botnet-operatører.
Ifølge forskere har botnettet allerede omkring 500 noder, inklusive servere fra flere universiteter og et stort jernbaneselskab. Det bemærkes, at hovedmålene for angrebet er netværk af uddannelsesinstitutioner, medicinske centre, offentlige myndigheder, banker og teleselskaber. Efter at serveren er kompromitteret, organiseres processen med at udvinde Monero-cryptocurrency på den. Aktiviteten af den pågældende malware er blevet sporet siden januar 2020.
Det særlige ved FritzFrog er, at det kun opbevarer alle data og eksekverbar kode i hukommelsen. Ændringer på disken består kun i at tilføje en ny SSH-nøgle til filen authorized_keys, som efterfølgende bruges til at få adgang til serveren. Systemfiler ændres ikke, hvilket gør ormen usynlig for systemer, der kontrollerer integriteten ved hjælp af kontrolsummer. Hukommelsen gemmer også ordbøger til brute-force-adgangskoder og data til minedrift, som synkroniseres mellem noder ved hjælp af P2P-protokollen.
Ondsindede komponenter er camoufleret som ifconfig, libexec, php-fpm og nginx processer. Botnet-knudepunkter overvåger status for deres naboer, og hvis serveren genstartes eller endda operativsystemet geninstalleres (hvis en ændret authorized_keys-fil blev overført til det nye system), genaktiverer de ondsindede komponenter på værten. Til kommunikation bruges standard SSH - malwaren lancerer desuden en lokal "netcat", der binder sig til localhost-grænsefladen og lytter til trafik på port 1234, som eksterne værter får adgang til gennem en SSH-tunnel ved hjælp af en nøgle fra authorized_keys til at forbinde.
FritzFrog-komponentkoden er skrevet i Go og kører i multi-threaded mode. Malwaren inkluderer flere moduler, der kører i forskellige tråde:
- Cracker - søger efter adgangskoder på angrebne servere.
- CryptoComm + Parser - organiserer en krypteret P2P-forbindelse.
- CastVotes er en mekanisme til i fællesskab at vælge målværter til angreb.
- TargetFeed - Modtager en liste over noder, der skal angribes fra tilstødende noder.
- DeployMgmt er en implementering af en orm, der distribuerer ondsindet kode til en kompromitteret server.
- Ejet - ansvarlig for at oprette forbindelse til servere, der allerede kører skadelig kode.
- Saml - samler en fil i hukommelsen fra separat overførte blokke.
- Antivir - et modul til at undertrykke konkurrerende malware, identificerer og afslutter processer med strengen "xmr", der forbruger CPU-ressourcer.
- Libexec er et modul til minedrift af Monero-kryptovalutaen.
P2P-protokollen, der bruges i FritzFrog, understøtter omkring 30 kommandoer, der er ansvarlige for at overføre data mellem noder, køre scripts, overføre malware-komponenter, pollingstatus, udveksle logfiler, starte proxyer osv. Information transmitteres over en separat krypteret kanal med serialisering i JSON-format. Kryptering bruger asymmetrisk AES-kryptering og Base64-kodning. DH-protokollen bruges til nøgleudveksling (
Alle botnet noder opretholder en distribueret database med information om angrebne og kompromitterede systemer. Angrebsmål synkroniseres i hele botnettet - hver node angriber et separat mål, dvs. to forskellige botnet noder vil ikke angribe den samme vært. Noder indsamler og overfører også lokal statistik til naboer, såsom ledig hukommelsesstørrelse, oppetid, CPU-belastning og SSH-loginaktivitet. Disse oplysninger bruges til at beslutte, om jeg vil starte mineprocessen eller kun bruge noden til at angribe andre systemer (for eksempel starter mining ikke på indlæste systemer eller systemer med hyppige administratorforbindelser).
For at identificere FritzFrog har forskere foreslået en enkel
tegn såsom tilstedeværelsen af en lytteforbindelse på port 1234, tilstedeværelsen
Kilde: opennet.ru