A modular, educational exploit development framework. Each vulnerability is a plugin, with payload generation, shellcode encoding, target validation, and post-exploitation modules. All payloads and exploits are inert, educational demos — nothing here contacts a network or executes on a real target.
- Plugin system —
ExploitPluginbase class, auto-discovering registry - Payload generation — command, reverse shell, bind shell, meterpreter, staged
- Shellcode encoders — XOR, ADD, noop; chainable; bad-char validation
- Crash analysis — parse dumps, find offsets to saved return addresses
- Recon — offline host fingerprinting and network enumeration (authorization-gated)
- CLI —
edfcommand with subcommands
pip install -e .# list plugins
edf plugins
# check a target against a plugin
edf check heartbleed-mock demo
# run an exploit (inert demo only)
edf exploit heartbleed-mock demo
# generate a payload template
edf generate reverse_shell --host 10.0.0.5 --port 4444
# cyclic pattern tools for crash analysis
edf pattern 512
edf pattern 512 --offset bcaa
# recon (offline)
edf fingerprint 10.0.0.1 --port 445 --service smb
edf scan 192.0.2.0/24from edf.plugins import ExploitPlugin, ExploitResult
class MyExploit(ExploitPlugin):
name = "my-exploit"
description = "Educational demo of a vulnerability pattern"
severity = "high"
def check(self, target) -> bool:
return getattr(target, "vulnerable", False)
def exploit(self, target) -> ExploitResult:
if not self.check(target):
return ExploitResult(ok=False, message="not vulnerable", plugin=self.name)
return ExploitResult(ok=True, message="exploited (demo)", plugin=self.name)Drop the file into edf/plugins/ and edf plugins picks it up automatically.
python -m pytestFor authorized testing and security research only. Unauthorized access to computer systems is illegal in most jurisdictions. This framework is intentionally inert; deploying it against real systems would require implementing real network behavior.
edf/plugins/— exploit plugins (auto-loaded)edf/payloads.py— payload generationedf/shellcode.py— encoders and bad-char handlingedf/crash.py— crash dump analysisedf/recon.py— fingerprinting and scanningedf/framework.py— sessions and loggingedf/cli.py— command-line interface