C0XMO
Hunt this family in your stack
Mallory pivots from this family to the IOCs, detections, and named campaigns that touch your stack, and pages you when something new lands.
Vulnerabilities exploited
5 CVEs Mallory has correlated with this family across public research and vendor advisories. Each row links to the full Mallory page for that vulnerability.
In March, Labs identified a new Gafgyt botnet variant called C0XMO that spreads by exploiting CVE-2021-27137. The malware is delivered through a stack buffer overflow in vulnerable DD-WRT router firmware, triggered by malicious SSDP M-SEARCH requests sent to UDP port 1900. | In March, Labs identified a new Gafgyt botnet variant called C0XMO that spreads by exploiting CVE-2021-27137.
The scanner also includes numerous HTTP-based exploits for initial access, including... AVTECH DVR Vulnerability (CVE-2025-34054, CVE-2016-15047)... FortiGuard Labs provides an IPS signature against attacks exploiting... CVE-2016-15047: Avtech DVR Camera Authentication bypass and Command Execution Exploit | FortiGuard Labs discovered a new Gafgyt botnet variant, C0XMO, that spreads by exploiting CVE-2021-27137. Our analysis revealed that, unlike earlier versions, this malware separates its lateral movement into a standalone Python script.
The scanner also includes numerous HTTP-based exploits for initial access, including... GLPI htmLawed RCE (CVE-2022-35914)... FortiGuard Labs provides an IPS signature against attacks exploiting... CVE-2022-35914: GLPI-Project.GLPI.htmLawedTest.php.Code.Injection | FortiGuard Labs discovered a new Gafgyt botnet variant, C0XMO, that spreads by exploiting CVE-2021-27137. Our analysis revealed that, unlike earlier versions, this malware separates its lateral movement into a standalone Python script.
The scanner also includes numerous HTTP-based exploits for initial access, including... HNAP SOAP Injection (CVE-2015-2051)... FortiGuard Labs provides an IPS signature against attacks exploiting... CVE-2015-2051: D-Link.Devices.HNAP.SOAPAction-Header.Command.Execution.Vulnerability | FortiGuard Labs discovered a new Gafgyt botnet variant, C0XMO, that spreads by exploiting CVE-2021-27137. Our analysis revealed that, unlike earlier versions, this malware separates its lateral movement into a standalone Python script.
The scanner also includes numerous HTTP-based exploits for initial access, including... AVTECH DVR Vulnerability (CVE-2025-34054, CVE-2016-15047)... FortiGuard Labs provides an IPS signature against attacks exploiting... CVE-2025-34054: Avtech DVR Camera Authentication bypass and Command Execution Exploit | FortiGuard Labs discovered a new Gafgyt botnet variant, C0XMO, that spreads by exploiting CVE-2021-27137. Our analysis revealed that, unlike earlier versions, this malware separates its lateral movement into a standalone Python script.
Techniques & procedures
23 distinct techniques documented for this family, organized by ATT&CK tactic.
Initial Access
2 techniquesThe scanner performs weak password brute-force attacks on Telnet and SSH services. After successful authentication, it identifies the target host’s architecture and downloads the appropriate payload.
Execution
3 techniquesThe malware then creates cron jobs to run C0XMO every 15 minutes. (crontab -l 2>/dev/null | grep -v '%s'; echo ' /15 * * * %s >/dev/null 2>&1') | crontab -
Unlike traditional botnets, C0XMO isolates its scanning function into an independent Python script. The malware fetches this script from the same IP address and port... C0XMO then executes the scanner script with the following arguments. python3 /tmp/scanner.py --rand ...
The malware is delivered through a stack buffer overflow in vulnerable DD-WRT router firmware, triggered by malicious SSDP M-SEARCH requests sent to UDP port 1900.
Persistence
4 techniquesC0XMO appends execution commands to multiple shell profile files such as ~/.profile, ~/.bashrc, and ~/.bash_profile, using the hidden files created earlier.
The malware then creates cron jobs to run C0XMO every 15 minutes. (crontab -l 2>/dev/null | grep -v '%s'; echo ' /15 * * * %s >/dev/null 2>&1') | crontab -
The scanner performs weak password brute-force attacks on Telnet and SSH services. After successful authentication, it identifies the target host’s architecture and downloads the appropriate payload.
Privilege Escalation
3 techniquesC0XMO appends execution commands to multiple shell profile files such as ~/.profile, ~/.bashrc, and ~/.bash_profile, using the hidden files created earlier.
The malware then creates cron jobs to run C0XMO every 15 minutes. (crontab -l 2>/dev/null | grep -v '%s'; echo ' /15 * * * %s >/dev/null 2>&1') | crontab -
Stealth
5 techniquesIt then generates multiple hidden file paths, including /tmp/.sys, /var/tmp/.sys, and /dev/shm/.sys... C0XMO copies itself to these hidden locations
If it finds a match, C0XMO deletes the corresponding file from the system.
The scanner performs weak password brute-force attacks on Telnet and SSH services. After successful authentication, it identifies the target host’s architecture and downloads the appropriate payload.
pip3 install requests paramiko beautifulsoup4 --break-system-packages 2>/dev/null || pip3 install requests paramiko beautifulsoup4 2>/dev/null || python3 -m pip install requests paramiko beautifulsoup4
Defense Impairment
1 techniqueC0XMO copies itself to these hidden locations and sets the file permissions to 755, enabling execution.
Credential Access
1 techniqueC0XMO exhibits many traits typical of Gafgyt variants, including weak-credential brute-force attacks targeting Telnet and SSH... The scanner performs weak password brute-force attacks on Telnet and SSH services.
Discovery
3 techniquespython3 /tmp/scanner.py --rand --rand-ports 23,22,80,443,8080,5555,5511,5554,4443,81,8000,7547,8081,8443,8888 ... The script then creates numerous worker threads... Scan whether the target ports are open Detect the service type Execute Telnet, SSH, HTTP, and ADB exploitation attempts
The malware scans all active processes in /proc, comparing their names to an internal blacklist.
Lateral Movement
3 techniquesThese packages are primarily used for network communication, including sending HTTP requests, receiving responses, and performing SSH- and Telnet-based interactions.
In March, Labs identified a new Gafgyt botnet variant called C0XMO that spreads by exploiting CVE-2021-27137.
Unlike earlier variants, C0XMO uses a separate Python script for lateral movement, improving propagation across different devices and architectures.
Command and Control
3 techniquesAfter completing the local persistence setup, C0XMO establishes a connection to the C2 server at 85[.]215[.]131[.]70... C0XMO performs a custom handshake after connecting.
The server then responds with the string HANDSHAKE_OK. Next, C0XMO sends the string BOT to identify itself as a botnet node... In the final stage of the handshake, the bot sends the hexadecimal sequence FF FF FF FF 75 as the final magic value to the C2 server.
After compromise, the malware was downloaded to the `/tmp/.cache` directory on the affected host.
Impact
2 techniquesIf a process name matches an entry on the blacklist, C0XMO immediately terminates that process.
C0XMO supports 19 different DDoS attack methods for various scenarios... UDP Bypass Flood, TCP Flood, Hybrid TCP + UDP Flood, TCP SYN Flood... HTTP Request Storm, Slow/IO Exhaustion, HTTP GET Flood
Other
1 techniqueIf a process name matches an entry on the blacklist, C0XMO immediately terminates that process... It not only deletes rival malware binaries but also tries to remove associated persistence mechanisms such as cron jobs, rc.local, init.d services, system services, and shell profile scripts.
IOCs tracked for this family
18 indicators attributed across vendor reports, sandbox runs, and researcher write-ups. Full values are available in Mallory.
IPs, domains, and DNS infrastructure linked to this family.
File hashes (MD5, SHA-1, SHA-256) from samples and reports.
Recent activity
2 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
A new Gafgyt botnet variant that propagates by exploiting CVE-2021-27137 in vulnerable DD-WRT router firmware via malicious SSDP M-SEARCH requests to UDP port 1900. It uses a separate Python script for lateral movement and includes samples compiled for multiple Linux architectures.
A Gafgyt botnet variant targeting Linux and IoT devices. It establishes persistence, kills competing malware and tools, connects to a C2 server using a custom handshake, supports multiple DDoS attack methods, and uses a separate Python scanner for lateral movement via Telnet, SSH, HTTP exploits, and exposed ADB.
The version that knows your environment.
Match every observed IP, domain, and hash against your live telemetry.
Named campaigns wielding this family, with evidence pinned to each claim.
CVEs this family uses for access and lateral movement.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Every documented technique, ranked by evidence weight.
Reddit, Mastodon, and CTI community discussion around this family.