很久以前,我用CMS搭建了一个站点,采集了一些内容,之后就没有打理了,成为了一个没人维护的垃圾站。昨天偶尔发现网站不知何时被挂了黑链,网站之前就被黑过一次,造成了整站数据被下载,模板被贩卖…
以前总是在分享如何对别人的网站进行入侵检测,这次自己的网站也被入侵了。呵呵,正好借此机会分享一下网站被入侵后的修复和防范措施,在攻与防的对立统一中寻求突破。
1、发现问题
虽然是一个不再打理的小站,但偶尔也会打开看一下。看看互链接网站,清理下友情链接什么的。这次就是在清理友情链接的时候,发现了代码中多了一段:
由此可以判定,网站已经被入侵,并控制。
2、查找被篡改文件,确定入侵时间
找到篡改文件,可以根据文件修改时间确定被入侵时间,并根据时间反推,查找该时间断内的访问日志。以便定位到黑客入侵源。
定位到被篡改文件
被入侵站点采用的是我自己写的模板,所以直接找到了被篡改的首页模板位置。并发现文件的最后修改时间是 2012/10/31 18:49,可以确定最后被挂黑链的时间。
3、根据入侵时间,查找日志
由于当前CMS是全站生成HTML进行访问的,所以日志排查比较简单一点。网站的入侵过程中取得WebShell往往是第一步,直接查找页面篡改时间前后的动态文件访问日志即可。
定位到WebShell
这一些需要有一定的判断能力,因为入侵者必定会对WebShell的位置和名字进行伪装。本着几个原则进行筛查:不该出现的文件出现到了不该出现的位置、不该访问的文件被访问了。定位到common.php后,发现是一个PHP小马。
4、修复网站漏洞和被篡改内容
由于是采用的发布版CMS系统,存在何种漏洞在网上搜索便知。根据提示进行修复即可。控制目录写入访问权限及动态文件执行权限;修改网站数据库及后台密码;修复被篡改页面,替换原页面。
5、排查PHP木马
在网上下载一份PHP木马查找的代码,进行扫描。或使用如下命令搜索文件:
find /site/* -type f -name “*.php” |xargs grep “eval(”
find /site/* -type f -name “*.php” |xargs grep “base64_decode”
find /site -name “*.php” |xargs egrep “phpspy|c99sh|milw0rm|eval(gunerpress|eval(base64_decoolcode|spider_bc”
通过分析搜索结果,进行排查和删除后门。
6、根据IP反查入侵者
自行反查,涉及到的因素太多很难查找到真实的攻击者。例如是伪装过的IP、ADSL的动态IP、宽带共用的公网IP,都将不易进行追踪。如果情节严重的攻击,请直接联系公安机关,保留信息证据,要知道郭嘉的系统是有上网行为记录的。
咱们小P民就试试在搜索引擎里搜索日志中获取的IP地址吧,或许会有收获的。意外的是,在搜索结果里居然有与入侵IP完全一致的搜索结果。
在搜索引擎中搜索IP
打开页面后发现IP来源于某用户,不过实际上这还说明不了什么。如果是与入侵在同一时间断内的话就有说服力了。如果有兴趣的话,其实还可以对这个用户利用社工展开分析,以确认是否为入侵者。
7、简单总结下
网络安全是木桶效应的完美体现,一个漏洞、一个权限的安全配置问题,都将是造成被入侵的重要因素。在日常的运维过程中,一定细心细致的做好每一步的安全防范,防患于未然。
关于入侵:在入侵结束后,最重要的一步就是咱们常说和擦PP,清除各类日志信息,以免给自己留下后患。另外一点是,如果需要留后门的情况下就将后门隐藏的深一些,以备后需;如果不需要留后门,一定要将相关文件清理干净,以免后患。
顺便说一下,入侵者的篡改文件操作已经是触犯了法律,也请各位网络安全爱好者,不要随意模仿。