How bkili/peek-a-boo works
Peek-A-Boo is a modular post-exploitation framework operated through an interactive CLI. Its main workflow loads configuration and plugins, accepts commands, selects a module or exploit, and runs it with shared runtime data; modules can also run declared dependencies. The graph preserves the documented configuration, plugin, exploit, OSINT, reconnaissance, privilege-escalation, and utility capabilities. Sampled files show CLI dispatch and selected module integrations; unsampled module internals are represented by their existing directories, and links without direct evidence are omitted.
Main entry points: commands Command handlers · cli.py Interactive CLI · modules OSINT, recon, privilege checks · main.py Application startup
Components 20
Startup and CLI
- Application startup
main.py - Interactive CLI
core/cli.py - Command handlers
core/commands - Command completion
core/completer.py
Framework runtime
- Command registry
core/registry.py - Global state
core/state.py - Configuration
core/config_ops.py - Rich output
core/utils/formatter.py - Catalog listing
core/utils/listing.py - Module contract
modules/base.py - Progress display
core/utils/progress_bar.py - Plugin contract
core/base_plugin.py
Modules and extensions
- Plugin loading
core/plugin.py - Plugins
plugins
Security operations
- OSINT, recon, privilege checks
modules - Exploit components
exploits - SSH and SFTP
core/utils/ssh_handler.py - CVE reference data
core/utils/cve_list.py - Email lookup runner
core/contrib/holehe_async_runner.py
Other components
- Operator
Connections 26
- Operator → Interactive CLI: enters commands
README.md - Application startup → Configuration: loads settings
main.py - Application startup → Plugin loading: loads plugins
main.py - Application startup → Interactive CLI: starts
main.py - Application startup → Command registry: registers plugin commands
main.py - Interactive CLI → Command registry: dispatches commands
core/cli.py - Interactive CLI → Command handlers: imports handlers
core/cli.py - Interactive CLI → Command completion: requests completions
core/cli.py - Command handlers → Command registry: registers handlers
core/commands/module_ops.py - Command handlers → Global state: selects active module
core/commands/module_ops.py - Command handlers → OSINT, recon, privilege checks: loads and runs
core/commands/module_ops.py - Command handlers → Exploit components: loads selected exploit
core/commands/module_ops.py - Command handlers → Plugins: loads selected plugin
core/commands/module_ops.py - Command handlers → Module contract: uses module interface
README.md - Plugin loading → Plugin contract: instantiates plugins
core/plugin.py - Plugin loading → Plugins: loads configured plugins
- OSINT, recon, privilege checks → SSH and SFTP: uses remote access
modules/pb_check_kernel_exploits.py - OSINT, recon, privilege checks → CVE reference data: checks CVE data
modules/pb_check_sudo_cves.py - OSINT, recon, privilege checks → Email lookup runner: runs email lookup
modules/pb_holehe_check_email.py - OSINT, recon, privilege checks → Progress display: displays progress
modules/pb_holehe_check_email.py - Command handlers → Configuration: saves and loads
core/commands/config_ops.py - Command handlers → Catalog listing: lists available tools
core/commands/display.py - Command handlers → Rich output: formats output
core/commands/display.py - Command completion → Catalog listing: completes tool names
core/completer.py - Interactive CLI → Global state: shares runtime data
README.md - Plugins → Plugin contract: implements extension contract
README.md