2017年5月,何预WannaCry勒索蠕虫在一天之内横扫150个国家,防蠕英国NHS的虫检测蠕虫医院系统直接瘫痪,医生翻出纸笔手动记录病历。何预这不是防蠕电影情节,是虫检测蠕虫真实发生的事。蠕虫和普通病毒最大的何预区别就一个字:快。它不需要你点任何东西,防蠕自己就能在网络上找到下一个受害者。虫检测蠕虫
蠕虫靠什么传播
绝大多数蠕虫利用的何预是系统漏洞。WannaCry走的防蠕是Windows的SMB协议漏洞(MS17-010),永恒之蓝工具泄露后,虫检测蠕虫任何人都能拿它当武器。何预还有一类蠕虫靠弱密码暴力破解——2019年的防蠕Gulek蠕虫专门扫描SSH端口,用几十个常见密码挨个试,虫检测蠕虫试进去就植入挖矿程序。
U盘和移动硬盘也是老牌传播渠道。插入一台已感染的机器,autorun.inf自动执行,蠕虫就跟着你走到下一台电脑。学校机房、打印店、网吧,这些地方到今天仍然是重灾区。
预防:把门关好,比什么都强
打补丁。这话听起来像废话,但WannaCry爆发时,微软其实在两个月前就发布了修复补丁。中招的机器绝大多数没更新。Windows的自动更新别关,Linux服务器至少每月手动跑一次apt upgrade或yum update。
关掉不必要的端口和服务。家里路由器默认开启的UPnP、办公电脑上的445端口、测试服务器上的Redis未授权访问——这些都是蠕虫的入口。用不到就关,别嫌麻烦。
密码策略要硬。SSH别用密码登录,换成密钥对。数据库密码至少16位,别用admin123这种。我见过一台暴露在公网的MySQL,root密码是123456,日志里每天有上万次暴力破解尝试。
U盘防护分两步:一是关闭Windows的自动播放功能,二是插入陌生U盘先扫描再打开。企业环境可以用组策略禁用USB存储设备的写入权限。
检测:看异常,别只看杀毒软件
杀毒软件能拦住已知蠕虫,但变种和0day它反应不过来。更可靠的信号来自系统本身的行为异常。
CPU和网络流量突然飙升。蠕虫扫描内网时会疯狂发包,你在路由器或交换机上看流量图,某台机器的出站连接数暴涨,基本就是它了。Linux上用ss -tn state established看当前连接,如果一台Web服务器上有几百个对外25端口或445端口的连接,不用犹豫,断网排查。
文件系统出现异常变化。蠕虫通常会在系统目录、启动项、计划任务里留下痕迹。C:\Windows\Temp下多出随机命名的exe,crontab里多了不认识的定时任务,注册表Run键被修改——这些都是信号。
日志里有规律性的失败记录。SSH日志里同一IP反复尝试不同用户名,Windows安全日志里出现大量4625事件(登录失败),说明有人在爆破。如果爆破成功后紧接着出现4672(特权分配),那台机器大概率已经被拿下了。
内网横向移动是最难发现的。蠕虫进入内网后会尝试感染其他机器,表现为某台机器突然开始扫描同网段的其他IP。部署IDS/IPS能抓到这种扫描行为,或者用arp -a看看ARP表里有没有陌生的MAC地址。
中了怎么办
断网。物理拔网线,别想着先杀毒。蠕虫每秒都在扩散,你多犹豫一分钟,可能多十台机器中招。然后用干净的启动盘进入PE系统,或者把硬盘挂到另一台干净的机器上做取证和清理。别在原系统里操作,蠕虫可能还在内存里跑着。
清理完之后,找到入口。是哪个漏洞没打补丁?哪个密码太弱?不找到根源,重装系统也只是等着下一次中招。