假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

原文链接: https://mp.weixin.qq.com/s?__biz=MzIyNDg2MDQ4Ng==&mid=2247487348&idx=1&sn=c2250c2542642b6f2e35d45cd6509d0d

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

原创 喜吾安璇 攻防SRC 2025-07-10 08:10

一、背景:一次“闲着没事”的复现计划

护网期间的一天,例行任务告一段落,我决定趁着短暂的空闲时间复现一个刚刚公开的 Redis 漏洞——CVE-2025-32023。这个漏洞引起了社区的广泛关注,因为它影响了 Redis 6.0 到 6.2 版本,是一类 利用 HyperLogLog 数据结构进行远程代码执行(RCE) 的新型攻击路径。

根据公开的漏洞描述,攻击者可以通过精心构造带有特定偏移值的 HyperLogLog 对象,配合 PFADD 和 PFMERGE 命令,将 Redis 服务诱导进入异常状态,最终实现在服务器上执行任意代码。由于攻击链条短、门槛低、无需认证即可远程触发,因此被评为高危漏洞,CVSS 评分接近满分。

我原本打算自己手动构造样本,但想到这类热点漏洞在 GitHub 上往往很快就会出现 PoC,于是我打开 GitHub,输入关键词 CVE-2025-32023 和 Redis exploit,筛选“最近更新时间”,很快就翻到一个刚刚上传不久的项目。

项目页面非常简洁,只有一个 README.md 文件和一个名为 exploit 的二进制文件。项目标题中明确标注了“Exploit for CVE-2025-32023”,描述里也写着“fully working RCE demo on Redis 6.2”,看起来就像是一个已经调试完毕、开箱即用的漏洞利用工具。上传时间显示为当天上午,提交记录只有一条,提交者账号名不熟,但这在 GitHub 上也并不罕见。

我当时的第一反应是“这可能能省我不少时间”,毕竟护网期间任务繁重、时间宝贵,谁不希望少写几行代码,多验证几个点?于是我下载了整个项目压缩包,打算先在本地测试环境中跑一遍看看效果——也就是从这一刻起,我开始接触到那个看似“正常”的 exploit 文件。

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

~/Desktop/CVE-2025-32023 ⌚ 15:26:59
$ file exploit                                                                           
exploit: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, no section header

二、沙箱检测结果:疑似伪装的 CobaltStrike 木马样本

上传至微步在线云沙箱的样本为 CVE-2025-32023-main.zip,压缩包大小约 1.32MB,内部文件结构非常简单,仅包含两个文件:

README.md

exploit(核心可执行文件,约 1.4MB,无扩展名)

在未执行的前提下,我通过云沙箱环境(CentOS 7.0 x64)对该样本进行了动态行为分析与威胁情报识别,结果如下:

字段
内容
样本名
CVE-2025-32023-main.zip
样本大小
1.32 MB
样本类型
ZIP archive(含 ELF 文件)
主体文件
exploit

(ELF 64-bit statically linked,无 section header)
SHA256
983913990860d295329d91d17e527156c3dafcb3e6902ce136bcc38a2048dbee
沙箱环境
Linux (CentOS 7.0 64bit)
微步沙箱自动判定:高度恶意样本,CobaltStrike 木马
根据威胁情报库和行为模式匹配,微步沙箱判定该样本归属于知名攻击工具 CobaltStrike 的一种变种——CrossC2 木马家族,该家族常用于伪装 Linux ELF Beacon 程序并通过 TLS 通信进行远控植入。

2.1.判定标签:

威胁类型:后门 / 远控木马(Remote Access Trojan)

木马家族:CobaltStrike(变种 CrossC2)

行为特征:建立 Beacon 通信、模拟用户操作、静默侦察、发起网络连接

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

2.2.恶意网络指向:

C2 地址:43.156.137.45

服务端部署位置:腾讯云新加坡节点

协议特征:典型 CobaltStrike Beacon 通信路径

TLS 指纹(JA3):

fd80fa9c6120cdeea8520510f3c644ac(客户端)

bef8041fc75fa81ab9e6467bcef0f376(服务器)

2.3.IOC 概览

类型
判定
说明
IP 地址
43.156.137.45
恶意
Beacon 通信 C2 地址,部署于 Tencent Cloud
Hash
983913990860d29...
恶意
样本主文件 SHA256
域名路径
/jquery-3.3.1.min.js
可疑
CobaltStrike 常用伪装路径
指纹
JA3: fd80fa9c6120...
Beacon
加密通信用 JA3 指纹特征明显

该 C2 IP 过去曾被多次关联于木马行为、垃圾邮件、CobaltStrike Beacon 活动等恶意活动,已被微步威胁情报平台标记为高风险地址,用于持续远控操作。

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

假“漏洞利用”真木马:一次CVE-2025-32023复现中的GitHub惊魂

三、警示意义:别让“复现”成为入侵入口

事实上,这种打着“漏洞 PoC”旗号进行伪装投毒的攻击手法,早已不再新鲜。从过往的护网演练、CTF 比赛到零日漏洞披露的窗口期,每当某个 CVE 成为话题焦点,GitHub、Gitee 乃至 Telegram 上,总会悄然出现一批“蹭热度”的恶意项目。它们伪装成“复现工具”或“官方 PoC”,用简洁醒目的标题、看似专业的描述,借助开源平台的天然信任感,将早已封装好的远控载荷,投喂给一批又一批急于验证漏洞效果的红队人员、安全研究员。

这些伪装行为往往并不高明,却异常有效。攻击者深谙行业操作习惯,知道当一个 CVE 刚刚曝光、官方还没发布复现脚本时,技术社区的第一反应不是质疑,而是寻找“能跑的版本”。他们也清楚,大多数人并不会立刻反编译或在沙箱里静态分析,而是直接在测试机上赋予执行权限,运行之,查看效果。如果再加上 sudo、默认联网环境,样本的目的——植入 Beacon、回连 C2、窃取凭据或探测网络资产——便顺理成章地实现了。

在这种语境下,攻击者根本无需“钓鱼邮件”或“水坑网站”,只需要把木马包上 CVE 的壳,放在 GitHub,就能钓到一批以“红队工程师”自居、却疏于审计的目标群体。而这些群体的系统中,往往还布满了真实的攻击组件、扫描脚本、内网渗透工具乃至未发布的漏洞利用链条,一旦暴露给 C2,影响远超普通终端。

这不是假设,而是一种真实而持续存在的风险。在我复现 CVE-2025-32023 的过程中,若不是出于审慎、提前检查了 ELF 文件的结构和行为,若只是为了“图省事”加了执行权限运行它,结果可能不仅是植入后门,更是整个测试环境的溯源暴露。蜜罐、探针、Beacon、反连代理……没有任何一个组件能在一次失误中幸免。

这件事之后,我越来越坚定一个看法:技术上的高效,并不意味着可以忽视最基本的信任边界审计。越是高压、快速响应的场景下,越容易被“PoC”这个词本身所掩盖,放松了警惕。

你以为你在验证漏洞,其实你正成为别人入侵的入口。

“技术复现”从不是错,但“安全复现”才是专业与非专业的分水岭。那些看起来“省时间”的操作,很多时候,代价可能是你团队的整条作战链路被人按下了转发键。

四、附录资料

样本下载地址(危险,建议非沙箱勿访问):

沙箱分析报告: https://s.threatbook.com/report/file/983913990860d295329d91d17e527156c3dafcb3e6902ce136bcc38a2048dbee

IOC 详情页: https://x.threatbook.com/v5/ip/43.156.137.45