之前一直没怎么分析过远控木马,偶然看到了一个木马样本,样本不难,也有大佬分析过,只为学习
1.样本概况
病毒名称:3601.exe
MD5: C8102164058B27B5553924255093B643
SHA1: FAD5CDE82609751365344B14C777C1BF975E410F
CRC32: C3BEFC16
2.1.1 测试环境
Windows 7 32位操作系统
2.1.2 测试工具
查壳工具:PEID、ExeinfoPE
监测工具:火绒剑、PCHunter
调试工具:OD、IDApro
使用PEID进行查壳,如图1-1是个VC6.0程序
图1-1 病毒查壳
LordPE查看区段,发现是加了UPX的壳,看程序的入口点特征,确实和vc6.0程序入口点特征不太一样,不过也能顺利的找到main函数,或许我拿到的样本是脱过壳的,不过这些都不是重要的。
图1-2 查看区段
将恶意程序手动脱壳,使用PEID的插件查看恶意程序的加密算法,发现程序含有Base64算法。
图1-3 加密算法
将恶意样本上传到微步云沙箱,发现恶意程序有如下行为。
图1-4 云沙箱分析
将病毒样本拖入火绒剑中,过滤到行为监控,可以看到病毒释放文件自我复制、自我删除、释放dll文件等。
图2-1 病毒释放文件和自删除
图2-2 释放lpk文件
如图2-2,病毒在许多目录下释放了lpk.dll文件,具体都在什么目录下释放文件后续会继续分析。
图2-3 加载hra33.dll
首先释放的PE文件开始启动,期间恶意程序自我复制,并隐藏释放文件,最后恶意程序进行自删除。
对网络进行监控,恶意程序会请求一些IP的连接并发送数据包,如图2-2:
图2-4 恶意程序的网络监控
转到文件监控,恶意程序也创建了一些文件
图2-5 恶意程序的文件监控
最后使用注册表对比工具,将运行恶意程序前后对齐,新增了以下注册表键值
图2-6 注册表对比
不多废话,直接IDA F5搞起
图3-1 病毒main函数
看主函数,看起来很清晰,开工OD、IAD齐分析
上来就是WSAStartup,一看就是有网络操作。
进入sub_405A52函数
图3-2 拼接字符串
图3-3 打开注册表查看注册表键是否存在
继续运行程序,返回值为0,可以判断这个函数的操作是拼接注册表字符串,打开注册表,查看键值是否存在。
程序继续运行,走到sub_405B6E函数
图3-4 字符串比较
判断程序是否在系统目录下
图3-5 随机生成字符
随机生成字符,拼接成文件名,拷贝到C:\Windows目录下
图3-6 创建服务
图3-7 启动服务
创建并启动服务。
图3-8 添加注册表键
添加注册表键HKEY_LOCAL_MACHINE\system\\CurrentControlset\\services\\Ghijkl Nopqrstu Wxy
图3-9 cmd命令
最后,函数返回时执行cmd命令,自我删除
图3-10 拼接后的命令
图3-11 函数重新命名
程序已终止,将C:\Windows目录下的程序加载到OD,程序将执行以下代码
图3-12 条件语句的上部分
接下来主要分析回调函数
图3-13 将ASCII码转为char
图3-14 检查互斥体
根据图3-13和图3-14是为了检查互斥体"Ghijkl Nopqrstu Wxy"是否存在,存在则结束程序。
图3-15 下部分
sub_405394函数作用是枚举资源段释放hra0.dll
sub_4053A6函数如下:
图3-16 打开注册表
图3-17 读取注册表值
图3-18 操作资源
如图3-14、3-15、3-16可知,这个函数的作用是检查注册表键并在资源上操作了一串字符串。
图3-19 加载dll
sub_4034E5函数加载了dll文件
图3-20 整体
这些便分析完成,dll文件会稍后分析,下面继续分析三个线程函数
图3-21 三个线程函数
接下来分析三个线程函数
线程一函数:
图3-22 弱口令
看到这些弱口令,就应该能猜到是用于弱口令连接局域网进行感染
图3-23 拼接字符串
图3-24 共享目录
通过如上分析,线程一函数是通过弱口令感染局域网其他主机,并通过共享目录将病毒传播出去,利用at计划任务,直接admin$共享。
线程二函数:
图3-25 获取当前日期
图3-26 函数命名
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-3-8 16:33
被Iam0x17编辑
,原因: