当前位置: 首页 > news >正文

病毒丨熊猫烧香病毒分析

作者丨黑蛋

一、病毒简介

病毒名称:
熊猫烧香
文件名称:
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中静态分析就可以了。

相关文章:

病毒丨熊猫烧香病毒分析

作者丨黑蛋 一、病毒简介 病毒名称: 熊猫烧香 文件名称: 40fee2a4be91d9d46cc133328ed41a3bdf9099be5084efbc95c8d0535ecee496 文件格式: EXEx86 文件类型(Magic): MS-DOS executable 文件大小: 29.30KB SHA256&…...

SparkSQL学习——SparkSQL配置与文件的读取与保存

目录 一、添加依赖 二、配置log4j 三、spark提交jar包 四、读取文件 (一)加载数据 (二)保存数据 1.Parquet 2.json 3.CSV 4.MySql 5.hive on spark 6.IDEA的Spark中操作Hive 一、添加依赖 <properties><project.build.sourceEncoding>UTF-8</proje…...

随想录Day45--动态规划:70. 爬楼梯 (进阶), 322. 零钱兑换, 279.完全平方数

70爬楼梯这道题之前已经做过&#xff0c;是动态规划思想的入门&#xff0c;想要爬上第n层阶梯&#xff0c;看爬上n-1层的方法和n-2层的方法共有多少种&#xff0c;两个相加就是爬上n层阶梯的方法。这里扩展到每次可以爬k层&#xff0c;这样就是一个动态规划问题。因为每次可以爬…...

原理+案例,关于主从延迟,一篇文章给你讲明白!

前言 在生产环境中&#xff0c;为了满足安全性&#xff0c;高可用性以及高并发等方面的需求&#xff0c;基本上采用的MySQL数据库架构都是MHA、MGR等&#xff0c;最低也得是一主一从的架构&#xff0c;搭配自动切换脚本&#xff0c;实现故障自动切换。 上述架构都是通过集群主…...

QT开发笔记(Camera)

Camera 此章节例程适用于 Ubuntu 和正点原子 I.MX6U 开发板&#xff0c;不适用于 Windows&#xff08;需要自行修改 才能适用 Windows&#xff0c;Windows 上的应用不在我们讨论范围&#xff09;! 资源简介 正点原子 I.MX6U 开发板底板上有一路“CSI”摄像头接口。支持正点原…...

从C++的角度讲解C#容器

讲解C#容器的文章网上一搜一大把&#xff0c;作为一名C程序员如何高效学习C#容器呢&#xff0c;其实学语言如果能讲到这点就能触类旁通&#xff0c;举一反三&#xff0c;那效果是最好的问题市面上没有这样的书籍&#xff0c;那就跟着老白来一起从C的角度去讲解C#容器1.List<…...

React组件库实践:React + Typescript + Less + Rollup + Storybook

背景 原先在做低代码平台的时候&#xff0c;刚好有搭载React组件库的需求&#xff0c;所以就搞了一套通用的React组件库模版。目前通过这套模板也搭建过好几个组件库。 为了让这个模板更干净和通用&#xff0c;我把所有和低代码相关的代码都剔除了&#xff0c;只保留最纯粹的…...

c++ atomic

文章目录why atomic?sequentially consistent atomicRelaxed memory modelswhy atomic? 当我们有一片内存空间S,线程A正在往S里写数据,这个时候线程B突然往S中做了操作,导致线程A的操作结果变得不可预知(对线程A来说),这种情况换句话说叫做data race,我们一般的操作时上锁,在…...

要想孩子写作文没烦恼?建议家长这样做

说起语文学习&#xff0c;就不得不提作文。作为语文学习中的重中之重&#xff0c;作文写作一直是压在学生和家长身上的一块“心头大石”。发现很多孩子在写作文时&#xff0c;往往存在四大问题&#xff1a;写不出、不生动、流水账、太空洞。如今&#xff0c;孩子怕写作文&#…...

基于Python的高光谱图像分析教程

1、前言超光谱图像 (HSI) 分析因其在从农业到监控的各个领域的应用而成为人工智能 (AI) 研究的前沿领域之一。 该领域正在发表许多研究论文&#xff0c;这使它变得更加有趣&#xff01; 和“对于初学者来说&#xff0c;在 HSI 上开始模式识别和机器学习是相当麻烦的”&#xff…...

【图神经网络】从0到1使用PyG手把手创建异构图

从0到1用PyG创建异构图异构图创建异构图电影评分数据集MovieLens建立二分图数据集转换为可训练的数据集建立异构图神经网络以OGB数据集为例HeteroData中常用的函数将简单图神经网络转换为异质图神经网络GraphGym的使用PyG中常用的卷积层参考资料在现实中需要对 多种类型的节点以…...

2023美赛春季赛思路分析汇总

将在本帖更新汇总2023美赛春季赛两个赛题思路&#xff0c;大家可以点赞收藏&#xff01; 2023美赛春季赛各赛题全部解题参考思路资料模型代码等全部实时更新&#xff01;第一时间获取全部美赛春季赛相关资料&#xff01; 目前思路整理仅为部分&#xff0c;请大家耐心等待&…...

GPT4国内镜像站

GPT-4介绍GPT-4是OpenAI发布的最先进的大型语言模型&#xff0c;是ChatGPT模型的超级进化版本。与ChatGPT相比&#xff0c;GPT-4的推理能力、复杂问题的理解能力、写代码能力得到了极大的强化&#xff0c;是当前人工智能领域&#xff0c;最有希望实现通用人工智能的大模型。但G…...

代码随想录算法训练营第四十八天| 198 打家劫舍 213 打家劫舍II 337 打家劫舍III

代码随想录算法训练营第四十八天| 198 打家劫舍 213 打家劫舍II 337 打家劫舍III LeetCode 198 打家劫舍 题目: 198.打家劫舍 动规五部曲&#xff1a; 确定dp数组以及下标的含义 dp[i]&#xff1a;考虑下标i&#xff08;包括i&#xff09;以内的房屋&#xff0c;最多可以偷…...

飞桨DeepXDE用例验证及评估

在之前发布的文章中&#xff0c;我们介绍了飞桨全量支持业内优秀科学计算深度学习工具 DeepXDE。本期主要介绍基于飞桨动态图模式对 DeepXDE 中 PINN 方法用例实现、验证及评估的具体流程&#xff0c;同时提供典型环节的代码&#xff0c;旨在帮助大家更加高效地基于飞桨框架进行…...

telegram连接本地Proxy连接不上

1.ClashX开启允许局域网连接。 2.重启ClashX和Telegram...

【分布式版本控制系统Git】| 国内代码托管中心-Gitee、自建代码托管平台-GitLab

目录 一&#xff1a;国内代码托管中心-码云 1. 码云创建远程库 2. IDEA 集成码云 3. 码云复制 GitHub 项目 二&#xff1a;自建代码托管平台-GitLab 1. GitLab 安装 2. IDEA 集成 GitLab 一&#xff1a;国内代码托管中心-码云 众所周知&#xff0c;GitHub 服务器在国外&…...

【面试】BIO、NIO、AIO面试题

文章目录什么是IO在了解不同的IO之前先了解&#xff1a;同步与异步&#xff0c;阻塞与非阻塞的区别什么是BIO什么是NIO什么是AIO什么NettyBIO和NIO、AIO的区别IO流的分类按照读写的单位大小来分&#xff1a;按照实际IO操作来分&#xff1a;按照读写时是否直接与硬盘&#xff0c…...

C语言实现拼图求解

题目: 有如下的八种拼图块,每块都是由八块小正方块构成, 这些拼图块刚好可以某种方式拼合放入给定的目标形状, 请以C或C++编程,自动求解 一种拼图方式 目标拼图: 本栏目适合想要深入了解无向图、深度优先算法、编程语句如何实现算法、想要去接拼图算法的小伙伴。...

python --获取本机屏幕分辨率

pywin32 方法一 使用 win32api.GetDeviceCaps() 方法来获取显示器的分辨率。 使用 win32api.GetDC() 方法获取整个屏幕的设备上下文句柄&#xff0c;然后使用 win32api.GetDeviceCaps() 方法获取水平和垂直方向的分辨率。最后需要调用 win32api.ReleaseDC() 方法释放设备上下…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能&#xff1a;服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

WPF八大法则:告别模态窗口卡顿

⚙️ 核心问题&#xff1a;阻塞式模态窗口的缺陷 原始代码中ShowDialog()会阻塞UI线程&#xff0c;导致后续逻辑无法执行&#xff1a; var result modalWindow.ShowDialog(); // 线程阻塞 ProcessResult(result); // 必须等待窗口关闭根本问题&#xff1a…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;Floyd 快慢指针法&#xff08;…...

用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章

用 Rust 重写 Linux 内核模块实战&#xff1a;迈向安全内核的新篇章 ​​摘要&#xff1a;​​ 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言&#xff0c;受限于 C 语言本身的内存安全和并发安全问题&#xff0c;开发复杂模块极易引入难以…...

拟合问题处理

在机器学习中&#xff0c;核心任务通常围绕模型训练和性能提升展开&#xff0c;但你提到的 “优化训练数据解决过拟合” 和 “提升泛化性能解决欠拟合” 需要结合更准确的概念进行梳理。以下是对机器学习核心任务的系统复习和修正&#xff1a; 一、机器学习的核心任务框架 机…...

深入理解 React 样式方案

React 的样式方案较多,在应用开发初期,开发者需要根据项目业务具体情况选择对应样式方案。React 样式方案主要有: 1. 内联样式 2. module css 3. css in js 4. tailwind css 这些方案中,均有各自的优势和缺点。 1. 方案优劣势 1. 内联样式: 简单直观,适合动态样式和…...