关于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