tmux is a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.
I always combine this with Setup webserverto get a EZ reverse shell with Linux machine's:
This pipes index.html to sh and executes all the reverse shells possibilities.
Generate PHP reverse shell
Generate PowerShell reverse shell
Upgrade shells
Pwncat
Will start pwncat in a env and listen on port 1337
Setup Ligolo
Fuzz directories
Fuzz vhosts
Write your own scripts
For most things there will be a open source tool, but these tools often come with way too much functionality then actually needed. So write your own tools to prevent noise on the target. You will also be a lot more efficient if you got your own toolset.
py_tty_upgrade () {
echo "python -c 'import pty;pty.spawn(\"/bin/bash\")'"| xclip -sel clip
}
py3_tty_upgrade () {
echo "python3 -c 'import pty;pty.spawn(\"/bin/bash\")'"| xclip -sel clip
}
alias script_tty_upgrade="echo '/usr/bin/script -qc /bin/bash /dev/null'| xclip -sel clip"
alias tty_fix="stty raw -echo; fg; reset"
alias tty_conf="stty -a | sed 's/;//g' | head -n 1 | sed 's/.*baud /stty /g;s/line.*//g' | xclip -sel clip"
alias pwncat='source /home/kali/pwncat-env/bin/activate;pwncat-cs 0.0.0.0:1337'
ligolo.sh
#!/usr/bin/env python
import os, sys
os.system("sudo ip tuntap add user root mode tun ligolo 2>/dev/null; sudo ip link set ligolo up 2>/dev/null")
try:
os.system(f"sudo ip route add {sys.argv[1]} dev ligolo")
print(f"[+] Successfully added {sys.argv[1]} as route")
except Exception:
print(f"[!] Error in adding route")
exit()
os.system("sudo proxy -laddr 0.0.0.0:443 -selfcert")
dirfuzzer.sh
#!/bin/bash
# Check if the URL argument is provided
if [ -z "$1" ]; then
echo "Usage: $0 <url>"
exit 1
fi
# Assign the URL to a variable
url="$1"
# Execute the feroxbuster command
feroxbuster -u "$url" -q --output dirs_and_files.txt
vhostfuzzer.sh
#!/bin/bash
# Check if the domain argument is provided
if [ -z "$1" ]; then
echo "Usage: $0 <domain>"
exit 1
fi
# Assign the domain to a variable
domain="$1"
# Run ffuf
ffuf -w /usr/share/wordlists/seclists/Discovery/DNS/namelist.txt -H "Host: FUZZ.$domain" -u http://$domain -ac