Ethical redteam
Skills pessoais
npx -y skills add prof-ramos/skills --skill ethical-redteamAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Conducts authorized ethical security tests (Red Team / Bug Bounty) covering OSINT reconnaissance, subdomain enumeration, social media username investigation (Sherlock, Blackbird), port/service scanning, vulnerability analysis, and professional OWASP/NIST report generation. Use when the user asks for "penetration testing", "pentest", "vulnerability scan", "OSINT", "bug bounty", "security report", "port scan", "network analysis", "red team", "recon on target", "subdomain enumeration", "username search", or "social media OSINT". Requires written authorization before any active test. Outputs executive and technical reports in Markdown and PDF.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
13.8 KB, ~3.7k tokens by cl100k_base, as published. Nobody here has run it
Ethical Red Team & Bug Bounty Skill
⚠️ DISCLAIMER OBRIGATÓRIO Esta skill destina-se exclusivamente a testes de segurança autorizados em ambientes controlados. Uso não autorizado contra sistemas de terceiros é ilegal e viola LGPD, Marco Civil da Internet, CFAA e Computer Misuse Act. SEMPRE obtenha e documente autorização escrita antes de qualquer teste.
Instructions
Step 1: Validação de Autorização (OBRIGATÓRIO)
Antes de executar qualquer módulo, pergunte ao usuário:
Para prosseguir, confirme:
1. Você possui autorização ESCRITA do proprietário do sistema alvo?
2. O escopo do teste está claramente definido?
3. Existe um Rules of Engagement (RoE) documentado?
Responda SIM para todas para continuar.
Se qualquer resposta for NÃO, interrompa e oriente sobre como obter autorização legal.
Consulte references/ethics-guide.md para modelos de autorização e orientações legais completas.
Step 2: Verificação de Ambiente (OBRIGATÓRIO)
Antes de qualquer operação de scanning, verifique se as dependências estão instaladas e ativas:
2a. Verificar Tor (prioridade máxima — afeta todas as operações de rede):
# Verificar se Tor está rodando
pgrep -x tor && echo "Tor ativo" || echo "Tor não está rodando"
- Se não instalado: pergunte ao usuário se deseja instalar (
brew install torno macOS,sudo apt install torno Linux) - Se instalado mas não rodando: pergunte se deseja iniciar (
brew services start torno macOS,systemctl start torno Linux) - Se o usuário recusar Tor: avise que todas as operações de rede serão realizadas sem anonimato e pergunte se deseja prosseguir
2b. Verificar ferramentas por step:
| Ferramenta | Verificação | Step impactado | Impacto se ausente |
|---|---|---|---|
nmap | command -v nmap | Step 8 (Scanner) | Sem scanning de portas/serviços |
subfinder | command -v subfinder | Step 4 (Subdomínios) | Sem enumeração de subdomínios |
httpx | command -v httpx | Step 4 (Subdomínios) | Subdomínios não validados como live |
sherlock | command -v sherlock | Step 5 (OSINT user) | Sem busca em redes sociais |
blackbird | ls blackbird/blackbird.py | Step 6 (OSINT email) | Sem investigação aprofundada |
2c. Se alguma dependência estiver ausente:
As seguintes dependências estão ausentes:
- [ferramenta] → [impacto]
Deseja prosseguir sem elas? Os elementos acima ficarão fora da análise.
- Se o usuário aceitar: continue apenas com os steps cujas dependências estão presentes
- Se o usuário recusar: oriente a instalar via
./scripts/install.she interrompa
Step 3: Reconhecimento (OSINT/DNS/IP)
Execute reconhecimento passivo ou ativo conforme o escopo autorizado:
python scripts/recon.py --target ALVO --mode [passive|active|full] --output recon_output/
Modos disponíveis:
passive— Apenas OSINT (sem contato direto com o alvo)active— DNS enumeration + IP range mappingfull— Passive + Active combinados
Saída esperada: recon_output/ALVO_recon_TIMESTAMP.json
Se theHarvester der timeout: use --mode passive --timeout 30.
Step 4: Enumeração de Subdomínios (subfinder)
Expande a superfície de ataque identificando subdomínios ativos do alvo:
subfinder -d DOMINIO -o recon_output/ALVO_subdomains.txt -silent
Opções úteis:
-all— Usa todas as fontes disponíveis (mais lento, mais completo)-recursive— Enumeração recursiva de subdomínios-t 50— Controla o número de threads (padrão: 10)-nW— Remove wildcards dos resultados
Após enumerar, resolva e filtre ativos:
subfinder -d DOMINIO -all -o recon_output/ALVO_subdomains.txt
cat recon_output/ALVO_subdomains.txt | httpx -silent -o recon_output/ALVO_subdomains_live.txt
Saída esperada: recon_output/ALVO_subdomains.txt + ALVO_subdomains_live.txt
Instalação:
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latestAlternativa sem Go:pip install sublist3r→sublist3r -d DOMINIO -o saida.txt
Step 5: OSINT de Usuário — Sherlock
Busca username em centenas de redes sociais e plataformas para mapeamento de pegada digital:
sherlock USERNAME --output recon_output/ALVO_sherlock.txt --timeout 10
Opções:
--site SITE— Limita a busca a um site específico--timeout 10— Timeout por requisição (padrão: 60s)--print-found— Imprime apenas resultados encontrados--csv— Exporta em CSV:sherlock USERNAME --csv--tor— Roteia via rede Tor (recomendado para testes sensíveis)
Busca de múltiplos usernames:
sherlock USERNAME1 USERNAME2 USERNAME3 --output recon_output/
Saída esperada: USERNAME.txt com URLs encontradas por plataforma
Instalação:
pip install sherlock-projectDocumentação: https://github.com/sherlock-project/sherlock
Step 6: OSINT de Usuário/Email — Blackbird
Investigação aprofundada de username ou e-mail em mais de 600 sites, com metadados e exportação JSON:
# Por username
python blackbird.py -u USERNAME --json
# Por e-mail
python blackbird.py -e EMAIL --json
# Redirecionar saída
python blackbird.py -u USERNAME --json -o recon_output/ALVO_blackbird.json
Opções:
--json— Exporta resultados em JSON estruturado--pdf— Gera relatório PDF dos achados-p— Habilita modo de permissive matching--timeout 10— Timeout por site
Instalação:
git clone https://github.com/p1ngul1n0/blackbird.git cd blackbird pip install -r requirements.txtDocumentação: https://github.com/p1ngul1n0/blackbird
⚠️ Blackbird não inclui proxy por padrão. Para testes sensíveis, configure
--proxy http://127.0.0.1:9050com Tor ativo.
Step 7: Web Application Scanning — Burp Suite MCP (Community)
Analisa aplicações web interceptando tráfego via Burp Suite + MCP, sem necessidade de Burp Pro:
# Pré-requisito: Burp Suite com extensão MCP carregada e browser usando proxy 127.0.0.1:8080
# 1. Verificar se Burp MCP está ativo
python scripts/burp_mcp.py --check
# 2. Análise passiva do histórico de proxy (navegue no alvo antes)
python scripts/burp_mcp.py --mode history --output scan_output/
# 3. Probing ativo + histórico combinados
python scripts/burp_mcp.py --mode full --target https://alvo.com --output scan_output/
O que detecta (Community — sem Burp Pro):
- Headers de segurança ausentes (HSTS, CSP, X-Frame-Options, etc.)
- Cookies sem HttpOnly/Secure/SameSite
- Dados sensíveis expostos em URLs (tokens, senhas, session IDs)
- Versão do servidor exposta (Server: header)
- HTTP sem criptografia (sem redirect para HTTPS)
- CORS wildcard (
Access-Control-Allow-Origin: *) - Caminhos sensíveis:
/.git/HEAD,/.env,/admin,/phpinfo.php, etc. - Métodos HTTP perigosos (PUT, DELETE, TRACE)
Configuração da extensão MCP:
git clone https://github.com/portswigger/mcp-server
cd mcp-server && ./gradlew embedProxyJar
# Burp Suite → Extensions → Add → Java → build/libs/mcp-server-all.jar
# Aba MCP → Enable Server (porta padrão: 9876)
Saída: scan_output/ALVO_burp_mcp_TIMESTAMP.json — compatível com analyzer.py
Burp Pro: Adiciona
GetScannerIssuespara SQLi, XSS, IDOR e 100+ vulnerabilidades automáticas. A versão Community cobre os 20% de esforço que detectam 80% dos problemas mais comuns.
Step 8: Scanning (Portas / Serviços / Vulnerabilidades)
python scripts/scanner.py --target ALVO --profile [quick|standard|deep] --output scan_output/
Perfis:
quick— Top 100 portas + detecção de SOstandard— Top 1000 portas + banner grabbing (recomendado)deep— Todas as portas + detecção de CVEs conhecidos
Limite de recursos: máx. 4 GB RAM configurado para M3. Em redes grandes com
deep, use--profile standard.
Saída esperada: scan_output/ALVO_scan_TIMESTAMP.json
Step 9: Análise de Vulnerabilidades
python scripts/analyzer.py \
--recon recon_output/ARQUIVO.json \
--scan scan_output/ARQUIVO.json \
--output analysis/
Gera análise consolidada com classificação de severidade CVSS v3.1.
Consulte references/owasp-checklist.md para cobertura metodológica OWASP WSTG completa.
Saída esperada: analysis/ALVO_analysis_TIMESTAMP.json
Step 10: Geração de Relatório
python scripts/reporter.py \
--analysis analysis/ARQUIVO.json \
--target "Nome do Alvo" \
--tester "Seu Nome" \
--output reports/
Gera automaticamente três artefatos:
ALVO_executive_report.md— Sumário executivo para gestoresALVO_technical_report.md— Detalhamento técnico completoALVO_full_report.pdf— Relatório unificado em PDF
Consulte references/report-template.md para o template e references/sample-report.md para exemplo de saída esperada.
Examples
Example 1: Bug Bounty — Recon Completo com OSINT Social
Usuário diz: "Preciso fazer recon completo em alvo.com com mapeamento de presença social"
Ações:
- Confirmar autorização (Step 1) e verificar ambiente (Step 2)
python scripts/recon.py --target alvo.com --mode passive --output ./saida/subfinder -d alvo.com -all -o ./saida/subdomains.txtsherlock admin_username --output ./saida/ --timeout 10python blackbird.py -u admin_username --json -o ./saida/blackbird.jsonpython scripts/reporter.py --analysis ./saida/analysis_*.json --target "Alvo" --tester "Pentester"
Resultado: Mapa completo de subdomínios + pegada digital social + relatório técnico
Example 2: Red Team Interno — Varredura de Rede
Usuário diz: "Red team na rede interna 192.168.1.0/24, tenho autorização documentada"
Ações:
- Confirmar RoE e escopo (Step 1) e verificar ambiente (Step 2)
python scripts/scanner.py --target 192.168.1.0/24 --profile standard --output ./saida/python scripts/analyzer.py --scan ./saida/scan_*.json --output ./saida/python scripts/reporter.py --analysis ./saida/analysis_*.json --target "Rede Interna Lab" --tester "Pentester A" --output ./reports/
Resultado: Relatório executivo + técnico + PDF em reports/
Example 3: OSINT de Pessoa — Investigação de Username
Usuário diz: "Preciso mapear a pegada digital de um username suspeito para um case de threat intel"
Ações:
- Confirmar autorização e escopo legal (Step 1) e verificar ambiente (Step 2)
sherlock USERNAME --csv --timeout 10 --output ./saida/python blackbird.py -u USERNAME --json --pdf -o ./saida/blackbird.json
Resultado: Lista de perfis encontrados em +600 plataformas + relatório PDF Blackbird
Troubleshooting
Erro: subfinder: command not found
Causa: subfinder não instalado ou não está no PATH.
Solução: go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest e adicione $GOPATH/bin ao PATH
Erro: sherlock: command not found
Causa: Sherlock não instalado.
Solução: pip install sherlock-project
Erro: python blackbird.py: No module named 'requests'
Causa: Dependências do Blackbird não instaladas.
Solução: cd blackbird && pip install -r requirements.txt
Erro: nmap not found
Causa: nmap não instalado.
Solução: brew install nmap (macOS) ou sudo apt install nmap (Linux)
Erro: Permission denied no install.sh
Causa: Arquivo sem permissão de execução.
Solução: chmod +x scripts/install.sh && ./scripts/install.sh
Erro: memória excedida no scan deep
Causa: Range de rede muito grande.
Solução: Reduza o range ou use --profile standard
Erro: theHarvester timeout
Causa: APIs externas lentas ou indisponíveis.
Solução: --mode passive --timeout 30
Sherlock com muitos falsos positivos
Causa: Sites com detecção inconsistente.
Solução: Valide manualmente as URLs retornadas; use --print-found para filtrar
Blackbird sem resultados
Causa: Username inexistente ou rate limiting.
Solução: Tente com variações do username; aguarde e reexecute com --timeout 20
Hooks de Ciclo de Vida
A skill suporta hooks de ciclo de vida para inicializar e encerrar serviços temporários.
on_start.sh
Inicializa serviços e valida dependências:
- Inicia Tor para anonimato (se disponível) e exporta
TOR_PID - Verifica dependências críticas (nmap, subfinder, httpx)
- Configura variáveis de ambiente (
TOR_PROXY)
on_end.sh
Encerra serviços e limpa recursos:
- Encerra Tor apenas se foi iniciado pela skill (usa
TOR_PID) - Remove arquivos temporários de diretório controlado
- Limpa variáveis de ambiente (
TOR_PID,TOR_PROXY)
Uso
# Executar hooks manualmente (para testes)
source hooks/on_start.sh && on_start
source hooks/on_end.sh && on_end