问题描述
某日教育单位接到安全部门通知,教育网站中心图片被恶意篡改,造成了较恶劣的影响。单位领导非常重视,要求迅速排查网页被篡改的原因,及攻击者如何侵入网站。
通过常规排查,网站服务器内未发现木马等恶意程序,从服务器内日志也未能发现异常。
分析过程
用户在互联网出口位置部署了科来网络回溯分析系统,实时监控网络运行状态,所以我们可以提取问题发生前的数据包进行深入分析:
如上图,科来可以完整还原问题时段所有客户端访问网站的记录,排查这些记录时发现了一些可疑的HTTP请求,81.89.96.88(德国)在频繁的连接fy.jsp,并且方法多为POST(上传),而这个文件是不应该存在的。如上图。
进一步分析81.89.96.88地址的会话,发现81.89.96.88为代理服务器地址,而源IP地址为199.1.88.29(美国IP),但不能确定其是否多次使用代理。如上图。还原数据流,发现81.89.96.88上传了代码向fy.jsp发送了代码023=A&z0=GB2312,直接就连接到了服务器apache root目录下,是一个典型的webshell行为,基本可以确定fy.jsp是一个webshell文件,代码中的023就是webshell的登陆密码,A是登陆行为的操作符。
通过数据流还原,深入的分析攻击者的完整的攻击行为:
首先,攻击者发送代码023=B&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5C,通过指令B,列出Root目录下所有文件的。如上图。
随后,攻击者发送代码023=E&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cindex.jsp,通过指令E删除了原网站的首页。
然后,攻击者发送代码023=I&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cindex1.jsp&z2=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cindex.jsp,通过指令I把原来目录下的Index1.jsp文件重命名为Index.jsp。通过分析没有发现攻击者上传或新建Index1.jsp文件,说明此文件之前就存在于服务器内。而这两个文件主要的区别就是更换了中心图片(bjds-logo.png换为bjds-header-bg.gif)。如上图。
随后,攻击者列举了images目录下的文件,找到了网站的原中心图片,并发送代码023=E&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cimages%5C%5Cbjds-logo.png,通过指令E删除了images目录下的首页的中心图片bjds-logo.png。如上图。
紧接着,攻击者发送代码023=G&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cimages%5C%5Cbjds-header-bg.gif,向images目录上传了新的中心图片文件。如上图。
至此攻击者完成了对网站中心图片的篡改。
攻击者完成图片替换后,发送了代码023=E&z0=GB2312&z1=
D%3A%5C%5Capache-tomcat-7.0.39%5C%5Cwebapps%5C%5CROOT%5C%5Cfy.jsp,通过指令E删除了fy.jsp(webshell),防止被网站运维人员发现。如上图。
最后,攻击者再次尝试连接fy.jsp(webshell)时,可以看到服务器回应为404 Not Found,说明此时Webshell已经被攻击者从服务器中删除。如上图。
分析结论
经上述分析可以得出结论,攻击者使用代理的方式隐藏自己的真实IP,并通过隐藏后的IP连接到服务器中的Webshell,通过Webshell修改了主页的配置,并且删掉网站原图,上传了恶意图片来代替原图。在完成替换后删除了Webshell文件,所以运维人员难以进行通过常规手段准确判断攻击手段及时间。
网络分析价值
通过网络分析是基于流量对Webshell的行为进行检测,在HTTP请求/响应中可以快速发现蛛丝马迹。并且基于payload的行为分析,不仅可对已知Webshell进行检测,还能识别出未知的、伪装性强的Webshell。
并且科来网络回溯分析系统是旁路部署,即使攻击者删除了所有的攻击痕迹,科来还是能够完整保存攻击流量,对攻击事件进行完整的还原,并可根据Webshell特征进行提前预警,最大程度的保障用户业务安全。
