首先声明下,本人既不是杀毒软件厂商技术人员,也不是黑产从业人员。写这篇文章只是记录自己对木马技术研究的一些分析,也并不代表这些技术是当前木马技术领域的主流技术。只是用来分享和交流之用。
进入正题,反木马技术我个人认为比较常见的分为两种,一种是对木马网络特征行为进行分析,如用wireshark 等抓包工具分析网络特征(对单独一台主机分析时较常见),还可以用硬件防火墙分析网络协议数据包(分析整个内网数据流量时较常见);另一种是对木马的文件特征行为进行分析,如用process monitor 分析某个可疑进程对系统的修改,还有杀毒软件厂商用的比较多的方法是对木马pe 文件进行逆向分析。
本文重点对木马网络特征行为进行研究,提高木马反跟踪能力。
我这里给出木马的设计思路草图, 如下:
源代码将在逆向分析中给出。
下面我想从木马抓包分析和使用IDA PRO 逆向分析给出木马的网络特征行为。
为了同步演示木马行为, 木马被控端也将同时运行,并输出调试信息。
如下图:
下面是wireshark 抓包截图:
这是建立TCP 反弹连接时抓取到的数据包。
这是建立UDP 反弹连接时抓取到的数据包。
下面是用 IDA PRO 6.6 对 被控端shell.exe 进行分析。
这里查看到的IP地址 和使用wireshark 抓包获取的IP 地址是一样的,都是23.218.27.34
这个IP地址 只是起到干扰和伪装的作用,可以是任意国家的IP地址。
而UDP 上线IP 或者域名在 源代码中是加密赋值的,用IDA PRO 分析结果如下图:
对应的C++ 源码部分如下图:
当然,这个加密的上线IP 在上面的UDP 抓包和被控端运行调试信息中已经给出。
通过wireshark 和IDA 对木马分析得出上线IP 很可能就是23.218.27.34,而真正的上线IP 和端口 很有可能被忽略掉了。因为大多数的木马程序都采用TCP 反弹连接, 在分析木马的时候UDP 特征并不容易引起注意。
作为观看这篇文章的奖励, 我有一个小礼物送给大家
主要功能:查看当前网络TCP和UDP 连接
使用方法:
在>=Win7 系统上鼠标右键已管理员身份运行; <Win7 系统下直接双击运行。
效果图如下: