Een nieuwe variant van het Gafgyt botnet, genaamd C0XMO, richt zich op routers met DD-WRT firmware en kan zich verspreiden naar apparaten met diverse CPU-architecturen. Onderzoekers vonden malware samples voor ARM, MIPS, PowerPC, SuperH, x86, x86_64 en andere architecturen, met exploits gericht op DVR's, routers, videobeheerplatforms en Android-apparaten. Hoewel het botnet een Japans technologiebedrijf aanviel, bleek het gebruikte IP-adres afkomstig van een apparaat in Duitsland.

Onderzoekers van Fortinet ontdekten C0XMO en benadrukten het modulaire ontwerp, waarmee aanvallers exploitatie-technieken kunnen bijwerken, doelarchitecturen kunnen toevoegen of verwijderen en laterale verspreiding kunnen uitbreiden zonder de hoofdpayload aan te passen. C0XMO blijft primair malware voor het uitvoeren van gedistribueerde denial-of-service (DDoS) aanvallen en ondersteunt 19 aanvalsmethoden, waaronder UDP-, TCP-, SYN- en ICMP-floods, "ping of death", NTP- en Memcached-amplificatie, Discord voice UDP-floods en Valve-specifieke floods.

De malware maakt gebruik van CVE-2021-27137, een buffer overflow kwetsbaarheid in DD-WRT veroorzaakt door onvoldoende gebruikersinputvalidatie. Deze kwetsbaarheid kan zonder authenticatie worden misbruikt om willekeurige code uit te voeren. Voor bredere verspreiding downloadt C0XMO een Python-script dat extra pakketten installeert, zoals ‘requests’, ‘paramiko’ en ‘beautifulsoup4’, die nodig zijn voor netwerkdetectie, communicatie en activiteiten via SSH en Telnet. Het script scant willekeurig internetgerichte systemen op veelgebruikte poorten zoals 22 (SSH), 23 (Telnet), 80/443 (HTTP/HTTPS) en diverse andere.

Na het vinden van een doelwit probeert de malware zwakke Telnet- en SSH-credentials te kraken, detecteert de CPU-architectuur en installeert een compatibele C0XMO-binary. Het script bevat bijna twee dozijn functies voor scannen, exploiteren van HTTP- en ADB-kwetsbaarheden, CPU-detectie, SSH/Telnet-login en IP-adrescontrole, met als hoofddoel laterale beweging binnen netwerken. Eenmaal binnen kopieert de malware zichzelf naar verborgen locaties en creëert cron jobs die het elke 15 minuten opnieuw starten. Ook worden shell startup-bestanden aangepast voor automatische uitvoering.

C0XMO scant actief naar concurrerende botnets, red-team tools, programmeertools en netwerkservices die de werking kunnen verstoren, en beëindigt deze door binaries te verwijderen en persistentiemechanismen zoals cron jobs, init scripts, systeemservices en shellprofielen te wissen. Vervolgens maakt het verbinding met een hardcoded command-and-control (C2) server via een aangepaste multi-stage handshake en wacht op opdrachten. Ondersteunde commando’s zijn onder andere heartbeat checks, starten en stoppen van scans en het uitvoeren van DDoS-aanvallen met een van de 19 methoden.

De algemene aanbeveling om C0XMO en vergelijkbare botnet malware tegen te gaan is het up-to-date houden van apparaten, het gebruik van unieke beheerderscredentials en het uitschakelen van externe toegang wanneer deze niet nodig is. Fortinet omschrijft C0XMO als een botnet met een aanzienlijk geavanceerdere architectuur en functionaliteit dan eerdere IoT-botnets, wat wijst op een hogere mate van operationele complexiteit dan typische Gafgyt malware. Voor een effectieve verdediging is het essentieel om elke laag van de beveiliging te testen voordat aanvallers dat doen.