ctfkit is a modular CLI for pentesting that removes the need to constantly retype commands, credentials, and target details. It uses stored context (targets, creds, URLs) to automatically build and run commands. Playbooks guide what to test, and modules handle the repetitive execution.
Key features:
- target management
- credential tracking
- modular execution
- shell generation
- structured playbooks (methodology engine)
ctfkit is built around three layers:
Store all context:
- IP, domain, URLs
- credentials
- notes
Small, reusable actions:
ctf smb.enum
ctf nmap.scan
ctf shell.generate phpStructured attack workflows:
ctf play web.auth.password- Target & profile system
- Credential management (active identity tracking)
- URL management (multi-target web workflows)
- Modular execution engine
- Alias-based CLI (fast commands)
- Shell generation system (reverse shells, webshells)
- Artifacts system (auto-save outputs)
- Playbook system (checklists + commands + optional execution)
- Chain support (multi-step automation)
ctf create box --ip 10.10.10.10 --url http://box.localctf target use boxctf add-url http://admin.box.local
ctf set-url 1ctf add-cred user 'password'
ctf cred
ctf set-cred 0ctf infoctf whoamictf smb.connect 'Department'
ctf nmap.scan
ctf win.upload sharphound.exe
ctf ad.dcsync
ctf shell phpctf play web.auth.password
ctf play web.auth.mfa
ctf play web.auth.otherInside playbooks you can:
- navigate steps
- view payloads/commands
- mark steps complete
- jump between steps
- execute modules (optional)
ctf target create lab --ip 10.10.10.10 --domain domain.local
ctf target add-cred robert 'password123!'
ctf :ad.kerberoast
ctf :crack.hash kerberoast_hashes.txt
ctf :parse.hash cracked.txtctf target create lab --ip 10.10.10.10 --domain domain.local
ctf target add-cred robert 'password123!'
ctf ad.kerberoastcore/
target.py # profiles, creds, urls
runner.py # module execution
playbook.py # playbook engine
aliases.py # CLI shortcuts
attacker.py # lhost resolution
chain.py # chain execution
modules/
smb/
nmap/
shell/
ad/
win/
web/
...
playbooks/
web/
auth/
password.yaml
mfa.yaml
other.yaml
artifacts/ # output storage
profiles/ # targets
Active development.
Current focus:
- Web exploitation workflows
- Playbook system expansion
- Better module/playbook integration