太刺激!服务器被黑遭攻击,凌晨一点紧急逆袭!

- 入侵情况分析
- 服务器第一次安全处理
- 服务器第二次安全处理
- 日志分析和追踪
- 总结及分析
一、入侵情况分析
通过查看首页(index.html/index.php)源代码发现网站存在 3 处编码后的代码,如图 1 所示,分别在 title、meta 属性中加入了代码,对代码文件中的其他代码进行查看,未发现有异常。

图 1:首页中的可疑代码
从首页中插入的代码来看是 Unicode 编码,将其复制到 Unicode 编码在线解码的网站(http://tool.chinaz.com/tools/unicode.aspx),并选择 Unicode 转 ASCII。
如图 2 所示,解码后的内容为菠菜宣传语,换句话说就是黑链宣传,网站被插入黑链了。

图 2:分析网站被插入链接
公司网站发现情况后,由于服务器前期运维人员已经离职,网站是托管在独立服务器,目前仅仅只有管理员帐号,所以无法直接进入服务器。
在该情况下,迅速开展以下工作:
确认网站系统情况
手工通过 robots.txt 文件确认网站采用某网站 CMS v7 版本,这个系统很多漏洞,一看心里就凉了。
发现列目录漏洞
通过手工和扫描判断服务器配置上没有禁止目录浏览,导致服务器所有目录均可以被访问。
如图 3 所示,通过 upload_files 可以看到很多 447 字节的 PHP 文件,第一感觉就是挂马、黑链创建文件或者是后门文件。
后面通过分析一句话后门的大小,一句话后门 <?php@eval($_POST['cmd']);?> 文件的大小为 30 字节,跟 447 字节相差太远,直接排除一句话后门,当然有可能是加密的一句话后门。

图 3:列目录漏洞
发现本地文件下载漏洞
通过了解此网站 CMS V7 版本存在的漏洞发现存在一个文件下载漏洞,其漏洞利用为:http://www.*******.org.cn/do/job.php?job=download&url=base64 编码文件地址,base64 编码文件地址。
例如 data/config.php 需要将最后一个 p 更换为“<”,例如分别要读取 data/config.php、data/uc_config.php、data/mysql_config.php 文件。
其对应 url 中的未编码地址应为:data/config.ph<、data/uc_config.ph<、data/mysql_config.ph<,利用如下:
- http://www.****.org.cn/do/job.php?job=download&url=ZGF0YS9jb25maWcucGg8
- http://www.****.org.cn/do/job.php?job=download&url=ZGF0YS91Y19jb25maWcucGg8
- http://www.****.org.cn/do/job.php?job=download&url=ZGF0YS9teXNxbF9jb25maWcucGg8

图 4:获取网站敏感文件内容
通过同样的方法读取 upload_files/kongzhipin.php 文件,其内容如图 5 所示,典型的 SEO 手法。

图 5:网站 SEO 黑链代码源文件
获取本地物理地址
通过访问 cache/hack 目录下的 search.php 文件,成功获取网站的真实物理路径。
如图 6 所示,目前有 mysql root 账号和密码,有真实路径,离获取 webshell 已经很近了。
图 6:获取真实物理路径
文件上传及 IIS 解析漏洞
如图 7 所示,可以通过 ckfinder.html 在其上传目录中创建 1.asp 和 1.php 目录,如果服务器存在解析漏洞可以直接获取 webshell。
图 7:文件解析%