关于PySQLRecon
PySQLRecon是一款功能强大的MSSQL安全测试工具,该工具基于SQLRecon实现其功能,可以帮助广大红队研究人员针对MSSQL执行攻击性安全测试。
环境配置
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.x环境。
工具安装
源码获取
广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/Tw1sm/PySQLRecon.git
然后切换到项目目录下,运行安装命令即可:
pip3 install .
pip安装
除此之外,我们还可以直接使用pip工具安装PySQLRecon:
pip3 install pysqlrecon
工具命令
PySQLRecon的所有主要模块使用命令都跟SQLRecon类似,标记了[PRIV]的命令代表需要使用管理员权限或高级权限才能执行,而标记了[NORM]的命令则可以使用普通用户权限执行。在命令描述结尾标记了[I]或[L],则标识支持用户模拟或支持在链接服务器上执行。
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 Server的相关信息 links [NORM] 枚举链接服务器 [I,L] olecmd [PRIV] 使用OLE自动化进程执行一个系统命令 [I,L] query [NORM] 执行一个自定义SQL查询 [I,L] rows [NORM] 获取一个表中行数据的数量 [I,L] 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]
工具使用
PySQLRecon提供了全局参数选项,且必须在命令名称之前指定:
pysqlrecon [GLOBAL_OPTS] COMMAND [COMMAND_OPTS]
查看全局选项:
pysqlrecon --help
查看命令专用选项:
pysqlrecon [GLOBAL_OPTS] COMMAND --help
可以使用--link选项在一台链接服务器上执行PySQLRecon命令。
可以使用PySQLRecon命令配合--impersonate选项进行用户账户模拟。注意,--link和--impersonate不兼容。
工具开发
PySQLRecon使用了Poetry来管理工具依赖组件,我们可以直接使用源码来搭建开发环境:
git clone https://github.com/tw1sm/pysqlrecon cd pysqlrecon poetry install poetry run pysqlrecon --help
项目地址
PySQLRecon:【GitHub传送门】
参考资料
Databases beware: Abusing Microsoft SQL Server with SQLRecon
https://gist.github.com/skahwah/a585e176e4a5cf319b0c759637f5c410