某周五晚上,自己正舒服地躺在沙发上,手里的王者荣耀,米莱迪正在快乐地偷塔呢,突然一个电话打进来,一看是老板,心里一阵不祥的预感:看来这场游戏是不能善终了,兄弟们对不住了。
果不其然,事情是某机构运行了很多年的大型门户网站,突然发现有挂马病毒现象,页面会自动跳转某带颜色网站,某机构大领导十分气愤,影响十分恶劣,要求不惜任何代价,赶快恢复正常。
挂了电话,登上微信,发现自己已经被拉进交流群了,群里已经炸锅了,大领导正发飙呢,幸亏这网站不是我们团队开发,据说负责开发的团队已经排查一段时间了,然而并没有什么进展。
给网站清理个病毒木马有那么难么。
跟对方要来了服务器管理账号密码,发现这服务器安全等级确实够高,需要挂VPN,再登堡垒机,最后才能进入服务器。服务器安全等级已经这么高了,网站还能被挂马,看来漏洞一定是出在了网站源代码身上。
看了下服务器环境,是Windows系统+IIS7+PHP的组合。
然后复现问题,具体跳转情况是这样的:
- 用搜索引擎搜索网站关键词,在搜索结果中进入网站,然后网站被重定向到某带颜色的垃圾网站;
- 在浏览器地址栏中直接输入网站地址,正常访问,不会跳转;
以下是某带颜色网站截图:
很奇怪,竟然只有从搜索引擎搜索结果中访问网站才能自动跳转。
按照以往的排查经验,既然会自动跳转别的网站,那么一定是在源代码里加了跳转代码,代码里可能做了某些访问来源的判断,只有从搜索引擎过来的访客才跳转。
无论怎样,既然能跳转,那么跳转代码里肯定要有垃圾站的域名吧,先全局搜一下垃圾站域名看看。
先把整个门户网站的源代码下载到本地,才敢随意折腾。好家伙,这门户网站运行了近十年,源码压缩过后竟然有20G,有点吓人,按这服务器的5M带宽,恐怕要下载到天荒地老了。所以简单研究下代码结构,排除了一些图片上传目录,只剩下几百兆,搞了大半天终于下载完成。
用代码编辑器打开项目,发现网站是用一个绝迹多年的小众CMS系统开发,网上一查全是关于这个CMS漏洞百出的信息,不理解那么多优秀的开源CMS不用,非要用这个。
不管那么多,直接全局搜索垃圾站域名,理所当然地,什么也没搜到。既然如此,黑客肯定把域名加密或者编码了,最常见的是base64了吧,所以把域名base64编码一下继续搜,还是啥也没有。
然后又通过很多该不良网站的关键词去搜,也什么都没发现。
看来这黑客不是什么善茬。
最后只好用笨办法:挨个文件检查。
通常黑客植入的病毒代码,都是用工具自动写入的,代码的编写风格跟网站原本的风格会显得格格不入,比如缩进、变量命名规范、文件命名格式等等,所以挨个文件查找是极有可能发现的。
总之最后终于在缓存目录里发现了一个不大正常的文件
这个11.php太扎眼了。
通过URL的形式访问这个11.php,打开后是这样:
这下看到希望了,这是个功能齐全的远程操作工具。有了这个,不仅网站代码随便改,就连服务器都可以随意摆布了。
围绕这条线索,查出了很多病毒文件,全部一一清除。
按这进度,晚上应该还能来几局米莱迪吧,心里开始美起来了。
然而再次测试,网站依然自动跳转垃圾站!
难道是浏览器缓存问题?清理浏览器缓存,问题依旧。
难道是服务端缓存问题?清理服务端缓存,重启IIS,问题依旧。
我震惊了。
然后整个团队又骂骂咧咧地把网站文件全部又扒拉了一遍,确实没有病毒代码了。
代码已经干净了,不可能再跳转了啊,但是事实就摆在眼前。
无论多难以置信,虽然忙活了大半天,最后不得不承认:跳转垃圾站,不是网站源代码的问题。
既然不是源代码问题,那一定是IIS的问题了。难道是301重定向?
打开重定向面板,发现啥也没配置,然后检查web.config,也没有异常。
既然如此,干脆删掉现有的网站服务,重新创建个应用池,重新绑定域名和目录,一顿操作之后,再次访问网站,仍然跳转垃圾站!
此时内心是绝望的,这么下去今晚是别想睡了。
但是,那句话怎么说的:
“只要努力就有希望。”
“现在所面对的问题也许正在迎来转机。”
当我把网站再次重启的时候,IIS突然报出一个错误:
HttpResetModule.dll,我怎么没见过这个东西呢,网上查了一下也没看到有这个东西的介绍,最终我大胆的猜想,是不是这个东西就不该存在呢。
为了早点睡觉,把心一横,就打算删掉这个模块看看。
进IIS模块管理:
在列表里找到HttpResetModule,删除!
删除得很顺利,然后再次进行测试,网站不跳转垃圾站了!
Holy Shit!黑客竟然做到了这一步!
到这里才彻底明白,黑客竟然改造了IIS,对方用提权工具拿到了服务器控制权限,然后给IIS加了一个额外的重定向模块,在网站里植入那么多的木马病毒文件只是烟雾弹,真凶竟然在IIS模块中,这位黑客实在是高。
看来这个服务器环境已经彻底不安全了,重装系统是必然的。另外这网站用了漏洞这么多的CMS系统开发,重构也是必然的,否则再次被入侵也只是时间问题。这就不关我们团队的事喽。