当前位置:首页 > 百科

黑客们使用的漏洞利用代码 被称为

```html 黑客们使用的黑客漏洞利用代码 被称为

黑客们使用的漏洞利用代码 被称为

“exp”——就这三个字母。圈子里的漏洞利用人张口就来,“你手里有exp吗?代码”“那个洞的exp放出来了没?”外行听着像某种快递代号。全称是黑客exploit,漏洞利用代码。漏洞利用但没人正经念全称,代码太拗口,黑客也太正式。漏洞利用就像没人管Wi-Fi叫“无线保真”一样。代码

我第一次接触这个词是黑客二十年前,在一个现在已经关停的漏洞利用IRC频道里。有人贴了一段不到三十行的代码Perl脚本,针对某个老版本FTP服务的黑客缓冲区溢出。频道里瞬间炸了,漏洞利用满屏的代码“nice exp”“working?”。那段代码丑陋、脆弱,换个系统版本就趴窝。但它能拿到root shell。这就是exp的本质——一段让漏洞从理论变成实际控制权的代码。没有它,漏洞报告只是学术论文;有了它,就是武器。

分类上,exp通常按利用方式分:远程和本地。远程exp最值钱,一个HTTP请求打过去,对方服务器直接吐shell。本地exp需要你先有低权限账户,再提权到root或SYSTEM。还有DoS的exp,那种纯粹搞破坏,圈内地位最低,脚本小子的玩具。真正的高手写远程RCE(远程代码执行)的exp,一行一个字节地调偏移量,跟雕刻似的。

写exp的人分几类。安全研究员写exp是为了证明漏洞真实存在,提交给厂商换CVE编号和奖金。他们会在博客里详细分析,附上exp代码,甚至录个演示视频。另一类是地下黑产,写出来的exp直接打包卖,或者集成到僵尸网络里。还有一类是渗透测试人员,客户花钱请他们模拟攻击,他们得自己写或改exp来突破目标。同一段代码,三种用途,道德边界全看谁在用。

我见过最优雅的exp是针对某款VPN设备的。作者用Python写了个不到两百行的脚本,先发个畸形数据包触发堆溢出,再用ROP链绕过DEP和ASLR,最后注入shellcode。整个过程像钟表齿轮咬合,一步不差。他在GitHub上开源了,附了详细的注释,说“仅供研究”。结果三天后,野外就出现了利用这个漏洞的勒索软件。代码本身没有善恶,但传播速度比漏洞补丁快得多。

Metasploit框架把exp变成了模块化的东西。你输入use exploit/windows/smb/ms17_010_eternalblue,设置目标IP,敲个run,剩下的框架帮你搞定。这降低了门槛,也模糊了“写exp”和“用exp”的界限。老派黑客对此嗤之以鼻,觉得脚本小子连偏移量都算不明白,也配叫黑客?但现实是,能写出稳定exp的人永远是少数,大部分人只是消费者。

法律上,exp的持有和传播在多数国家处于灰色地带。写出来不违法,但用来未授权访问就是犯罪。美国DMCA第1201条甚至禁止绕过技术保护措施,哪怕你只是研究。所以很多exp作者选择匿名发布,用Tor隐藏身份,代码里留个PGP签名证明是自己写的,但找不到人。这种猫鼠游戏持续了几十年,从没停过。

回到那个IRC频道的记忆。贴Perl脚本那哥们后来被FBI找上门了,因为他在某次会议上演示了如何用exp控制核电站的PLC。他没坐牢,但被禁止再碰工业控制系统。他后来跟我说,写exp就像开锁——锁匠研究锁是为了造更好的锁,但总有人拿撬棍去偷东西。区别在于,锁匠的工具箱上印着名字,而exp的作者往往连个真名都不留。

所以下次你听到“exp”这个词,别只想到黑客电影里满屏的绿色代码雨。它可能是一段精心构造的二进制载荷,一个绕过所有现代防护的数学技巧,或者一个让某个公司连夜发补丁的噩梦。名字很短,分量很重。

```

分享到: