Enumeração de arquivos e diretórios com feroxbuster
- Gustavo Viana
- Segurança ofensiva
- 8 de março de 2024
Feroxbuster é uma ferramenta gratuita e de código aberto escrita em Rust, projetada para realizar forced browsing (navegação forçada) em aplicações web. Ele funciona utilizando wordlists para tentar adivinhar caminhos/URLs de diretórios e arquivos que podem existir no servidor web alvo. Essa abordagem é essencial durante um pentest!
O que é forced browsing?
Segundo a OWASP, forced browsing é um ataque que visa enumerar e acessar recursos que não estão sendo referenciados pela aplicação mas, ainda assim, estão acessíveis. Você verá este tipo de técnica sendo chamada de fuzzing em alguns lugares.
O que é fuzzing?
Fuzzing é uma técnica que visa alimentar uma aplicação ou software com dados aleatórios, inválidos ou inesperados a fim de identificar falhas de segurança/vulnerabilidades e bugs.
Instalação do feroxbuster
Selecione o seu sistema operacional e verifique como instalar o feroxbuster:
- Kali
- Linux (32 e 64-bit) e MacOS
- Windows
- Mac via Homebrew
- Windows via Chocolatey
Para instalar o feroxbuster no Kali execute o seguinte comando:
sudo apt update && sudo apt install -y feroxbuster
Para instalar o feroxbuster em um diretório específico, execute o comando abaixo. Neste exemplo abaixo estamos mantendo o binário em $HOME/.local/bin, então garanta que este diretório esteja na variável de ambiente PATH do seu usuário.
curl -sL https://raw.githubusercontent.com/epi052/feroxbuster/main/install-nix.sh | bash -s $HOME/.local/bin
Para instalar o feroxbuster no Windows execute os 3 comandos abaixo:
Invoke-WebRequest https://github.com/epi052/feroxbuster/releases/latest/download/x86_64-windows-feroxbuster.exe.zip -OutFile feroxbuster.zip
Expand-Archive .\feroxbuster.zip
.\feroxbuster\feroxbuster.exe -V
Para instalar o feroxbuster no Mac via Homebrew, execute:
brew install feroxbuster
Para instalar o feroxbuster no Windows via Chocolatey, execute o seguinte comando:
choco install feroxbuster
Arquivo de configuração do feroxbuster
No arquivo /etc/feroxbuster/ferox-config.toml você pode alterar algumas configurações para, por exemplo, aumentar o número de threads padrão ou configurar outra wordlist padrão.
Opções mais utilizadas
Opção | Descrição |
---|---|
-u | URL alvo |
-x | Adicionar extensões à wordlist (zip, pdf, doc, etc.) |
–dont-extract-links | Não extrair links dos response bodies para executar fuzzing neles |
-a | Configura um User-Agent |
–resume-from | Continua um scan pausado (arquivo .state) |
-L | Limita o número de scans concorrentes (O padrão é 0, ou seja, sem limite) |
–rate-limit | Limita o número de requisições simultâneas por scan |
-C | Filtra determinado status code (403, 401, etc.) |
-T | Timeout (em segundos) |
-d | Profundidade da recursão (default: 4), 0 é infinito |
-k | Desabilita validação de certificado TLS |
-r | Permite seguir redirecionamentos |
-A | Utilizar um User-Agent aleatório |
-p | Indica um proxy (exemplo: socks5://127.0.0.1:8080) |
-o | Indica um arquivo para output |
Enumerando diretórios e arquivos usando Feroxbuster
Veja abaixo um exemplo de uso do feroxbuster:
feroxbuster -u http://127.0.0.10 -L 2 --rate-limit 50 -x php,txt,sql,pdf --wordlist /usr/share/wordlists/dirb/big.txt
No exemplo acima estamos:
- Realizando a enumeração no host http://127.0.0.10
- Definindo um número máximo de 2 scans simultâneos
- Definindo um limite de 50 requisições simultâneas
- Adicionando as extensões php, txt, sql e pdf
- Utilizando a wordlist /usr/share/wordlists/dirb/big.txt
Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !