标签 熊猫烧香 下的文章


前言

C

复制代码
现如今,各种恶意程序层出不穷,如何快速分析恶意程序的行为、节省安全从业人员的时间是一个问题。
幸好在当今大模型、智能体、MCP流行的时代,能够提供部分答案。

IDA Pro MCP 是一个AI驱动的反编译辅助工具,
通过MCP协议将IDA Pro与语言模型连接,旨在提升逆向工程效率。

它由三个主要组件组成:
IDA Pro 远程控制插件 (ida_remote_server.py):一个IDA Pro插件,创建一个HTTP服务器以远程控制IDA Pro功能。
IDA 远程客户端 (idaremoteclient.ts):一个TypeScript客户端,用于与IDA Pro远程控制服务器进行交互。
MCP 服务器 (index.ts):一个模型上下文协议服务器,向AI助手暴露IDA Pro的功能。

功能
从AI助手执行IDA Pro中的Python脚本
检索二进制文件的信息:
字符串、导入、导出函数
高级二进制分析功能:
1、在指令中搜索立即数
2、在二进制文件中搜索文本字符串
3、搜索特定的字节序列
4、获取地址范围内的反汇编代码
5、通过标准化接口自动化IDA Pro操作
6、组件之间的安全通信

环境搭建

Python环境

访问地址下载python 3.11.9版本。

下载地址:https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe

下载好直接一键安装即可,这里是已经安装好了。所以显示这个界面

image.png



验证python是否安装成功

image.png



IDA Pro MCP

下载好IDA Pro9.0版本以上,并安装好

image.png



使用如下命令安装mcp

image.png



运行以下命令,将MCP插件安装到IDA Pro

image.png



Trae

访问下载Trae并安装好

下载地址:https://www.trae.cn/

image.png



输入命令查看config

image.png



然后在Trae的设置中找到MCP

image.png



把上面的config复制进去

image.png



然后创建智能体

image.png



并选中IDA Pro MCP

image.png



到此,已经基本配置好了。

分析过程

注意:在分析之前需要先脱壳,使用的FSG2.0的壳。这也是MCP目前的局限性

image.png



直接掏出脱壳工具进行一键脱壳

image.png



运行IDA并加载熊猫烧香病毒程序

注意:千万不要在物理机上误点击运行了,那么就难受了

image.png



在IDA插件功能里启动MCP,启动成功如下

image.png



Trae连接MCP

image.png



现在开始就是让MCP进行分析了

输入提示词:分析恶意程序的恶意行为

如下所示,提供输出熊猫烧香的行为操作

image.png



完整的恶意行为如下:

再输入提示词:输出进行每个恶意行为相关的函数以及地址

image.png



完整结果如下:从结果中可以看到不仅输出了进行恶意行为的函数以及地址,还给了交叉引用的函数。极大的提供了分析效率

恶意行为相关函数及地址映射

1持久化机制(Persistence)

image.png



2 传播机制(Propagation)

image.png



3 网络恶意行为(Network Activity)

image.png



4系统破坏(System Destruction)

image.png



5反杀毒软件(Anti-Antivirus)

image.png



6反分析技术(Anti-Analysis)

7文件操作(File Operations)

image.png



甚至能够协助获取到制作者遗留在病毒程序中的信息

image.png



具体函数分析

继续让MCP逐一分析各个函数。

sub_402DD8函数

提示词:提供sub_402DD8函数伪代码以及注释,说明

MCP反馈sub_402DD8 是一个 文件创建/打开函数 ,用于创建或打开文件,也可以获取标准输入/输出句柄。

- 文件创建 : 用于创建病毒副本、配置文件(如 autorun.inf )或其他恶意文件

- 持久化 : 可能用于创建启动脚本或配置文件以实现自启动

- 传播 : 结合 autorun.inf 和 setup.exe 字符串,用于在USB驱动器上创建传播文件

- 日志记录 : 可能使用标准输出句柄记录病毒活动

image.png



进入IDA验证是否一致,可以看到基本一致。

image.png



再分析一下其他几个相对重要的函数

sub_40C5E0函数

sub_40C5E0 是一个 网络下载函数 ,用于从指定的URL下载文件内容到内存缓冲区。

执行流程如下:

image.png



sub_40CDEC函数

sub_40CDEC 是一个 系统破坏函数 ,用于执行破坏性系统命令,删除网络共享并可能进行其他系统破坏操作。

主要执行的命令是:cmd.exe /c net share admin$ /del /y

image.png



sub_406E44函数

sub_406E44 是一个 反杀毒软件函数 ,用于删除多种杀毒软件的服务和注册表启动项,使杀毒软件失效。

执行流程如下:

image.png



病毒程序运行流程

病毒程序的运行流程如下:

完整执行流程图如下:

image.png









值得注意的是IDA Pro MCP并不能很好的分析从内存中释放的恶意载荷,因此还需要人工去动态调试这一部分