Loading . . .

熊猫烧香病毒分析


熊猫烧香病毒分析

环境

VMware 15 & Win7 & Windows xp & Olly吾爱破解增强版 & ImportREC 1.7汉化版(提取码: 2023)
病毒下载地址(请勿传播)

操作

入侵过程分析

  1. 在win7虚拟机内装好idapro与ollydbg以及PChunter
  2. 保存快照
  3. 运行熊猫烧香病毒
  4. 结果发现并没有反应,猜测是因为找到的iso安装文件已经打过补丁了,于是考虑使用xp系统
  5. 将病毒导入xp系统,新建桌面文件如下图
  6. 新建虚拟机快照
  7. 运行熊猫.exe
  8. 等了一会儿之后发现两点异常
    1. 无法打开任务管理器
    2. 无法打开注册表
  9. 重新换了个地方重新下了一个
  10. 做了快照之后运行之前先看看进程
  11. 运行之后查看进程,发现多了一个名为spo0lsv.exe的进程
  12. 随便打开一个程序文件夹,发现病毒成功入侵
  13. 查看端口占用,发现多了很多可疑端口占用
  14. 运行msconfig命令查看启动项,发现多了个spo0lsv.exe的自启动项
  15. 猜测是病毒将自身复制到系统目录C:\WINDOWS\system32\drivers,然后借助系统命令自启动,查看该目录果然发现病毒
  16. 在想要查看隐藏文件时,每次设置完之后会被自动设置为不查看隐藏文件
  17. 查看注册表,发现病毒将自身注册进了注册表中
  18. 查看隐藏文件,其中,autorun.inf是在运行病毒之后创建的
  19. 这里,进入vmware文件夹,查看隐藏文件,多出了一个Desktop_.ini的文件
  20. 进入其他被污染的文件夹,查看隐藏文件,发现也有这个东西
  21. 总结一下大概是
  22. 自我复制样本到C盘:C:\Windows\System32\drivers\目录下,启动C:\Windows\System32\drivers\spo0lsv.exe(即病毒程序)
  23. 在每一个目录下创建Desktop_.ini
  24. 在C盘根目录下创建了autorun.inf文件,其中指定了自动启动的文件为根目录下的setup.exe(即病毒程序)
  25. 对程序目录下的exe进行了感染,图标变为熊猫烧香,打开exe时,自动打开病毒
  26. 枚举进程、查找窗口、打开设备
  27. 设置注册表启动项为C:\Windows\System32\drivers\spo0lsv.exe
  28. 自己创建了一个注册表的项,在其中写入了很多信息HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Tracing\spo0lsv_RASAPI32
  29. 设置注册表键值,隐藏文件不显示HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL中的CheckedValue值

程序结构分析

  1. 使用快照恢复xp系统,打开win7,用OllyDBG和IDA进行代码分析

  2. 用PEID查壳,发现是加了FSG2.0的壳

  3. 参考了网上的博客,将7FFFFFFF全部改为00000000

    1. 选择插件列表,找到ollydump,跨段查找
    2. 等待程序跳转
    3. 发现函数之间被填充了奇怪字符
    4. 想更清晰的查看,右键,转到,表达式,输入相应地址
    5. 在数据窗口跟随
    6. 修改即可
  4. 右键,选择用ollydump脱壳调试进程

  5. 脱壳保存exe

  6. 使用importREC进行导入表修复,运行刚刚的程序之后,可能会报停止运行,不用管,打开importREC,选择如下

  7. 用IDA打开

  8. 从start开始看

  9. 点进各个call函数一一看过去之后发现了比较有嫌疑的三个函数,集中在一起

  10. 点进sub_40819C这个函数,通过调用函数名称可以看出,这个函数主要就是用来更改图标的

  11. 往下看,下一个模块中调用了三个函数,这里就不点进去

  12. 首先调用sub_4053AC,点进去看看,发现是用于获取系统路径的函数

  13. 接着点进sub_403F8C函数,自己看了一会儿没看明白,看了看网上的博客发现这是用于拼接字符串的

  14. 最后一个sub_40521C,点进去后发现是用于改变大小写的

  15. 继续往下看,发现这个函数还兼顾了自我复制与调度程序运行的功能

  16. 再往下看,发现了这么一个块,这块儿主要负责的便是保证恶意程序的执行

  17. 下面对sub_40D18C进行分析,点进之后很短,只调用了三个函数

  18. 第一个函数sub_40A5B0主要负责创建一个线程

  19. 点进sub_40A48C看看,注意到该函数最后调用了一个sub_409348

  20. 点进去看看,非常复杂庞大的一个函数,该函数会遍历主机,根据文件格式进行不同的操作

  21. 接着往下看有个分支

  22. 对于文件夹,会在指定文件夹下创建Desktop_.ini文件,对文件创建时间进行校验,如果不是此时产生的,就删除

  23. 在文件分支看到许多类似结构的函数,最后都以sub_4079CC结尾

  24. 点进去看看,没怎么看明白,看了看网上其他人的博客,这个是用于判断文件是否被感染的函数

  25. 最后是sub_40D088,点进去之后发现这就是个定时函数,用于进行程序执行和滞留


文章作者: Lhtian
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Lhtian !
  目录