PHP网站被挂马防御战
最近把几个PHP网站的程序备份到本地,准备与本地的发布版的svn做内容整合。发现有一些non-versioned的程序文件,仔细查看,是一些木马程序。 我在本地测试了这些木马程序,可以读取所有硬盘的文件,可以随意修改文件,下载任意硬盘位置的文件,上传文件到主
最近把几个PHP网站的程序备份到本地,准备与本地的发布版的svn做内容整合。发现有一些non-versioned的程序文件,仔细查看,是一些木马程序。
我在本地测试了这些木马程序,可以读取所有硬盘的文件,可以随意修改文件,下载任意硬盘位置的文件,上传文件到主机任意硬盘位置,可以说接近在主机上管理文件了,更糟糕的是还可以执行本地程序或命令,管理mysql等等
它怎么隐藏和伪装的?
它一般藏的目录很深,喜欢藏到图片目录下面。由两部分构成,一个zip压缩包和一个解压程序,木马程序放到zip压缩包中。
我是如何清理的?
1、 将所有的程序备份一份,用于之后的挂马分析
2、 对比本地svn很快定位到所有的木马文件,将所有的木马文件一一清除。
分析挂马文件,主要发现以下几个问题:
1、 使用了com组件(fso/shell)
2、 使用了shell函数(system/passthru/shell_exec/exec)
3、程序遍历了所有硬盘
对比以上几点,通过修改php配置,做了以下相应的措施:
disable_classes= COM //禁用com组件 disable_functions= exec,passthru,shell_exec,system,popen //禁用shell函数 open_basedir= "D:/htdocs/;C:/windows/temp/" //限制php的作用域
然后重启apache,这样ok了吗?
答案是否定的。
前面提到该木马有执行本地程序或命令的功能,还可以随意上传其他木马程序。那么控制主机对它来说,已经是探囊取物那么简单了。
使用msconfig查看系统启动加载的服务,发现多了PsExec(远程控制工具)的启动项,看来主机确实被控制了。我禁用了该服务,找到程序删了。
启用“任务管理器”发现,仔细检查所有的进程和服务,发现还多了一个程序mimikatz(系统密码捕捉工具)。看来主机系统的密码也泄漏了。杀了程序,找到程序删了,也改了密码。
最后使用一些安全工具或命令检查一下系统关键路径,端口占用,网络连接情况等等,看看还有没有问题。
很遗憾,由于系统曾经清理过日志,我只能追踪到最开始出现的地方。至于它是如何入侵的,暂时也找不到确切答案。
上一篇: nginx负载均衡造成的数据查询不同步