Ms-SQL 1433
1. Nmap for MSSQL Enumeration:
- Search for related Nmap scripts: - nmap --script-help "ms and sql"
- Run Nmap with selected MSSQL scripts: - 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 10.11.1.13
- Run specific MSSQL scripts: - nmap --script ms-sql-info -p 1433 10.0.0.0 nmap --script ms-sql-config -p 1433 10.0.0.0 nmap --script ms-sql-empty-password,ms-sql-xp-cmdshell -p 1433 10.0.0.0 nmap --script ms-sql-* -p 1433 10.0.0.0
2. Metasploit Modules for MSSQL:
- Common MSSQL Metasploit modules: - msfconsole msf> use admin/mssql/mssql_enum msf> use admin/mssql/mssql_enum_domain_accounts msf> use admin/mssql/mssql_enum_sql_logins msf> use auxiliary/admin/mssql/mssql_findandsampledata msf> use auxiliary/admin/mssql/mssql_idf msf> use auxiliary/scanner/mssql/mssql_hashdump msf> use auxiliary/scanner/mssql/mssql_schemadump
- These modules allow you to: - Enumerate MSSQL logins and domain accounts. 
- Dump hashes and retrieve database schema. 
 
3. Bruteforcing MSSQL with Hydra:
- Bruteforce with a username list: - hydra -L usernames.txt -p password 10.0.0.0 mssql
- Bruteforce with a password list: - hydra -l username -P passwords.txt 10.0.0.0 mssql
4. Connecting to MSSQL with Impacket:
- SQL Authentication: - impacket-mssqlclient -port 1433 DOMAIN/username:password@<target-ip>
- Windows Authentication: - impacket-mssqlclient -port 1433 DOMAIN/username:password@<target-ip> -windows-auth
5. Connecting to MSSQL with sqsh:
- Basic connection: - sqsh -S <target-ip> -U username -P password
- Connect to a specific database: - sqsh -S <target-ip> -U username -P password -D database
6. SQL Commands for Enumeration:
- Get all users: - SELECT * FROM sys.database_principals;
- Switch to a specific database: - USE <database>;
- List available databases: - SELECT * FROM master.dbo.sysdatabases;
- List tables within a database: - SELECT * FROM information_schema.tables;
- Get content from a table: - SELECT * FROM <database_name>.dbo.<table_name>;
- Get the MSSQL version: - SELECT @@version;
- Check permission to execute OS commands: - USE master; EXEC sp_helprotect 'xp_cmdshell';
- Get linked servers: - EXEC sp_linkedservers; SELECT * FROM sys.servers;
- Create a new user with sysadmin privileges: - CREATE LOGIN tester WITH PASSWORD = 'password'; EXEC sp_addsrvrolemember 'tester', 'sysadmin';
- Get the current username: - SELECT user_name();
Last updated