Introdução
Neste laboratório, você aprenderá uma técnica fundamental em testes de penetração de aplicações web: rotear o tráfego do Gobuster através de um proxy web. O Gobuster é uma ferramenta poderosa para brute-forcing de diretórios e arquivos, brute-forcing de subdomínios DNS e enumeração de buckets S3. Ao rotear seu tráfego através de um proxy como o Burp Suite ou OWASP ZAP, você ganha a capacidade de inspecionar, modificar e analisar as requisições e respostas HTTP geradas pelo Gobuster. Essa visibilidade é inestimável para entender como as aplicações web se comportam e para identificar vulnerabilidades potenciais.
Este laboratório irá guiá-lo através da configuração de um proxy, configuração do Gobuster para usá-lo, execução de um scan e observação do tráfego dentro do proxy.
Iniciar um Proxy Web como Burp Suite ou OWASP ZAP
Nesta etapa, você iniciará uma aplicação de proxy web. Para este laboratório, usaremos o OWASP ZAP, que já vem pré-instalado no ambiente LabEx. O OWASP ZAP fornece uma interface gráfica para interceptar e analisar o tráfego web.
Primeiro, abra uma nova janela de terminal se você ainda não tiver uma aberta. Em seguida, inicie o OWASP ZAP.
/opt/zaproxy/zap.sh &
Após o lançamento, o OWASP ZAP será iniciado. Você poderá ver um prompt sobre persistir a sessão do ZAP. Para este laboratório, você pode escolher "No, thanks" (Não, obrigado) e clicar em "Start" (Iniciar).
Assim que o ZAP estiver em execução, você deverá ver sua interface principal. Isso indica que a aplicação proxy está pronta para ser configurada.
Configurar o Proxy para Escutar em uma Porta Específica
Nesta etapa, você configurará o OWASP ZAP para escutar em um endereço IP e porta específicos. Por padrão, o ZAP geralmente escuta em 127.0.0.1:8080. Confirmaremos essa configuração.
No OWASP ZAP:
- Vá para
Tools(Ferramentas) ->Options...(Opções...) (ouFile(Arquivo) ->Options...(Opções...) dependendo da versão do ZAP). - Na caixa de diálogo de Opções, navegue até
Local Proxies(Proxies Locais) na seçãoNetwork(Rede). - Verifique se o endereço é
127.0.0.1e a porta é8080. Se for diferente, você pode modificá-lo aqui, mas para este laboratório, assumiremos127.0.0.1:8080. - Clique em
OKpara fechar a caixa de diálogo de Opções.
Esta configuração garante que o ZAP esteja escutando por conexões de entrada no endereço e porta especificados, pronto para interceptar o tráfego.
Usar a Flag -p no Gobuster para Especificar a URL do Proxy
Nesta etapa, você aprenderá como instruir o Gobuster a rotear seu tráfego através do proxy que você acabou de configurar. O Gobuster fornece a flag -p (ou --proxy) para este propósito, permitindo que você especifique a URL do proxy.
O formato para a URL do proxy é tipicamente http://<IP_ADDRESS>:<PORT>. Como nosso proxy ZAP está escutando em 127.0.0.1:8080, a URL do proxy será http://127.0.0.1:8080.
Prepararemos um comando Gobuster que inclui essa configuração de proxy. Usaremos um alvo simples para demonstração, por exemplo, http://example.com.
echo "gobuster dir -u http://example.com -w /usr/share/wordlists/dirb/common.txt -p http://127.0.0.1:8080" > ~/project/gobuster_command.sh
chmod +x ~/project/gobuster_command.sh
Este comando cria um script gobuster_command.sh no seu diretório ~/project que contém o comando Gobuster com a flag de proxy. Este script será executado na próxima etapa.
Executar um Scan com Gobuster
Nesta etapa, você executará o scan com Gobuster usando o comando preparado na etapa anterior. Isso iniciará o processo de brute-forcing de diretórios, e todo o seu tráfego HTTP será roteado através do OWASP ZAP.
Abra um novo terminal ou use o seu existente e execute o script:
~/project/gobuster_command.sh
Você verá a saída do Gobuster no terminal, mostrando os diretórios e arquivos que ele descobre. Enquanto o Gobuster estiver em execução, ele estará enviando requisições através do ZAP. O scan pode levar alguns momentos para ser concluído, dependendo do tamanho da wordlist e da responsividade do alvo. Para example.com, deve ser relativamente rápido, pois é um alvo simples.
/usr/bin/gobuster: line 1: syntax error near unexpected token `newline'
/usr/bin/gobuster: line 1: `#!/bin/bash'
Nota: A saída acima é um exemplo. Sua saída real pode variar ligeiramente.
Observar o Tráfego do Gobuster no Histórico do Proxy
Nesta etapa final, você observará o tráfego HTTP gerado pelo Gobuster dentro do OWASP ZAP. É aqui que você pode analisar as requisições e respostas, identificar padrões e potencialmente descobrir vulnerabilidades.
Volte para a aplicação OWASP ZAP.
- No painel esquerdo, procure pela árvore
Sites. Você deverá verhttp://example.comlistado. - Expanda
http://example.come, em seguida,http. Você verá uma lista de métodos HTTP (por exemplo,GET) e os caminhos que o Gobuster tentou acessar (por exemplo,/,/index.html,/robots.txt, etc.). - Clique em qualquer uma dessas entradas. Nos painéis inferiores, você verá as abas
RequesteResponse, mostrando a requisição HTTP completa enviada pelo Gobuster e a resposta correspondente do servidor.
Isso confirma que o tráfego do Gobuster foi roteado com sucesso através do proxy, permitindo uma inspeção detalhada. Essa capacidade é essencial para testes avançados de aplicações web.
Resumo
Neste laboratório, você aprendeu com sucesso como rotear o tráfego do Gobuster através de um proxy web. Você iniciou o OWASP ZAP, confirmou sua configuração de proxy, usou a flag -p para direcionar as requisições do Gobuster através do proxy, executou um scan e, finalmente, observou o tráfego interceptado dentro do ZAP. Essa habilidade é fundamental para qualquer testador de penetração web, permitindo uma análise mais profunda e manipulação do tráfego de ferramentas automatizadas. Ao entender como fazer proxy de suas ferramentas, você ganha maior controle e visibilidade sobre seu processo de teste, levando a uma descoberta de vulnerabilidades mais eficaz.
