Skip to main content

IndustrialXPL-Forge (IXF) — OT/ICS/SCADA/HMI/IIoT Security Assessment & Exploitation Framework. Python-First, 975+ modules, 79 MITRE ATT&CK for ICS techniques, 26 ICS malware TTPs, 150+ vendors, 50+ protocols.

Project description

IndustrialXPL-Forge

IndustrialXPL-Forge (IXF)

The World's Largest OT/ICS/SCADA Security Assessment & Exploitation Framework Part of the XPL-Forge suite | Author: André Henrique (@mrhenrike) | União Geek

PyPI version Python License: MIT CI Modules Vendors Protocols MITRE ATT&CK ICS Platform

Python-First. Pure Python implementation — install and run with a single pip install.


Quick Start

pip install industrialxpl
ixf

Or from source:

git clone https://github.com/mrhenrike/IndustrialXPL-Forge
cd IndustrialXPL-Forge
pip install -r requirements.txt
python ixf.py

What is IXF?

IndustrialXPL-Forge is a modular, Python-native security assessment and exploitation framework for Operational Technology (OT), Industrial Control Systems (ICS), SCADA, HMI, PLC, RTU, DCS, and IIoT environments.

It covers the complete attack lifecycle:

OSINT → Discovery → Fingerprint → Vulnerability Check → Exploit → Report

Key features:

  • Python-First: all core functionality works with pip install industrialxpl — external runtimes (C, Go, Java) are optional accelerators with Python fallbacks built in
  • SafeMode by default: every module runs in simulate mode — prints payload without sending
  • MITRE ATT&CK for ICS v19: 79 techniques mapped, ttp T0843 192.168.1.100 syntax
  • CVE coverage: 3,300+ ICS/OT CVEs from CVSS 0.1 to 10.0
  • 50 vendors: Siemens, Schneider, Rockwell, ABB, Honeywell, Emerson, WEG, and more
  • 50 protocols: Modbus, S7comm, EtherNet/IP, DNP3, BACnet, IEC-104, OPC UA, PROFINET, and more

Module Catalog

Category Modules Description
exploits/protocols/ ~50 Modbus, S7, ENIP, DNP3, BACnet, Profinet, IEC104, OPC UA
exploits/plc/ ~80 Siemens, Schneider, Rockwell, GE, Beckhoff, Unitronics, ABB
exploits/scada/ ~60 IGSS, RealWin, Genesis32, CoDeSys, FUXA, CitectSCADA
exploits/mes/ ~25 Ignition, ThinManager, SIMATIC Historian, DELMIA Apriso
scanners/ics/ ~50 Protocol-specific discovery (Modbus, S7, BACnet, DNP3...)
scanners/osint/ ~8 Shodan queries, ELITEWOLF web dorks, OT Hunt
creds/ ~55 Default credentials for 50+ OT/ICS vendors
cve/ 3,300+ All CVE severity levels (CVSS 0.1-10.0), 3 implementation tiers
cve/apt/ ~10 APT malware TTPs: FrostyGoop, Industroyer2, TRITON, INCONTROLLER
assessment/ ~25 IEC 62443, NIST 800-82r3, MITRE ICS, risk scoring, IR playbook

Usage Examples

# Open the IXF interactive shell
ixf

# Load and run a module (simulate mode by default — safe)
ixf > use scanners/ics/modbus_detect
ixf > set target 192.168.1.100
ixf > check

# Search for modules
ixf > search siemens
ixf > search CVE-2015-5374
ixf > search modbus

# Execute a TTP-ID against a target
ixf > ttp T0843 192.168.1.100          # Program Download — all modules
ixf > ttp T0878 10.0.0.0/24            # Alarm Suppression — subnet sweep
ixf > ttp-list --tactic evasion        # List all Evasion TTP-IDs

# MITRE ATT&CK for ICS sweep
ixf > mitre-scan discovery 192.168.1.0/24
ixf > mitre-scan evasion 192.168.1.100
ixf > mitre-all 192.168.1.100          # All 79 techniques (simulate by default)
ixf > mitre-coverage                   # Show coverage % per tactic

# CVE-specific modules
ixf > cve CVE-2026-25895               # FUXA SCADA pre-auth RCE
ixf > cve CVE-2015-5374               # Siemens SIPROTEC4 DoS
ixf > cve-scan 192.168.1.0/24         # Discover assets + test all CVEs

# Generate reports
ixf > report json
ixf > mitre-report layer               # ATT&CK Navigator JSON layer

SafeMode / DestructiveMode

Every module defaults to simulate mode — it prints what it WOULD do without sending any packets.

ixf (FrostyGoop) > run                 # SIMULATE: prints payload, no send
ixf (FrostyGoop) > set simulate false
ixf (FrostyGoop) > set destructive true
ixf (FrostyGoop) > run                 # LIVE: shows banner + requires confirmation

Impact levels require proportional confirmation:

  • INFO/READ: automatic
  • LOW: simple warning
  • MEDIUM: press Enter
  • HIGH: type yes
  • CRITICAL: type the full confirmation string
  • CATASTROPHIC: type string + wait 10 seconds

All destructive operations are logged to .log/destructive_ops_YYYY-MM-DD.log.


Python-First Policy

Tier Type Examples Required?
0 Python stdlib socket, struct, select Always
1 pip install pymodbus, scapy, rich, requests Yes
2 pip extras asyncua, cpppo, python-can Optional
3 External runtimes ruby, node, java, gcc, go Optional — Python fallback always available

All SCADA framework modules are implemented natively in Python — no additional tools required.


Documentation

Full documentation is available in both English and Brazilian Portuguese:

Language Link
English (en-US) docs/en-us/
Português (pt-BR) docs/pt-br/

Quick links:

Topic en-US pt-BR
Installation 01-installation 01-instalacao
Quick Start 02-quick-start 02-inicio-rapido
Shell Reference (35 commands) 03-shell-reference 03-referencia-shell
Module System & Option Types 04-module-system 04-sistema-modulos
SafeMode / DestructiveMode 05-safemode 05-safemode
MITRE ATT&CK for ICS 06-mitre 06-mitre
SAST / LLM Analysis 07-sast 07-sast
Protocols & Vendors 08-protocols 08-protocolos
Module Development 09-dev 09-desenvolvimento
CLI Non-Interactive 10-cli 10-cli
PolyExploit Runner 11-poly 11-poly
Assessment & Compliance 12-assessment 12-assessment

Legal Disclaimer

This tool is intended for authorized security testing, research, and educational purposes only.

Using IndustrialXPL-Forge against systems you do not own or do not have explicit written authorization to test is illegal and may violate computer fraud laws in your jurisdiction.

OT/ICS systems control critical physical infrastructure. Unauthorized use may cause:

  • Physical damage to industrial equipment
  • Disruption of essential services (power, water, gas, manufacturing)
  • Personal injury or death
  • Significant legal penalties

The authors and União Geek assume no liability for misuse. Users bear full legal and ethical responsibility for all actions performed with this tool.


Author & Credits

Author: André Henrique (@mrhenrike) | União Geek

Module sources: EmbedXPL-Forge (suite sibling), ISF/ICSSploit, ModBusSploit, n-days-poc-benchmark, InduGuard, ZeronTek OT Hunt research, CISA ICS-CERT advisories, Vedere Labs OT:ICEFALL, ExploitDB ICS catalog, GitHub public PoCs.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

industrialxpl_forge-1.0.14.tar.gz (638.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

industrialxpl_forge-1.0.14-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file industrialxpl_forge-1.0.14.tar.gz.

File metadata

  • Download URL: industrialxpl_forge-1.0.14.tar.gz
  • Upload date:
  • Size: 638.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for industrialxpl_forge-1.0.14.tar.gz
Algorithm Hash digest
SHA256 1b8025af687d82286928b985cd4f84f24f673cb23b58f8f11eb4b87637aaf5ea
MD5 5f6b11c67fd95a2d841d88e22084dcb1
BLAKE2b-256 6662060da9104dfa51dd5dacaaef3accfede06b7d657cd0f6e1d2d7eb4f79b20

See more details on using hashes here.

File details

Details for the file industrialxpl_forge-1.0.14-py3-none-any.whl.

File metadata

File hashes

Hashes for industrialxpl_forge-1.0.14-py3-none-any.whl
Algorithm Hash digest
SHA256 9797de29f81bd6a8d2fec8f2639f017a8435d7e1aeaa7402ecc4b474fd7f78fa
MD5 716ecd275c7c1e89c45b8acd693227e9
BLAKE2b-256 e7f97b956cb82828fa0bea9a823262a0e3ac7fd9802c97d0451c05268dbf2ad4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page