An open-source post-exploitation framework for students, researchers and developers.
Questions? Check out the docs or join our Discord support server
Disclaimer: This project should be used for authorized testing or educational purposes only.
BYOB is an open-source post-exploitation framework for students, researchers and developers. It includes features such as:
It is designed to allow students and developers to easily implement their own code and add cool new features without having to write a C2 server or Remote Administration Tool from scratch.
This project has 2 main parts: the original console-based application (/byob
) and the web GUI (/web-gui
).
A control panel for your C2 server with a point-and-click interface for executing post-exploitation modules. The control panel includes an interactive map of client machines and a dashboard which allows efficient, intuitive administration of client machines.
The payload generator uses black magic involving Docker containers & Wine servers to compile executable payloads for any platform/architecture you select. These payloads spawn reverse TCP shells with communication over the network encrypted via AES-256 after generating a secure symmetric key using the Diffie-Hellman IKE.
The web app includes an in-browser terminal emulator so you can still have direct shell access even when using the web GUI.
Generate fully-undetectable clients with staged payloads, remote imports, and unlimited post-exploitation modules
./byob/modules/
directory
automatically becomes remotely importable & directly usable by every client while
your command & control server is running./byob/modules/
directory to make writing
your own modules a straight-forward, hassle-free processPost-exploitation modules that are remotely importable by clients
byob.modules.persistence
): establish persistence on the host machine using 5 different methodsbyob.modules.packetsniffer
): run a packet sniffer on the host network & upload .pcap filebyob.modules.escalate
): attempt UAC bypass to gain unauthorized administrator privilegesbyob.modules.portscanner
): scan the local network for other online devices & open portsbyob.modules.keylogger
): logs the user’s keystrokes & the window name enteredbyob.modules.screenshot
): take a screenshot of current user’s desktopbyob.modules.outlook
): read/search/upload emails from the local Outlook clientbyob.modules.process
): list/search/kill/monitor currently running processes on the hostbyob.modules.icloud
): check for logged in iCloud account on macOSbyob.core.miner
): mine Monero in the background using the built-in miner or XMRigCommand & control server with persistent database and console
Core framework modules used by the generator and the server
byob.core.util
): miscellaneous utility functions that are used by many modulesbyob.core.security
): Diffie-Hellman IKE & 3 encryption modes (AES-256-OCB, AES-256-CBC, XOR-128)byob.core.loaders
): remotely import any package/module/scripts from the serverbyob.core.payloads
): reverse TCP shell designed to remotely import dependencies, packages & modulesbyob.core.stagers
): generate unique payload stagers to prevent analysis & detectionbyob.core.generators
): functions which all dynamically generate code for the client generatorbyob.core.dao
): handles interaction between command & control server and the SQLite databasebyob.core.handler
): HTTP POST request handler for remote file uploads to the serverContributors welcome! Feel free to issue pull-requests with any new features or improvements you have come up with!