JssNGC/TrustyMSSQL

GitHub: JssNGC/TrustyMSSQL

NetExec 的 MSSQL 安全测试模块,用于枚举和利用 TRUSTWORTHY 数据库配置漏洞以实现权限提升和命令执行。

Stars: 0 | Forks: 0

# NetExec MSSQL TRUSTWORTHY 模块 NetExec (NXC) 模块旨在枚举和利用配置了 `TRUSTWORTHY` 属性的 Microsoft SQL Server 数据库,允许提权至 `sysadmin` 并执行任意操作系统命令。 ## 模块 ### 1. `enum_trustworthy` 识别 `TRUSTWORTHY ON` 的数据库(排除 `msdb` 系统数据库),并检查当前用户或任何可模拟登录(`IMPERSONATE`)是否拥有 `db_owner` 权限。 * **只读**:不执行任何写入操作或数据库修改。 * **链接服务器**:在提供 `ENUM_LINKS=true` 参数时支持扫描链接服务器。 ### 2. `trusty_exec` 通过动态创建带有 `EXECUTE AS OWNER` 的存储过程来利用 `TRUSTWORTHY` 配置不当漏洞,从而将指定登录账户分配至 `sysadmin` 角色。 支持三种执行向量(`METHOD`): ## 安装说明 将脚本文件复制到你的 NetExec 本地模块目录中: ``` cp enum_trustworthy.py ~/.nxc/modules/ cp trusty_exec.py ~/.nxc/modules/ ``` ``` nxc mssql --list-modules | grep -E "enum_trustworthy|trusty_exec" ``` ## 使用说明 ### 枚举 (`enum_trustworthy`) 枚举本地 MSSQL 实例: ``` nxc mssql -u -p --local-auth -M enum_trustworthy ``` 枚举可访问的链接服务器: ``` nxc mssql -u -p -M enum_trustworthy -o ENUM_LINKS=true ``` ### 利用与命令执行 (`trusty_exec`) 默认执行(OLE Automation): ``` nxc mssql -u -p --local-auth -M trusty_exec -o COMMAND="whoami /all" ``` 通过 `xp_cmdshell` 执行: ``` nxc mssql -u -p --local-auth -M trusty_exec -o COMMAND="whoami" METHOD=xp ``` 通过 SQL Server Agent 执行: ``` nxc mssql -u -p --local-auth -M trusty_exec -o COMMAND="whoami" METHOD=agent ``` 禁用模拟检查(仅验证当前用户的直接 `db_owner` 权限): ``` nxc mssql -u -p --local-auth -M trusty_exec -o COMMAND="whoami" IMPERSONATE=false ``` ![](https://static.pigsec.cn/wp-content/uploads/repos/cas/0e/0e94414f4c5ba96d0cdb06c89c5fbd7ee245b1a3c0885f5346dc26d18702b0d4.png) ## `trusty_exec` 选项 | 参数 | 默认值 | 描述 | | --------------- | ------------------------------ | ----------------------------------------------------------- | | `COMMAND` | *(必填)* | 要在目标上执行的 OS 命令。 | | `METHOD` | `ole` | 执行向量 (`ole`, `xp`, `agent`)。 | | `IMPERSONATE` | `true` | 设置为 `false` 可禁用对可模拟登录的检查。 | | `ELEVATE_LOGIN` | 当前用户 | 要添加到 `sysadmin` 角色的登录账户。 | | `OUTFILE` | `C:\Windows\Tasks\ole_out.txt` | `ole` 和 `agent` 执行的临时输出文件路径。 | | `TIMEOUT` | `15` | Agent 作业完成的最长等待时间(秒)。 |
标签:逆向工具