当前位置:首页 > 休闲

漏洞破解器

去年冬天,漏洞我在一个安全论坛上看到有人贴出一段Python脚本,破解不到四十行,漏洞却能绕过某款知名家用路由器的破解登录验证。发帖的漏洞人只留了一句话:“别问,问就是破解漏洞破解器。”底下跟帖的漏洞人一半在求教程,一半在骂他缺德。破解我当时把代码复制下来,漏洞跑在虚拟机里试了试——果然,破解路由器后台的漏洞管理界面直接弹了出来,连密码都不用输。破解

这东西的漏洞原理其实不复杂。那款路由器的破解固件在处理登录请求时,会把用户输入的漏洞密码和存在NVRAM里的哈希值做比较。问题出在比较函数上:如果密码字段为空,函数会直接返回“匹配成功”。开发人员大概觉得没人会提交空密码,连边界检查都省了。漏洞破解器要做的,就是构造一个空的密码字段,再补上几个特定的HTTP头,让路由器以为这是一次合法的登录尝试。

我后来把这段代码改成了带图形界面的小工具,加了IP扫描和端口探测。运行起来,局域网里所有同型号的路由器都会在列表里亮起来,像一排没上锁的门。点一下“破解”,三秒之内就能拿到管理权限。我拿自家那台旧路由器试了五次,五次都成功。第六次我停了手,因为突然觉得有点不对劲——这玩意儿太顺手了,顺手到让人忘记它本来不该存在。

安全圈里管这种工具叫“PoC”,概念验证的意思。但实际用起来,它和真正的攻击工具之间只隔了一层窗户纸。有人把PoC打包成.exe,配上中文界面,放到网盘里传播。下载的人未必懂HTTP协议,也未必知道NVRAM是什么,他们只需要点“开始”按钮。漏洞破解器就这样从技术文档变成了大众玩具。

厂商的反应总是慢半拍。我查过那款路由器的固件更新记录,漏洞被公开三个月后,官方才发布补丁。补丁说明里只写了一句“修复了登录验证过程中的安全问题”,连CVE编号都没提。更早之前,另一家厂商的摄像头也有类似漏洞,破解器流传了整整一年,官方论坛的版主还在回复用户说“请检查您的网络环境”。

写这些代码的人,动机五花八门。有人是为了炫技,有人是为了卖钱,还有人纯粹是闲着没事干。我认识一个做渗透测试的朋友,他电脑里存着上百个这样的破解器,按厂商和型号分门别类。他说这是他的“弹药库”,接项目的时候拿来就用。我问他有没有想过这些工具流出去会怎样,他沉默了一会儿,说:“锁坏了,总得有人先踹一脚,不然厂家永远不换锁。”

这话听着有理,但我不完全同意。踹锁的人和换锁的人之间,隔着无数普通用户。他们不知道自己的路由器跑着什么固件,不知道登录页面背后发生了什么,更不知道一个四十行的脚本就能让陌生人接管整个家庭网络。漏洞破解器把技术门槛降到了零,同时也把风险扩散到了最大。

我现在把那个图形界面工具删了,只留了一份原始脚本,存在加密盘里。偶尔翻出来看看,提醒自己:代码本身没有善恶,但写代码的人得知道自己手里攥着什么。那台旧路由器我换了新的,登录密码设了二十位,后台管理端口改成了不常见的数字。我知道这挡不住真正的高手,但至少,那个四十行的脚本再也进不来了。

分享到: