
Ferramentas de análise e geração de SVG para phishing de anexos SVG comumente vistos
Este kit contém ferramentas Python especializadas para analisar arquivos SVG potencialmente maliciosos e detectar mecanismos de segurança.
O kit consiste em quatro ferramentas principais:
Uma ferramenta de análise estática baseada em padrões que decodifica URLs ofuscadas de arquivos SVG maliciosos sem executar nenhum código. Esta é a opção mais segura para análise inicial.
String.fromCharCode com cálculos numéricos# Analisar um único arquivo SVG
python3 extract.py -i malicious.svg
# Saída detalhada mostrando JavaScript decodificado
python3 extract.py -i malicious.svg -v
# Modo de depuração com etapas de análise detalhadas
python3 extract.py -i malicious.svg -d
# Ler a partir da entrada padrão (stdin)
python3 extract.py < malicious.svg
String.fromCharCode(115,101,99,...) ("secretkey")for com parseInt e operações XORdata:atob("base64") + nomeVariavelEXTRATOR DE URLs SVG DINÂMICO
=========================================================
Resultados do SVG #1:
----------------------------------------
Ofuscação: Decodificação XOR (tamanho da chave: 9)
URLs extraídas:
→ https://malicious.example.com/[email protected]
Uma ferramenta de análise dinâmica sofisticada que extrai e analisa JavaScript incorporado em arquivos SVG usando box-js. Esta ferramenta executa JavaScript em um ambiente isolado (sandbox) e é projetada para extrair URLs finais completas, mesmo quando construídas através de ofuscação complexa.
location, window.open, fetch, XHR, Image.src, etc.# Necessário: box-js deve estar instalado globalmente
npm install -g box-js
# Requisitos Python (opcional)
pip install -r requirements.txt
# Análise básica de um único SVG
python3 extract_dynamic.py -i malicious.svg
# Analisar com diretório de saída personalizado
python3 extract_dynamic.py -i malicious.svg -o analysis_results
# Analisar diretório de SVGs com tempo limite estendido
python3 extract_dynamic.py -i svg_samples/ -t 60
# Manter arquivos temporários para depuração
python3 extract_dynamic.py -i malicious.svg --keep-temp
# Salvar lista de bloqueio de URLs em arquivo
python3 extract_dynamic.py -i malicious.svg --blocklist-out urls.txt
# Mascarar endereços de e-mail para privacidade
python3 extract_dynamic.py -i malicious.svg --mask-emails
A ferramenta injeta um payload JavaScript abrangente que intercepta:
location.href, location.assign(), location.replace()window.open(), métodos de navegaçãofetch(), XMLHttpRequest.open()String.prototype.concat, manipulação de stringsatob(), decodeURI(), unescape()eval(), Function(), setTimeout()Detecta e lida automaticamente com:
find()=== Processando: malicious.svg ===
Gravou JS temporário -> /tmp/boxjs_svg_ABC/test.boxed.js
Executando box-js (tempo limite 30s) com hooks de sinks...
[+] box-js finalizado. Resultados em: boxjs_out/malicious.svg.boxjs_results
*** URLs COMPLETAS FINAIS ENCONTRADAS ***:
→ https://evil.example.com/[email protected]
E-mails encontrados:
→ [email protected]
=== RESUMO DA ANÁLISE FINAL ===
🎯 URLs COMPLETAS EXTRAÍDAS (1 total):
======================================================
→ https://evil.example.com/[email protected]
======================================================
Uma ferramenta de reconhecimento web para detectar mecanismos de segurança Cloudflare, incluindo Turnstile, sistemas CAPTCHA, verificação de navegador e outras medidas de proteção em cadeias de redirecionamento.
pip install requests
pip install brotli # Opcional para suporte brotli
# Verificar URL única para proteções Cloudflare
python3 cf_probe.py https://example.com
# Escanear com análise de arquivos JavaScript
python3 cf_probe.py https://example.com --scan-js
# Processar múltiplas URLs a partir de arquivo
python3 cf_probe.py -i urls.txt
# User-Agent e tempo limite personalizados
python3 cf_probe.py https://example.com -A "Custom-Agent" -t 30
# Desabilitar verificação TLS (para testes)
python3 cf_probe.py https://example.com --insecure
# Despejar HTML/JS para análise
python3 cf_probe.py https://example.com --dump analysis_dump/
data-sitekeyturnstile.render()turnstile.create()cf-turnstile=== Cadeia de Redirecionamento/Navegação (3 etapas) ===
[0] URL: https://example.com
Status: 301
Proteção Cloudflare: SIM (Cabeçalhos CF)
Cabeçalho CF: cf-ray: 123abc456def789
[1] URL: https://protected.example.com
Status: 200
Proteção Cloudflare: SIM (Turnstile, CAPTCHA Personalizado)
Chave(s) do Turnstile: 0x1AAA000000000000000
Evidência CAPTCHA: Clique no computador para verificar
=== Resumo ===
Proteção Cloudflare Detectada: Turnstile com chave(s): 0x1AAA000000000000000 | CAPTCHA Personalizado
Gera arquivos SVG ofuscados com vários padrões de codificação para testar as ferramentas de análise.
# Gerar padrão único
python3 encoder.py -u "https://evil.com/c2" -p 1 -o test.svg
# Gerar todos os padrões em diretório
python3 encoder.py --random-all -o test_patterns/
# Endereço de e-mail personalizado
python3 encoder.py -u "https://evil.com" -e "[email protected]" -p 3 -o custom.svg
FunctionArray.find()$ python3 encoder.py --random-all -o test_suite/
Gerado xor_proxy_enhanced: test_suite/pattern_01_xor_proxy_enhanced.svg
URL: https://r4nd0m.example.com/[email protected]
Gerado hex_function: test_suite/pattern_02_hex_function.svg
URL: https://evil-site.org/[email protected]
[... mais 4 padrões ...]
# Passo 1: Gerar casos de teste
python3 encoder.py --random-all -o test_cases/
# Passo 2: Análise estática primeiro (mais segura)
python3 extract.py -i test_cases/pattern_01_*.svg -v > static_results.txt
# Passo 3: Análise dinâmica (em ambiente isolado)
python3 extract_dynamic.py -i test_cases/ -o dynamic_results/ --blocklist-out malicious_urls.txt
# Passo 4: Verificar proteção Cloudflare nas URLs extraídas (se seguro fazer)
python3 cf_probe.py -i malicious_urls.txt
# Clonar ou baixar o kit
cd svg_tools/
# Instalar dependências Python
pip install -r requirements.txt
# Instalar box-js globalmente (para análise dinâmica)
npm install -g box-js
# Verificar instalação
python3 extract.py --help
python3 extract_dynamic.py --help
python3 cf_probe.py --help
python3 encoder.py --help