【AI逆向】APT组织“蔓灵花”某恶意样本分析报告
2026/7/9 11:56:24
网站建设
项目流程
恶意样本AI分析报告 一、基本信息 项目 内容 SHA256 a850a903b74c1d3d21c41e03761e8e64b43962269e7649940b10368a005bce20MD5 c0a438d69ae731ad705c46ac5209c8cc架构 32位 Windows PE 基址 0x400000映像大小 0x35000节区 .text(rx),.idata®,.rdata®,.data(rw)函数总数 618(含 502 个未命名函数) 编译环境 MSVC (VCRUNTIME140, MSVCP140)
二、C2 通信配置 项目 值 C2 域名 pololiberty.com C2 端口 56218 (0xDB9A)通信协议 HTTP/1.1 命令获取 HTTP GET 请求 数据上传 HTTP POST (multipart/form-data,boundary:----BoostAsioBoundary) 重连机制 连接失败每 5 秒重试 异步框架 Boost.Asio + Windows IOCP (CreateIoCompletionPort) 单实例保护 mutex 机制
C2 域名pololiberty.com存储在.rdata段0x425d6c,由sub_401020在初始化时写入全局变量dword_4307BC,最终通过getaddrinfo进行 DNS 解析。端口56218在WinMain (0x40F900)硬编码。
三、核心功能模块 3.1 系统信息收集 (sub_40A120) GetUserNameW→ 获取当前用户名GetComputerNameW→ 获取计算机名GetModuleFileNameW→ 获取自身执行路径将收集的信息拼接后发送给 C2 3.2 磁盘/文件系统枚举 (sub_40B570/sub_40C190/sub_40C980) GetLogicalDrives→ 枚举所有逻辑驱动器GetDriveTypeW→ 检测驱动器类型GetVolumeInformationW→ 获取卷信息GetDiskFreeSpaceExW→ 获取磁盘剩余空间FindFirstFileW/FindNextFileW→ 递归遍历目录文件列表使用<FOLNM>和<SZ>标签标记 3.3 进程管理 (sub_40CC30) CreateProcessW→ 创建新进程OpenProcess+TerminateProcess→ 终止指定进程支持按 PID 操作 3.4 文件操作 (sub_40CC30) _wremove→ 删除文件_wrename→ 重命名/移动文件fread/fwrite→ 文件读写文件上传通过 HTTP POST multipart/form-data 3.5 屏幕截图 (sub_40B0E0→sub_406040) GetDC→ 获取桌面 DCEnumDisplaySettingsA→ 获取屏幕分辨率CreateCompatibleDC/CreateCompatibleBitmap→ 创建内存位图BitBlt/StretchBlt→ 屏幕内容拷贝GdiplusStartup→ 初始化 GDI+GdipCreateBitmapFromHBITMAP→ HBITMAP 转 GDI+ BitmapGdipSaveImageToStream→ 编码为 JPEG/PNG 写入流CreateStreamOnHGlobal→ 创建内存流截图保存路径 :C:\users\public\pictures\ss.jpg四、关键函数映射 地址 函数名 功能 0x40F7A0WinMain主循环,初始化并连接 C2 0x404100sub_404100初始化 IOCP + ASIO 框架 0x4032D0sub_4032D0创建 Win IOCP 对象 0x40A120sub_40A120收集系统信息 0x40A040sub_40A040建立连接并进入命令循环 0x40A9E0sub_40A9E0连接服务器(含 resolve+connect) 0x40EF20sub_40EF20命令分发入口 0x40F000sub_40F000数据接收处理 0x40CC30sub_40CC30命令执行核心(switch-case 风格) 0x406760sub_406760构建 HTTP GET 请求 0x4086F0sub_4086F0构建 HTTP POST multipart 上传 0x412F90sub_412F90TCP 连接 + DNS 解析 0x413730sub_413730getaddrinfo封装(DNS 解析)0x40B0E0sub_40B0E0屏幕截图主函数 0x406040sub_406040GDI+ 位图编码 0x40B570sub_40B570磁盘驱动器枚举 0x40C190sub_40C190文件目录递归遍历 0x40ABC0sub_40ABC0文件搜索枚举
五、执行流程(Mermaid 图)
sub_401020: 将 pololiberty.com 写入全局变量
sub_404100: 初始化 IOCP + ASIO
sub_415A10: 设置 UnknownUser / UnknownHostName
sub_41AB50 + sub_405A40: 配置 strand executor
sub_419510: 初始化 tcp::resolver
sub_40A9E0: DNS解析 + TCP连接
sub_40F000: 数据接收 → sub_40CC30: 命令执行
sub_406760: HTTP GET (取命令)
sub_4086F0: HTTP POST (上传文件)
CreateProcessW / OpenProcess / TerminateProcess
六、威胁评估 维度 评级 说明 危害等级 高 具备完整 RAT 能力 隐蔽性 中 使用合法 Boost.Asio 框架,HTTP 流量混合在正常流量中 功能完整度 高 文件管理、进程控制、屏幕监控、系统侦查 反分析 低 未使用混淆、加密字符串、反调试或 hash-based API 解析 API 解析方式 直接导入 无 ROR/ROL 指令,无 GetProcAddress/LoadLibrary 调用