domingo, 10 de março de 2013

SQL Injection - O que é SQLMAP?


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