病毒丨熊猫烧香病毒分析

作者丨黑蛋

一、病毒简介

病毒名称:
熊猫烧香
文件名称:
40fee2a4be91d9d46cc133328ed41a3bdf9099be5084efbc95c8d0535ecee496
文件格式:
EXEx86
文件类型(Magic):
MS-DOS executable
文件大小:
29.30KB
SHA256:
40fee2a4be91d9d46cc133328ed41a3bdf9099be5084efbc95c8d0535ecee496
SHA1:
ca3a1070cff311c0ba40ab60a8fe3266cfefe870
MD5:
512301c535c88255c9a252fdf70b7a03
CRC32:
E334747C
SSDEEP:
768:Zf4LGjK09Rex9hq4gx9dtdiKosOOOf1G7mV/Wz3ETC7:Zf4LGjDeNA3diKCOOf4oG3N
TLSH:
T102D2D0E3770A58CDC1811CF0DCB347781994AC79AA0E83B9A911752D0E795FFAF42A35
AuthentiHash:
n/a
peHashNG:
ee0d0b18b39a36cf914131c260b08a27cd71a31b3be9a72d3ef7768cac57aec0
impfuzzy:
3:swBJAEPwS9KTXzW:dBJAEHGDW
ImpHash:
87bed5a7cba00c7e1f4015f1bdae2183
ICON SHA256:
0bf3ce8f441c6ef00c8f8406204f5273cad371683c764c5a901ab9ce925999a9
ICON DHash:
e89433333333e171
Tags:
exe,tls_callback,section_name_exception,lang_chinese,timestamp_exception

二、环境准备

虚拟机

调试器

安全软件

Win7x86

x32dbg、OD

火绒剑

三、程序脱壳

首先修改病毒后缀为exe,然后拖入PEID查看:

 

FSG壳,拖入x32dbg中,F9运行到程序领空,然后分析代码,F8几步就会发现刚开始有一个大循环,F4跳出循环:

 

然后继续F8就会发现又是一个循环,俩个函数一个LoadLibrary,一个GetProAddress,这里应该是修复IAT表,然后我们F4到其中跳出循环的jmp上面:

 

F8就是OEP:

 

根据x32dbg自带插件脱壳先Dump:

 

需要修复IAT表,右键->搜索->模块间调用:

 

双击第一个,看到call回车进jmp,然后右键数据跟随选择地址:

 

然后在这里看一下IAT表偏移,大小,再把7FFFFFFF改成00000000,然后打开插件,写入OEP:

 

 

脱壳成功:

 

四、行为分析

首先拍个快照,为了更好的查看熊猫行为,咱赋予他管理员权限,然后把熊猫添加到信任区,最后打开火绒剑开启监控,过滤掉其他进程:

 

然后简单的进行一下动作过滤,主要是行为监控,注册表创建,文件创建等:

 


可以看到主要是释放了一个文件,C:\Windows\System32\drivers\spo0lsv.exe:

 

五、静态分析

把脱壳后的exe拖到IDA中,从start开始分析,F5反汇编:

 

首先前面一坨都是一些变量赋值等操作,重点在以下三个函数:

 

5.1、sub_40819C分析

通过对函数内部分析,猜测加分析,对部分函数命名,以及对部分变量直接赋予字符串:

 

 



可以看到这里是获取系统目录,然后在各个文件夹中创建Desktop.ini,然后在C盘Driver文件夹中创建一个名为spo0slv.exe的可执行文件。最后运行起来程序。

5.2、sub_40D18C分析

进入此函数,一共有三个函数:

 

5.2.1、创建线程:

 

进入回调函数sub_40A48C:

 

这里是一个循环执行,然后遍历目录创建Desktop.ini的线程。

5.2.2、Sub_40C374:

 

进入箭头指向函数:

 

 



这里就是简单的看steup.exe和autorun.inf文件是否存在,否则拷贝自身创建。

5.2.6、sub_40BACC:
 

 

进入sub_40BA8C:

 

进入sub_40B864:

 


可以看到这里是一个创建网络链接的函数,也是这个函数根本目的。

5.3、sub_40D088:

这个函数里面有6个计时器,咱一个一个分析:

 

5.3.1、第一个计时器

 

里面有些函数是我根据分析+猜测修改的名称,以My开头,根据注册表路径信息可以看到,这里是进行了自启动注册表修改,然后设置属性为隐藏。

5.3.2、第二个计时器

一直跟进去,直到跟进一个创建线程回调函数里面:

 

可以看到就是简单的从网络下载东西然后创建文件,最后启动。

5.3.3、第三个计时器

 

进第一个回调函数,一直跟进去发现和之前的是一样的,就是下载,创建,启动。跟进第二个回调函数:

 

可以看到这里是通过cmd中断所有网络连接,删除网络共享。

5.3.4、第四个计时器

一直跟进去,到最后是sub_406E44:

 

根据分析我对里面的函数都进行了重命名,都是删除注册表值,关闭服务等内容,这里是关闭了杀软。

5.3.5、第五个计时器

 

这里是对一些网址进行解密打开,解密之后我都进行了备注。

5.3.6、第六个计时器

 

首先跟进箭头函数,可以看到是一些网络操作,读取创建等操作:

 

返回上一步向下看,同样是一些下载东西,创建文件,然后启动等操作:

 

六、总结

此病毒是加了一个壳,然后需要脱壳修复IAT表,然后根据火绒剑观察一下具体行为操作。然后拖到IDA中静态分析就可以了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/6780.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【阅读论文】USAD:多变量时间序列上的无监督异常检测

USAD : UnSupervised Anomaly Detection on Multivariate Time Series 摘要 IT系统的自动监控是Orange目前面临的挑战。考虑到其IT运营所达到的规模和复杂性,随着时间的推移,用于推断正常和异常行为的测量所需的传感器数量急剧增加,使得传统…

【C++】内存管理+模板

前言: 本章将详细讲解C内存管理和模板的实现。 第一部分我们讲解C内存管理,C语言中有malloc/calloc/realloc等开辟空间和free释放空间,那么C将符合实现呢? 第二部分我们会一起来初步认识模板与泛型编程,并详细探讨函…

微服务高级篇【1】之微服务保护

文章目录前言一 初识Sentinel1.1 雪崩问题1.2 解决方法1.3 小结1.4 服务保护技术对比1.5 Sentinel介绍1.6 Sentinel安装1.7 微服务整合Sentinel二 测试工具:Jmeter2.1 Jmeter安装和配置2.2 Jmeter快速入门2.2.1 设置中文语言2.2.2 设置Jmeter桌面快捷图标2.3 Jmeter…

已经提了离职,还有一周就走,公司突然把我移出企业微信,没法考勤打卡, 还要继续上班吗?...

黎明前的黑暗最容易出事,离职前的几天也最容易出幺蛾子,比如下面这位网友的遭遇:已经提了离职,还有一周就正式离职了,公司突然把我移出企业微信,没法考勤打卡了, 还要继续上班吗?该怎…

BGP小型实验

实验分析 1.主要考察的是对BGP配置的熟练 2.实验需要在R1与R5分别发布一条路由可以在BGP 中使用network 网段 掩码命令 3.R1与R2,R4与R5是EBGP,而R2,R3,R4是IBGP 实验操作 1.配置接口ip,与环回路由 以R1为例 2.AS内部需要实现非直连的建立是需要保证IBGP内部是通的所…

蓝桥杯30天真题冲刺|题解报告|第三十天

大家好,我是snippet,今天是我们这次蓝桥省赛前一起刷题的最后一天了,今天打了一场力扣周赛,前面3个题都是有思路的,第三个题只过了一半的案例,后面看完大佬们的题解彻悟,下面是我今天的题解 目录…

蓝桥杯备考

数论:判断素数,鸽笼定理,抽屉理论 注意事项: long类型的数后面要加L long s 2658417853L; 保留几位小数: System.out.printf(“%.2f”, arg); 四舍五入问题:比如保留两位小数,就在数的后面再…

java基础知识汇总

目录 1、Java基础语法 1、类型转换问题 1. 运算符 1.1 算术运算符(理解) 1.2 赋值运算符(应用) 1.3 自增自减运算符(理解) 1.4 关系运算符(应用) 1.5 逻辑运算符&#xff08…

【CSS】清除浮动 ④ ( 清除浮动 - 使用双伪元素清除浮动 | 代码示例 )

文章目录一、清除浮动 - 使用双伪元素清除浮动二、代码示例一、清除浮动 - 使用双伪元素清除浮动 为 .clearfix:before 和 .clearfix:after 并集选择器 , 设置如下样式 : /* 清除浮动 - 使用双伪元素清除浮动 */.clearfix:before,.clearfix:after {content: "";displ…

ERTEC200P-2 PROFINET设备完全开发手册(1)

本教程为ERTEC200P-2的基础开发教程,可以掌握PN设备开发的基本流程。虽然没有涉及PN协议的详细解析,但是希望根据本文档多多练习,熟能生巧,逐渐能够掌握PN设备开发。 (注意:本手册基于西门子DEVKIT V47协议…

oracle导入的表中文名称乱码无法删除导致删除用户也失败

由于一开始弄数据库的时候忘记设置编码格式, 导致导入dmp文件之后带中文的表名变成了乱码 然后plsql右键删除表显示表不存在 一开始的时候寻思备份下表结构跟表数据 直接删除用户完事了 删除用户报递归遍历错误 寻思重装这个数据库太过于耗时 不值当的 就是看那几…

【JWT鉴权】如何来写一个token令牌认证登录?

目录一. 🦁 话题引入1.2 什么是JWT?二. 🦁 技术体现2.1 引入依赖2.2 编写JWT工具类2.3 编写登录方法2.4 编写JWT拦截器验证令牌2.5 编写要配置拦截的接口三. 🦁 话题终结一. 🦁 话题引入 在做项目过程中,我…

【halcon】为啥匹配到ROI外面去了?

背景 匹配到ROI外面去了 中心恰好在roi有效区域内!(粉色是ROI区域) 网上查到的资料! PaintRegion改变外部环境 //HOperatorSet.ReduceDomain(image, ho_ProductRegionAll, out imgReduced); //替换为: HObject all…

Web前端 HTML、CSS

HTML与CSSHTML、CSS思维导图一、HTML1.1、HTML基础文本标签1.2、图片、音频、视频标签1.3、超链接、表格标签1.4、布局1.5、表单标签1.6、表单项标签综合使用1.7、HTML小结二、CSS(简介)2.1、引入方式2.2、选择器2.3、CSS属性Web前端开发总览 Html&…

Linux基础操作 常用命令 Centos

Linux 1.Linux的引言 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。伴随着互联网的发展,Linux得到了来自全世界软件爱好者、组织、公司的支持。它除了在服务器操作系统方面保持…

面试题-学习网络协议必备:七层模型与协议之间的映射关系

一、概念 OSI七层模型是计算机网络中的一种标准化分类和描述方式,它将网络协议划分为不同的层次,每个层次负责不同的功能。这种模型被广泛应用于网络设计、开发和维护,以便于不同系统之间的互操作性和相互通信。 二、各层介绍 第一层&#x…

vue项目代理配置大全

1.vite (vue3-admin-element-template-master) server: {host: 0.0.0.0, //服务器ip地址 port: 5566, //本地端口fs: {strict: false, // 支持引用除入口目录的文件},open: true, // 是否自动在浏览器打开proxy: {/pcapi: {target: https:....../pcapi…

老板想要可视化大屏?零代码开发3D可视化大屏,只要10分钟

上周末和供应链管理的朋友一起喝茶,我吐槽着我做报表的繁琐, 他用很疑惑的眼神看着我说:这事不是在模板上改改数据就行了吗?我连忙逼他给我分享了这个香饽饽。 回到家,我直接开始研究起了可视化大屏,后悔自…

Android告别Shape.xml

天下苦shape.xml久已,特别是遇上不靠谱的UI,圆角背景色边框,三个属性就能给你折腾出来几百种组合,每个组合都要写对应的shape.xml,太折腾人了! 展示 效果图 代码 /*** 设置shape*/ BindingAdapter(// 圆角…
最新文章