删除asp脚本仍被挂马网站的处理措施
对于一些变态的木马植入方法,就算你删除后门程序,关闭写入权限,一样可以挂马,就算你把所有脚本都删除了,只剩下静态的html文件,对方一样可以挂马。听起来是不是很吓人?是不是有点晕?其实我这篇文章,这里才是要说的重点,我刚开始也很晕,根本不知道是为什么。
在我删除了后门脚本,关闭了写入权限,后来甚至删除了所有的asp脚本,第二天依然被挂马!接下来我能做什么呢?没办法的情况下,我研究起了系统的事件查看器。
第一步:查看木马后门文件的写入时间,例如是2月6日11:15,找到应用程序日志的6日11点左右的事件记录;
第二步:发现有一个事件是通过mssql数据库权限,写入到目录的后门程序,内容如下:
18270:
数据库差异更改已备份: 数据库: 2144ladb,创建日期(时间): 2010/02/02(00:25:13),转储的页: 118,第一个 LSN: 408:27203:1,最后一个 LSN: 408:27208:1,完全备份的 LSN: 408:27174:3,转储设备的数目: 1,设备信息: (FILE=1, TYPE=DISK: {'e:\host\xxxxxx\web\ri.asp'})。
解释一下:这个ri.asp就是后门脚本之一。从这里基本上可以找到根源了,跟数据库有关,但是我还不清楚是怎么回事。
第三步:打开数据库企业管理器,进入网站对应的数据库,在库的用户里面发现多了一个陌生账号,并且多了一个陌生的数据库表格,表名称是D99_TMP。我之前都没遇到过,只是听说有SQL注入这么一攻击方法,通过搜索D99_TMP表名称,才发现原来这个表是某SQL注入工具默认自增表。既然知道是SQL注入攻击,那接下来就好办了,网上找一下,都有相应的方法清理和解决。
当然这两天都不会被挂马了,之前是今天清理,明天早上一上班就被挂了,我这里的解决方法是:
MSSQL数据库存在几个危险的扩展存储过程,默认Public组可执行权限,SQL注入者可利用此读取文件目录及用户组,并可通过先写入数据库然后导出为文件的方法往服务器写入危险脚本进一步提权,或直接使用某些存储过程执行命令,如xp_cmdshell。这些存储过程如下:
sp_makewebtask
xp_cmdshell
xp_dirtree
xp_fileexist
xp_terminate_process
sp_oamethod
sp_oacreate
xp_regaddmultistring
xp_regdeletekey
xp_regdeletevalue
xp_regenumkeys
xp_regenumvalues
sp_add_job
sp_addtask
xp_regread
xp_regwrite
xp_readwebtask
xp_makewebtask
xp_regremovemultistring
对应措施:删除上述存储过程或可执行文件或修改存储过程相应用户组可执行权限,删除上述存储过程对应脚本为:
drop PROCEDURE sp_makewebtask
exec master..sp_dropextendedproc xp_cmdshell
exec master..sp_dropextendedproc xp_dirtree
exec master..sp_dropextendedproc xp_fileexist
exec master..sp_dropextendedproc xp_terminate_process
exec master..sp_dropextendedproc sp_oamethod
exec master..sp_dropextendedproc sp_oacreate
exec master..sp_dropextendedproc xp_regaddmultistring
exec master..sp_dropextendedproc xp_regdeletekey
exec master..sp_dropextendedproc xp_regdeletevalue
exec master..sp_dropextendedproc xp_regenumkeys
exec master..sp_dropextendedproc xp_regenumvalues
exec master..sp_dropextendedproc sp_add_job
exec master..sp_dropextendedproc sp_addtask
exec master..sp_dropextendedproc xp_regread
exec master..sp_dropextendedproc xp_regwrite
exec master..sp_dropextendedproc xp_readwebtask
exec master..sp_dropextendedproc xp_makewebtask
exec master..sp_dropextendedproc xp_regremovemultistring
数据库中如发现D99_TMP数据表,请先通知网站管理员修补sql注入漏洞,该表为某SQL注入工具默认自增表,内容为C盘目录下全部文件及文件夹名称,服务器网管应检查xp_dirtree扩展存储过程权限,设置为public组不可读即可防止恶意访客读取本地文件信息,或删除xp_dirtree存储过程或删除xpstar.dll文件,该文件位于sql安装目录下。
关键词:删除asp脚本仍被挂马网站的处理措施