
Um conjunto profissional de spoofing de rede em Python totalmente assíncrono para auditoria de segurança autorizada. Inclui interceptação completa de IPv4/IPv6, ataques sem fio 802.11, envenenamento LLMNR/NBT-NS e uma TUI interativa com registro de auditoria à prova de adulteração.
Suíte profissional de spoofing de rede em Python assíncrono UI interativa orientada por menus · Cobertura completa IPv4/IPv6 · Envenenamento estilo Responder Apenas para testes de segurança autorizados — por amibhai
Aviso: Esta ferramenta destina-se apenas a fins educacionais e auditoria de segurança autorizada. Os autores não assumem qualquer responsabilidade e não são responsáveis por qualquer uso indevido ou dano causado por este programa. Não utilize esta ferramenta em redes que não possui ou para as quais não tem permissão explícita e por escrito para testar.
| Módulo | Descrição |
|---|---|
attacks/deauth.py | Desautenticação 802.11 — expulsar clientes, capturar handshakes WPA |
attacks/beacon_flood.py | Inundação de Beacons 802.11 — tempestade de SSIDs falsos |
attacks/llmnr_nbt.py | Envenenamento LLMNR + NBT-NS + mDNS (captura de hashes estilo Responder) |
attacks/icmpv6_ra.py | Spoof de Router Advertisement ICMPv6 — sequestro de gateway IPv6 |
attacks/ndp_spoof.py | Envenenamento de Neighbor Advertisement NDP IPv6 — ARP spoof IPv6 |
attacks/captive_portal.py | Portal cativo (modelos hotel/corporativo/café/ISP) |
attacks/wpad.py | Injeção de auto-configuração de proxy WPAD |
core/platform_compat.py | Abstração de macOS pf + Linux iptables + Windows netsh |
| Jitter de temporização | Atraso aleatório de ±N segundos em cada rajada de pacotes para evasão de IDS |
| GitHub Actions CI | pytest + mypy + gate de cobertura (≥80%) em Python 3.10–3.12 |
| Docker | docker build + docker-compose up para implantação portátil |
| pyproject.toml | Empacotamento moderno, configuração mypy strict, lint ruff, configuração de cobertura |
| Funcionalidade | Detalhes |
|---|---|
| Autorização | Ficheiro de âmbito de regras de envolvimento — fogo real é recusado para qualquer alvo fora do âmbito ou fora da janela; sem âmbito ⇒ apenas dry-run |
| Arquitetura | 100% Python 3.10+ assíncrono — zero threading.Thread |
| UI | Banner animado de 256 cores + menus numerados + breadcrumbs |
| Dashboard | TUI PRISM ao vivo de 3 painéis (registo de ataques / estatísticas de pacotes / credenciais) |
| Registo | Trilha de auditoria structlog encadeada com HMAC-SHA256 (à prova de adulteração) |
| Relatórios | JSON + Markdown + HTML gerados automaticamente após cada sessão |
| Idiomas | Deteção automática a partir de LANG + comutação manual (en, hi, ar, zh, fr, es) |
| Pré-verificação | Sistema de 17 verificações (âmbito, root, Python, dependências, interfaces, terminal) |
| Limpeza | Restaura sempre tabelas ARP/NDP, regras iptables/pf em finally |
| Plataforma | Linux (completo) · macOS (backend pf) · Windows (Npcap, limitado) |
Envolvimentos reais são definidos por um âmbito assinado. Este toolkit impõe um em código: não transmitirá um único pacote a um alvo que não esteja explicitamente autorizado, dentro de uma janela de envolvimento aberta. Esta é a diferença entre um instrumento profissional de red-team e um script indiscriminado.
rules/engagement.example.json.SPOOF_TOOLKIT_SCOPE.Session.guard(...) antes de tocar num alvo. Um
alvo fora dos intervalos autorizados — ou uma janela de envolvimento que já fechou
— levanta AuthorizationError e o ataque é recusado.fingerprint SHA-256 — é escrita
no registo de auditoria encadeado com HMAC e em cada relatório de sessão, para que o relatório prove
exatamente o que foi autorizado.# 1. Copy and edit the template with your engagement details + authorized targets
cp rules/engagement.example.json rules/my-engagement.json
# 2. Point the toolkit at it (enables live fire for in-scope targets only)
export SPOOF_TOOLKIT_SCOPE=rules/my-engagement.json
# 3. Verify it loaded and the window is open
sudo -E python3 spoof_toolkit.py --preflight
| Campo | Significado |
|---|---|
engagement_id | obrigatório — identificador único do engajamento |
authorized_by | obrigatório — parte nomeada que autoriza o teste (SOW / ticket) |
client, operator, contact, notes | metadados do engajamento para a trilha de auditoria |
start, end | janela ISO-8601 (UTC assumido se não houver offset); qualquer limite pode ser omitido para escopo aberto |
authorized_networks | CIDRs IPv4/IPv6 ou hosts isolados que podem ser alvo |
authorized_macs / authorized_ssids / authorized_bssids | allowlists para direcionamento L2 / wireless |
denied_networks / denied_macs | listas de não ataque — sempre prevalecem sobre as allowlists |
Fail-closed por design: uma allowlist vazia não autoriza nada, e um
host dentro do intervalo em uma entrada de denied_networks (por exemplo, um
controlador de domínio dentro de um /24 de outra forma autorizado) é recusado.
Modo seguro.
session.safe_mode = Trueforça dry-run mesmo com um escopo válido carregado — use-o para ensaiar um engajamento de ponta a ponta sem transmitir.
| Módulo | Arquivo | Descrição |
|---|---|---|
| ARP Spoofing | attacks/arp_spoof.py | Envenenamento de cache — MitM, DoS, unidirecional, somente gateway |
| DNS Spoofing | attacks/dns_spoof.py | Injeção de resposta — seletiva, spoof-all, arquivo de regras, NXDOMAIN |
| MitM Combinado | attacks/combined_mitm.py | ARP + DNS + captura de credenciais completo (asyncio.TaskGroup) |
| SSL Strip | attacks/ssl_strip.py | Proxy transparente de downgrade de HTTPS (Linux/macOS) |
| Rogue DHCP | attacks/rogue_dhcp.py | Sequestro do gateway padrão via servidor DHCP falso (stealthy) |
| LLMNR/NBT-NS | attacks/llmnr_nbt.py | NOVO — envenenamento LLMNR + NBT-NS + mDNS, captura de hash NTLMv2 |
| WPAD | attacks/wpad.py | NOVO — Injeção de auto-configuração de proxy do navegador |
| Captive Portal | attacks/captive_portal.py | NOVO — Página de login falsa com 4 templates |
| Módulo | Arquivo | Descrição |
|---|---|---|
| Deauth | attacks/deauth.py | NOVO — Desautenticação 802.11 (direcionada + broadcast), captura de handshake WPA |
| Beacon Flood | attacks/beacon_flood.py | NOVO — Inunda o ar com centenas de SSIDs falsos |
| AP Scanner | attacks/deauth.py | NOVO — Scanner passivo de beacons 802.11 |
| Client Scanner | attacks/deauth.py | NOVO — Detecta clientes associados a um AP |
| Módulo | Arquivo | Descrição |
|---|---|---|
| RA Spoof | attacks/icmpv6_ra.py | NOVO — ICMPv6 Router Advertisement (sequestro do gateway padrão) |
| NDP Spoof | attacks/ndp_spoof.py | NOVO — Envenenamento de Neighbor Advertisement (equivalente ao ARP em IPv6) |
| MitM IPv6 Completo | (combo) | NOVO — RA + NDP + encaminhamento IPv6 para interceptação IPv6 completa |
# 1. Install
sudo bash install.sh