The Nimda/Code Red Filter #define KILL(n) call("rewrite":2); accept[120:n] tcp && dstport(80) && established && ipdatalen (>30) { ipdata[0x14:4]("GET ") { ipdata[0x18:4]("/scr") && ipdata[0x1C:4]("ipts") { // "GET /scripts/root.exe" ipdata[0x20:4]("/roo") && ipdata[0x24:4]("t.ex") { KILL(user1); } // "GET /scripts/..%" ipdata[0x20:4]("/..%") { KILL(user2); } } // "GET /MSADC" ipdata[0x18:4]("/MSA") && ipdata[0x1C:2]("DC") { KILL(user3); } // "GET /msadc" ipdata[0x18:4]("/msa") && ipdata[0x1C:2]("dc") { KILL(user4); } // "GET /c/winnt" ipdata[0x18:4]("/c/w") && ipdata[0x1C:4]("innt") { KILL(user5); } // "GET /d/winnt" ipdata[0x18:4]("/d/w") && ipdata[0x1C:4]("innt") { KILL(user6); } // "GET /_mem_bin/.." or "GET /_vti_bin/.." ipdata[0x18:2]("/_") { ipdata[0x1E:4]("bin/") && ipdata[0x22:2]("..") { ipdata[0x1A:4]("mem_") || ipdata[0x1A:4]("vti_") { KILL(user7); } } } // Code Red: "GET /default/ida?" ipdata[0x18:4]("/dev") && ipdata[0x1C:4]("ault") { ipdata[0x20:4](".ida") && ipdata[0x24:1]("?") { KILL(user8); } } } } next;