50 Ferramentas Éticas de Cybersecurity
Edição 2025 — Guia Prático com Tutoriais
Instalação em Cloud (Replit/Linux) + Exemplos + Referências
📖 Introdução
Este mini curso cobre 30 ferramentas essenciais de cybersecurity ética, organizadas em 3 categorias: Recon & Enumeration, OSINT/Crawling e Testes de Aplicações Web.
Todas as ferramentas são open-source, baseadas na comunidade, e devem ser usadas EXCLUSIVAMENTE para testes autorizados e educação.
⚠️ AVISO LEGAL
O uso destas ferramentas em sistemas sem autorização explícita é ILEGAL e pode resultar em processos criminais. Use apenas em ambientes de laboratório (HTB, TryHackMe, DVWA) ou com contratos de pentest assinados.
🚀 Como usar este guia
Instale as ferramentas no Replit (use o Shell/Console) ou em VPS Linux na nuvem
Pratique em plataformas legais: HackTheBox, TryHackMe, DVWA, OWASP WebGoat
Siga os exemplos de cada ferramenta em ordem crescente de complexidade
Combine ferramentas para criar pipelines de reconhecimento e teste completos
Consulte as referências bibliográficas para aprofundamento
🌐 Ambientes de Prática Recomendados
Plataforma | URL | Foco |
HackTheBox | hackthebox.com | CTF + Máquinas Reais |
TryHackMe | tryhackme.com | Guiado para iniciantes |
OWASP WebGoat | github.com/WebGoat | Web App vulnerável |
DVWA | dvwa.co.uk | Web App vulnerável |
Replit | replit.com | IDE + Shell na nuvem |
VulnHub | vulnhub.com | VMs vulneráveis |
📂 Recon & Enumeration
Esta seção cobre as ferramentas (1–10) da categoria Recon & Enumeration.
🛠️ #1 — Nmap
Nmap (Network Mapper) é a ferramenta de varredura de rede mais usada no mundo. Permite descobrir hosts, serviços, sistemas operacionais e vulnerabilidades em redes.
📦 Instalação (Replit / Cloud Linux)
# No Replit (Shell/Console): |
sudo apt-get update && sudo apt-get install -y nmap |
|
# Verificar instalação: |
nmap --version |
💻 Exemplos de Uso
# Scan básico de um IP: |
nmap 192.168.1.1 |
|
# Scan de portas específicas: |
nmap -p 80,443,22 192.168.1.1 |
|
# Scan com detecção de OS e versão: |
nmap -A -T4 scanme.nmap.org |
|
# Scan de toda uma rede: |
nmap 192.168.1.0/24 |
|
# Scan silencioso (SYN scan): |
sudo nmap -sS 192.168.1.1 |
💡 Use sempre em ambientes autorizados. O domínio scanme.nmap.org é oficial para testes legais. |
📚 Referência: https://nmap.org/book/man.html
🛠️ #2 — Masscan
Masscan é o scanner de portas mais rápido do mundo, capaz de varrer a internet inteira em menos de 6 minutos. Ideal para descoberta em larga escala.
📦 Instalação (Replit / Cloud Linux)
# No Replit (Shell): |
sudo apt-get install -y masscan |
|
# Ou compilar do fonte: |
git clone https://github.com/robertdavidgraham/masscan |
cd masscan && make |
sudo make install |
💻 Exemplos de Uso
# Scan rápido de porta 80: |
sudo masscan 192.168.1.0/24 -p80 |
|
# Scan com taxa controlada: |
sudo masscan 10.0.0.0/8 -p22,80,443 --rate 10000 |
|
# Salvar resultado em XML: |
sudo masscan 192.168.1.0/24 -p1-1024 -oX resultado.xml |
|
# Usar lista de IPs como alvo: |
sudo masscan -iL targets.txt -p80,443 |
💡 Reduza o --rate em redes pequenas para evitar sobrecarga. Use em redes próprias ou com autorização. |
📚 Referência: https://github.com/robertdavidgraham/masscan
🛠️ #3 — RustScan
RustScan é um scanner de portas ultrarrápido escrito em Rust que serve como frontend para o Nmap. Encontra portas abertas em segundos e passa para análise detalhada.
📦 Instalação (Replit / Cloud Linux)
# Via Docker no Replit/Cloud: |
docker pull rustscan/rustscan:latest |
|
# Ou instalar binário: |
wget https://github.com/RustScan/RustScan/releases/latest/download/rustscan_amd64.deb |
sudo dpkg -i rustscan_amd64.deb |
|
# Verificar: |
rustscan --version |
💻 Exemplos de Uso
# Scan básico: |
rustscan -a 192.168.1.1 |
|
# Scan com Nmap integrado: |
rustscan -a 192.168.1.1 -- -A -sV |
|
# Scan de múltiplos hosts: |
rustscan -a '192.168.1.1,192.168.1.2' -p 1-1000 |
|
# Via Docker: |
docker run -it --rm rustscan/rustscan:latest -a 192.168.1.1 |
💡 RustScan é até 100x mais rápido que o Nmap para descoberta de portas, mas use o Nmap para análise detalhada. |
📚 Referência: https://github.com/RustScan/RustScan
🛠️ #4 — Amass
Amass realiza enumeração DNS em profundidade, mapeando subdomínios, endereços IP, ASNs e relações entre ativos de rede.
📦 Instalação (Replit / Cloud Linux)
# Via Go (recomendado): |
go install -v github.com/owasp-amass/amass/v4/...@master |
|
# Via apt: |
sudo apt-get install amass |
|
# Via Docker: |
docker pull caffix/amass |
💻 Exemplos de Uso
# Enumeração básica de subdomínios: |
amass enum -d exemplo.com |
|
# Enumeração passiva (sem contato direto): |
amass enum -passive -d exemplo.com |
|
# Enumeração ativa com brute-force: |
amass enum -active -brute -d exemplo.com |
|
# Salvar resultados: |
amass enum -d exemplo.com -o subdomains.txt |
|
# Visualizar grafo de rede: |
amass viz -d3 -d exemplo.com -o grafo.html |
💡 Configure APIs gratuitas (Shodan, VirusTotal) em ~/.config/amass/config.ini para resultados mais completos. |
📚 Referência: https://github.com/owasp-amass/amass
🛠️ #5 — Subfinder
Subfinder é uma ferramenta de descoberta passiva de subdomínios desenvolvida pelo ProjectDiscovery. Usa múltiplas fontes públicas para enumeração rápida.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest |
|
# Via apt/snap: |
sudo apt install subfinder |
|
# Binário pré-compilado: |
wget https://github.com/projectdiscovery/subfinder/releases/latest/download/subfinder_linux_amd64.zip |
unzip subfinder_linux_amd64.zip && sudo mv subfinder /usr/local/bin/ |
💻 Exemplos de Uso
# Descoberta básica: |
subfinder -d exemplo.com |
|
# Com saída detalhada: |
subfinder -d exemplo.com -v |
|
# Salvar em arquivo: |
subfinder -d exemplo.com -o subdomains.txt |
|
# Múltiplos domínios: |
subfinder -dL dominios.txt -o resultado.txt |
|
# Apenas fontes específicas: |
subfinder -d exemplo.com -sources shodan,censys |
💡 Configure chaves de API em ~/.config/subfinder/provider-config.yaml para acessar mais fontes. |
📚 Referência: https://github.com/projectdiscovery/subfinder
🛠️ #6 — Assetfinder
Assetfinder encontra domínios e subdomínios potencialmente relacionados a um domínio alvo, usando diversas fontes públicas e técnicas de OSINT.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/tomnomnom/assetfinder@latest |
|
# Via binário: |
wget https://github.com/tomnomnom/assetfinder/releases/download/v0.1.1/assetfinder-linux-amd64-0.1.1.tgz |
tar -xzf assetfinder-linux-amd64-0.1.1.tgz |
sudo mv assetfinder /usr/local/bin/ |
💻 Exemplos de Uso
# Busca básica: |
assetfinder exemplo.com |
|
# Apenas subdomínios do domínio alvo: |
assetfinder --subs-only exemplo.com |
|
# Combinar com httpx para verificar ativos vivos: |
assetfinder --subs-only exemplo.com | httpx -silent |
|
# Pipeline com outras ferramentas: |
assetfinder exemplo.com | sort -u | tee subdomains.txt |
💡 Combine com Subfinder e Amass para cobertura máxima de subdomínios. |
📚 Referência: https://github.com/tomnomnom/assetfinder
🛠️ #7 — Naabu
Naabu é um scanner de portas rápido do ProjectDiscovery escrito em Go. Projetado para integração em pipelines automatizados de bug bounty.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install -v github.com/projectdiscovery/naabu/v2/cmd/naabu@latest |
|
# Via binário: |
wget https://github.com/projectdiscovery/naabu/releases/latest/download/naabu_linux_amd64.zip |
unzip naabu_linux_amd64.zip && sudo mv naabu /usr/local/bin/ |
💻 Exemplos de Uso
# Scan de portas principais: |
naabu -host exemplo.com |
|
# Scan de portas específicas: |
naabu -host exemplo.com -p 80,443,8080,8443 |
|
# Top 100 portas: |
naabu -host exemplo.com -top-ports 100 |
|
# Pipeline com subfinder: |
subfinder -d exemplo.com | naabu -silent |
|
# Scan em múltiplos hosts: |
naabu -list hosts.txt -p 80,443 -o open_ports.txt |
💡 Use naabu como etapa inicial e passe os resultados para o httpx ou nuclei para análise mais profunda. |
📚 Referência: https://github.com/projectdiscovery/naabu
🛠️ #8 — httpx
httpx é um toolkit HTTP multifuncional do ProjectDiscovery. Verifica hosts ativos, detecta tecnologias, títulos de página, códigos de status e muito mais.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest |
|
# Via binário pré-compilado: |
wget https://github.com/projectdiscovery/httpx/releases/latest/download/httpx_linux_amd64.zip |
unzip httpx_linux_amd64.zip && sudo mv httpx /usr/local/bin/ |
💻 Exemplos de Uso
# Verificar hosts ativos: |
cat subdomains.txt | httpx |
|
# Com detalhes extras: |
cat subdomains.txt | httpx -title -status-code -tech-detect |
|
# Detectar tecnologias web: |
echo 'https://exemplo.com' | httpx -tech-detect |
|
# Extrair todas as URLs: |
cat subdomains.txt | httpx -silent -paths /robots.txt,/sitemap.xml |
|
# Salvar resultado em JSON: |
cat hosts.txt | httpx -json -o resultado.json |
💡 httpx é um dos componentes mais versáteis do toolkit do ProjectDiscovery. Integra-se perfeitamente com nuclei. |
📚 Referência: https://github.com/projectdiscovery/httpx
🛠️ #9 — Nuclei
Nuclei é um scanner de vulnerabilidades baseado em templates YAML altamente customizável. Possui biblioteca com milhares de templates para CVEs, misconfigs e exposições.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest |
|
# Atualizar templates: |
nuclei -update-templates |
|
# Via Docker: |
docker pull projectdiscovery/nuclei:latest |
💻 Exemplos de Uso
# Scan básico com todos os templates: |
nuclei -u https://exemplo.com |
|
# Scan com templates específicos: |
nuclei -u https://exemplo.com -t cves/ |
|
# Scan de múltiplos alvos: |
nuclei -l targets.txt -t exposures/ |
|
# Scan com severidade crítica/alta: |
nuclei -u https://exemplo.com -severity critical,high |
|
# Resultado em JSON: |
nuclei -u https://exemplo.com -json -o findings.json |
|
# Pipeline completo de recon: |
subfinder -d exemplo.com | httpx -silent | nuclei -t cves/ |
💡 Crie seus próprios templates YAML para automatizar detecção de vulnerabilidades específicas da sua organização. |
📚 Referência: https://github.com/projectdiscovery/nuclei
🛠️ #10 — WhatWeb
WhatWeb identifica tecnologias usadas em websites: CMS, frameworks, servidores web, bibliotecas JavaScript, plugins e muito mais.
📦 Instalação (Replit / Cloud Linux)
# Via apt (Ubuntu/Debian): |
sudo apt-get install whatweb |
|
# Via gem (Ruby): |
sudo gem install whatweb |
|
# Do código fonte: |
git clone https://github.com/urbanadventurer/WhatWeb.git |
cd WhatWeb && sudo make install |
💻 Exemplos de Uso
# Fingerprinting básico: |
whatweb https://exemplo.com |
|
# Modo verboso: |
whatweb -v https://exemplo.com |
|
# Scan agressivo (mais detalhado): |
whatweb -a 3 https://exemplo.com |
|
# Múltiplos alvos: |
whatweb -i targets.txt --log-json=resultados.json |
|
# Detectar CMS específico: |
whatweb --plugin WordPress https://exemplo.com |
💡 Use nível de agressividade 3 (-a 3) com cuidado, pois faz mais requisições ao alvo. |
📚 Referência: https://github.com/urbanadventurer/WhatWeb
📂 OSINT, Crawling & Content Discovery
Esta seção cobre as ferramentas (11–20) da categoria OSINT, Crawling & Content Discovery.
🛠️ #11 — Wappalyzer CLI
Wappalyzer detecta automaticamente a stack tecnológica de websites: linguagens, frameworks, CDNs, servidores e muito mais através de fingerprinting.
📦 Instalação (Replit / Cloud Linux)
# Via npm (Node.js necessário): |
npm install -g wappalyzer |
|
# Verificar instalação: |
wappalyzer --version |
|
# No Replit - adicionar ao package.json: |
npm install wappalyzer |
💻 Exemplos de Uso
# Análise básica: |
wappalyzer https://exemplo.com |
|
# Saída em JSON: |
wappalyzer https://exemplo.com --pretty |
|
# Uso via API JavaScript: |
const Wappalyzer = require('wappalyzer'); |
const wappalyzer = new Wappalyzer(); |
await wappalyzer.init(); |
const results = await wappalyzer.open('https://exemplo.com'); |
console.log(results.technologies); |
💡 Combine com httpx para detectar tecnologias em múltiplos subdomínios automaticamente. |
📚 Referência: https://github.com/nicowillis/wappalyzer-cli
🛠️ #12 — gau (GetAllURLs)
gau obtém URLs indexadas de múltiplas fontes públicas: Wayback Machine, Common Crawl, URLScan e OTX AlienVault.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/lc/gau/v2/cmd/gau@latest |
|
# Via binário: |
wget https://github.com/lc/gau/releases/latest/download/gau_linux_amd64.tar.gz |
tar -xzf gau_linux_amd64.tar.gz && sudo mv gau /usr/local/bin/ |
💻 Exemplos de Uso
# Buscar URLs de um domínio: |
gau exemplo.com |
|
# Apenas de fontes específicas: |
gau --providers wayback exemplo.com |
|
# Filtrar por extensão: |
gau exemplo.com | grep '\.php' |
|
# Filtrar URLs com parâmetros: |
gau exemplo.com | grep '?' |
|
# Salvar e remover duplicatas: |
gau exemplo.com | sort -u | tee urls.txt |
💡 Excelente para encontrar endpoints antigos e esquecidos que podem conter vulnerabilidades. |
📚 Referência: https://github.com/lc/gau
🛠️ #13 — waybackurls
waybackurls extrai URLs históricas do Wayback Machine (archive.org) para um domínio, revelando endpoints que foram removidos mas ainda podem estar ativos.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/tomnomnom/waybackurls@latest |
|
# Verificar Go instalado: |
go version |
|
# Instalar Go se necessário: |
sudo apt-get install golang-go |
💻 Exemplos de Uso
# Buscar URLs históricas: |
echo 'exemplo.com' | waybackurls |
|
# Com pipe para filtrar JS: |
echo 'exemplo.com' | waybackurls | grep '\.js$' |
|
# Filtrar endpoints com parâmetros: |
echo 'exemplo.com' | waybackurls | grep '?.*=' |
|
# Múltiplos domínios: |
cat dominios.txt | waybackurls | sort -u > urls_historicas.txt |
|
# Filtrar por tipo de arquivo: |
echo 'exemplo.com' | waybackurls | grep -E '\.(php|asp|aspx|jsp)' |
💡 URLs históricas frequentemente revelam endpoints de administração, APIs deprecadas e arquivos de configuração. |
📚 Referência: https://github.com/tomnomnom/waybackurls
🛠️ #14 — Katana
Katana é um web crawler moderno e ultrarrápido do ProjectDiscovery com suporte a JavaScript, formulários e crawling em profundidade.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/projectdiscovery/katana/cmd/katana@latest |
|
# Via binário: |
wget https://github.com/projectdiscovery/katana/releases/latest/download/katana_linux_amd64.zip |
unzip katana_linux_amd64.zip && sudo mv katana /usr/local/bin/ |
💻 Exemplos de Uso
# Crawl básico: |
katana -u https://exemplo.com |
|
# Com renderização JavaScript: |
katana -u https://exemplo.com -jc |
|
# Definir profundidade: |
katana -u https://exemplo.com -d 3 |
|
# Excluir extensões estáticas: |
katana -u https://exemplo.com -ef png,jpg,css,gif |
|
# Pipeline com nuclei: |
katana -u https://exemplo.com -silent | nuclei -t exposures/ |
💡 Use -jc para crawling de SPAs (React, Angular, Vue.js). Requer Chrome instalado. |
📚 Referência: https://github.com/projectdiscovery/katana
🛠️ #15 — ffuf
ffuf (Fuzz Faster U Fool) é um web fuzzer extremamente rápido para descoberta de diretórios, parâmetros, subdomínios e qualquer elemento HTTP.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/ffuf/ffuf/v2@latest |
|
# Via apt: |
sudo apt-get install ffuf |
|
# Baixar wordlists (SecLists): |
git clone https://github.com/danielmiessler/SecLists.git /opt/SecLists |
💻 Exemplos de Uso
# Fuzzing de diretórios: |
ffuf -u https://exemplo.com/FUZZ -w /opt/SecLists/Discovery/Web-Content/common.txt |
|
# Fuzzing de subdomínios: |
ffuf -u https://FUZZ.exemplo.com -w /opt/SecLists/Discovery/DNS/subdomains-top1million-5000.txt |
|
# Fuzzing de parâmetros GET: |
ffuf -u 'https://exemplo.com/page?FUZZ=valor' -w params.txt |
|
# Filtrar por código de status: |
ffuf -u https://exemplo.com/FUZZ -w wordlist.txt -fc 404 |
|
# Filtrar por tamanho de resposta: |
ffuf -u https://exemplo.com/FUZZ -w wordlist.txt -fs 1234 |
|
# Modo JSON output: |
ffuf -u https://exemplo.com/FUZZ -w wordlist.txt -of json -o resultado.json |
💡 Use SecLists para melhores resultados. O parâmetro -t define threads (padrão 40). |
📚 Referência: https://github.com/ffuf/ffuf
🛠️ #16 — Gobuster
Gobuster realiza brute-force de diretórios, arquivos, subdomínios DNS e virtual hosts usando wordlists. Escrito em Go para alta performance.
📦 Instalação (Replit / Cloud Linux)
# Via apt: |
sudo apt-get install gobuster |
|
# Via Go: |
go install github.com/OJ/gobuster/v3@latest |
|
# Instalar SecLists para wordlists: |
sudo apt-get install seclists |
💻 Exemplos de Uso
# Modo dir - brute-force de diretórios: |
gobuster dir -u https://exemplo.com -w /usr/share/seclists/Discovery/Web-Content/common.txt |
|
# Modo dns - subdomínios: |
gobuster dns -d exemplo.com -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt |
|
# Com extensões de arquivo: |
gobuster dir -u https://exemplo.com -w wordlist.txt -x php,html,txt |
|
# Modo vhost - virtual hosts: |
gobuster vhost -u http://exemplo.com -w vhosts.txt |
|
# Salvar resultados: |
gobuster dir -u https://exemplo.com -w wordlist.txt -o resultados.txt |
💡 Use -k para ignorar erros de certificado SSL em ambientes de teste. |
📚 Referência: https://github.com/OJ/gobuster
🛠️ #17 — Dirsearch
Dirsearch é um brute-forcer de caminhos web avançado com suporte a múltiplas extensões, exclusões, recursão e relatórios detalhados.
📦 Instalação (Replit / Cloud Linux)
# Via pip: |
pip3 install dirsearch |
|
# Do código fonte: |
git clone https://github.com/maurosoria/dirsearch.git |
cd dirsearch && pip3 install -r requirements.txt |
|
# Executar: |
python3 dirsearch.py --help |
💻 Exemplos de Uso
# Scan básico: |
dirsearch -u https://exemplo.com |
|
# Com extensões específicas: |
dirsearch -u https://exemplo.com -e php,html,js,json |
|
# Recursão em diretórios encontrados: |
dirsearch -u https://exemplo.com -r |
|
# Múltiplos alvos: |
dirsearch -l targets.txt -e php,asp |
|
# Salvar em HTML: |
dirsearch -u https://exemplo.com --format html -o report.html |
|
# Com wordlist customizada: |
dirsearch -u https://exemplo.com -w /opt/SecLists/Discovery/Web-Content/raft-large-directories.txt |
💡 Dirsearch vem com wordlists embutidas de qualidade. Use -t para controlar threads. |
📚 Referência: https://github.com/maurosoria/dirsearch
🛠️ #18 — meg
meg faz fetch em massa de múltiplos caminhos em múltiplos hosts simultaneamente, salvando todas as respostas para análise offline.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/tomnomnom/meg@latest |
|
# Verificar instalação: |
meg --help |
💻 Exemplos de Uso
# Estrutura básica: meg <paths_file> <hosts_file> |
# Criar arquivo de paths: |
echo -e '/robots.txt\n/.git/HEAD\n/admin\n/.env' > paths.txt |
|
# Criar arquivo de hosts: |
cat subdomains.txt | httpx -silent > hosts.txt |
|
# Executar meg: |
meg paths.txt hosts.txt |
|
# Buscar nos resultados: |
grep -r 'password' out/ |
|
# Buscar arquivos .git expostos: |
grep -rl '200' out/ | xargs grep -l 'HEAD' |
💡 meg salva cada resposta em um arquivo separado na pasta 'out/'. Ideal para análise em massa de exposições. |
📚 Referência: https://github.com/tomnomnom/meg
🛠️ #19 — theHarvester
theHarvester coleta e-mails, subdomínios, IPs, URLs e nomes de pessoas a partir de fontes públicas como Google, Bing, LinkedIn e Shodan.
📦 Instalação (Replit / Cloud Linux)
# Via apt: |
sudo apt-get install theharvester |
|
# Do código fonte: |
git clone https://github.com/laramies/theHarvester.git |
cd theHarvester && pip3 install -r requirements/base.txt |
💻 Exemplos de Uso
# Coleta com todas as fontes: |
theHarvester -d exemplo.com -b all |
|
# Usar Google como fonte: |
theHarvester -d exemplo.com -b google |
|
# Usar múltiplas fontes: |
theHarvester -d exemplo.com -b google,bing,linkedin |
|
# Limitar resultados: |
theHarvester -d exemplo.com -b all -l 100 |
|
# Exportar para HTML: |
theHarvester -d exemplo.com -b all -f report |
|
# Com DNS brute-force: |
theHarvester -d exemplo.com -b all -n |
💡 Configure chaves de API em api-keys.yaml para fontes pagas como Shodan, Hunter e Spyse. |
📚 Referência: https://github.com/laramies/theHarvester
🛠️ #20 — SpiderFoot
SpiderFoot é um framework OSINT automatizado com mais de 200 módulos que coleta informações de IP, domínio, e-mail, pessoa e organização.
📦 Instalação (Replit / Cloud Linux)
# Via pip: |
pip3 install spiderfoot |
|
# Do código fonte: |
git clone https://github.com/smicallef/spiderfoot.git |
cd spiderfoot && pip3 install -r requirements.txt |
|
# Iniciar interface web: |
python3 sf.py -l 127.0.0.1:5001 |
💻 Exemplos de Uso
# Modo CLI - scan de domínio: |
sf.py -s exemplo.com -m all |
|
# Scan com módulos específicos: |
sf.py -s exemplo.com -m sfp_dnsresolve,sfp_whois |
|
# Interface Web (acessar no browser): |
python3 sf.py -l 0.0.0.0:5001 |
# Acesse: http://localhost:5001 |
|
# Exportar em CSV: |
sf.py -s exemplo.com -m all -o CSV -f resultado.csv |
|
# Scan de IP: |
sf.py -s 192.168.1.1 -t IP_ADDRESS |
💡 Use a interface web para visualizar conexões entre ativos graficamente. Muito útil para mapeamento de infraestrutura. |
📚 Referência: https://github.com/smicallef/spiderfoot
📂 Web Application Testing
Esta seção cobre as ferramentas (21–30) da categoria Web Application Testing.
🛠️ #21 — OWASP ZAP
OWASP ZAP (Zed Attack Proxy) é uma das ferramentas de segurança web mais populares do mundo. Scanner automático + proxy de interceptação para testes manuais.
📦 Instalação (Replit / Cloud Linux)
# Via Docker (recomendado para cloud): |
docker pull ghcr.io/zaproxy/zaproxy:stable |
|
# Via snap: |
sudo snap install zaproxy --classic |
|
# Via apt: |
sudo apt install zaproxy |
💻 Exemplos de Uso
# Scan rápido via CLI: |
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-baseline.py -t https://exemplo.com |
|
# Scan completo: |
docker run -t ghcr.io/zaproxy/zaproxy:stable zap-full-scan.py -t https://exemplo.com |
|
# Gerar relatório HTML: |
docker run -v $(pwd):/zap/wrk/:rw ghcr.io/zaproxy/zaproxy:stable \ |
zap-baseline.py -t https://exemplo.com -r report.html |
|
# Modo API (headless): |
zap.sh -daemon -port 8080 -config api.disablekey=true |
💡 Para testes interativos, use o modo GUI. Para CI/CD, use zap-baseline.py ou zap-api-scan.py. |
📚 Referência: https://www.zaproxy.org/docs/
🛠️ #22 — Burp Suite Community
Burp Suite é a plataforma líder para testes de segurança web. O proxy interceptador permite modificar requisições em tempo real, automatizar testes e explorar vulnerabilidades.
📦 Instalação (Replit / Cloud Linux)
# Download gratuito em: |
# https://portswigger.net/burp/communitydownload |
|
# Via script de instalação Linux: |
chmod +x burpsuite_community_linux.sh |
./burpsuite_community_linux.sh |
|
# Executar: |
java -jar burpsuite_community.jar |
💻 Exemplos de Uso
# Configurar proxy: 127.0.0.1:8080 |
# Instalar certificado CA no browser |
|
# Interceptar tráfego HTTP/S: |
# Proxy > Intercept > Is intercepcting: ON |
|
# Scanner passivo - analisa tráfego: |
# Target > Site Map > Right click > Scan |
|
# Intruder - fuzzing de parâmetros: |
# Right click na requisição > Send to Intruder |
# Marcar posições com § e configurar payload |
|
# Repeater - modificar e reenviar: |
# Right click > Send to Repeater > Modify & Send |
💡 Instale extensões (BApps) como Param Miner e JS Link Finder para ampliar funcionalidades gratuitamente. |
📚 Referência: https://portswigger.net/burp/documentation
🛠️ #23 — Nikto
Nikto é um scanner de servidores web open-source que testa contra mais de 6700 itens perigosos, versões desatualizadas e problemas específicos de servidores.
📦 Instalação (Replit / Cloud Linux)
# Via apt: |
sudo apt-get install nikto |
|
# Do código fonte (Perl): |
git clone https://github.com/sullo/nikto.git |
cd nikto/program |
perl nikto.pl --help |
💻 Exemplos de Uso
# Scan básico: |
nikto -h https://exemplo.com |
|
# Scan em porta específica: |
nikto -h exemplo.com -p 8080 |
|
# Scan com SSL: |
nikto -h exemplo.com -ssl |
|
# Salvar em HTML: |
nikto -h https://exemplo.com -Format html -output report.html |
|
# Scan via proxy (ex: Burp): |
nikto -h https://exemplo.com -useproxy http://127.0.0.1:8080 |
|
# Scan de múltiplos hosts: |
nikto -h hosts.txt |
💡 Nikto não é furtivo - gera muito tráfego. Use apenas em alvos autorizados e evite produção. |
📚 Referência: https://github.com/sullo/nikto
🛠️ #24 — sqlmap
sqlmap automatiza completamente o processo de detecção e exploração de injeções SQL. Suporta todos os tipos de SQLi e todos os principais bancos de dados.
📦 Instalação (Replit / Cloud Linux)
# Via apt: |
sudo apt-get install sqlmap |
|
# Do código fonte: |
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev |
cd sqlmap-dev && python3 sqlmap.py --version |
|
# Via pip: |
pip3 install sqlmap |
💻 Exemplos de Uso
# Testar URL com parâmetro: |
sqlmap -u 'https://exemplo.com/page?id=1' |
|
# Com cookie de sessão: |
sqlmap -u 'https://exemplo.com/page?id=1' --cookie='session=abc123' |
|
# Extrair banco de dados: |
sqlmap -u 'https://exemplo.com/page?id=1' --dbs |
|
# Extrair tabelas: |
sqlmap -u 'https://exemplo.com/page?id=1' -D database_name --tables |
|
# Extrair dados: |
sqlmap -u 'https://exemplo.com/page?id=1' -D db -T users --dump |
|
# Testar formulário POST: |
sqlmap -u 'https://exemplo.com/login' --data='user=admin&pass=test' |
💡 Use --level e --risk maiores para testes mais abrangentes. --batch aceita todas as opções automaticamente. |
📚 Referência: https://github.com/sqlmapproject/sqlmap
🛠️ #25 — wfuzz
wfuzz é um web fuzzer flexível para descobrir aplicações e componentes web por brute-force de parâmetros, headers, formulários e qualquer parte de uma requisição HTTP.
📦 Instalação (Replit / Cloud Linux)
# Via pip: |
pip3 install wfuzz |
|
# Via apt: |
sudo apt-get install wfuzz |
|
# SecLists para wordlists: |
git clone https://github.com/danielmiessler/SecLists.git /opt/SecLists |
💻 Exemplos de Uso
# Fuzzing de diretórios: |
wfuzz -c -z file,/opt/SecLists/Discovery/Web-Content/common.txt --hc 404 https://exemplo.com/FUZZ |
|
# Fuzzing de parâmetros: |
wfuzz -c -z file,params.txt --hc 404 'https://exemplo.com/?FUZZ=valor' |
|
# Fuzzing de credenciais: |
wfuzz -c -z file,users.txt -z file,passwords.txt --hc 403 \ |
-d 'user=FUZZ&pass=FUZ2Z' https://exemplo.com/login |
|
# Filtrar por palavras na resposta: |
wfuzz -c -z file,wordlist.txt --hs 'Not Found' https://exemplo.com/FUZZ |
💡 FUZZ é o placeholder. Use FUZ2Z para o segundo payload. --hc filtra código, --hs filtra string. |
📚 Referência: https://github.com/xmendez/wfuzz
🛠️ #26 — XSStrike
XSStrike é uma suite avançada de detecção e exploração de XSS (Cross-Site Scripting) com análise inteligente de contexto e geração de payloads customizados.
📦 Instalação (Replit / Cloud Linux)
# Clonar repositório: |
git clone https://github.com/s0md3v/XSStrike.git |
cd XSStrike && pip3 install -r requirements.txt |
|
# Executar: |
python3 xsstrike.py --help |
💻 Exemplos de Uso
# Scan de URL com parâmetro: |
python3 xsstrike.py -u 'https://exemplo.com/search?q=teste' |
|
# Modo crawl (varrer todo o site): |
python3 xsstrike.py -u 'https://exemplo.com' --crawl |
|
# Testar formulário: |
python3 xsstrike.py -u 'https://exemplo.com/search' --data 'q=teste' |
|
# Com header customizado: |
python3 xsstrike.py -u 'https://exemplo.com/search?q=a' --headers 'Cookie: session=abc' |
|
# Modo fuzzing: |
python3 xsstrike.py -u 'https://exemplo.com/search?q=FUZZ' --fuzzer |
💡 XSStrike analisa o DOM e contexto da página para criar payloads específicos que bypassam WAFs. |
📚 Referência: https://github.com/s0md3v/XSStrike
🛠️ #27 — Dalfox
Dalfox é um scanner de XSS de alta velocidade escrito em Go, com análise de parâmetros, detecção baseada em DOM e integração com pipelines de bug bounty.
📦 Instalação (Replit / Cloud Linux)
# Via Go: |
go install github.com/hahwul/dalfox/v2@latest |
|
# Via Homebrew (macOS): |
brew install dalfox |
|
# Via Docker: |
docker pull hahwul/dalfox:latest |
💻 Exemplos de Uso
# Scan de URL: |
dalfox url 'https://exemplo.com/search?q=teste' |
|
# Modo pipe (múltiplos alvos): |
cat urls.txt | dalfox pipe |
|
# Scan com todos os parâmetros: |
dalfox url 'https://exemplo.com/search?q=a&type=b' --all-parameter |
|
# Ignorar certificado SSL: |
dalfox url 'https://exemplo.com/?q=a' --skip-bav |
|
# Pipeline completo: |
gau exemplo.com | grep '?.*=' | dalfox pipe -o xss_findings.txt |
💡 Combine com gau e waybackurls para testar XSS em endpoints históricos do alvo. |
📚 Referência: https://github.com/hahwul/dalfox
🛠️ #28 — tplmap
tplmap detecta e explora vulnerabilidades de Server-Side Template Injection (SSTI) em múltiplos engines de template como Jinja2, Twig, Smarty, Mako e outros.
📦 Instalação (Replit / Cloud Linux)
# Clonar repositório: |
git clone https://github.com/epinna/tplmap.git |
cd tplmap && pip3 install -r requirements.txt |
|
# Executar: |
python3 tplmap.py --help |
💻 Exemplos de Uso
# Detectar SSTI em parâmetro GET: |
python3 tplmap.py -u 'https://exemplo.com/page?nome=SSTI' |
|
# Testar parâmetro POST: |
python3 tplmap.py -u 'https://exemplo.com/page' -d 'nome=*' |
|
# Executar comando no servidor: |
python3 tplmap.py -u 'https://exemplo.com/page?name=*' --os-cmd id |
|
# Obter shell interativo: |
python3 tplmap.py -u 'https://exemplo.com/page?name=*' --os-shell |
|
# Upload de arquivo: |
python3 tplmap.py -u 'https://exemplo.com/page?name=*' --upload /tmp/shell.php /var/www/html/ |
💡 SSTI pode levar a RCE. O asterisco (*) no parâmetro indica onde inserir os payloads. |
📚 Referência: https://github.com/epinna/tplmap
🛠️ #29 — NoSQLMap
NoSQLMap automatiza testes de injeção em bancos NoSQL como MongoDB, CouchDB e Redis, detectando tanto injeções diretas quanto via MongoDB operators.
📦 Instalação (Replit / Cloud Linux)
# Clonar repositório: |
git clone https://github.com/codingo/NoSQLMap.git |
cd NoSQLMap && pip3 install -r requirements.txt |
|
# Instalar dependências: |
sudo apt-get install python3-pymongo |
|
# Executar: |
python3 nosqlmap.py |
💻 Exemplos de Uso
# Modo interativo (menu): |
python3 nosqlmap.py |
|
# Configuração básica via menu: |
# 1 - Set target host: exemplo.com |
# 2 - Set target port: 27017 |
# 3 - Set URI Path: /api/login |
|
# Testar endpoint de autenticação: |
# No menu: 4 > Web App Attacks > 1 > Test URL for NoSQL Injection |
|
# Payload manual de bypass (MongoDB): |
# POST data: {'username': {'$gt': ''}, 'password': {'$gt': ''}} |
|
# Via curl para teste rápido: |
curl -X POST https://exemplo.com/login \ |
-H 'Content-Type: application/json' \ |
-d '{"user":{"$gt":""},"pass":{"$gt":""}}' |
💡 Teste auth bypass com {$gt: ''} e {$ne: null} em aplicações que usam MongoDB sem sanitização. |
📚 Referência: https://github.com/codingo/NoSQLMap
🛠️ #30 — commix
commix (Command Injection eXploiter) automatiza a detecção e exploração de vulnerabilidades de command injection em aplicações web.
📦 Instalação (Replit / Cloud Linux)
# Via apt: |
sudo apt-get install commix |
|
# Do código fonte: |
git clone https://github.com/commixproject/commix.git |
cd commix && python3 commix.py --install |
💻 Exemplos de Uso
# Testar URL com parâmetro: |
commix --url='https://exemplo.com/ping?host=localhost' |
|
# Testar parâmetro POST: |
commix --url='https://exemplo.com/tool' --data='cmd=test' |
|
# Com cookie de sessão: |
commix --url='https://exemplo.com/exec?ip=1' --cookie='PHPSESSID=abc123' |
|
# Obter shell interativo: |
commix --url='https://exemplo.com/ping?host=1' --os-shell |
|
# Modo stealth (evasão de WAF): |
commix --url='https://exemplo.com/ping?host=1' --tamper=space2ifs |
|
# Forçar técnica específica: |
commix --url='https://exemplo.com/ping?host=1' --technique=classic |
💡 Combine com Burp Suite para interceptar e testar manualmente endpoints suspeitos antes de usar commix. |
📚 Referência: https://github.com/commixproject/commix
📚 Referências Bibliográficas
Documentação Oficial das Ferramentas
Nmap: Lyon, G. F. (2009). Nmap Network Scanning. Nmap Project. https://nmap.org/book/
OWASP Testing Guide: OWASP Foundation. (2021). OWASP Testing Guide v4.2. https://owasp.org/www-project-web-security-testing-guide/
ProjectDiscovery Tools: ProjectDiscovery. (2024). Nuclei, httpx, subfinder, naabu, katana. https://projectdiscovery.io
sqlmap: Damele, B. & Stampar, M. (2012). sqlmap: Automatic SQL injection tool. https://sqlmap.org
Burp Suite: PortSwigger. (2024). Web Security Academy. https://portswigger.net/web-security
SecLists: Haddix, J. & contributors. (2024). SecLists - Security Testing Lists. https://github.com/danielmiessler/SecLists
OWASP ZAP: OWASP. (2024). Zed Attack Proxy Project. https://zaproxy.org
tomnomnom tools: Tomnomnom. (2024). waybackurls, assetfinder, meg, gf. https://github.com/tomnomnom
SpiderFoot: Micallef, S. (2024). SpiderFoot OSINT Automation Framework. https://github.com/smicallef/spiderfoot
Livros Recomendados
Stuttard, D. & Pinto, M. (2011). The Web Application Hacker's Handbook. Wiley.
Kennedy, D. et al. (2011). Metasploit: The Penetration Tester's Guide. No Starch Press.
Engebretson, P. (2013). The Basics of Hacking and Penetration Testing. Syngress.
Weidman, G. (2014). Penetration Testing: A Hands-On Introduction. No Starch Press.
Seitz, J. (2021). Black Hat Python, 2nd Edition. No Starch Press.
Recursos Online
Comentários
Postar um comentário