pyproject.tomlremovido do GitHub (.gitignore); template:pyproject.toml.example- Workflow
publish-pypi.ymlremovido do repositório remoto - README/wiki: instalação via clone +
requirements.txt; sem badges PyPI - Regra Cursor:
.cursor/rules/local-packaging.mdc - Cópia local
pyproject.toml(v2.0.3) permanece na máquina para build/twine manual
handshake_crack_engine:attack_flow=both, máscaras smart ISP-BR, proteção térmica GPU- Cap2Hash nativo:
convert_only+input_dir+skip_converted - Lote:
input_dirprocessa múltiplos PCAP/hash com relatório cracked/failed
attack_flowwordlist | bruteforce | bothsmart_masks,mask_runtime_s,cooldown_s,gpu_temp_abort,log_file
- Contato unificado: suporte@uniaogeek.com.br em pyproject, README, SECURITY, CODE_OF_CONDUCT, CONTRIBUTORS e wiki
- Removidas menções a SafeLabs, paths legados
/mnteProjetos-SafeLabsem HANDOFF, docs e código - Guia offline adicionado:
docs/GUIA-CRACK-PCAP-OFFLINE.md(sem arquivos PCAP no repositório) - Commits remotos com
Co-authored-by: Cursore PCAPs sintéticos não incorporados — master sobrescrito - Versão bump: 2.0.2
- Linux:
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge - Wordlists:
/home/mrhenrike/Documentos/Projetos/WordListsForHacking - PCAPs de lab: repositório externo
PCAPTrafficAnalysis(não versionados aqui)
- Atribuições de IA (
Co-authored-by: Cursor) removidas do histórico remoto via force-push - Contato e suporte atualizados para União Geek
- pybluez deprecated → substituído por bleak em todo o core BLE
- dronekit → removido do pyproject.toml
- wifi_lab/ → removido (canonical é wifi/)
- simulate=True defaults → todos alterados para False (wifi, bluetooth, subghz, drones)
- dry_run=True → alterado para False em hashcat_gpu_orchestrator
- wifi/init.py all classes unbound → @requires_os lazy PEP 562 getattr
- DragonbloodSuite alias → adicionado em dragonblood_suite.py
- Protocol.WIFI/BLUETOOTH/ZIGBEE inexistentes → substituídos por Protocol.CUSTOM
- bt_hid_keyboard_inject sem classe Exploit → wrapper adicionado
- fragattacks conflito .py vs pacote → renomeado para fragattacks_native.py
- auth_flood nativo Scapy → _scapy_auth_flood() e _scapy_mesh_flood() implementados
- wireless_ids CSV parser → suporta formato compacto (4 col) além de airodump-ng
- bleak path sudo → wxf.py injeta SUDO_USER site-packages globalmente
- OptBoolean → OptBool em todos os módulos
- @multi sem self.target → removido de fragattacks/ e krack/
- print_warning() → adicionada ao core.exploit
- require_authorised_lab(self.*) → corrigido para require_authorised_lab()
- permissões pycache → corrigidas (find -exec chmod 755)
- phishing_engine templates → suporta formato diretório/index.html E .html direto
- pybluez no pyproject.toml → removido dos extras [bt] e [all-modules]
- capive portal loader → _load_template_html() suporta ambos os formatos
- wirelessxpl/modules/generic/wifi/interface_manager.py v2 (select multi-spec)
- wirelessxpl/modules/generic/wifi/arp_mitm_proxy.py (ARP MITM + XSS + XXE + IMG)
- wirelessxpl/modules/generic/wifi/csa_handshake_capture.py (PMF bypass CSA)
- wirelessxpl/modules/generic/wifi/handshake_crack_engine.py (multi-backend crack)
- wirelessxpl/modules/generic/wifi/pmkid_autopwn.py v2 (Scapy nativo)
- wirelessxpl/modules/generic/wifi/wardriving_deauth_loop.py v2 (Scapy nativo)
- wirelessxpl/modules/generic/wifi/wps_engine_native.py v2 (PIN predict, PBC hijack, MAC rotation)
- wirelessxpl/core/config.py (WXFConfig singleton, timing T0-T5, USB detection)
- wirelessxpl/core/wifi/interface_registry.py v2 (USB/PCIe detection fix)
- GATT enum de dispositivos BLE próximos (sinal fraco -90dBm+)
- WPS M4-M8 completo com PSK recovery via PIN correto
- Beck-Tews TKIP PTK via chopchop completo
- DragonForce passive capture de respostas status=77
- DragonSlayer EAP state machine completa
- Teste de integração: ESP8266WIDSBridge com hardware real
- CSRF token server-side nos portais captivos (não crítico)
- BT HID inject requer dispositivo em modo pairing (normal)
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Wordlists: /home/mrhenrike/Documentos/Projetos/WordListsForHacking
- Interfaces: iface_mon=wlx24050f3d5f0a iface_inj=wlx44334cbe826b extra=wlx688fc9528f9a
- LHOST: 192.168.18.225:4444
- 106/106 módulos wifi+bluetooth carregam sem erro
- simulate=False em TODOS os módulos
- wxf.py exibe banner global no startup (interfaces, timing, LHOST)
- Testes e2e com hardware real concluídos com sucesso
- Repositório migrado para ambiente Linux nativo (sem WSL2/mnt)
- Novo path canonical:
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge - Wordlists (sibling):
/home/mrhenrike/Documentos/Projetos/WordListsForHacking - Os 5 projetos estão em
/home/mrhenrike/Documentos/Projetos/ - Histórico reescrito com
git-filter-repo: todos os commits agora têm autormrhenrike <suporte@uniaogeek.com.br>; atribuições de IA removidas - Hook
commit-msgativo em.githooks/(superprojeto); cada repo aponta viacore.hooksPath - Regra do Cursor:
.cursor/rules/no-ai-attribution.mdc(alwaysApply) - Auth GitHub configurada via
ghCLI (HTTPS, token com escoporepo)
wirelessxpl/modules/generic/wifi/__init__.py: adicionado__getattr__(PEP 562) para lazy binding deFloodEngine,WPSEngine,PhishingEngine,CaptiveNetwork,MonitorModeManager,DragonbloodSuitewirelessxpl/modules/generic/wifi/dragonblood_suite.py: adicionado aliasDragonbloodSuite = Exploittools/: todos os scripts com paths hardcoded/home/mrhenrike/Documentos/Projetos/atualizados para derivar o root via$(dirname "${BASH_SOURCE[0]}")/../; scripts de crack usam${WXF_WL_BASE:-<sibling>}como base de wordliststools/fix_paths.pyetools/fix_hcxdumptool.py: portabilizados viaPath(__file__).parent
- Linux:
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge - Wordlists:
/home/mrhenrike/Documentos/Projetos/WordListsForHacking - Windows (legado, não usar):
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
-
wifi/__init__.pycom classes em__all__não bound - Alias
DragonbloodSuiteausente emdragonblood_suite.py - Paths hardcoded
/mnt/d/...em todos os tools - Atribuições de IA removidas do histórico git
- Aplicar
@requires_osnos módulos WiFi/BT restantes - Teste de integração com hardware real: monitor mode, BLE, RTL-SDR, MAVLink
- WPS M4-M8 completo (PSK recovery via PIN correto)
- DragonForce: captura passiva de respostas status=77
- DragonSlayer: EAP state machine completa
- Beck-Tews TKIP: recuperação completa de PTK via chopchop
- Templates captive portal: CSRF token server-side
-
dronekitdeprecated - avaliar substituição
- Criados 49 arquivos novos em 6 blocos de ataque
- Todos os arquivos passaram em
python -m py_compilesem erros - Commit
ceab4b5realizado e pushed para origin/master - Repositorio: https://github.com/mrhenrike/WirelessXPL-Forge
BLOCO M -- Sub-GHz Attack Suite
wirelessxpl/protocols/__init__.py(novo pacote)wirelessxpl/protocols/subghz/__init__.pywirelessxpl/protocols/subghz/ook_encoder.py-- EV1527/Princeton/CAME/NICE/Holtek/Chamberlain/Ansonicwirelessxpl/protocols/subghz/keeloq_engine.py-- KeeLoq encrypt/decrypt, decode_framewirelessxpl/protocols/subghz/sub_file_parser.py-- Flipper Zero .sub parse/generatewirelessxpl/modules/generic/subghz/__init__.pywirelessxpl/modules/generic/subghz/static_code_replay.pywirelessxpl/modules/generic/subghz/debruijn_bruteforce.pywirelessxpl/modules/generic/subghz/keeloq_decoder.pywirelessxpl/modules/generic/subghz/keeloq_replay.pywirelessxpl/modules/generic/subghz/ev1527_vehicle_cve_2025_70994.pywirelessxpl/modules/generic/subghz/subghz_jammer.py(triple auth gate)wirelessxpl/modules/generic/subghz/br_gate_scanner.pywirelessxpl/modules/generic/subghz/tpms/tpms_decoder.pywirelessxpl/modules/generic/subghz/tpms/tpms_spoof.pywirelessxpl/modules/generic/subghz/tools/ook_analyzer.py
BLOCO O -- Drone/UAV Attack Suite
wirelessxpl/modules/generic/drones/drone_scanner.pywirelessxpl/modules/generic/drones/mavlink/mavlink_scanner.pywirelessxpl/modules/generic/drones/mavlink/mavlink_force_disarm.pywirelessxpl/modules/generic/drones/mavlink/mavlink_gps_spoof.pywirelessxpl/modules/generic/drones/mavlink/mavlink_waypoint_inject.pywirelessxpl/modules/generic/drones/mavlink/mavlink_geofence_disable.pywirelessxpl/modules/generic/drones/mavlink/mavlink_param_dump.pywirelessxpl/modules/generic/drones/mavlink/mavlink_flood_dos.pywirelessxpl/modules/generic/drones/dji/dji_wifi_scan.pywirelessxpl/modules/generic/drones/dji/dji_quicktransfer_exfil_cve_2023_6951.pywirelessxpl/modules/generic/drones/dji/dji_deauth.pywirelessxpl/modules/generic/drones/dji/dji_droneid_info.pywirelessxpl/modules/generic/drones/parrot/parrot_anafi_deauth_cve_2019_3944.pywirelessxpl/modules/generic/drones/parrot/parrot_anafi_webcrash_cve_2019_3945.pywirelessxpl/modules/generic/drones/parrot/parrot_anafi_udp_cmd_inject.pywirelessxpl/modules/generic/drones/parrot/parrot_bebop_dhcp_exhaust_cve_2022_46416.pywirelessxpl/modules/generic/drones/holystone/hsrid01_ble_dos_cve_2024_52876.pywirelessxpl/modules/generic/drones/fpv/eachine_e52_tcp_takeover.py
BLOCO B -- FragAttacks CVEs
wirelessxpl/modules/generic/wifi_lab/fragattacks/fragattacks_cve_2020_26140.pywirelessxpl/modules/generic/wifi_lab/fragattacks/fragattacks_cve_2020_26141.pywirelessxpl/modules/generic/wifi_lab/fragattacks/fragattacks_cve_2020_26143.pywirelessxpl/modules/generic/wifi_lab/fragattacks/fragattacks_scanner.py
BLOCO C -- KRACK
wirelessxpl/modules/generic/wifi_lab/krack/krack_4way_retransmit.pywirelessxpl/modules/generic/wifi_lab/krack/krack_group_key_retransmit.pywirelessxpl/modules/generic/wifi_lab/krack/krack_scanner.py
BLOCO A -- SweynTooth Native
wirelessxpl/modules/generic/bluetooth/sweyntooth/sweyntooth_cve_2019_16336.pywirelessxpl/modules/generic/bluetooth/sweyntooth/sweyntooth_cve_2019_17517.pywirelessxpl/modules/generic/bluetooth/sweyntooth/sweyntooth_cve_2019_17519.pywirelessxpl/modules/generic/bluetooth/sweyntooth/sweyntooth_cve_2019_17520.pywirelessxpl/modules/generic/bluetooth/sweyntooth/sweyntooth_scanner.py
BLOCO J -- RIP/VRRP
wirelessxpl/modules/generic/wifi_lab/rtp_rip_spoof.pywirelessxpl/modules/generic/wifi_lab/vrrp_takeover.py
ceab4b5-- feat: WXF complete expansion - BLOCOs A/B/C/M/O/J
- Registrar novas entradas no README.md (secoes Sub-GHz, Drones, FragAttacks, KRACK, SweynTooth nativo)
- Adicionar entradas para novos modulos no interpreter.py se necessario para CLI discovery
- Testar modulos com hardware real: RTL-SDR (subghz), MAVLink drone (drone suite), BLE adapter (sweyntooth)
- README.md update para novos blocos A,B,C,M,O,J
- interpreter.py discovery para novos paths de modulos
- SweynTooth CVE-2019-17518 (STM BlueNRG-1) ainda nao implementado como modulo dedicado
- DroneID active decoder requer GNU Radio -- apenas documentado
- Python 3.9+
- pip install scapy bleak pymavlink (para modulos avancados)
- hackrf-tools, rtl-sdr, rtl_433 (para sub-ghz)
- WiFi adapter em monitor mode (fragattacks, krack)
- BLE adapter hci0 (sweyntooth)
- Windows:
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge - Linux:
/home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
[2026-06-08 03:42] - WiFi Arsenal Integration: Evidence Vault, WIDS, Wardrive, Portal Manager, Session Manager
- Analisados 7 repositorios WiFi Arsenal (wifi-arsenal_1 a _7) em submodules/IoT/
- Identificadas funcionalidades unicas nao existentes no WXF
- Implementados 6 novos modulos em wirelessxpl/modules/generic/:
- evidence_vault/evidence_vault.py (reescrito): SQLite hash-chained audit ledger, ISO 27037 compativel
- wardrive/wardrive_logger.py (reescrito): GPS logger com gpsd/NMEA, export CSV/JSON/KML/GeoJSON
- wids/wifi_ids.py (reescrito): WIDS nativo Scapy, detecta 8 tipos de ataque, MQTT opcional
- evil_twin/portal_manager.py (NOVO): portal captivo stdlib, 8 templates HTML (ISPs BR + Google + Starbucks)
- wids/esp8266_wids_bridge.py (NOVO): bridge MQTT para ESP8266 WIDS hardware
- session_manager/session_manager.py (reescrito): persistencia SQLite multi-sessao completa
- Todos os init.py atualizados com exports corretos
- Sintaxe validada: python -m py_compile OK em todos os 6 arquivos
- Commit: 92235aa "Add Evidence Vault, Wardrive Logger, WIDS, Portal Manager, Session Manager"
- Push: https://github.com/mrhenrike/WirelessXPL-Forge.git master
- wirelessxpl/modules/generic/evidence_vault/init.py
- wirelessxpl/modules/generic/evidence_vault/evidence_vault.py
- wirelessxpl/modules/generic/wardrive/init.py
- wirelessxpl/modules/generic/wardrive/wardrive_logger.py
- wirelessxpl/modules/generic/wids/init.py
- wirelessxpl/modules/generic/wids/wifi_ids.py
- wirelessxpl/modules/generic/wids/esp8266_wids_bridge.py (NOVO)
- wirelessxpl/modules/generic/evil_twin/init.py (NOVO)
- wirelessxpl/modules/generic/evil_twin/portal_manager.py (NOVO)
- wirelessxpl/modules/generic/session_manager/init.py
- wirelessxpl/modules/generic/session_manager/session_manager.py
- Integrar portal_manager ao fluxo existente de evil_twin no WXF
- Testar WardriveLogger com GPS real (gpsd) em campo
- Validar WirelessIDS com adaptador em monitor mode
- Integrar EvidenceVault com os ataques existentes (airgeddon wrapper, etc.)
- Adicionar mapa interativo Folium/Leaflet usando GeoJSON do WardriveLogger
- Bluetooth module (arsenal_2) - BluetoothScanner ainda nao integrado ao WXF
- Portal templates adicionais: Microsoft, hotel, aeroporto
- Teste de integracao do ESP8266WIDSBridge com hardware real
- wifi_lab/ap_less_client_attack.py tem modificacao nao commitada (pre-existente)
- Python 3.9+
- pip install scapy paho-mqtt bleak (para modulos avancados)
- WiFi adapter em monitor mode para WirelessIDS real
- ESP8266 com firmware WIDS para esp8266_wids_bridge
- gpsd daemon para GPS real no WardriveLogger
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Corrigido erro de sintaxe em wifi_lab/ap_less_client_attack.py (IndentationError linha 100 - if sem body)
- Adicionado un() em: �is_spoof.py, raffic_enforcement_scanner.py, mcw_radar_attack.py
- Adicionado info em: �vidence_vault.py, wardrive_logger.py, wifi_ids.py, session_manager.py
- README.md (EN) expandido com: Sub-GHz protocol table, DeBruijn/EV1527/MAVLink/AIS examples, FMCW radar, Evidence Vault, WIDS, SweynTooth, FragAttacks, KRACK sections
- README.pt-BR.md completamente reescrito para v1.8.0 com todas as secoes novas em PT-BR
- Todos os modulos dos BLOCOs A/B/C/F/I/M/O verificados: syntax OK, info presente, simulate implementado onde aplicavel
- Sessao anterior (paralela) ja commitou as mudancas antes do encerramento desta sessao
- d67ce62 - module quality fixes + README.md v1.8.0
- �182ed8 - README.pt-BR.md update v1.8.0
- 6761ed - docs(pt-BR) final v1.8.0 syntax samples
- Integrar EvidenceVault com chamadas dos modulos de ataque existentes
- Integrar EvidenceVault com os ataques existentes (gravar evidencias automaticamente)
- Adicionar mapa interativo Folium usando GeoJSON do WardriveLogger
- Bluetooth BLE scanner real integrado ao framework WXF
- Testes de integracao: ESP8266WIDSBridge + hardware real
- Atribuições de IA removidas do histórico remoto (force-push sem Co-authored-by)
- Python 3.9+
- pip install scapy paho-mqtt bleak
- WiFi adapter em monitor mode para WirelessIDS
- HackRF / CC1101 para modulos Sub-GHz ao vivo
- RTL-SDR para TPMS decoder
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Wiki completa criada e publicada em https://github.com/mrhenrike/WirelessXPL-Forge/wiki
- 14 paginas criadas: Home, Quick-Start, CLI-Reference, Wi-Fi-Attacks, Bluetooth-BLE, SubGHz-Attacks, Drone-Security, Maritime-Security, Evidence-Forensics, Wardriving, WIDS, Hardware, FragAttacks, KRACK, Configuration
- Cada pagina tem terminal I/O completo com exemplos realistas
- README.md atualizado: badges completos (PyPI, Python, CI, Downloads, License, Version, Modules, Platform) + link direto para a wiki no GitHub
- Secao "WiFi Arsenal" ja estava renomeada para "Forensics, Wardriving and Session Management" antes desta sessao
- Nenhuma referencia a BLOCO X ou WiFi Arsenal encontrada no README
- Commits: wiki (4632524), README (2cdea70) - ambos pushed para master
- Verificar se a wiki esta visivelmente publicada em https://github.com/mrhenrike/WirelessXPL-Forge/wiki
- Considerar adicionar README.pt-BR.md (ja referenciado na linha 7 do README mas arquivo pode nao existir)
- README.pt-BR.md referenciado no README mas pode nao existir
- docs/wiki/en-US/ e docs/wiki/pt-BR/ referenciados em COVERAGE_MATRIX podem ser removidos do README (substituidos pelo GitHub Wiki)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Wiki local: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge.tmp\wxf_wiki
- Criadas 15 paginas PT-BR completas com traducao integral (terminal I/O preservado)
- Criado _Sidebar-ptBR.md com navegacao completa em portugues
- Home.md atualizado com link para Home-pt-BR.md
- Commit e push realizados: hash 6ad86e6
- Home-pt-BR.md, Inicio-Rapido.md, Referencia-CLI.md, Configuracao.md
- Ataques-WiFi.md, Bluetooth-BLE-ptBR.md, Ataques-SubGHz.md
- Seguranca-Drones.md, Seguranca-Maritima.md, Evidencias-Forense.md
- Wardriving-ptBR.md, WIDS-ptBR.md, Hardware-ptBR.md
- FragAttacks-ptBR.md, KRACK-ptBR.md, _Sidebar-ptBR.md
- Wiki PT-BR concluida. Verificar rendering no GitHub Wiki se necessario.
- Verificar rendering das paginas no GitHub Wiki
- Python 3.8+ (apenas para uso do framework)
- Git com acesso ao repositorio mrhenrike/WirelessXPL-Forge.wiki
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Wiki local: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge.tmp\wxf_wiki
- Criado wirelessxpl/core/os_guard.py: sistema de verificacao de compatibilidade de OS por modulo via decorator @requires_os
- Criado tests/init.py: arquivo vazio para reconhecimento do pacote de testes
- Criado tests/test_os_guard.py: 17 testes unitarios cobrindo todos os requisitos de OS e o helper get_module_os_label
- 17/17 testes passando com pytest (Python 3.13.5)
- Nenhum arquivo existente foi modificado
- Integrar @requires_os nos modulos existentes (ex: modules/wifi/, modules/bluetooth/) para habilitar a guard em producao
- Aplicar @requires_os(OSRequirement.LINUX_ONLY) nos modulos WiFi que usam monitor mode
- Aplicar @requires_os(OSRequirement.LINUX_MAC) nos modulos Bluetooth/BLE
- Aplicar @requires_os(OSRequirement.CROSS_PLATFORM) nos exporters e analisadores offline
- Expor get_module_os_label na listagem do CLI (wxf.py ou interpreter.py)
- Python 3.13+
- pytest 8.x para rodar os testes
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\core\os_guard.py
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\tests\test_os_guard.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/core/os_guard.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/tests/test_os_guard.py
- Auditoria completa de bridges proibidos em wirelessxpl/modules/generic/ (54 arquivos com referencias a binarios proibidos)
- wifi_lab/ renomeado para wifi/ (73 arquivos raiz + 9 subdiretorios copiados)
- Referencias internas "wifi_lab" substituidas por "wifi" em 41 arquivos copiados + 21 arquivos externos
- interpreter.py: path_tokens check atualizado para incluir "wifi" (mantido "wifi_lab" por compatibilidade)
- wifi_lab/DEPRECATED.md criado (aviso de deprecacao)
- Bridges obsoletos removidos: airgeddon_bridge, wirespy_bridge, pwnagotchi_bridge, sniffair_passive_recon, hashcatch_bridge, pmk_precompute (wifi/ e wifi_lab/)
- BRIDGE_AUDIT.md gerado em /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/.tmp/wxf-references/
- docs/PREREQUISITES.md atualizado com secao "Politica de Dependencias - WXF v1.7.0+"
- wirelessxpl/modules/generic/wifi/ (NOVO - 82 arquivos)
- wirelessxpl/modules/generic/wifi/init.py (NOVO conteudo)
- wirelessxpl/modules/generic/wifi_lab/DEPRECATED.md (NOVO)
- wirelessxpl/interpreter.py (path_tokens check)
- wirelessxpl/modules/generic/bluetooth/*.py (9 arquivos - imports)
- wirelessxpl/modules/generic/external/*.py (11 arquivos - imports)
- docs/PREREQUISITES.md (secao de politica adicionada ao topo)
- /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/.tmp/wxf-references/BRIDGE_AUDIT.md (NOVO)
- Fase 0B: Criar wirelessxpl/modules/generic/wifi/wps_engine_native.py (substitui reaver/bully/pixiewps)
- wifi_lab/ ainda existe - remover apos validacao completa dos imports
- external/momo_integrated_attack.py e external/evilginx_prereq_pointer.py listados mas existem em wifi_lab/ (nao em external/) - verificar se devem ser removidos de wifi_lab/ tambem
- Fase 0B: wps_engine_native.py (substitui reaver/bully bridges)
- Fase 0C: flood_engine_native.py (substitui mdk3/mdk4 bridges)
- Fase 0D: phishing_engine.py (substitui wifiphisher/fluxion bridges)
- Python 3.10+
- Sem commits/push - apenas mudancas locais
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\docs\PREREQUISITES.md
- Windows: /home/mrhenrike/Documentos/Projetos.tmp\wxf-references\BRIDGE_AUDIT.md
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/docs/PREREQUISITES.md
- Criado wirelessxpl/modules/generic/wifi/wps_engine_native.py (~59 KB, ~1674 linhas)
- Implementacao 100% Python/Scapy do protocolo WPS EAP-WSC (M1-M8)
- Sem modificacoes em arquivos existentes; sem commit/push
- wirelessxpl/modules/generic/wifi/wps_engine_native.py (novo, criado)
- nenhum (Phase 0B nao inclui commit)
- Criar init.py no diretorio wifi/ (se Phase 0C for delegada)
- Ou: rodar testes de importacao basicos (python -c "from wirelessxpl.modules.generic.wifi.wps_engine_native import Exploit")
- Depois: integracao com o wxf.py dispatcher / CLI para registrar o novo modulo
- Teste de importacao no ambiente Linux (monitor mode, Scapy instalado)
- Implementar M4-M8 completo para recuperacao de PSK via PIN correto (M8 path)
- Adicionar suporte a fragmentacao EAP-WSC (flag 0x01 em frames grandes)
- Integrar init.py se Phase 0C ainda nao foi executada
- Linux (Ubuntu/Kali) com interface WiFi em modo monitor
- pip install scapy cryptography
- sudo apt install reaver (para modo scan via wash)
- Interface em monitor mode: sudo airmon-ng start wlan0
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\wps_engine_native.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/wps_engine_native.py
- Criado wirelessxpl/modules/generic/wifi/flood_engine_native.py (33 KB)
- Implementa todos os 8 modos do mdk4 via Scapy nativo: b, a, d, p, m, g, e, w
- Michael MIC calculado em Python puro (funcoes _michael_b + michael_mic)
- send_deauth() exportada no nivel de modulo para uso por phishing_engine.py e handshake_snooper.py
- RSN IE TKIP-only (_build_rsn_ie_tkip_only) para modo g (WPA downgrade)
- EAPOL-Key MIC error report para modo m (Michael MIC shutdown)
- Sem em dash, sem fingerprints, docstrings Google, zero linter errors
- Outro agente cria/atualiza init.py do pacote wifi/ exportando send_deauth e michael_mic
- Outro agente integra flood_engine_native.py nos modulos phishing_engine.py e handshake_snooper.py
- init.py do pacote wifi/ a ser atualizado (outro agente - Phase 0C sequencia)
- Integracao com phishing_engine.py: import send_deauth from flood_engine_native
- Integracao com handshake_snooper.py: import send_deauth from flood_engine_native
- Testes funcionais no Linux com interface em monitor mode (requirem hardware real)
- Linux (Ubuntu/Kali) com interface WiFi em modo monitor
- pip install scapy
- sudo airmon-ng start wlan0
- iw instalado para channel hop (modo b sem canal fixo e modo w)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\flood_engine_native.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/flood_engine_native.py
- Refatorado: wirelessxpl/modules/generic/wifi/dragonblood_suite.py
- Removidas 5 chamadas subprocess a binarios externos (dragontime, dragonforce, dragondrain, dragonslayer-client, dragonslayer-server)
- Adicionadas 4 classes nativas: DragonTimingAttack, DragonForce, DragonDrain, DragonSlayer
- Adicionado @requires_os(OSRequirement.LINUX_ONLY) na classe Exploit
- Modos atualizados: timing, force, drain, slayer, info, downgrade_info
- Versao: 1.0.0 -> 2.0.0
- Zero erros de lint
- wirelessxpl/modules/generic/wifi/dragonblood_suite.py
- python -m py_compile wirelessxpl/modules/generic/wifi/dragonblood_suite.py
- DragonSlayer: ataques reflection/invalid-curve exigem EAP state machine completa
- DragonForce: captura passiva de respostas status=77 nao implementada
- Python 3.8+, Scapy, numpy (recomendado)
- Linux, interface Wi-Fi em modo monitor, root/CAP_NET_RAW
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\dragonblood_suite.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/dragonblood_suite.py
- Criado dns_dhcp_server.py: CaptiveDNSServer (dnslib), CaptiveDHCPServer (Scapy), CaptiveNetwork, Exploit
- Criado monitor_mode_manager.py: MonitorModeManager (context manager), Exploit
- Nenhum arquivo existente modificado
- Sem commit/push
- Integrar dns_dhcp_server com captive_portal_engine (substituir dnsmasq)
- Testar CaptiveDHCPServer em ambiente de lab com interface wlan0
- Integrar CaptiveNetwork no captive_portal_engine como alternativa a dnsmasq
- Testar CaptiveDNSServer modo spoof com upstream forwarding real
- Verificar comportamento do MonitorModeManager em interfaces que renomeiam (wlan0 -> wlan0mon)
- Adicionar suporte a IPv6 no CaptiveDNSServer (AAAA redirect opcional)
- Python 3.7+
- pip install dnslib scapy
- Linux com root (port 53 e raw sockets)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\dns_dhcp_server.py
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\monitor_mode_manager.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/dns_dhcp_server.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/monitor_mode_manager.py
- Criado wirelessxpl/modules/generic/wifi/phishing_engine.py (novo arquivo, 660+ linhas)
- Zero erros de lint
- APScanner: Scapy beacon/probe-response sniffer (BSSID, SSID, canal, RSSI, enc, clientes)
- HostapdManager: gera wxf-hostapd.conf dinamicamente, inicia hostapd como subprocess com finally cleanup
- DeauthWorker: lazy import de flood_engine_native; fallback Scapy Dot11Deauth inline; thread daemon
- CaptiveNetworkStack: lazy import de dns_dhcp_server; fallback dnslib AllRedirectResolver em :53
- PhishingHTTPServer: BaseHTTPRequestHandler; auto-selecao de template por UA + Accept-Language; connectivity check spoofing (iOS CNA, Android, Windows NLA); captura POST /capture
- HandshakeVerifier: aircrack-ng -w - (stdin) para verificar handshake sem escrever senha no disco
- _CredentialStore: JSON seguro - apenas SHA-256 da senha, nunca plaintext nos logs
- _select_template(): auto-selecao por OS (Android->google_wifi, iOS->apple_captive, Windows->microsoft_365)
- 23 templates detectados em wirelessxpl/resources/captive_templates/
- class Exploit(WXF API): modos info | scan | list_templates | start | generate_config
- Connectivity checks: captive.apple.com, connectivitycheck.gstatic.com, www.msftconnecttest.com e 6 outros
- wirelessxpl/modules/generic/wifi/phishing_engine.py
- python -m py_compile wirelessxpl/modules/generic/wifi/phishing_engine.py (em Linux com Scapy)
- Testar modo scan: set mode scan; set interface_mon wlan0mon; set i_know_scope true; run
- flood_engine_native.send_deauth nao existe ainda - DeauthWorker usa Scapy inline como fallback
- dns_dhcp_server nao existe ainda - CaptiveNetworkStack usa dnslib como fallback
- DHCP nativo nao implementado no fallback dnslib (apenas DNS redirect)
- Templates com campos customizados (hotel_wifi: room/last_name) capturados mas mapeamento nao especializado
- Python 3.8+, Scapy, hostapd
- Linux (root/CAP_NET_RAW), interface em modo monitor + interface AP
- Opcional: aircrack-ng, dnslib (pip install dnslib)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\phishing_engine.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/phishing_engine.py
- Refatorado in-place wep_attack_suite.py (v2.0.0): 7 substituicoes de aireplay-ng/airodump-ng por Scapy nativo
- Refatorado in-place tkip_attack_suite.py (v2.0.0): michael_mic() nativo adicionado, Beck-Tews nativo como primario
- Arquivos modificados:
- wirelessxpl/modules/generic/wifi/wep_attack_suite.py
- wirelessxpl/modules/generic/wifi/tkip_attack_suite.py
- Sem commits/push conforme instrucao
- airodump-ng -> _capture_ivs_scapy() (thread Scapy sniffer, escreve pcap para aircrack-ng)
- aireplay-ng -1 -> _fake_auth_loop() (Dot11Auth + Dot11AssoReq via sendp)
- aireplay-ng -2 -> _interactive_replay_loop() (captura e replay de frames WEP)
- aireplay-ng -3 -> _arp_replay_loop() (captura ARP WEP e replay continuo)
- aireplay-ng -4 -> _chopchop_native() (algoritmo chopchop byte-a-byte nativo)
- aireplay-ng -5 -> _frag_attack_loop() (injecao fragmentada com recalculo de numero de sequencia)
- aireplay-ng -6 -> _caffe_latte_loop() (nudge a clientes via Dot11 data from-DS)
- aireplay-ng -7 -> _hirte_loop() (CFrag via LLC/SNAP fragmentado)
- aircrack-ng mantido: _try_crack() com comentario ACCEPTED DEP
- Adicionada michael_mic() em nivel de modulo (algoritmo completo IEEE 802.11 / Beck&Tews 2008)
- _run_beck_tews() renomeado para _run_beck_tews_tkiptun() (mantido como ACCEPTED DEP)
- _run_beck_tews_native() adicionado como caminho primario (Scapy + michael_mic)
- Dispatch em run() atualizado: beck_tews -> _run_beck_tews_native() (fallback automatico para tkiptun-ng)
- tkiptun-ng: todos os pontos de chamada marcados com ACCEPTED DEP
- Testar em ambiente Linux com interface em modo monitor (python -m py_compile primeiro)
- Ajustar timeout do chopchop se necessario para o ambiente alvo
- Teste de integracao em hardware real (wlan0mon)
- _chopchop_native: validar heuristica de deauth vs aceitacao em APs reais
- Beck-Tews nativo: implementar recuperacao completa de PTK via chopchop TKIP (atualmente demostra MIC, delega execucao ao tkiptun-ng)
- Python 3.8+, Scapy (pip install scapy)
- aircrack-ng (apenas para aircrack-ng e tkiptun-ng)
- Linux com interface em modo monitor e suporte a injecao
- CAP_NET_RAW ou root
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\wep_attack_suite.py
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi\tkip_attack_suite.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/wep_attack_suite.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi/tkip_attack_suite.py
- Refatoracao de 3 modulos em wirelessxpl/modules/generic/wifi_lab/ concluida in-place
- handshake_snooper.py: v1.1.0 -> v2.0.0 (reescrita completa)
- deauth_multimode.py: v1.0.0 -> v1.1.0 (alteracoes cirurgicas)
- aireplay_deauth_barrage.py: v1.x -> v2.0.0 (reescrita com suporte Scapy)
- deauth_csa_suite.py: nao modificado (ja possuia Scapy integrado)
- selective_jammer.py: nao modificado (fora do escopo do Phase 0F)
- Sem commits realizados (conforme instrucao)
- wirelessxpl/modules/generic/wifi_lab/handshake_snooper.py
- wirelessxpl/modules/generic/wifi_lab/deauth_multimode.py
- wirelessxpl/modules/generic/wifi_lab/aireplay_deauth_barrage.py
handshake_snooper.py:
- REMOVIDO: cowpatty subprocess (verify_method=cowpatty)
- REMOVIDO: pyrit subprocess (verify_method=pyrit)
- SUBSTITUIDO: airodump-ng como capturador primario -> Scapy sniff() EAPOL (use_airodump=False por padrao)
- SUBSTITUIDO: aireplay-ng como unico deauth -> Scapy Dot11Deauth (native_deauth=True por padrao)
- MANTIDO: airodump-ng como opcao (use_airodump=True), aceito como parte do aircrack-ng suite
- MANTIDO: aireplay-ng como opcao (native_deauth=False), aceito como parte do aircrack-ng suite
- MANTIDO: aircrack-ng como unico verificador
- ADICIONADO: _classify_eapol_message() para deteccao M1/M2/M3/M4 via Key Information bitmasks
- ADICIONADO: _capture_eapol_scapy() com stop_filter e threading.Event para parada antecipada
- ADICIONADO: _send_deauth_native() (Scapy Dot11Deauth broadcast)
deauth_multimode.py:
- ALTERADO: backend default de "aireplay" para "native" (Scapy)
- ADICIONADO: "native" ao VALID_BACKENDS
- ADICIONADO: normalizacao "native" -> "scapy" no run()
- ADICIONADO: prioridade native/scapy em _run_targeted_deauth_with_capture()
- CORRIGIDO: tempfile.mkdtemp() -> Path(".tmp/wxf_deauth_...") em _run_targeted_deauth_with_capture()
- CORRIGIDO: tempfile.TemporaryDirectory() -> Path(".tmp/wxf_scan_...") em _scan_clients()
- REMOVIDO: import os (nao utilizado)
aireplay_deauth_barrage.py:
- SUBSTITUIDO: aireplay-ng como unico modo -> Scapy como modo primario (mode="native")
- ADICIONADO: mode = OptString("native", ...) parametro
- ADICIONADO: _send_deauth_scapy() metodo por burst
- ADICIONADO: _run_scapy_barrage() loop de alta intensidade via Scapy
- EXTRAIDO: logica aireplay para _run_aireplay_barrage() e _one_burst_aireplay()
- CORRIGIDO: bug self.subprocess_timeout_s (nao existia) -> constante _BURST_SUBPROCESS_TIMEOUT_S=30
- MANTIDO: aireplay-ng como opcao (mode="aireplay") com fallback automatico para Scapy
- Testar em Linux: python -m py_compile wirelessxpl/modules/generic/wifi_lab/handshake_snooper.py
- Integrar com Phase 0A (rename wifi_lab/ -> wifi/) quando aplicavel
- Teste com hardware real (wlan0mon) para validar captura EAPOL Scapy
- selective_jammer.py: ainda usa aireplay-ng e mdk4 primariamente (nao era escopo 0F)
- deauth_csa_suite.py: method default ainda e "deauth_aireplay" - potencial melhoria futura
- Python 3.8+, Scapy (pip install scapy)
- aircrack-ng (opcional - para verificacao e modo airodump)
- Linux com interface em modo monitor e suporte a injecao
- CAP_NET_RAW ou root para sendp()
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi_lab\handshake_snooper.py
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi_lab\deauth_multimode.py
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\modules\generic\wifi_lab\aireplay_deauth_barrage.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi_lab/handshake_snooper.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi_lab/deauth_multimode.py
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/modules/generic/wifi_lab/aireplay_deauth_barrage.py
- pyproject.toml: dnslib>=0.9.24 e cryptography>=41.0 adicionadas ao core
- 10 bridges obsoletos deletados (6 em wifi/, 4 em external/)
- wifi/init.py atualizado com docstring completa e send_deauth() lazy-import
- CHANGELOG.md criado na raiz com entrada v1.7.0 completa
- FULL_CATALOG.md: secao "Modulos Nativos v1.7.0" inserida no topo
- Commit: 6ff36a0 "v1.7.0 - native WPS/MDK/Phishing/DNS-DHCP/Monitor engines + OS Guard" (118 files changed)
- Tag v1.7.0 recriada e force-pushed para origin
- Build: wirelessxpl-1.7.0-py3-none-any.whl (3.8 MB) e wirelessxpl-1.7.0.tar.gz (3.3 MB)
- PyPI upload: BLOQUEADO - filename v1.7.0 ja reservado (upload anterior)
- PyPI: deletar release v1.7.0 em https://pypi.org/manage/project/wirelessxpl/releases/1.7.0/ e re-executar: twine upload dist/1.7.0
- OU bumpar para v1.7.0.post1: atualizar version em pyproject.toml e wirelessxpl/init.py, rebuild e upload
- PyPI: re-upload de v1.7.0 apos deletar release existente no painel
- Alternativa: bump para 1.7.0.post1 se deletar o release nao for viavel
- Python 3.8+
- twine, build (pip install build twine)
- PYPI_TOKEN em ~/.pypirc
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Removidas todas as referencias a cowpatty e pyrit de handshake_snooper.py
- Removido airodump-ng como capturador obrigatorio em handshake_snooper.py
- Adicionada captura EAPOL nativa via Scapy (_capture_eapol_scapy) em handshake_snooper.py
- Adicionada verificacao de handshake via aircrack-ng (_verify_handshake_aircrack) em handshake_snooper.py
- Adicionado import lazy de send_deauth de flood_engine_native em handshake_snooper.py
- Adicionados parametros use_airodump=False e native_mode=True em handshake_snooper.py
- Adicionado wrpcap ao bloco de imports Scapy em wep_attack_suite.py
- Adicionadas funcoes standalone _capture_wep_ivs_scapy, _fake_auth_scapy, _arp_replay_scapy em wep_attack_suite.py
- Adicionado parametro native_mode=True na classe Exploit de wep_attack_suite.py
- Versao de handshake_snooper.py bumpeada de 1.1.0 para 1.2.0
- Sem commit realizado (conforme instrucoes)
- wirelessxpl/modules/generic/wifi/handshake_snooper.py
- wirelessxpl/modules/generic/wifi/wep_attack_suite.py
- Testar em ambiente Linux com interface monitor real (wlan0mon)
- Verificar se aircrack-ng dry-run com -w /dev/null funciona conforme esperado
- Testar _capture_eapol_scapy com handshake real para validar deteccao M1-M4
- Testar _capture_wep_ivs_scapy e _arp_replay_scapy em AP WEP de lab
- Considerar bump de versao para wep_attack_suite.py (atual: 2.0.0, sem mudanca de versao nesta sessao)
- Python 3.8+, Scapy (pip install scapy)
- aircrack-ng (para verificacao de handshake e crack WEP final)
- Interface wireless em modo monitor com suporte a injecao de pacotes (Linux)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- pyproject.toml: dependencias dnslib>=0.9.24 e cryptography>=41.0 confirmadas em [project.dependencies]
- wirelessxpl/modules/generic/wifi/init.py: reescrito com lazy exports, wrappers send_deauth e michael_mic (adaptado para assinatura real da funcao)
- Arquivos deletados de wifi_lab/: mdk3_bridge.py, mdk4_bridge.py, momo_integrated_attack.py, evilginx_prereq_pointer.py, pyrit_gpu_bridge.py, wps_multimode.py
- Arquivos ja ausentes (deletados anteriormente) em external/: reaver_bridge.py, bully_bridge.py, wifiphisher_bridge.py, fluxion_bridge.py - pycs orphaos removidos
- flood_engine_native.py: adicionado rom wirelessxpl.core.os_guard import OSRequirement, requires_os e @requires_os(OSRequirement.LINUX_ONLY) na classe Exploit
- wps_engine_native.py: os_guard ja presente, sem alteracoes necessarias
- dragonblood_suite.py: versao 2.0.0, @requires_os presente, sem subprocess proibido - sem alteracoes
- Catalogos atualizados: all_known_wireless_attacks.json, external_framework_clones.json, upstream_issues_prs.json - referencias a bridges deletadas substituidas pelos modulos nativos
- michael_mic em flood_engine_native.py tem assinatura (key, data) de 2 args; a spec do task pedia wrapper com 5 args (key, da, sa, priority, data). O wrapper em init.py foi adaptado para construir o msg completo (DA||SA||priority||0x00x3||data) antes de delegar para _m(key, msg), mantendo compatibilidade com IEEE 802.11 TKIP.
- Verificar se os modulos FloodEngine, WPSEngine, PhishingEngine, CaptiveNetwork, MonitorModeManager, DragonbloodSuite estao exportando simbolos acessiveis via import direto (as classes estao em all mas nao bound no namespace de init.py)
- all em wifi/init.py lista FloodEngine/WPSEngine/PhishingEngine/CaptiveNetwork/MonitorModeManager/DragonbloodSuite mas esses simbolos nao estao bound no namespace do pacote - imports diretos dos submodulos funcionam mas rom wifi import FloodEngine vai falhar
- dragonblood_suite.py expoe classe Exploit, nao DragonbloodSuite - alias nao criado
- wireless_tool_prereq_audit.py menciona mdk4/mdk3 como CLIs (nao modulos Python) - mantido como esta (correto para audit de ferramentas externas)
- Python 3.8+
- Linux (modulos com @requires_os LINUX_ONLY)
- scapy, dnslib>=0.9.24, cryptography>=41.0, pycryptodome
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
[2026-06-19 04:54] - Implementar 3 modulos wifi nativos (dns_dhcp_server, monitor_mode_manager, phishing_engine)
- Criados/reescritos 3 modulos no caminho wirelessxpl/modules/generic/wifi/:
- dns_dhcp_server.py - CaptiveDNSServer (dnslib), CaptiveDHCPServer (Scapy BOOTP), CaptiveNetwork, Exploit
- monitor_mode_manager.py - MonitorModeManager (iw/rfkill/channel hop/injection test), Exploit
- phishing_engine.py - Evil twin + captive portal nativo (scan_aps, hostapd clone, deauth, DNS/DHCP, HTTP portal, credential capture, handshake verify), Exploit
- Arquivos verificados: sintaxe Python OK (py_compile), zero lints
- Nao foram feitos commits
- Revisar se phishing_engine.py precisa ser reconciliado com a versao anterior (1279 linhas no HEAD)
- Os originais tinham implementacoes proprias; os novos seguem as specs fornecidas nesta sessao
- Confirmar se versao nova do phishing_engine.py substitui ou deve ser mergeada com versao anterior
- Testar em ambiente Linux com interface Wi-Fi real
- Instalar dnslib (pip install dnslib) para CaptiveDNSServer funcionar
- Verificar se templates em resources/captive_templates/ estao presentes
- Python 3.7+
- Linux (raw sockets, monitor mode)
- hostapd instalado (apt install hostapd)
- pip: scapy, dnslib
- Interface wireless com suporte a modo AP (wlan1) e monitor (wlan0mon)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Sincronizados 3 modulos refatorados da Fase 0F de wifi_lab/ para wifi/
- handshake_snooper.py v2.0.0 (Scapy EAPOL nativo, sem cowpatty/pyrit)
- deauth_multimode.py v1.1.0 (backend nativo Scapy por padrao)
- aireplay_deauth_barrage.py v2.0.0 (Scapy como modo primario)
- Imports ajustados de wifi_lab._disclaimer para wifi._disclaimer em todos os 3
- Versao bump 1.7.0 -> 1.7.0.post1 em pyproject.toml e wirelessxpl/init.py
- Commit: 920a097 - Sync refactored wifi modules + bump 1.7.0.post1 for PyPI
- Tag: v1.7.0.post1 criada e publicada
- Push: origin/master atualizado
- PyPI: upload bem-sucedido - https://pypi.org/project/wirelessxpl/1.7.0.post1/
- Aguardar propagacao do PyPI (~5-10min) e confirmar pip install wirelessxpl==1.7.0.post1
- pip index versions deve mostrar 1.7.0.post1 apos propagacao do cache PyPI
- Verificar se wifi_lab/ ainda precisa de mais modulos sincronizados para wifi/
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Removidos 3 bridges proibidos de wirelessxpl/modules/generic/external/: mdk4_bridge.py, bettercap_bridge.py, wifite2_bridge.py
- Removido diretorio wifi_lab/ inteiro (78 arquivos + subdirs) - era duplicata do canonical wifi/
- Atualizado wifi/evil_twin_workflow.py: substituida referencia mdk4_bridge por flood_engine_native e corrigido path wifi_lab -> wifi nas strings de ajuda
- external/init.py estava limpo (sem imports dos bridges proibidos)
- Commit: 73b6f59 - Remove prohibited external bridges and drop wifi_lab duplicate directory
- Push: origin/master (920a097..73b6f59)
- Nenhum pendente nesta frente; projeto em estado limpo sem bridges proibidos
- Verificar se outros bridges em external/ (aircrack_full_bridge, eaphammer_bridge, etc.) passam pela mesma politica de dependencias (foram mantidos por nao serem listados como proibidos)
- Python 3.12+
- Git com acesso ao remote https://github.com/mrhenrike/WirelessXPL-Forge.git
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge
- Inventariados 23 templates HTML existentes em captive_templates/
- Pesquisados repos clonados em .tmp/wxf-references/ (fluxion, wifiphisher, wifiphisher-extra, wifipumpkin3, eaphammer)
- 10 novos templates criados e incorporados (self-contained HTML, inline CSS, 11 idiomas)
- phishing_engine.py nao requer atualizacao manual (auto-discovery via scandir)
- Commit 8e69b55 criado e push realizado para master
- wirelessxpl/resources/captive_templates/tp_link_router/index.html (novo)
- wirelessxpl/resources/captive_templates/netgear_router/index.html (novo)
- wirelessxpl/resources/captive_templates/fritzbox_router/index.html (novo)
- wirelessxpl/resources/captive_templates/movistar_login/index.html (novo)
- wirelessxpl/resources/captive_templates/xfinity_login/index.html (novo)
- wirelessxpl/resources/captive_templates/vodafone_login/index.html (novo)
- wirelessxpl/resources/captive_templates/starbucks_wifi/index.html (novo)
- wirelessxpl/resources/captive_templates/vivo_wifi/index.html (novo)
- wirelessxpl/resources/captive_templates/tim_mobile/index.html (novo)
- wirelessxpl/resources/captive_templates/claro_wifi/index.html (novo)
- 8e69b55 Add phishing templates for branded routers, ISPs and mobile operators
- Testar os novos templates com o phishing_engine em laboratorio Linux
- Verificar se form action="/capture" e compativel com a versao atual do engine
- Todos os templates usam action="/capture" - existentes usam action="/login" (inconsistencia a corrigir)
- Assets externos nao foram baixados (templates sao self-contained com SVG/CSS inline)
- Linux para teste real (hostapd, monitor mode)
- Python 3.x com dependencias do projeto
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\resources\captive_templates\
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/resources/captive_templates/
- Identificados 23 templates HTML com action="/login" inconsistente com o servidor
- Todos os 23 templates substituidos para action="/capture" (correto)
- Os 10 novos templates ja estavam corretos (total agora: 33 com /capture)
- phishing_engine.py do_POST confirmado: aceita APENAS /capture, retorna 404 para qualquer outro path
- Commit 1291b5f e push para master realizados
- Nenhuma pendencia critica. Todos os templates agora apontam para o handler correto.
- Testar fluxo completo em ambiente de lab (Linux com hostapd disponivel)
- Validar que templates novos (10 adicionados recentemente) cobrem casos de uso esperados
- Linux (hostapd, monitor mode, Scapy)
- Python 3.10+
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\resources\captive_templates\
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/resources/captive_templates/
- Criados 55 novos templates HTML de captive portal como arquivos .html individuais
- Estrutura diferente dos templates anteriores (pastas com index.html): novos sao arquivos .html diretos
- Todos os templates: inline CSS, responsivos, deteccao de idioma PT/EN via JS, formulario POST /capture
- Commit: 798f8fc - "Add 55 captive portal templates - social, fast food, ISPs, hotels, fitness"
- Push realizado: branch master -> origin (github.com/mrhenrike/WirelessXPL-Forge.git)
- Social/Streaming (3): x_social_wifi, twitch_wifi, spotify_wifi - formulario com conta (email+senha)
- Fast Food (11): burger_king, mcdonalds, giraffas, kfc, subway, dominos, pizza_hut, habibs, bobs, spoleto, china_in_box - formulario senha WiFi
- Fitness (1): smart_fit_wifi - formulario senha WiFi
- ISPs Brasileiros (25): giba_fibra, loga_isp, ultracom_telecom, conectja_telecom, oi_fon_wifi*, oi_wifi_fon*, wifi_fon_portal*, starlink_wifi, copel_telecom, unifique_fibra, desktop_isp, brisanet_fibra, alloha_fibra, tim_ultrafibra, vivo_ultrafibra, algar_telecom, oi_fibra_wifi*, netiz_isp, itnet_isp, minas_telecom, clicfacil_telecom, netspeed_isp, brasil_tecpar, vero_net, coracao_mineiro_isp - (* = formulario com conta)
- Hoteis (15): accor, atlantica, radisson, quality_inn, comfort_inn, nacional_inn, ibis, mercure, novotel, pullman, wyndham, caesar_park, hilton, marriott, oceanico_tower - formulario quarto + senha
- wirelessxpl/resources/captive_templates/*.html (55 novos arquivos, 2.9-3.7KB cada)
- 798f8fc Add 55 captive portal templates - social, fast food, ISPs, hotels, fitness
- Templates existentes ainda sao pastas com index.html - considerar padronizar para .html direto
- Verificar se o loader do wirelessxpl suporta ambos os formatos (pasta/index.html e .html direto)
- Verificar compatibilidade do captive portal loader com o novo formato .html direto
- Considerar migracao dos 33 templates antigos para formato .html direto
- Testar templates em ambiente de rede Wi-Fi real (hostapd + dnsmasq)
- Python 3.10+
- Git com acesso ao remote mrhenrike/WirelessXPL-Forge
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\resources\captive_templates\
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/resources/captive_templates/
- Adicionados 9 novos optional-dependencies em pyproject.toml: wifi, bt, cellular, rf, drone, ir, gps, iot, all
- Mantidos todos os extras legados: serial, ml-gpu, ml-lite, gpu-opencl, sim, sim-full, cellular-full, all-modules
- dev atualizado com pytest-cov, black, ruff, mypy
- Novo extra gpu (hashcat-ctypes Linux)
- Versao bumped: 1.7.0.post1 -> 1.8.0 (pyproject.toml + wirelessxpl/init.py)
- README.md: secao 'Instalacao / Installation' bilingual adicionada logo apos badges
- docs/PREREQUISITES.md: tabela modular de extras adicionada no topo
- docs/INSTALL.md: criado do zero, guia completo bilingual PT-BR/EN por caso de uso
- Commit: 7b23168 - Modular pip extras by wireless technology category (v1.8.0)
- Push: origin/master atualizado
- PyPI: https://pypi.org/project/wirelessxpl/1.8.0/ publicado com sucesso
- Verificar que pip install wirelessxpl[wifi] e pip install wirelessxpl[all] funcionam sem erros no PyPI publico
- dronekit nao esta sendo mantido ativamente - avaliar substituicao por pydronekit-la ou mavproxy
- pybluez deprecated no PyPI - avaliar substituicao por bleak apenas no extra bt
- Testar extras em ambiente Linux real (Kali) para confirmar instalacao sem erros
- Python 3.9+ para instalar com extras
- Linux para extras bt (pybluez, dbus-python) e rf (pyrtlsdr)
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\pyproject.toml
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/pyproject.toml
- Substituidos 44 templates HTML em wirelessxpl/resources/captive_templates/
- Grupo 1 (15 hoteis): formulario CPF + data de nascimento + numero do quarto, mascara JS inline, paleta por marca
- Grupo 2 (25 ISPs): tabs dinamicas CPF/E-mail/Celular/Usuario + senha, tema claro por padrao, Starlink dark theme, Coracao Mineiro com icone de coracao
- Grupo 3 social (3): X.com clone dark com tabs e-mail/telefone/usuario; Twitch clone BG #0e0e10 abas por baixo; Spotify clone com botoes sociais decorativos e tabs
- Grupo 4 fitness (1): SmartFit com logo CSS (Smart branco + Fit amarelo #FFE000) e tabs CPF/E-mail/Celular
- Todos os formularios: action="/capture" method="POST", autocomplete="new-password" nos campos de senha
- Commit: bbcf567 - Redesign captive portal templates with advanced forms
- Push: origin master OK (7b23168..bbcf567)
- Nenhum pendente nesta sessao; templates prontos para uso no wirelessxpl
- Adicionar suporte a CSRF token server-side quando o backend estiver implementado
- Testes de renderizacao mobile real para templates dark (Pullman, Caesar Park, Starlink, X, Twitch, Spotify, SmartFit)
- Python 3.12+, wirelessxpl instalado localmente
- git submodule: WirelessXPL-Forge em submodules/Uniao-Geek/
- Windows: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge\wirelessxpl\resources\captive_templates\
- Linux: /home/mrhenrike/Documentos/Projetos/WirelessXPL-Forge/wirelessxpl/resources/captive_templates/
- Trailers Cursor/Copilot removidos do historico da default branch (onde aplicavel)
- Hook
.githooks/commit-msgativo viacore.hooksPath=.githooks - Remoto alinhado apos force-with-lease / push
- Em clones antigos: fetch + reset da default branch
- Windows:
D:\Projetos-SafeLabs\submodules\Uniao-Geek\ - Linux:
/mnt/predator/Projetos-SafeLabs/submodules/Uniao-Geek/