alert http $HOME_NET any -> any 3100 (msg:"C2 VoidLink agent enrolment (POST /api/agents/enroll)"; \
flow:to_server,established; \
http.method; content:"POST"; \
http.uri; content:"/api/agents/enroll"; \
http.request_body; content:"\"mode\""; content:"\"token\""; distance:0; within:120; \
classtype:trojan-activity; sid:1000231007; rev:2; \
metadata:created_at 2026-06-07;)Egress · TCP/3100 · SID 1000231007
The agent registers with the C2 via `POST /api/agents/enroll` on TCP/3100. The enrollment body carries a distinctive `"mode":"root"` (or `"non-root"`) field alongside a `"token":` credential. The rule stacks three independent anchors (port + URI path + body fields) to minimise false positives against legitimate agent frameworks.