一个典型的蠕虫病毒有两个功能型部件:传播和破坏,流行的蠕虫病毒大都是利用操作系统或者应用程序的漏洞(以弱口令和溢出最为常见),但常常并不会对宿主机造成“致命”的破坏。这两个特点使蠕虫病毒比普通电脑病毒传播得更快,影响力更大。一般来说,单一的蠕虫病毒只针对某种特定的漏洞进行攻击,所以一旦这种漏洞得到大范围修补,病毒也就没有了生存空间。
0@}:`OynX F<Z13]| 更新这种设计,我把传播部件拆分开来:把扫描、攻击和破坏脚本化,主程序则负责解析这些脚本。例如针对ftp弱口令进行扫描,我们可以定义如下脚本:
HurF4IsHk nMH:7[x3 qGECw# code:
iY3TB|tMt uid = iscript-0a21-2331-x #随机唯一编号
S1_):JvV using tcp;
a}kPc}n\ port 21;
B3&ETi5NTU send “user anonymous”;
S+-V16{i send crlf;
X;yThb`iI send “pass
fake@nothing.com”
SM[VHNr,- send crlf;
.|2[!7CXH if (find “200”) result ok;
z_nY>_L83* next;
IMHt#M` K5(:0Q.5y uP2Wy3`V r<