[病毒分析]熊猫烧香(上)初始分析(一)

简介: [病毒分析]熊猫烧香(上)初始分析

熊猫烧香病毒分析(第一篇)

一、病毒初始化

二、PEID加壳检查

三、IDA和OD的分析

(1)使用IDA载入病毒样本

(2)定位到0x0040CB7E位置

(3)sub_403C98函数分析

(4)打开IDA进入sub_403C98函数

(5)sub_405360函数分析

(6)sub_404018函数分析

(7)loc_40CBBC功能分析

四、总结

image.png

熊猫烧香样本下载

提取码:8189

一、病毒初始化

1、工具准备 IDA、OD、PEID

2、基本流程:

  • 利用查壳工具检查病毒是否带壳
  • 利用OD动态分析病毒
  • 利用IDA静态分析病毒

二、PEID加壳检查

image.png

首先需要调用工具检查是否带壳,如果病毒还需要先进行脱壳操作。这次研究的“熊猫烧香”程序并没有加壳。首先打开PEiD工具人,然后将熊猫烧香病毒拖进去,会发现病毒的基本信息。

分析信息如下:

  • 该程序并没有加壳,采用Delphi Borland Delphi 6.0-7.0编写


  • 区别:Delphi在函数调用时参数的传递不完全用栈,主要用寄存器。而C++程序函数调用前会使用push语句将参数入栈,然后再进行call。Delphi一般将第一个参数放入eax寄存器,第二个参数放入edx,第三个参数放入ecx寄存器,其余参数按照与VC程序类似的方式压栈。总之,Delphi编译器默认以register方式传递函数参数。这一点与VC编译的程序完全不同。
  • 提示:栈上给局部变量分配空间的时候,栈是向下增长的,而栈上的数组、字符串、结构体等却是向上增长的。理解这一点可以帮助识别栈上的变量。

三、IDA和OD的分析

(1)使用IDA载入病毒样本

(2)定位到0x0040CB7E位置

image.png

注意:某些病毒在IDA中会自动分析出字符串“感谢艾玛…”,并且是在调用sub_403C98函数之前,我们可以推测上面那个函数也传递了一个字符串。接着可以通过OD动态调试获取字符串对应的值。

image.png

但是,我目前的IDA并没有自动解析出字符串的值,只能通过经验进行分析或OD动态调试。我们发现EBP是堆栈基址,接近着两次调用sub_403C98函数,前面的mov赋值经过是参数传递的工作,从而猜测出它的功能是:参数传递给函数调用。

image.png

(3)sub_403C98函数分析

调用OD进行动态分析,查看sub_403C98函数调用前传递的参数。

image.png

打开OD如上图所示,我们需要定位到0x0040CB79位置。直接按F8执行代码(单步步过),当执行到0x0040CB79位置可以看到对应的值为“武汉男生感染下载者”。

image.png

当然某些OD不会显示该值,只会显示“0040CC40=setup.0040CC40”,此时需要我们进一步在数据窗口跟随。


数据窗口右键->转到->表达式

image.png

接着输入“40CC40”,查找传递参数对应的值。

image.png

显示结果如下图所示,可以看到“武汉男生感染下载者”,包括“艾玛…”,这就是病毒作者的信息。早些年病毒作者处于炫耀目的,都会加入一些自己的特征。同样,现在APT攻击溯源也会通过文件路径等获取病毒作者的信息。

image.png

(4)分析病毒程序利用00403C98函数做了什么

接着在这个位置(0x0040CB7E)按下F2增加断点,然后按F9执行过来,按下F7进入call函数,进入的函数如下图所示。

image.png

接着按F7执行,遇到call 00403D08继续按下F7进入,再进入call 00402520,继续进入。

  • call 00403D08
  • call 00402520
  • call dword ptr ds:[0x40D030]
  • call 00401860

1.png

当进入call 00401860函数后,我们分析这里的两个API函数,它是对互斥空间进行初始化。

  • 00401876 . E8 39F9FFFF call 004011B4 ;InitializeCriticalSection
  • 00401889 . E8 2EF9FFFF call 004011BC ;EnterCriticalSection

image.png

我们继续按下F8单步步过执行往下分析,发现在0x004018B3位置调用LocalAlloc函数,该函数用于内存分配。它会分配大小为FF8的空间,Flags为LMEM_FIXED表示分配一个固定的内存。该函数执行结果会返回一个指向新分配的内存对象的句柄。

  • LocalAlloc

image.png

写到这里,基本就确定了这个call 00403D08的功能,即分配一定大小的内存空间。我们已经进入了好几层Call,那怎么返回的呢?接下来我们再回到IDA进行分析。

相关文章
|
Java Maven
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
2479 0
Maven - Error:java: Annotation processing is not supported for module cycles. Please ensure that all
|
10月前
|
分布式计算 算法 Go
【LeetCode 热题100】BFS/DFS 实战:岛屿数量 & 腐烂的橘子(力扣200 / 994 )(Go语言版)
本文讲解了两道经典的图论问题:**岛屿数量(LeetCode 200)** 和 **腐烂的橘子(LeetCode 994)**,分别通过 DFS/BFS 实现。在“岛屿数量”中,利用深度或广度优先搜索遍历二维网格,标记连通陆地并计数;“腐烂的橘子”则采用多源 BFS,模拟腐烂传播过程,计算最短时间。两者均需掌握访问标记技巧,是学习网格搜索算法的绝佳实践。
451 1
|
11月前
|
人工智能 Shell 开发者
Python项目管理工具 PDM
PDM(Python Development Master)是一款现代化的Python包管理工具,基于PEP 582标准,无需虚拟环境即可实现依赖隔离。它支持PEP 621声明项目元数据,告别`setup.py`,并具备快速安装、简洁依赖管理和内置脚本系统等优势。通过简单命令如`pdm init`、`pdm add`和`pdm run`,用户可轻松完成项目初始化、依赖管理和运行。适合希望简化依赖管理、追求现代工具体验的开发者,尤其对传统工具如`pipenv`或`poetry`不满意的用户。
746 1
|
编解码 人工智能 测试技术
CogView4开源发布!智谱AI文生图模型支持任意长度双语输入,汉字生成能力突出,可商用!
今天智谱AI正式发布并开源了最新的图像生成模型——CogView4。
955 10
CogView4开源发布!智谱AI文生图模型支持任意长度双语输入,汉字生成能力突出,可商用!
|
开发工具 数据安全/隐私保护
Kali如何root用户及系统中文?
Kali如何root用户及系统中文?
1047 0
|
机器学习/深度学习 算法 自动驾驶
清华、北大等发布Self-Play强化学习最新综述
【10月更文挑战第4天】清华大学和北京大学的研究人员近日在arXiv发布了一篇关于Self-Play在强化学习中应用的综述文章。Self-Play,即自我对弈,通过智能体与自身或过去版本的互动实现自我学习和提升。文章系统地介绍了Self-Play的基础知识、提出了统一的算法分类框架,并探讨了其在游戏、机器人控制及自动驾驶等领域的应用与挑战,为读者提供了全面的理解视角。尽管文章在某些领域应用探讨上可能不够深入,但对于强化学习研究者而言仍是一份宝贵资源。
522 3
|
存储 运维 Prometheus
全面公测|Grafana服务:一张图表胜过千行指标&日志
Grafana 帮助运维人员轻松处理各类运维过程中遇到的各类数据可视化与分析难题。目前阿里云 Grafana 服务全面免费公测,帮助企业轻松构建运维数据可视化平台,轻松实现数据驱动运维!
2635 109
全面公测|Grafana服务:一张图表胜过千行指标&日志
|
存储 监控 安全
开发者的黄金时代:原生鸿蒙应用市场的全生命周期服务
2024年10月22日,华为发布了HarmonyOS NEXT,标志着鸿蒙生态进入商用发展阶段。原生鸿蒙应用市场全面焕新,不仅在UI设计、互动体验和隐私安全机制上进行了重塑,还为开发者和用户提供了从开发到分发的全生命周期服务。通过统一上架、多端分发、隐私合规保障等措施,原生鸿蒙应用市场助力开发者实现高效、安全的应用开发与分发,为全球数亿鸿蒙用户带来更流畅、更安全的使用体验。
|
XML 数据采集 前端开发
深入解析网页结构解析模块BeautifulSoup
深入解析网页结构解析模块BeautifulSoup
586 0
|
SQL 关系型数据库 MySQL
10倍性能提升!一文读懂AnalyticDB MySQL秒级漏斗分析函数
营销域中的洞察分析/智能圈人/经营报表等场景是OLAP分析型数据库的重要应用场景,云原生数据仓库AnalyticDB MySQL在淘宝、饿了么、菜鸟、优酷、盒马等业务的营销场景有比较长时间的积累和沉淀,我们将通过一系列文章来介绍AnalyticDB MySQL在营销域数据产品中的落地与应用,本文主要介绍“漏斗分析”的实现与应用。

热门文章

最新文章

下一篇
开通oss服务