技术开发 频道

SQL Server渗透测试方法

  3.SA用户空/弱口令的利用

  漏洞扫描是渗透测试的关键一步。为了更好地完成识别出SQL Server的SA用户空/弱口令漏洞。我们可以选用开源软件Nessus扫描器,也可以使用商用漏洞扫描器,如绿盟的漏洞扫描工具等。

  如果漏洞扫描器报告SA用户的口令为空,则就可以直接利用。使用SQLTools工具连接服务器,登录数据库后,就可以进行各种各样攻击了,如窃取本来不能访问的数据,破坏数据库中数据的完整性等,甚至进一步利用扩张存储过程进行主机操作系统的渗透,获得数据库服务器主机的用户权限,从而进一步控制该主机。

  如果漏洞扫描结果中报告SA用户的口令为弱口令,则我们可以进一步使用SA弱口令扫描器Scan-SQL进行扫描,获得SA的口令。如图1。

 

  通过ScanSQL扫描得到SA用户的口令,就可以管理和控制SQL Server数据库了,而且可以利用这个权限去获得网络上更多的控制权。这可以通过许多途径来达到:一种比较简单的方法是使用现成工具,如使用SQLTools;另一种方法是可以通过手工方式来完成。

  SQLTools是一款专门攻击SQL主机的工具,它的功能包括有:登陆SQL服务器,从而在SQL服务器上执行DOS命令,上传文件,增加SQL账户以及更改SQL服务器注册表等操作,如图2所示。

  另外一种获得网络上更高的控制权的途径是以SA用户通过SQL Server的查询分析器连接数据库服务器,以手工方式执行各种存储过程和相关命令,包括:l)使用xp_cmdshell扩展存储过程执行操作系统的命令;2)利用xp_regread扩展存储过程去读注册表的键值,当然包括SAM键;3)使用“bulk insert”语法去读服务器上的任意文件;4)使用sp_OACreate、sp_OAMethod和sp_OAGetProperty系统存储过程去创建ActiveX应用程序等。例如,使用xp_cmdshell执行各种各样的功能,命令如下,返回结果如图3所示:

  Exec master..xp_cmdshell 'lir'

  Exec master..xP_cmdshell 'net user'

0
相关文章