当前位置: 首页 > 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() 方法释放设备上下…...

基于vue的错题管理系统[vue]-计算机毕业设计源码+LW文档

摘要&#xff1a;随着在线教育的发展&#xff0c;错题管理作为学习过程中的重要环节&#xff0c;其信息化管理需求日益增长。本文旨在设计并实现一个基于Vue框架的错题管理系统&#xff0c;通过对系统需求进行深入分析&#xff0c;采用合适的技术架构和开发技术&#xff0c;完成…...

YOLO-v8.3实战:用AI识别图片中的物体,5分钟完成你的第一个检测项目

YOLO-v8.3实战&#xff1a;用AI识别图片中的物体&#xff0c;5分钟完成你的第一个检测项目 你是否曾经好奇&#xff0c;那些能自动识别照片中物体的人工智能是如何工作的&#xff1f;想象一下&#xff0c;你拍了一张街景照片&#xff0c;AI不仅能告诉你照片里有汽车、行人和红…...

Deepin系统远程桌面实战:从零配置xrdp服务到Windows无缝连接

Deepin系统远程桌面实战&#xff1a;从零配置xrdp服务到Windows无缝连接 在跨平台协作成为常态的今天&#xff0c;远程桌面技术让不同操作系统间的无缝协作成为可能。对于使用Deepin系统的用户而言&#xff0c;如何高效地通过Windows设备远程访问和控制Deepin桌面&#xff0c;是…...

单片机调试:问题复现与定位的实战技巧

1. 单片机开发中的问题复现方法论在单片机项目开发过程中&#xff0c;遇到问题是不可避免的。作为一名从业多年的嵌入式工程师&#xff0c;我认为问题复现是整个调试过程中最关键的第一步。很多新手开发者常常急于解决问题&#xff0c;却忽略了问题复现的重要性&#xff0c;结果…...

有线/无线(空口)抓包过程及其分析

一、如何判断该抓有线包&#xff0c;还是无线包层级问题类型抓包位置L1/L2&#xff08;无线&#xff09;连不上、掉线、弱信号无线抓包L2&#xff08;有线&#xff09;VLAN错误有线抓包L3&#xff08;IP&#xff09;DHCP失败有线抓包L4&#xff08;传输&#xff09;丢包、重传有…...

GLM-4.1V-9B-Base模型微调入门:使用accelerate库进行高效参数优化

GLM-4.1V-9B-Base模型微调入门&#xff1a;使用accelerate库进行高效参数优化 1. 引言 想为特定业务场景定制一个强大的多模态AI模型&#xff1f;GLM-4.1V-9B-Base作为支持图文理解与生成的大模型&#xff0c;通过微调可以快速适配各种下游任务。本文将带你从零开始&#xff…...

AI排忧解难:让快马智能诊断并解决你的openclaw安装故障

最近在折腾openclaw这个工具时&#xff0c;遇到了不少安装上的坑。从依赖冲突到环境配置错误&#xff0c;每次报错都得花大把时间查资料。后来发现用AI辅助诊断的思路可以大幅提升效率&#xff0c;于是尝试在InsCode(快马)平台上做了个智能诊断脚本&#xff0c;效果意外地好。 …...

5大核心价值重构云游戏体验:Sunshine让你的游戏突破硬件与空间限制

5大核心价值重构云游戏体验&#xff1a;Sunshine让你的游戏突破硬件与空间限制 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 在数字娱乐日益碎片化的今天&#xff0c;玩家们面临…...

Simulink SVPWM模块输出对不上?别慌,可能是这两个参数没设对(附24V电机FOC仿真案例)

Simulink SVPWM模块输出差异排查指南&#xff1a;从参数配置到波形修正 引言 在电机控制系统的仿真与开发过程中&#xff0c;Simulink的SVPWM模块是工程师们常用的工具之一。然而&#xff0c;许多开发者在对比自带模块与自建模型输出时&#xff0c;经常会遇到令人困惑的波形不一…...

Java中使用四叶天动态代理IP构建代理池——HttpClient与Jsoup爬虫实战

本文档详细介绍如何使用四叶天动态代理IP服务&#xff0c;在Java中构建高效的IP代理池&#xff0c;并结合HttpClient和Jsoup实现高可用的网络爬虫。1. 为什么需要动态代理IP池&#xff1f;1.1 爬虫被封的痛点做过爬虫开发的都知道&#xff0c;同一个IP频繁请求目标网站&#xf…...