一个晚上,AI挖出CallofDuty1埋了20年的RCE

admin 2026-08-27 05:11:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分析研究者使用AI编码agent在一晚内从2003年《使命召唤1》Linux服务器二进制中挖出并利用栈溢出RCE漏洞。漏洞位于svmapf函数,因memcpy无边界检查导致。利用链绕过字节过滤器,使用jmpespgadget和sysentershellcode。防御建议包括资产清点、编译防护、网络隔离。AI辅助渗透显著加速漏洞发现,攻防双方需同步提升。 综合评分: 87 文章分类: 漏洞分析,渗透测试,红队,ai安全,实战经验


一个晚上,AI 挖出 Call of Duty 1 埋了 20 年的 RCE

Ots安全

2026年8月26日 17:26 广东

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

威胁简报

恶意软件

漏洞攻击

前言

本文将深入分析 Zolder Team 近期披露的一段实战研究。研究者把一个 AI 编码 Agent 指向《使命召唤 1》(2003)的 Linux 专用服务器二进制 cod_lnxded,仅用一个晚上就定位并写出了可利用的栈溢出远程代码执行(RCE)。

本文不重复造利用,而是拆解这条利用链,并重点讨论它背后”AI 辅助渗透”对攻防节奏的改变。需要说明,该漏洞通过 rcon(远程控制台)认证后可达,属认证后 RCE,并非未授权直接打穿。

一、漏洞本质:SV_Map_f 的栈溢出

目标二进制是 cod_lnxded,即《使命召唤 1》的 Linux 专用服务器构建。它就是一个 32 位 ELF(Executable and Linkable Format,可执行可链接格式)。当你真正去看它的编译选项,会发现全部保护都关着:无 PIE(地址无关可执行)、无栈 canary(栈溢出保护)、无 RELRO(重定位只读)、还开着可执行栈(executable stack)。任何通常会挡路的东西都被关掉了,这并不意外,因为它是 2003 年的产物。

漏洞出在 SV_Map_f 这个函数。rcon 的 map 命令把地图名传进来,函数会先把它交给一个规范化函数,之后才做校验。问题就在这个规范化里,它大致做了这样一件事:

char buf[72];
memcpy(buf, name, strlen(name));

一个 72 字节的栈缓冲,memcpy 的长度却由攻击者控制的 name 长度决定,没有任何边界检查。保存的返回地址位于 buf+76。于是只要塞进 76 字节的名字再跟上一段地址,就能覆盖函数返回的位置。这是教科书式的栈溢出,而且可以通过网络的 map 命令到达。

技术点评:Emm…..这其实是 CVE 级对象之外的”老漏洞”,但它典型得刺眼。一个防护全裸奔的 2003 二进制,二十年后的栈溢出原样可打,说明很多仍在运行的遗留资产,攻击面根本没变过。

二、利用链:从字节过滤器到 sysenter 壳码

覆盖返回地址本身不难,难的是落到一个能用的地方。

它这个入站的名字在到达缓冲之前,会先经过 MSG_ReadString。这个函数会在读取时悄悄改写字节:部分字节被互换,凡是大于等于 0x80 的字节都会被变成一个点号,空字节则直接截断字符串。这就麻烦了,因为你想用的真实地址,无论是 libc 还是栈,里面全是高字节,像 0xff、0xf7 这种。它们一个都过不了过滤器。

技术点评:这里的关键观察是 .text 段落在 0x08 附近,那些字节可以干净通过。于是计划变成:把保存的返回地址指向 .text 里已经存在的一个 jmp esp(跳转到栈指针)gadget,落到可执行栈上,再把壳码(shellcode)放在那里。

壳码本身还有个弯。32 位 x86 上常规发起系统调用是 int 0x80,但 0x80 正好是被过滤器销毁的字节之一。所以 Agent 改用了 sysenter 来触发 execve(“/bin/sh”, …),并构造出字母数字安全的壳码。

技术点评:这些单个技巧没有一个是新的。真正让人眼前一亮的是,一个 Agent 在一个晚上里,把字节过滤、跳板选取、壳码改写这些琐碎绕过串成了一条能用的利用链。整个过程作者本人只是旁观,端着杯子看它干活。

三、AI 渗透工作流:活靶加 Agent

下面我带大家把这次”一个晚上挖洞”的工作流拆开看。三样东西齐了,速度才起来。

  • 第一步起活靶。研究者用一次性 Docker 容器跑起游戏服务器,这样就有了一个活的靶机,AI 可以随便把它打崩、重启,次数不限。
  • 第二步给钥匙。把容器和二进制授权给 Claude Code,让它自己驱动 objdump、readelf,以及它自己写的小脚本来扫汇编。没有什么魔法,就是一个永远不会看汇编看烦的、极快且极有耐心的逆向工程师。
  • 第三步看结果。Agent 先扫用户侧功能,后来转到 rcon 管理侧功能,一路走进了 SV_Map_f。利用失败它就自己改,直到真正打出 shell 为止。整个过程不需要我插手。

逆向这种老二进制,以前是人肉读汇编熬一个周末,现在有 Agent 代劳,人只负责拍板和校验。admin 永远是个显眼包般的存在,老服务器配上弱 rcon 口令,就是平常我们说的弱口令什么123456这些顺得不能在顺德了。

技术点评:活靶、可读的二进制、能干活的 Agent,三者齐备才是全部真相。抽掉任何一个,你就退回盲猜。你的资产盘点里,有没有这类防护全关、还在公网跑的老二进制,正好该用同样的姿势自查一遍。

四、防御视角与自查

首选是资产侧清点。把还在运行的老游戏服务器、各类老旧专用服务器二进制拉个清单,按”无 PIE、无 canary、无 RELRO、可执行栈”这四项做风险分级,先定位最裸奔的一批。

编译侧补防护。新构建默认打开 PIE、栈 canary、RELRO、NX(永不执行)。对实在动不了的老二进制,至少重新编译加上 canary 与 NX,把可执行栈关掉。

暴露侧收口。rcon 用强口令,并做网络隔离,只允许可信管理网到达游戏端口。限制 map 等管理命令的来源,不要让它对公网任意可达。

攻防同频。把 AI Agent 接进自己对二进制的常态化漏洞狩猎里,让对手的提速变成自己的提速。

技术点评:AI 不会消灭漏洞,只会放大单个研究者能覆盖的代码量。谁能把 Agent 接进自己的资产盘点与防御矩阵,谁就拿到下一个不对称的窗口。只靠人工清点,永远慢 Agent 半拍。

合规提示:本文仅作安全技术分析与防御研究,相关验证须在授权环境下进行,严禁对未授权目标实施测试,遵守《网络安全法》及有关规定。

结束语

CVE-2026-66373 这类新漏洞和 COD1 这类二十年老漏洞,在 AI 辅助渗透面前被拉到了同一条时间线上。AI 不直接让老漏洞变多,却让能覆盖的老漏洞变快。唯有把 AI 接进自己的资产与防御矩阵,才能在这轮提速里不落下风。值得一提的是,研究者这一篇只是系列 Part 1,下一刀砍向的正是他们自己的 AI 驱动 SOC 管线,攻防同频这件事,对手和防守方都在做。

END

公众号内容都来自国外平台-所有文章可通过点击阅读原文到达原文地址

文章广告会导致阅读影响 – 会开一段时间和关一段时间

公众号 | AnQuan7 (Ots安全)


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:Ots安全 《一个晚上,AI 挖出 Call of Duty 1 埋了 20 年的 RCE》

评论:0   参与:  0