Introdução
Neste laboratório, você aprenderá os passos fundamentais para inicializar e verificar o ambiente sqlmap dentro do Kali Linux. sqlmap é uma ferramenta de teste de penetração de código aberto que automatiza o processo de detecção e exploração de falhas de injeção de SQL e a tomada de controle de servidores de banco de dados. Compreender como configurar e interagir corretamente com o sqlmap é crucial para qualquer pessoa que deseje realizar avaliações de segurança de aplicações web. Você verificará sua instalação, explorará seu extenso menu de ajuda, entenderá diferentes níveis de verbosidade e identificará uma URL alvo para testes.
Acessar o Terminal do Kali Linux
Nesta etapa, você acessará o terminal do Kali Linux, que é a interface principal para interagir com o sqlmap e outras ferramentas de linha de comando. O terminal oferece um ambiente poderoso para executar comandos e visualizar suas saídas.
Primeiro, certifique-se de que você está no diretório ~/project. Este é o diretório de trabalho padrão para o seu ambiente de laboratório.
cd ~/project
Agora, abra uma nova janela de terminal se uma não estiver aberta, ou certifique-se de que você está no terminal existente. Você deverá ver um prompt semelhante a labex@labex-vm:~/project$.
Verificar a Instalação do sqlmap com sqlmap --version
Nesta etapa, você verificará se o sqlmap está corretamente instalado e acessível em seu ambiente Kali Linux, verificando sua versão. Esta é uma maneira rápida de confirmar que a ferramenta está pronta para uso.
Execute o seguinte comando em seu terminal:
sqlmap --version
Você deverá ver uma saída semelhante à seguinte, indicando a versão instalada do sqlmap:
sqlmap version 1.x.x.x ## ou número de versão similar
Esta saída confirma que o sqlmap está instalado e pode ser executado a partir da linha de comando.
Explorar o Menu de Ajuda Principal com sqlmap -h
Nesta etapa, você explorará o menu de ajuda principal do sqlmap. O menu de ajuda fornece uma visão geral abrangente de todas as opções disponíveis e suas funcionalidades, o que é essencial para entender como usar a ferramenta de forma eficaz.
Execute o seguinte comando para exibir o menu de ajuda principal:
sqlmap -h
Este comando produzirá uma longa lista de opções, categorias e exemplos. Percorra a saída para ter uma ideia geral das capacidades do sqlmap. Você notará seções para especificação do alvo, opções de requisição, otimização, injeção, detecção e muito mais.
_
_ __ _ __| | __ ___ ___
| '_ \| '__| |/ / / __|/ __|
| |_) | | | < \__ \\__ \
| .__/|_| |_|\_\ |___/|___/
|_|
... (saída truncada) ...
Usage: python3 sqlmap [options]
Options:
--version Show program's version number and exit
-h, --help Show this help message and exit
-v VERBOSE Verbosity level: 0-6 (default 1)
Target:
At least one of these options has to be provided to define the
target(s)
-u URL, --url=URL Target URL (e.g. "http://www.site.com/vuln.php?id=1")
-g GOOGLEDORK Process Google dork results as target URLs
... (saída truncada) ...
Esta saída é crucial para entender os vários parâmetros que você pode usar com o sqlmap.
Compreender os Níveis de Verbosidade com a Opção -v
Nesta etapa, você aprenderá sobre os níveis de verbosidade no sqlmap usando a opção -v. Os níveis de verbosidade controlam a quantidade de informações que o sqlmap exibe durante sua execução, o que pode ser muito útil para depuração ou para obter insights mais detalhados sobre suas operações.
A opção -v varia de 0 (silencioso) a 6 (debug). Vamos tentar alguns para ver a diferença.
Primeiro, tente um nível de verbosidade baixo (por exemplo, 0):
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -v 0 --batch
Você notará muito pouca saída, pois o sqlmap está sendo executado silenciosamente. A opção --batch é adicionada para evitar prompts interativos nesta demonstração.
Em seguida, tente um nível de verbosidade mais alto (por exemplo, 3):
sqlmap -u "http://testphp.vulnweb.com/listproducts.php?cat=1" -v 3 --batch
Você verá uma saída significativamente maior, incluindo requisições HTTP, respostas e informações detalhadas sobre o processo de teste. Este nível é frequentemente útil para entender o que o sqlmap está fazendo nos bastidores.
_
_ __ _ __| | __ ___ ___
| '_ \| '__| |/ / / __|/ __|
| |_) | | | < \__ \\__ \
| .__/|_| |_|\_\ |___/|___/
|_|
... (saída truncada) ...
[HH:MM:SS] [INFO] starting @ HH:MM:SS /YYYY-MM-DD/
[HH:MM:SS] [INFO] fetched data: 'cat=1'
[HH:MM:SS] [INFO] testing connection to the target URL
[HH:MM:SS] [INFO] checking if the target is protected by some kind of WAF/IPS/IDS
[HH:MM:SS] [INFO] the target URL is not protected by any kind of WAF/IPS/IDS
[HH:MM:SS] [INFO] testing if the target URL is stable
[HH:MM:SS] [INFO] target URL is stable
[HH:MM:SS] [INFO] testing for GET parameter 'cat'
[HH:MM:SS] [INFO] GET parameter 'cat' is vulnerable.
... (saída truncada) ...
Compreender os níveis de verbosidade ajuda você a controlar a quantidade de informações exibidas, o que é crucial para uma análise eficiente durante testes de penetração.
Identificar a URL da Aplicação de Teste Vulnerável
Nesta etapa, você identificará uma URL de aplicação web vulnerável disponível publicamente que pode ser usada para testar o sqlmap. Para fins de hacking ético e aprendizado, é crucial usar ambientes de teste ou aplicações designadas para as quais você tem permissão explícita para testar.
Para este laboratório, usaremos http://testphp.vulnweb.com/listproducts.php?cat=1 como nossa URL de destino. Esta URL é intencionalmente vulnerável a injeção de SQL e é fornecida pela Acunetix para fins de teste.
Você pode simplesmente anotar esta URL. Em laboratórios futuros, você usará esta URL com o sqlmap para realizar vários ataques de injeção de SQL.
A URL é: http://testphp.vulnweb.com/listproducts.php?cat=1
Esta URL contém um parâmetro GET cat que é conhecido por ser vulnerável. Este será o seu alvo para os próximos exercícios do sqlmap.
Resumo
Neste laboratório, você inicializou e verificou com sucesso seu ambiente sqlmap no Kali Linux. Você aprendeu como acessar o terminal, verificar a versão do sqlmap, explorar seu menu de ajuda abrangente e entender a importância dos níveis de verbosidade para saídas detalhadas. Além disso, você identificou uma URL de aplicação web vulnerável disponível publicamente (http://testphp.vulnweb.com/listproducts.php?cat=1) que servirá como seu alvo para futuros exercícios de injeção de SQL. Estes passos fundamentais são cruciais para utilizar efetivamente o sqlmap em cenários de testes de penetração.


