渗透并安全处置某重要网站记录

下午接单位领导通知需对某重要政府网站进行安全应急处置工作,(已纳入恶意篡改数据黑客攻击案件)据说他们那边的服务器老是被入侵(管理员同学加固几次了依然被入侵);

然后让我们这边看看是怎么回事,协助推进安全工作;于是我们需要对其进行一次远程安全渗透测试,时间紧任务重,下午接到通知明天就要出处置通知单 。

本来 还有一大堆的处置列表,现在这个很重要,于是暂停其他的,先进行这项任务,大概花了两个多小时我们成功进入服务器数据库中心,下班回家继续弄,终于揪出幕 后黑手,查明屡次被入侵原因,圆满完成处置工作。

期间,感谢shady,hup及高层的支持,让我又见识了一种邪恶的后门技术;感谢他们!

大概说 一下的这台服务器的位置,它处于内网,对外开放有21,80,端口,扫描发现还开放了23端口telnet上去发现是一台H3C的路由器,加上通过 google查看目标服务器探针缓存得知其处于内网的环境中,通过路由器映射对外提供web服务,该服务器包含公积金账户,保险,政府各个机构的账户处理 数据等重要内容,系统环境为linux+nginx+mysql+php用的一套不怎么出名的政府版站群cms系统Tsys For PHP Cms 5.0 ,好像没什么公开的漏洞;只能靠自己发掘发现问题了;

通过测试发现目标服务器下边的一个子域名下某页面存在blind注入,放入sqlmap成功跑出帐号密码,但是是加密的,MD5解密无效判定不是md5加密,于是我们按照用户名猜解居然成功进入某些账户:
密码123456 ,弱密码太可怕了;

\" border=

接下来我们需要搞定webshell,于是利用mysql的load_file()函数功能翻看系统内部文件特别是配置文件,当常看到某个配置文件时我们发现好奇怪啊,怎么配置文件里面有这个东西;

\" border=

看到了吗,插入了邪恶的一句话后门里边assert()函数还16进制变形了\x65(e),牛逼!!!!其中$_REQUEST[‘O’]是连接后门的密码;

检查中同时发现了帐号密码,直接可见明文,密码还是蛮复杂的 ,不过有了后门的话再复杂也会被渗透进来;
再来分析一下,这个文件,为什么要把后门插入该文件是有原因的,改文件为配置初始化类文件每次连接数据库都需要使用到的对状态进行初始 化:function_construct(); 函数即为对象成员变量赋初始值,进行初始化操作;这样的话只要连接对数据库有操作的脚本文件就会触发该脚本同时启动后门;这就是为什么屡次检查并加固服务 器还是被入侵的原因;后门实在是太邪恶了,只要没有清理完全,连接任何一个与之关联的文件都可以触发该后门;

\" border=

果然是这样的,我们连接一下随便一个与数据库有操作关联的文件试试:

\" border=

看到了吧,成功连接进入目标文件系统;为了工作方便,我也上传了一个我的webshell,哈哈
\" border=

www的权限,反弹回来我的vps上,进行提权操作
\" border=

安全处置:发现问题所在了,于是立即着手进行安全处置工作,首先备份记录目标文件做好取证工作;然后找到目标种马文件,清理恶意代码;其次进入目标系统,使用grep或者其他文本查找工具查找木马关键字,逐一进行清理;最后做好记录,输出标准处置报告汇报领导。

本文转自90sec由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理,转载请注明出处。