游客发表

0day 1day nday

发帖时间:2026-10-17 05:10:32

很多人第一次听到“0day”这个词,以为是指某个具体的漏洞编号。不是。它说的是漏洞被发现时,厂商还没来得及发布补丁。攻击者手里攥着这个漏洞,等于攥着一把还没人见过的钥匙。2008年,一个叫“Conficker”的蠕虫利用Windows的MS08-067漏洞横扫全球,微软在10月发布补丁,但蠕虫在11月就出现了变种,利用的是同一个漏洞的另一个入口。那段时间,我认识的一个运维半夜三点还在给服务器打补丁,边打边骂——因为补丁刚装完,新的攻击流量又换了特征。

0day的“0”是时间差。从漏洞被利用到补丁发布,这个窗口期就是攻击者的黄金时间。2010年“震网”病毒用的四个Windows 0day,其中两个直到病毒被发现后才被微软修补。那会儿没有“漏洞赏金”这种成熟机制,很多0day在黑市上明码标价,一个Windows远程执行漏洞能卖到几十万美元。买方是谁?没人知道。卖方是谁?也没人知道。中间人抽成,交易用比特币或门罗币,链条干净得像手术刀。

1day比0day晚一步。补丁发布了,但大量系统没打。2017年“永恒之蓝”泄露时,微软已经在3月发布了MS17-010补丁,可到了5月WannaCry爆发,全球仍有超过20万台机器没打补丁。英国NHS的电脑还在跑Windows XP,急诊室的屏幕弹出勒索页面时,医生只能拿纸笔记录病人信息。那是我第一次意识到,1day的杀伤力不取决于漏洞本身,而取决于有多少人懒得点“更新”。

Nday更微妙。它指已经公开很久、补丁早就存在的漏洞,但总有人因为各种原因没修。我见过一个内部系统,跑着Windows Server 2003,上面挂着一个用PHP 5.2写的后台。管理员说“动不了,业务绑死了”。结果扫描器一扫,十几个Nday漏洞,从Struts2到Log4j,全是几年前就公开的。攻击者甚至不需要写新代码,GitHub上现成的利用脚本一抓一大把。

有意思的是,0day、1day、Nday之间的界限在实战中经常模糊。一个漏洞在A厂商是0day,在B厂商可能早就修了。2021年Exchange Server的ProxyLogon漏洞,微软发布补丁前,已经有攻击者在野外利用;补丁发布后一周,大量未修补的服务器变成1day目标;半年后,仍有Nday扫描流量在找那些忘了打补丁的机器。同一个漏洞,生命周期被拉成一条长尾。

我自己的习惯是:看到0day新闻,先查自己有没有暴露面;看到1day通告,立刻排补丁窗口;看到Nday扫描,直接封IP段。但说实话,大多数人的反应是“等IT部门处理”。而IT部门的反应往往是“等下周维护窗口”。这个时间差,就是攻击者吃饭的地方。

去年一个客户被Nday打穿,入口是一个2019年就公开的Citrix漏洞。我问他们为什么没修,对方说“当时测试过,补丁会导致某个老插件崩溃,就搁置了”。搁置了三年。攻击者用了一个现成的Metasploit模块,十分钟拿到域控。事后复盘,发现攻击者甚至没用什么高级技术,就是扫到了、试了、进去了。

所以别把0day想得太神秘。真正让大多数人中招的,从来不是那些还没公开的漏洞,而是那些已经公开、补丁就在那里、但就是没人打的Nday。0day是狙击枪,Nday是散弹枪。狙击枪上新闻,散弹枪收人头。

    热门排行

    友情链接