ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

病毒分析①熊猫烧香分析

2021-01-01 10:01:24  阅读:341  来源: 互联网

标签:分析 文件 exe 程序 感染 烧香 熊猫 2.1 病毒程序


1. 情报收集

1.0 哈希值

1.1 查壳

delphi写的程序,使用了FSG2.0壳

1.2 导入表

样本在脱壳之前跑不起来,脱壳之后,查看导入表

1.2 监控软件

1.2.1上传网站
运行病毒之后,本机开启火绒剑会被强制退出,将样本上传微步在线查看:
1.2.2 监控软件行为
使用Process Monitor监控软件查看进程树,启动了很多个命令行程序,并传入命令行参数
cmd.exe /c net share C$ /del /y
	命令行模式下删除C盘的网络共享,执行完后关闭cmd.exe。
cmd.exe /c net share admin$ /del /y
	取消系统根目录的共享
查看进程事件,发现创建了很多文件,写入文件的操作特别多,还有一些网络行为查看注册表操作:网络监控:

1.3 查看本机变化

程序图标被篡改,双击程序不能正常运行

2. 分析程序

使用IDA,OD静态动态结合分析,发现病毒的主函数一共有3个:

2.1准备工作

  • 2.1.1 判断
    • 第一次打开病毒程序,获取当前所在路径,判断是否存在Desktop_.ini文件(ini文件是病毒程序感染之后写入的),存在的话就设置文件属性,并删除ini文件
  • 2.1.2 读取自身PE文件
  • 2.1.3 判断当前路径
    • 判断当前程序路径是否 "C:\Windows\system32\drivers\spo0lsv.exe"
  • 2.1.4 不是当前路径
    • 若不是System32/drivers路径,则将所有spo0lsv.exe进程结束(第一次运行的时候,病毒名称应该不是 spo0lsv.exe否则会将自身结束),将自身文件复制到 "C:\Windows\system32\drivers\spo0lsv.exe" 启动它。退出进程。
  • 2.1.5 启动原程序
    • 若本程序是在该路径运行的,对读取的自身PE文件,判断是否存在标志字符串"WhBoy010Editor.exe.exe 7040856"字符串,如果有这个字符串,说明是被感染的文件  (感染:在原程序的PE文件前面写入病毒程序)
    • 2.1.5.1 若是被感染的文件,则读取自身,将原文件的PE拷贝出来,以附加的方式写入到文件中
    • 2.1.5.2 编写并执行28$$.bat批处理文件:意思就是删除被感染的文件,运行原文件
:try1
"del "C:\Program Files\010 Editor\010Editor.exe"                                 //删除文件
if exist "C:\Program Files\010 Editor\010Editor.exe" goto try1             //判断文件是否存在
ren "C:\ProgramFiles\010 Editor\010Editor.exe.exe" "010Editor.exe"   //修改文件名
if exist "C:\Program Files\010 Editor\010Editor.exe.exe" goto try2       //判断文件是否存在
"C:\Program Files\010 Editor\010Editor.exe"                                         //运行没有感染的程序
:try2
del %0
    • 2.1.5.3 判断当前运行的本程序是否是病毒源程序,若是源程序,那么退出本进程
    • 2.1.5.4 若不是病毒源程序:将C盘获取drivers目录的病毒程序spo0lsv.exe删除,再将自身写入获取drivers目录的spo0lsv.exe程序中,然后退出进程,再启动获取drivers目录下的spo0lsv.exe
    • 第一部分结束

2.2 感染文件

  • 2.2.1 CreateThread_Infected
      • 创建线程,递归遍历并感染文件
    • 2.2.1.1 拼接磁盘路径
    • 2.2.1.2 感染文件
      • 遍历磁盘的文件夹,系统关键的文件夹不感染,遍历文件,获取感染文件,删除系统备份文件"GHO"文件
      • exe程序感染流程 :
        • 获取exe文件名,查找当前运行的程序,若该程序正在运行,放弃感染,若该程序是病毒程序,不感染
        • 读取exe文件,存储在内存中,在该exe文件中查找字符串"WhBoy",若存在WhBoy字符串,说明该文件已经被感染过了,不感染
        • 若不存在"WhBoy",则将病毒程序自身复制到exe文件中(此时,文件已经被修改成病毒文件,大小为124kb,病毒大小),然后将内存中的exe写入到被感染后的程序中(此时的大小为病毒程序+原程序)
        • 对感染后的文件写入格式化字符串(WhBoy+文件名+exe+02+十进制文件大小+1)
WriteLString__写入文件函数:此时的原文件已经被感染成病毒F8步过之后,将会把内存中的原PE文件写入到被感染的程序中
      • WEB文件感染流程
  • 2.2.2 Time_Create_C_Vir
    • 感染C盘文件,创建inf文件
      • 检查C:\autorun.inf文件是否存在,不存在就创建
      • 将自身病毒释放到C:\setup.exe
  • 2.2.3 CreateThreadInter_
    • 网络感染
      • 获取本地IP地址
      • 尝试感染

2.3 保护工作

  • 2.3.1 RegSetValueEx__1
    • 定时设置注册表,添加启动项
  • 2.3.2 CreateThread_ReadQQ_Mem
    • 解密网址,访问网址,下载内容
  • 2.3.3 CreateProcess__2
    • 创建计时器,启动进程,删除共享,并且调用了CreateT_ReadQQ_Mem
  • 2.3.4 DeleteService_Reg
    • 停止服务,终止杀软程序,删除注册表项
  • 2.3.5 DecryptHttp_ReadQQ
    • 解密网址,访问网站,读取访问的内容
  • 2.3.6 sub_40C728
    • 解密网址,从网址中下载并保存文件

3. 应对措施

3.0 预防措施

  • 提高安全意识,不明连接谨慎点击
  • 安装杀毒软件,定时查杀
  • 遇到突发情况中病毒,第一时间断网,防止损失扩大以及横向传播

3.1 手动查杀

  • 删除C盘System\drivers目录下的spo0lsv.exe病毒程序
  • 使用PcHumter结束病毒程序
  • 删除病毒启动项 "Software\\Microsoft\\Windows\\CurrentVersion\\Run"

3.2 编写专杀工具

  • 病毒查杀特征:
    • 哈希值
    • 感染特征
      • 文件名的末尾有字符串"WhBoy+ PathName+.exe+02+Size+1"
测试路径:运行截图:修复后的效果:
//在数组中寻找指定的字节位置
int rfindStrInBuff(char* buffBase, int buffSize,const char* str) {
    for (size_t i = buffSize; i > 0 ; i--)
    {
        char* findBuff = buffBase + i;
        if (!memcmp(findBuff, str, strlen(str)+1)) {
            return buffBase+i;
        }
    }
    return 0;
}









来自为知笔记(Wiz)

附件列表

     

    标签:分析,文件,exe,程序,感染,烧香,熊猫,2.1,病毒程序
    来源: https://www.cnblogs.com/sanyimitian/p/14219459.html

    本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
    2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
    3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
    4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
    5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

    专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

    Copyright (C)ICode9.com, All Rights Reserved.

    ICode9版权所有