解析木马客户端与服务端隐蔽通讯的实现方案
2004-11-18 作者:水蜜桃 编辑 阅读量:
3. 使用UDP协议
服务端侦听,客户端连接;客户端侦听,服务端连接。方法和安全性与使用TCP协议差不多。需要注意的是UDP不是一个可靠的协议,所以,必须在UDP协议的基础上设计一个自己的可靠的报文传递协议。
4. 解决防火墙问题
无论是服务端被动侦听,还是服务端主动连接,在服务端和客户端试图建立连接时都会引起防火墙得报警。毕竟粗心得用户不会很多,所以,解决防火墙报警是服务端必须要解决的一个问题。一种方法是代码注入,服务端将自己注入到一个可以合法的与外界进行网络通讯的进程(比如 IE, ICQ, OICQ, TELNTED, FTPD, IIS等)的地址空间中,然后或者可以以一个新线程的形式运行,或者只是修改宿主进程,截获宿主进程的网络系统调用(WinSock)。后者的实现可能要麻烦一些。如果是以新线程的形式运行,那么然后或者可以被动侦听,或者可以主动连接。
无论哪种情况都不会引起防火墙的报警(当然不是百分之百不会引起防火墙报警)。但要注意的是如果是被动侦听的话,比如寄生在IE内,用fport会发现IE在某一个端口侦听,这有可能会引起细心的用户的警觉。所以比较好得方法是在新线程内去主动连接客户端,而且连的是客户端的80端口;如果是寄生在OICQ内,何不连接客户端的8000端口。使用代码注入需要服务端具有若干特权,考虑到一般用户都是以Admin身份启动NT的,这应该不是一个问题(如果服务端是作为一个service启动的话,就更没问题了)。
5. 服务端主动连接时客户端IP的公布问题
使用第三方公布客户端IP不是一种可靠的方法。比如如果是通过一个个人主页发布客户端IP的话,一旦由于种种原因,这个个人主页被主页提供商取消的话,服务端就找不到客户端了。而这种个人主页被主页提供商取消的可能性是很大的。同时客户端也要冒暴露自己的IP的风险。所以更好的方法是客户端通过某种方法主动告诉服务端自己的IP和端口,然后服务端来连接。这样可以保证最大的可靠性,安全性和灵活性。
服务端怎么收到客户端的通知呢?一种方法是我们截获其他进程收到的TCP数据或者UDP包,然后分析截获的数据,从中确定是否客户端发来了一个报告其IP的数据片断。另一种方法是使用RAW socket来收听ECHO REPLY类型的ICMP包,在ICMP数据包的数据去就包含了客户端IP。而对于普通用户来说,由于要上网浏览,这样的ICMP包是很少过滤掉的。
上一页 1 [2] 3 下一页
责任编辑:水蜜桃
文章来源:天极网 2004-11-18
请发表评论或留言 |
热门评论文章(165楼)·评测:死磕面板!三星 226BW液晶(146楼)·评测:台电T29专杀nano与魅族 M6 (118楼)·评测:王朝更替!魅族miniplayer (85楼)·机箱也疯狂,小编亲历五年升级路 (82楼)·评测:硕美科质量遭质疑是真是假 相关文章·是帐号就黑 密码解霸变种W太过·揭秘木马如何盗取QQ密码 ·动态嵌入式dll木马浅析 ·SCO炸弹蠕虫病毒分析报告 ·网络蠕虫病毒的检测及其防治 |
| :硬件: | :软件: |
上海趋安计算机科技有限公司 蔫老虎在线评测网·版权所有 沪ICP备05007473号
Copyright © 2002-2007 PCICP.COM.All Rights Reserved.
E-Mail:support@pcicp.com Tel:021-54253292 54253293 Fax:021-54253293

























