SQL Injection. O que é SQLMAP?
No último post, falamos sobre o HAVIJ,
ferramenta que usa as vulnerabilidades em servidores de banco de dados na web e
usando o SQLi, consegue ter acesso a base do banco de dados, tabelas,
credenciais de usuários, descobri o usuário administrador e inclusive manipular
essas tabelas. Fácil de usar até para iniciantes, por ter uma interface
gráfica.
Hoje vamos falar sobre o SQLMAP, outra
ferramenta que usa o SQLi para os fins mencionados acima.
O
SQLMAP é uma ferramenta open source
para penetration test que automatiza
o processo de detecção e exploiting
de vulnerabilidades a SQL Injection,
e tem suporte tanto GNU Linux ou Windows. Além de oferecer as funções para
detectar e explorar as vulnerabilidades, ele consegue também tentar “dominar” o
sistema de banco de dados se for possível.
A ferramenta foi criada em Julho de 2006 por
Daniele Belluci em Setembro Daniele deixa o projeto e Bernardo Damele A. G.
assume.
Para a instalação do sqlmap é necessário Python 2 ou versão superior, em algumas
distribuições GNU Linux faz parte dos pacotes de softwares sendo possível
através dos instaladores de pacotes (aptitude, apt-get e yum). Caso a distribuição
não tenha é possível realizar o download do pacote binário através do site
sqlmap.org.
O SQLMAP possui suporte para diversos banco
de dados, entre eles: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft
Access, IBM DB2, SQLite, Firebird, Sybase e SAP MaxDB.
O SQL MAP tem como características suporte
para seis tipos de SQL injection:
ð boolean-based blind,
ð time-based blind,
ð error-based,
ð UNION query,
ð stacked queries
ð Out-of-band.
Se
conectando diretamenta ao banco de dados, fornece as credenciais do SGBD,
endereço IP, porta e nome dos bancos (semelhante ao HAVIJ), além de enumerar
hashes de senhas, privilégios, roles, tabelas e colunas.
Também
é possível realizar download e upload de qualquer arquivo de banco de dados
quando o servidor for MySQL, PostgreSQL ou Microsoft SQL Server.
Diferente
do HAVIJ, o SQLMAP por usar linhas de comandos, exige um conhecimento maior do
usuário.
Abaixo
veremos as telas do SQLMAP:
EXEMPLOS DE UTILIZAÇÃO
Instalando o sqlmap no GNU Linux Debian
Apresenta o banco de dados atual com a versão
e o nome do banco com o parâmetro --current-db
Listando os bancos de dados existentes com o
parâmetro --dbs.
Listando o usuário corrente com o parâmetro --current-user ou --users.
Listando as tabelas com o parâmetro --tables.
No próximo post, vamos falar da terceira e última ferramenta usada para explorar as vulnerabilidades de SQL Injection.
Grande abraço a todos!
Nenhum comentário:
Postar um comentário