首页 > 数据库 >SQLRecon:一款针对MSSQL的网络侦查与后渗透测试工具

SQLRecon:一款针对MSSQL的网络侦查与后渗透测试工具

时间:2024-05-31 16:59:58浏览次数:23  
标签:网络安全 SQLRecon 数据库 用户 SCCM 模块 SQL 测试工具 MSSQL

关于SQLRecon

SQLRecon是一款针对Microsoft SQL Server的安全研究工具,该工具专为红队研究人员设计,可以帮助广大研究人员针对MSSQL执行网络侦查和后渗透利用测试。

工具安装

广大研究人员可以直接访问该项目的【Releases页面】下载预编译的最新版本SQLRecon。

除此之外,我们还可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/skahwah/SQLRecon.git

然后导入至Visual Studio中,针对操作系统架构完成代码构建即可。

→点击获取网络安全资料·攻略←

200多本网络安全系列电子书
网络安全标准题库资料
项目源码
网络安全基础入门、Linux、web安全、攻防方面的视频
网络安全学习路线图

 

工具使用

枚举模块

SQLRecon支持枚举活动目录以搜索跟Microsoft SQL Server相关的SPN。

枚举模块(/e:, /enum:)不需要提供身份验证提供程序:

SqlSpns - Use the current user token to enumerate the current AD domain for MSSQL SPNs

        /d:, /domain: | (OPTIONAL) NETBIOS name (DOMAIN) or FQDN of domain (DOMAIN.COM)

身份认证提供程序

SQLRecon支持使用一组不同的身份验证提供程序(/a:, /auth:),以实现与Microsoft SQL Server的交互:

WinToken - 使用当前用户令牌对SQL数据库进行身份验证

        /h:, /host: | SQL服务器主机名或IP

        /database:  | (可选)SQL server数据库名称,默认为“master”

        /port:      | (可选)默认为1433

 

WinDomain - 使用AD凭据对SQL数据库进行身份验证

        /h:, /host:     | SQL服务器主机名或IP

        /d:, /domain:   | NETBIOS名称(domain)或域的FQDN(domain.COM)

        /u:, /username: | 域用户的用户名

        /p:, /password: | 域用户的密码

        /database:      | (可选)SQL server数据库名称,默认为“master”

        /port:          | (可选)默认为1433

 

Local - 使用本地SQL凭据对SQL数据库进行身份验证

        /h:, /host:     | SQL服务器主机名或IP

        /u:, /username: | 本地SQL用户的用户名

        /p:, /password: | 本地SQL用户的密码

        /database:      | (可选)SQL server数据库名称,默认为“master”

        /port:          | (可选)默认为1433

 

AzureAD - 使用Azure AD凭据对Azure SQL数据库进行身份验证

        /h:, /host:     | SQL服务器主机名或IP

        /d:, /domain:   | 域的FQDN(domain.COM)

        /u:, /username: | 域用户的用户名

        /p:, /password: | 域用户的密码

        /database:     | (可选)SQL server数据库名称,默认为“master”

 

AzureLocal - 使用本地SQL凭据对Azure SQL数据库进行身份验证

        /h:, /host:     | SQL服务器主机名或IP

        /u:, /username: | 本地SQL用户的用户名

        /p:, /password: | 本地SQL用户的密码

        /database:      | (可选)SQL server数据库名称,默认为“master”

        /port:          |(可选)默认为1433

标准模块

标准模块需要针对单个Microsoft SQL server实例执行,标准模块必须传递给模块参数(/m:,/module:)中。

模块必须以[*]开头,且需要系统管理员权限或类似权限上下文。

Info                                                     | 显示相关SQL server的信息

Query /c:QUERY                                           | 执行SQL查询

Whoami                                                   | 显示您登录的用户、映射的用户以及存在的角色

Users                                                    | 显示哪些用户帐户和组可以对数据库进行身份验证

Databases                                                | 显示所有数据库

Tables /db:DATABASE                                      | 显示所提供数据库中的所有表

Columns /db:DATABASE /table:TABLE                        | 显示提供的数据库和表中的所有列

Rows /db:DATABASE /table:TABLE                           | 显示提供的数据库表中的行数

Search /keyword:KEYWORD                                  | 在所连接数据库的提供表中搜索列名

Smb /rhost:UNC_PATH                                      | 捕获NetNTLMv2哈希

Impersonate                                              | 枚举可以模拟的用户帐户

Links                                                    | 枚举链接的SQL服务器

CheckRpc                                                 | 获取链接服务器及其RPC状态的列表

[*] EnableRpc /rhost:LINKED_HOST                         | 在链接服务器上启用RPC和RPC输出

[*] DisableRpc /rhost:LINKED_HOST                        | 在链接服务器上禁用RPC和RPC输出

[*] EnableXp                                             | 启用xp_cmdshell

[*] DisableXp                                            | 禁用xp_cmdshell

[*] XpCmd /c:COMMAND                                     | 使用xp_cmdshell执行系统命令

[*] EnableOle                                            | 启用OLE自动化程序

[*] DisableOle                                           | 禁用OLE自动化程序

[*] OleCmd /c:COMMAND                                    | 使用OLE自动化程序执行系统命令

[*] EnableClr                                            | 启用CLR集成

[*] DisableClr                                           | 禁用CLR集成

[*] Clr /dll:DLL /function:FUNCTION                      | 在自定义存储程序中加载并执行.NET程序集

[*] AgentStatus                                          | 显示SQL代理是否正在运行并获取代理任务

[*] AgentCmd /c:COMMAND                                  | 使用代理任务执行系统命令

[*] Adsi /rhost:ADSI_SERVER_NAME /lport:LDAP_SERVER_PORT | 从链接的Adsi服务器获取明文Adsi凭据

SCCM模块

SQLRecon还提供了几个模块用于枚举和渗透SCCM和ECM,SCCM模块必须传递给模块参数(/m:,/module:)。

SCCM和ECM需要拥有一个对外的本地或远程Microsoft SQL数据库。

以[*]开头的模块需要sysadmin角色或类似的特权上下文。

sUsers                                                |显示所有SCCM用户

sSites                                                | 显示存储了数据的所有其他站点

sLogons /option:OPTIONAL_FILTER                       | 显示所有关联的SCCM客户端和最后登录的用户r

sTaskList                                             | 显示所有任务序列,但不访问任务数据内容

sTaskData                                             | 将所有任务序列解密为明文

sCredentials                                          | 显示SCCM保管的加密凭据

[*] sDecryptCredentials                               | 尝试解密已恢复的SCCM凭据Blob。必须在SCCM服务器上的高完整性或SYSTEM进程中运行

[*] sAddAdmin /user:DOMAIN\USERNAME /sid:SID          | 将在SCCM中将提供的帐户提升为“完全管理员”

[*] sRemoveAdmin /user:ADMIN_ID /remove:REMOVE_STRING | 删除用户的权限,或从SCCM数据库中完全删除用户

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

 读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

 读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

标签:网络安全,SQLRecon,数据库,用户,SCCM,模块,SQL,测试工具,MSSQL
From: https://blog.csdn.net/2301_81475873/article/details/139356342

相关文章

  • FalconHound:一款专为蓝队设计的BloodHound增强与自动化测试工具
    关于FalconHoundFalconHound是一款专为蓝队研究人员设计的多功能安全测试工具,该工具允许广大研究人员以更加自动化的形式增强BloodHound的能力,并将其整合进渗透测试活动中。除此之外,该工具还可以跟SIEM或其他日志聚合工具一起使用。FalconHound支持在图中查看目标环境的最......
  • MSSQL注入 — 反弹注入
    MSSQL反弹注入原理依靠 opendatasource 函数,把查询出的数据发送到MSSQL服务器上。 MSSQL反弹注入使用场景用 香港云 快速搭建一个MSSQL环境可以用 临时邮箱注册免费的试用60天。免费60天的试用,过期了就换个邮箱。MSSQL反弹注入常见问题1.猜数据时为什么......
  • jmeter压力测试工具
    1.工具下载地址:https://jmeter.apache.org/download_jmeter.cgi2.解压,启动程序 3.修改软件语言 4.新建线程组  5新建http请求  6添加http请求头 7添加查看结果选项,把这三个都加上 扩展1,自带的函数扩展2,使用自带函数  ${__RandomString(10,sadjkadu......
  • 请列举你所了解的测试工具
    1、JUnit:主要用于Java语言的单元测试。2、Selenium:一个用于Web应用程序测试的工具,支持多种编程语言。3、JMeter:ApacheJMeter是进行性能测试和负载测试的常用工具,适用于Web应用和RESTfulWeb服务。4、Postman:一个API开发工具,用于测试、文档化API。5、Mockito:在Java单元测试中,M......
  • 有所了解认识的测试工具
    功能测试工具:测试管理工具:如TestRail、JiraTestManagement,用于跟踪和管理测试用例、缺陷等。性能测试工具:负载测试工具:如LoadRunner、JMeter,用于模拟多用户并发访问,测试系统在高负载下的性能。基准测试工具:如BenchmarkingTools,用于在标准配置下评估系统性能。安全测试工具......
  • 测试工具
    以下是我了解的一些常用测试工具:Selenium:Selenium是一个用于自动化Web应用测试的工具,支持多种编程语言和浏览器,可以实现自动化测试脚本的录制、回放和调试等功能。Appium:Appium是一个用于移动应用测试的开源工具,支持多种移动平台和编程语言,可以实现移动应用的自动化测试,包......
  • mssql分区表创建
    使用分区表提高并发能力和查询处理性能(需命中分区)CREATEPARTITIONFUNCTIONRangePF1(INT)ASRANGELEFTFORVALUES(10,100,1000);SELECT$PARTITION.RangePF1(1000);CREATEPARTITIONSCHEMERangePS1ASPARTITIONRangePF1ALLTO('PRIMARY');CREATETABLEd......
  • 请列举你所了解的测试工具
    一、性能测试工具JMeter:JMeter是一款轻量级、开源的测试工具,适合个人和小团队使用。它支持多种协议,包括HTTP、HTTPS、FTP等,可用于测试Web应用程序和服务器的性能。JMeter具有体积小、易于安装和配置的特点,并且其界面直观,易于初学者上手。Gatling:Gatling是一个基于Scala的负载测......
  • 使用本地MSSQL管理器链接本地/服务器上的MySql
    使用本地MSSQL管理器链接本地/服务器上的MySql步骤如下:第一步,安装ODBC数据源驱动打开控制面板》管理工具》找到ODBC数据源 第二步、添加数据源驱动程序打开ODBC数据源后点击添加》选择MySQL数据源的驱动程序,然后点击完成第三步、填写MySQL连接信息按照弹出的页面。填......
  • 个人练习(每个同学都要提交)——学习和使用多个平台上的测试工具 请使用两种以上平台上
    SeleniumSelenium是一种流行的开源自动化测试框架,主要用于测试Web应用程序。我们可以在多个浏览器上编写并执行测试脚本,以确保航空票务系统在不同环境下的稳定性和兼容性。在航空票务项目中的使用方式:功能测试:您可以使用Selenium编写测试脚本,以模拟用户在网站上搜索航班、选......