vlambda博客
学习文章列表

SQL注入导致获取webshell的安全事件处理


SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。在条件允许下,SQL注入可以getshell,本文主要从检测、抑制、根除的角度说一下在Windows系统下针对SQL注入getshell事件的处理。



1、SQL注入检测


1)通过IDS进行检测:

在IDS过滤规则当中定义上‘xp_cmdshell’、‘net user’。当IDS发现web数据中有xp_cmdshell等字样时就会产生报警。即可通过IDS的报警、日志记录等来确认。


2)使用sniffer:

在过滤规则中定义上‘xp_cmdshell’、‘net user’。如果在sniffer数据中发现web数据中有xp_cmdshell等字样时,即可发现sql注入攻击行为。


3)检测web日志:

在web日志中如果存在xp_cmdshell那么就说明有sql注入攻击,如下所示:

http://www.x.x.x.x.x./news.asp?news=111;execmaster.dbo.xp_cmdshell ‘dir’

http://www.x.x.x.x.x./news.asp?news=111;execmaster.dbo.xp_cmdshell ‘dir d:\’

http://www.x.x.x.x.x./news.asp?news=111;execmaster.dbo.xp_cmdshell ‘dir c:\’

但值得注意的是如果黑客是post请求方式进行注入的话,那么日志中就不会有注入的记录。


2、SQL注入导致获取webshell的攻击抑制


1)启动项安全检查处理

    凡是后门必然需要隐蔽的藏身之所,要找到这些程序那就需要仔细检查系统中每个可能存在的可疑之处,如启动项。可以考虑手动排查注册表或者使用安全工具,如IceSword。打开IceSword,在左侧的“查看”选项卡里,点击“启动组”,然后你的系统里有哪些程序是随系统启动的便一目了然,并且可以方便查看注册表位置和一些说明信息。

 

SQL注入导致获取webshell的安全事件处理


确定恶意程序后进行安全隔离备份,然后在注册表以及进程目录中彻底删除恶意程序。


2)端口安全检查处理

后门恶意程序一般会监听某个指定端口,要检查这类后门需要用dos命令在没有打开任何网络连接页面和防火墙的情况下,输入netstat –an 监听本地开放端口,查看是否有本地ip连接外网ip。


SQL注入导致获取webshell的安全事件处理


同样可以考虑使用IceSword查看,如下图发现电脑现在正对外连接IP为192.168.136.1的 4141端口,但是计划中并未开启其他服务,则可以初步断定,该木马后门有反向连接功能。


SQL注入导致获取webshell的安全事件处理

 

对检测出的问题端口连接进行记录,进程追踪。并及时终端问题端口的连接。


3)异常系统进程处理

可打开任务管理器,查看是否有可疑进程,若发现可对可疑进程进行记录,并结束进程。


SQL注入导致获取webshell的安全事件处理


检查进程时要格外细心,比如“Explorer”是真正的系统进程,而“Exp1orer”就是木马了。前者是字母“l”,后者是数字“1”;或者把其中的“o”改为数字“0”,两者仅仅一字之差,这是木马的常用手法。


4)处理异常系统账号

使用可使用net  user命令查看是否有未知账号,还需要检查注册表中的SAM键值是否有隐藏账户,如果发现未知账号应及时删除。CA克隆账号这样的后门建立以$为后缀的超级管理员,在dos下无法查看该用户,用户组管理也不显示该用户,手工检查一般是在SAM里删除该账号键值。


SQL注入导致获取webshell的安全事件处理

SQL注入导致获取webshell的安全事件处理


删除恶意系统账号,对存在网站后台服务器的系统进行检查,删除异常未知账户,修改系统管理员帐户口令,修改网站后台账户口令。


5)木马后门的查杀

可使用合适的安全检测工具进行后门扫描,对发现的后门恶意程序应及时进行删除。删除前同样可在隔离环境下进行备份以便日后进行分析。


SQL注入导致获取webshell的安全事件处理


6)根据系统日志 Windows事件查看器来对异常程序进行分析处理

右击计算机—管理--事件查看器--Windows日志,可以分别查看应用程序、安全、系统等日志。


SQL注入导致获取webshell的安全事件处理


若显示叉号图标,则代表有报错。双击带有叉号图标的日志记录,可以查看报错的来源、级别等详细信息,进而判断产生错误的原因,此处可对出现问题的程序在搜索引擎中进行搜索,及时进行处理。


SQL注入导致获取webshell的安全事件处理


7)分析系统安全日志,对异常审计记录进行分析处理

若系统已经开启了审核策略,可在系统日志—安全中查看登录事件、账户登录事件、账户管理事件、对象访问事件、系统事件、策略更改事件等。

可以参照一下步骤开启审计策略。


SQL注入导致获取webshell的安全事件处理

SQL注入导致获取webshell的安全事件处理


开启账户安全审核后,会在系统日志安全性里面看到一些异常审核失败的日志,进而判断这些日志是否正常。


SQL注入导致获取webshell的安全事件处理


处理办法:

a)在出现该日志信息的服务器上,点击“开始”——“运行”,输入cmd,进入命令提示符。

b)输入“tasklist /svc”,查看svchost.exe(740)对应的服务是否是系统正常的服务,如:dhcp,dnscache等。

c)如果是正常的网络服务,您可以安全的忽略该信息;如果不是正常的网络服务等,对其追踪定位进行下一步处理;如果不能判断,则可以借助搜索引擎进行识别。


SQL注入导致获取webshell的安全事件处理


8)Web日志分析入侵者进行的扫描行为、命令以及上传行为,分析入侵者使用的注入漏洞方式,与安全扫描软件结果进行对比,判断是否彻底查杀。

入侵者扫描记录


SQL注入导致获取webshell的安全事件处理


入侵者尝试使用的注入命令


SQL注入导致获取webshell的安全事件处理


入侵者上传的文件记录



1.2 SQL注入导致获取webshell的攻击根除


1)对服务器恶意程序进行查杀,删除已知恶意程序

2)针对文件解析漏洞及注入漏洞打补丁或更新程序

3)制定应用系统安全开发规范,用于指导开发过程与开发结果,避免常见应用层漏洞的出现

4)定期请专业的安全渗透测试人员对网站的安全性进行全面检测,并对网站服务器进行安全加固

5)仔细检查系统中最近新建或最新更改过的可疑文件或程序,并删除或卸载。