Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
PySQLRecon — 基于SQLRecon的、用Python编写的攻击性MSSQL工具包 | Kitploit
工具/GitHubGitHub/tw1sm/pysqlrecon
漏洞利用后渗透利用渗透测试命令与控制红队数据库安全
GitHubtw1sm/pysqlrecon

PySQLRecon

基于SQLRecon的、用Python编写的攻击性MSSQL工具包

查看仓库
2121644个月前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PySQLRecon

Python PyPi

PySQLRecon 是 @sanjivkawa 所创优秀项目 SQLRecon 的 Python 移植版。功能列表请参阅命令章节。

文章演示了如何使用 PySQLRecon 实现 SCCM TAKEOVER-1。

安装

可通过 pip3 install pysqlrecon 安装 PySQLRecon,或克隆本仓库后运行 pip3 install .。

命令

SQLRecon 的所有主要模块均有对应命令。标注 [PRIV] 的命令需要提升权限或 sysadmin 权限才能运行。标注 [NORM] 的命令普通用户通常也可运行,无需提升权限。

命令描述末尾标注了是否支持模拟([I])或在链接服务器上执行([L])。

root@kitploit:~
adsi                 [PRIV] 从 ADSI 链接服务器获取 ADSI 凭据 [I,L]
agentcmd             [PRIV] 使用代理作业执行系统命令 [I,L]
agentstatus          [PRIV] 枚举 SQL 代理状态及作业 [I,L]
checkrpc             [NORM] 枚举链接服务器的 RPC 状态 [I,L]
clr                  [PRIV] 加载并执行存储过程中的 .NET 程序集 [I,L]
columns              [NORM] 枚举表中的列 [I,L]
databases            [NORM] 枚举服务器上的数据库 [I,L]
disableclr           [PRIV] 禁用 CLR 集成 [I,L]
disableole           [PRIV] 禁用 OLE 自动化过程 [I,L]
disablerpc           [PRIV] 禁用链接服务器的 RPC 和 RPC Out [I]
disablexp            [PRIV] 禁用 xp_cmdshell [I,L]
enableclr            [PRIV] 启用 CLR 集成 [I,L]
enableole            [PRIV] 启用 OLE 自动化过程 [I,L]
enablerpc            [PRIV] 启用链接服务器的 RPC 和 RPC Out [I]
enablexp             [PRIV] 启用 xp_cmdshell [I,L]
impersonate          [NORM] 枚举可模拟的用户
info                 [NORM] 收集 SQL 服务器信息
links                [NORM] 枚举链接服务器 [I,L]
olecmd               [PRIV] 使用 OLE 自动化过程执行系统命令 [I,L]
query                [NORM] 执行自定义 SQL 查询 [I,L]
rows                 [NORM] 获取表中的行数 [I,L]
sample               [NORM] 查询表数据的样本 [I,L]
sccm                 [SUBM] SCCM 特定命令的子模块
search               [NORM] 在表中搜索列名 [I,L]
smb                  [NORM] 通过 xp_dirtree 强制进行 NetNTLM 认证 [I,L]
tables               [NORM] 枚举数据库中的表 [I,L]
users                [NORM] 枚举拥有数据库访问权限的用户 [I,L]
whoami               [NORM] 获取登录用户、映射用户及角色信息 [I,L]
xpcmd                [PRIV] 使用 xp_cmdshell 执行系统命令 [I,L]     

SCCM 命令

SCCM 命令可通过运行 pysqlrecon [OPTIONS] sccm -h 查看(需要指定必要的全局标志,见用法)。

root@kitploit:~
addadmin             [PRIV] 将账户提升为完全管理员 [I]
credentials          [NORM] 显示加密凭据 [I]
logons               [NORM] 显示 SCCM 客户端及最后登录用户 [I]
removeadmin          [PRIV] 移除提升的账户或提升的权限 [I]
sites                [NORM] 收集 SCCM 站点信息 [I]
taskdata             [NORM] 解密任务序列 [I]
tasklist             [NORM] 显示任务序列 [I]
users                [NORM] 枚举 SCCM 用户 [I]   

用法

PySQLRecon 具有全局选项(适用于任何命令),部分命令还会引入额外标志。所有全局选项必须在命令名称之前指定:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]

查看全局选项:

root@kitploit:~
pysqlrecon --help

查看命令特定选项:

root@kitploit:~
pysqlrecon [GLOBAL_OPTS] COMMAND --help

使用 --database 标志可更改要认证的数据库,或在某些 PySQLRecon 命令(query、tables、columns、rows)中使用的数据库。

使用 --link 标志可将 PySQLRecon 命令的目标执行位置指向链接服务器(而非当前认证的 SQL 服务器)。

使用 --impersonate 标志可在运行 PySQLRecon 命令时模拟用户帐户。

--link 和 --impersonate 不兼容。

与 ntlmrelayx 配合使用

PySQLRecon 可与 proxychains 配合使用,以利用针对 mssql:// 服务的中继身份验证。由于 ntlmrelayx 会话的工作方式,运行 PySQLRecon 时 --database 参数将不起作用(中继会话始终连接至 master 数据库)。这在尤其是使用 SCCM 模块时会产生影响,因为 SCCM 模块需要指定站点数据库。解决方法:首先使用 query 模块更改数据库上下文(该更改将在同一中继会话内后续的 PySQLRecon 使用中持久保持)。示例:

root@kitploit:~
proxychains4 pysqlrecon -t <目标> -d <域> -u <用户名> -p FAKE query --query 'use new_db_name'

现在,无需指定 --database,即可在同一个 ntlmrelayx 会话中运行针对该特定数据库资源的模块/查询。

开发

pysqlrecon 使用 uv 管理依赖项。从源码安装并进行开发设置的方法如下:

root@kitploit:~
# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# 安装 pysqlrecon
git clone https://github.com/tw1sm/pysqlrecon
cd pysqlrecon
uv sync
uv run pysqlrecon --help

添加命令

PySQLRecon 易于扩展——请参阅 resources 中的模板和说明。

TODO

  • 添加 SQLRecon SCCM 命令
  • 添加 Azure SQL DB 支持?

参考与致谢

  • Impacket
  • @sanjivkawa 提供 SQLRecon 项目
  • https://securityintelligence.com/x-force/databases-beware-abusing-microsoft-sql-server-with-sqlrecon/
  • https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410
  • 另请查看 MSSqlPwner 以了解其他用 Python 编写的攻击性 MSSQL 功能
  • PXEThief
下载工具