正 文

木马客户端与服务端隐蔽通讯解析


www.7dspace.com  更新日期:2006-2-7 9:52:23  七度空间


  5.服务端主动连接时客户端IP的公布问题

  使用第三方公布客户端IP不是一种可靠的方法。比如如果是通过一个个人主页发布客户端IP的话,一旦由于种种原因,这个个人主页被主页提供商取消的话,服务端就找不到客户端了。而这种个人主页被主页提供商取消的可能性是很大的。同时客户端也要冒暴露自己的IP的风险。所以更好的方法是客户端通过某种方法主动告诉服务端自己的IP和端口,然后服务端来连接。这样可以保证最大的可靠性,安全性和灵活性。

  服务端怎么收到客户端的通知呢?一种方法是我们截获其他进程收到的TCP数据或者UDP包,然后分析截获的数据,从中确定是否客户端发来了一个报告其IP的数据片断。另一种方法是使用RAW socket来收听ECHO REPLY类型的ICMP包,在ICMP数据包的数据去就包含了客户端IP。而对于普通用户来说,由于要上网浏览,这样的ICMP包是很少过滤掉的。

  6.用ICMP来通讯

  既然客户端可以通过发一个ICMP(ECHO REPLY)来告诉服务端它的IP,那为什么不把所有服务端和客户端的通讯都建立在ICMP的基础上呢?服务端向客户端发ICMP(ECHO REQUEST),客户端向服务端发ICMP(ECHO REPLY),然后可以在ICMP基础上建立一个自己的可靠数据报通讯协议。如果不怕烦的话,还可以建立一个TCP over ICMP。由于一般的用户这两类ICMP包都是设为无警告放行的,这种方法的隐秘性还是很强的。

  7. 用自定义的协议来通讯

  我们知道IP头的协议字段指定了这个IP包承载得数据的协议,比如TCP,UDP,ICMP等等。我们完全可以把这个字段设为我们自己定义的值(>80),定义自己的通讯协议。不过估计这种IP包将会被所有的防火墙过滤掉。

  8.关于服务器上的木马的通讯隐藏

  前面所说都是针对个人用户(大部分都是拨号用户,包括Modem,ISDN,ADSL,FTTX+LA,Cable Modem)。对这类机器来说,一般都没有开什么服务,而且一般都使用了个人防火墙,同时ICMP ECHO REPLY/REQUEST都是放行的,所有才有我们上述的各种方案。而对于服务器来说,至少要开HTTP服务,同时,又一般位于专门的防火墙之后。这个专门的防火墙很可能过滤掉除类型为TCP,且目的端口为80的IP包之外的所有的IP包,更不要说各类ICMP包了。向下的方案通不过,我们可以试试向上的方案。一种方法就是注射到IIS服务的进程空间中,然后在IIS接受到木马客户端的请求前来个预处理,在IIS将数据发给木马客户端时来个后处理,不过我不知道怎么实现,不知哪为高手知道。

  另一种方法就是写一个ISAPI AP,这样,木马客户端发个 "http://xxx.xxx.xxx.xxx/backdoor.dll?cmd=dir+c:\"请求来发命令了。当然,一切信息都是加密得。 RPC除了RPC over SMB,RPC over TCP等等外,还有一个RPC over HTTP,事实上QQ的http代理就是他自己定义的一个rpc over http,至少QQ自己是这么叫的。现在,我们也来了个rpc over http。

  通讯隐藏技术只是木马隐藏诸技术中得一部分,但也是最重要的一部分。因为他不但要保护木马,还要保护木马得控制者,所以不管是木马编写者,还是防火墙编写者,都应该对这一部分给于足够的重视。

2页,页码:[1] [2] 

上一篇:虚拟服务器实现方法
下一篇:Illustrator渐变网格绘制水墨风格萝卜图
标题:木马客户端与服务端隐蔽通讯解析 作者:王一峰 来源:黑鹰基地
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐