Perimeter security exploitation framework — MERGED into EmbedXPL-Forge v2.0+. This is the final standalone release. See https://github.com/mrhenrike/EmbedXPL-Forge
Project description
FirewallXPL-Forge
⚠ MIGRATION NOTICE — v2.1.0 (Final Release)
FirewallXPL-Forge has been merged into EmbedXPL-Forge. All 81 unique modules (Fortinet, Cisco, Palo Alto, SonicWall, Sophos, Juniper, F5 BIG-IP, Citrix, Barracuda, A10, Imperva, NAC, pfSense, OT perimeter) are now available under
embedxpl/modules/exploits/firewalls/and related paths.To migrate:
pip install embedxpl # replaces firewallxpl exf # new CLI (fxf alias also available)FirewallXPL-Forge v2.1.0 is the final standalone release. This repository will remain archived for reference but will not receive new modules or CVE coverage.
Perimeter security exploitation framework — 164 modules covering FW, NGFW, UTM, WAF, VPN, NAC, LB, and OT/ICS industrial firewalls across 23 vendors and 51+ CVEs.
Author: André Henrique (@mrhenrike) | União Geek
Language: English (en-US) — default. Português (pt-BR): README.pt-BR.md
Architecture & Attack Surface Map
Install
# From PyPI (recommended)
pip install firewallxpl
# With Rich TUI + Nmap discovery
pip install firewallxpl[tui,discovery]
# With ML engine + GPU acceleration
pip install firewallxpl[ml,gpu-nvidia]
# Everything
pip install firewallxpl[full]
# From source
git clone https://github.com/mrhenrike/FirewallXPL-Forge.git
cd FirewallXPL-Forge
pip install -e ".[tui,discovery]"
python fxf.py
Environment diagnostics
python tools/env_doctor.py
What the project does
FirewallXPL-Forge provides modules for authorized security testing against perimeter devices (pentest, lab, controlled red team). Target classes: perimeter, waf, vpn, nac, lb.
| Type | Role |
|---|---|
| exploits | Abuse known vulnerabilities — check() + run() per module |
| creds | Default credentials and brute force against SSH, FTP, Telnet, HTTP, SNMP |
| scanners | Weakness identification; AutoPwn orchestrates all modules with Nmap-style timing (T0–T5) |
| payloads | Payload generation by architecture (ARM/MIPS/x86/x64, reverse/bind shells) |
| encoders | Payload encoding (Python, PHP, Perl) |
| generic | Cross-cutting utilities: CVE lookup, SNMP, SSDP, wordlist generator |
Out of scope: IP cameras, printers, DVRs, consumer routers.
Vendor coverage (23 vendors, 51+ CVEs)
IT Security Appliances
| Vendor | Modules | Key CVEs |
|---|---|---|
| Fortinet FortiOS/FortiGate | 9 | CVE-2018-13379, CVE-2022-40684, CVE-2024-21762, CVE-2024-47575 |
| Cisco ASA/FTD/IOS XE | 4 | CVE-2020-3452, CVE-2023-20198, CVE-2023-20269 |
| Palo Alto PAN-OS | 5 | CVE-2024-0012, CVE-2024-3400, CVE-2025-0108 |
| F5 BIG-IP | 6 | CVE-2020-5902, CVE-2022-1388, CVE-2023-46747 |
| Citrix/NetScaler | 3 | CVE-2019-19781, CVE-2023-3519, CVE-2023-4966 |
| SonicWall | 6 | CVE-2020-5135, CVE-2024-40766, CVE-2024-53704 |
| Ivanti/Pulse Secure | 3 | CVE-2019-11510, CVE-2023-46805+21887, CVE-2025-0282 |
| Juniper SRX/EX | 2 | CVE-2023-36845, CVE-2024-21591 |
| Sophos XG | 3 | CVE-2020-12271, CVE-2022-1040, CVE-2022-3236 |
| Check Point | 1 | CVE-2024-24919 |
| WatchGuard | 2 | XCS RCE, CVE-2022-23176 |
| Zyxel USG | 3 | CVE-2022-30525, CVE-2023-28771, CVE-2023-33009 |
| pfSense | 3 | CVE-2022-31814, CVE-2023-27100, CVE-2023-42326 |
| Barracuda | 3 | CVE-2023-2868, CVE-2023-7102, SecureSphere SQLi |
OT/ICS Industrial Firewalls
| Vendor | Modules | Key CVEs |
|---|---|---|
| Siemens SCALANCE/SINEMA/RUGGEDCOM | 3 | CVE-2022-32257, CVE-2023-24845, CVE-2023-44373 |
| Moxa EDR | 2 | CVE-2024-9137 (CVSS 9.9), CVE-2024-9138 |
| Hirschmann EAGLE | 1 | CVE-2020-6994 |
| Phoenix Contact mGuard | 1 | CVE-2024-43386 |
| Schneider ConneXium/Tofino | 1 | CVE-2017-6026 |
| Cisco ISA-3000 | 1 | CVE-2018-0101 (CVSS 10.0) |
| Secomea GateManager | 1 | CVE-2020-14500 (CVSS 10.0) |
| Ewon/HMS Cosy+ | 1 | CVE-2026-25823 |
OT Protocol Bypass
Modbus TCP, OPC UA, DNP3, IEC 60870-5-104, EtherNet/IP CIP
Generic Techniques
HTTP Request Smuggling, VLAN Hopping, Heartbleed, Shellshock, SSH Auth Keys
Usage
Interactive shell
python fxf.py
fxf > use exploits/perimeter/fortinet/fortios_sslvpn_path_traversal_cve_2018_13379
fxf (...) > set target 192.168.1.1
fxf (...) > check
[+] Target is vulnerable
fxf (...) > run
AutoPwn with ML
fxf > use scanners/autopwn
fxf (scanners/autopwn) > set target 192.168.1.1
fxf (scanners/autopwn) > set timing_template aggressive
fxf (scanners/autopwn) > set ml_advisor true
fxf (scanners/autopwn) > set ml_fingerprint true
fxf (scanners/autopwn) > run
Non-interactive mode
python fxf.py -m exploits/perimeter/fortinet/fortios_auth_bypass_cve_2022_40684 -s "target 10.0.0.1"
Search
fxf > search fortinet
fxf > search type=exploits vendor=cisco
fxf > search CVE-2024
Core engines
| Engine | Description |
|---|---|
| Async Concurrency | asyncio + ThreadPool (up to 300 threads) + ProcessPool + ConnectionPool + Pipeline |
| GPU Acceleration | NVIDIA CUDA, AMD ROCm, Intel oneAPI, Apple Metal, OpenCL, CPU fallback |
| ML Engine | ServiceFingerprinter, AttackOptimizer (Thompson Sampling), AnomalyDetector, AutoTuner, CredentialMutator |
| Network Discovery | Nmap/Masscan integration + builtin TCP fallback + device identification (23 vendors) + vulnerability mapping |
| Rich TUI | Styled banner, panels, tables, progress bars, full-screen dashboard |
Compatibility
| Platform | Status |
|---|---|
| Windows 10/11 | CI + local validation |
| WSL / Debian / Ubuntu | CI + local validation |
| Kali Linux | Validated locally |
| macOS | CI |
Python: 3.9 through 3.13. Includes shim for removed telnetlib on 3.13+.
Documentation
- Wiki (en-US + pt-BR): github.com/mrhenrike/FirewallXPL-Forge/wiki
- Coverage Matrix: docs/COVERAGE_MATRIX.md
- Full Catalog: docs/FULL_CATALOG.md
Governance
| English (default) | Português (pt-BR) |
|---|---|
| CONTRIBUTING.md | CONTRIBUTING.pt-BR.md |
| CODE_OF_CONDUCT.md | CODE_OF_CONDUCT.pt-BR.md |
| SECURITY.md | SECURITY.pt-BR.md |
| CONTRIBUTORS.md | CONTRIBUTORS.pt-BR.md |
License
BSD — see LICENSE.
Author: André Henrique (@mrhenrike) | União Geek — https://github.com/Uniao-Geek
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file firewallxpl-2.1.0.tar.gz.
File metadata
- Download URL: firewallxpl-2.1.0.tar.gz
- Upload date:
- Size: 1.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
489cff13157cee6d8500c1f51bb1c1aee3c6d237ea32f30aeeabba245cfb0c47
|
|
| MD5 |
9538ff80e4231987af9cdfcab7a6e64c
|
|
| BLAKE2b-256 |
852644fa18eb7ab5732bb63fdddacf605f89ddd7659d82bb6170c5ed29c0c1a0
|
Provenance
The following attestation bundles were made for firewallxpl-2.1.0.tar.gz:
Publisher:
publish-pypi.yml on mrhenrike/FirewallXPL-Forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
firewallxpl-2.1.0.tar.gz -
Subject digest:
489cff13157cee6d8500c1f51bb1c1aee3c6d237ea32f30aeeabba245cfb0c47 - Sigstore transparency entry: 1661392619
- Sigstore integration time:
-
Permalink:
mrhenrike/FirewallXPL-Forge@b415e7e51675e0bff62f84731e8da73ee20da30b -
Branch / Tag:
refs/heads/master - Owner: https://github.com/mrhenrike
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b415e7e51675e0bff62f84731e8da73ee20da30b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file firewallxpl-2.1.0-py3-none-any.whl.
File metadata
- Download URL: firewallxpl-2.1.0-py3-none-any.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
19a29761acdbaecc5c42f8d1b1456ef998b4d0373021a1483e4d2ca061742d25
|
|
| MD5 |
8b0bbd1e3d9e106978505c333ca1995a
|
|
| BLAKE2b-256 |
c2e079a9e1cc1ffff3c529314fa6ca9c49a199ab7f056b5c88129215acde0240
|
Provenance
The following attestation bundles were made for firewallxpl-2.1.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on mrhenrike/FirewallXPL-Forge
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
firewallxpl-2.1.0-py3-none-any.whl -
Subject digest:
19a29761acdbaecc5c42f8d1b1456ef998b4d0373021a1483e4d2ca061742d25 - Sigstore transparency entry: 1661392756
- Sigstore integration time:
-
Permalink:
mrhenrike/FirewallXPL-Forge@b415e7e51675e0bff62f84731e8da73ee20da30b -
Branch / Tag:
refs/heads/master - Owner: https://github.com/mrhenrike
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@b415e7e51675e0bff62f84731e8da73ee20da30b -
Trigger Event:
workflow_dispatch
-
Statement type: