Tema 5

5. Fundamentos de redes, sistemas operativos y servicios para pentesting

Las herramientas de pentesting solo tienen sentido cuando se entiende qué ocurre debajo: direcciones IP, puertos, protocolos, procesos, permisos, servicios, archivos de configuración y registros. La base técnica permite interpretar resultados y no depender de respuestas automáticas.

Objetivo Dominar conceptos técnicos esenciales para pentesting
Enfoque Redes, sistemas y servicios expuestos
Resultado Interpretar escaneos, enumeración y comportamiento del sistema

5.1 Introducción

En pentesting, muchas decisiones dependen de conceptos básicos bien entendidos. Un puerto abierto, una respuesta HTTP, un banner de servicio, un permiso incorrecto o un proceso ejecutándose con privilegios elevados pueden indicar una oportunidad de ataque o una mala configuración.

Sin fundamentos, las herramientas se vuelven cajas negras. El evaluador puede ejecutar comandos, pero no sabrá diferenciar un falso positivo de una ruta real de explotación, ni podrá explicar por qué un hallazgo importa.

Este tema reúne las bases mínimas de redes, sistemas operativos y servicios para comprender los próximos módulos de reconocimiento, enumeración, análisis de vulnerabilidades y explotación controlada.

5.2 Modelo TCP/IP y capas relevantes

El modelo TCP/IP organiza la comunicación de red en capas. Para pentesting no hace falta memorizarlo de forma académica, pero sí entender qué tipo de información y controles aparecen en cada nivel.

Capa Ejemplos Interés para pentesting
Acceso a red Ethernet, Wi-Fi, ARP Descubrimiento local, MAC, suplantación, redes inalámbricas
Internet IP, ICMP Direccionamiento, rutas, ping, traceroute, filtrado
Transporte TCP, UDP Puertos, estados, escaneo, sesiones y conectividad
Aplicación HTTP, DNS, SMB, SSH, FTP, SMTP Enumeración, autenticación, exposición de datos y vulnerabilidades

5.3 Direcciones IP, subredes y máscaras

Una dirección IP identifica una interfaz dentro de una red. La máscara o prefijo indica qué parte corresponde a la red y qué parte corresponde a hosts. Esta distinción es clave para descubrir objetivos, entender alcance y evitar probar redes no autorizadas.

  • 192.168.1.10/24: host 192.168.1.10 dentro de la red 192.168.1.0 a 192.168.1.255.
  • 10.0.0.5/8: host dentro de un rango privado amplio.
  • 172.16.5.20/16: host dentro de una red privada de clase 172.16.0.0/16.

En un pentest, el alcance puede definirse como un conjunto de IPs, subredes o nombres DNS. Es responsabilidad del evaluador respetar esos límites.

Antes de escanear una red, confirma que el rango completo está autorizado. Un error en una máscara puede incluir sistemas fuera del alcance.

5.4 Puertos y sockets

Un puerto permite que un sistema ofrezca varios servicios sobre una misma dirección IP. La combinación de IP, puerto y protocolo de transporte forma un punto de comunicación.

En pentesting, los puertos abiertos indican servicios que pueden enumerarse, autenticarse, probarse o revisar por configuraciones débiles.

Puerto Servicio común Qué suele revisarse
22/TCP SSH Banner, versión, autenticación, usuarios, claves
53/TCP-UDP DNS Transferencias de zona, registros, resolución interna
80/TCP HTTP Aplicaciones web, directorios, cabeceras, tecnologías
443/TCP HTTPS TLS, certificados, aplicación web, configuración
445/TCP SMB Compartidos, autenticación, versiones, enumeración Windows
3389/TCP RDP Acceso remoto, exposición, credenciales, políticas

5.5 TCP y UDP

TCP y UDP transportan datos de forma distinta. TCP establece conexión y controla entrega. UDP no establece conexión de la misma manera y suele usarse en servicios donde la velocidad o simplicidad importa.

  • TCP: usado por SSH, HTTP, HTTPS, SMB, SMTP, FTP y muchos servicios de administración.
  • UDP: usado por DNS, DHCP, SNMP, NTP, VoIP y algunos servicios de descubrimiento.

Los escaneos UDP suelen ser más lentos y difíciles de interpretar porque la ausencia de respuesta no siempre significa que el puerto esté cerrado. Puede haber filtrado, pérdida de paquetes o comportamiento silencioso del servicio.

5.6 ICMP, conectividad y filtrado

ICMP se usa para mensajes de control, diagnóstico y errores. Herramientas como ping y traceroute se apoyan en ICMP o técnicas relacionadas para comprobar conectividad y rutas.

En pentesting, que un host no responda a ping no significa que esté apagado. Muchos firewalls bloquean ICMP, pero permiten conexiones a puertos específicos. Por eso el descubrimiento de hosts no debe depender de un único método.

Un sistema puede estar activo aunque no responda a ping. La conectividad debe validarse con varios indicadores.

5.7 DNS y nombres de dominio

DNS traduce nombres a direcciones y revela mucha información sobre una organización: dominios, subdominios, servidores de correo, proveedores, servicios cloud y entornos expuestos.

  • A y AAAA: direcciones IPv4 e IPv6 asociadas a un nombre.
  • CNAME: alias hacia otro nombre.
  • MX: servidores de correo.
  • NS: servidores autoritativos del dominio.
  • TXT: verificaciones, SPF, DKIM, DMARC y otros datos.

En reconocimiento, DNS ayuda a descubrir superficie expuesta. En entornos internos, puede revelar nombres de servidores, dominios Active Directory y patrones de infraestructura.

5.8 HTTP y HTTPS

HTTP y HTTPS son fundamentales para pruebas web y APIs. Comprender métodos, códigos de estado, cabeceras, cookies y cuerpos de petición permite analizar aplicaciones más allá de lo que muestra el navegador.

Elemento Ejemplo Interés para pentesting
Método GET, POST, PUT, DELETE Acciones disponibles y abuso de endpoints
Código de estado 200, 301, 403, 404, 500 Comportamiento, errores, rutas protegidas
Cabeceras Server, Location, Set-Cookie Tecnologías, sesiones, redirecciones
Cookies sessionid, token Gestión de sesión, flags, expiración
Cuerpo JSON, formularios, XML Validación de entradas e inyecciones

5.9 TLS y certificados

TLS protege comunicaciones en tránsito, pero una configuración incorrecta puede debilitar la seguridad. En pentesting se revisan certificados, versiones de protocolo, cifrados, nombres alternativos y errores de validación.

  • Certificados expirados o emitidos para otro dominio.
  • Protocolos obsoletos habilitados.
  • Cifrados débiles o suites inseguras.
  • Falta de redirección correcta de HTTP a HTTPS.
  • Exposición de subdominios en campos del certificado.

Además de seguridad, los certificados pueden aportar información para reconocimiento, como nombres internos o subdominios relacionados.

5.10 Fundamentos de Linux para pentesting

Linux aparece tanto como sistema atacante como objetivo. Conocer su estructura ayuda a interpretar permisos, procesos, servicios y rutas de escalada.

  • /etc: configuración del sistema y servicios.
  • /home: directorios de usuarios.
  • /var/log: registros del sistema y aplicaciones.
  • /tmp: archivos temporales, a veces usados indebidamente por procesos.
  • /usr/bin y /bin: binarios de usuario y sistema.
  • /root: directorio del administrador root.

También es esencial entender usuarios, grupos, sudo, permisos de archivos, servicios systemd y variables de entorno.

5.11 Permisos en Linux

Los permisos en Linux definen quién puede leer, escribir o ejecutar archivos. Se aplican a propietario, grupo y otros. Una mala configuración puede exponer credenciales, scripts, claves o permitir ejecución no prevista.

Permiso Significado en archivo Significado en directorio
r Leer contenido Listar nombres dentro del directorio
w Modificar contenido Crear, borrar o renombrar entradas
x Ejecutar archivo Entrar o atravesar el directorio
SUID/SGID Ejecutar con privilegios del propietario o grupo Puede tener impacto en herencia o ejecución

5.12 Fundamentos de Windows para pentesting

Windows es muy común en entornos corporativos. Para pentesting hay que entender usuarios, grupos, servicios, registro, permisos NTFS, sesiones, recursos compartidos y autenticación integrada.

  • Usuarios y grupos: determinan privilegios locales y de dominio.
  • Servicios: procesos gestionados por el sistema que pueden ejecutarse con privilegios altos.
  • Registro: base de configuración de sistema y aplicaciones.
  • NTFS: permisos sobre archivos y carpetas.
  • Event Viewer: registros de seguridad, sistema y aplicaciones.
  • PowerShell: herramienta de administración y automatización muy relevante para evaluación y defensa.

5.13 Active Directory como base corporativa

Active Directory centraliza identidades, equipos, grupos, políticas y autenticación en muchas organizaciones. Aunque tendrá un tema propio más adelante, conviene conocer sus conceptos básicos desde ahora.

  • Dominio: unidad lógica de administración.
  • Controlador de dominio: servidor que autentica y administra el dominio.
  • Usuario: identidad usada para iniciar sesión y acceder recursos.
  • Grupo: conjunto de usuarios o equipos con permisos comunes.
  • GPO: políticas aplicadas a usuarios y equipos.
  • Kerberos y NTLM: mecanismos de autenticación frecuentes en entornos Windows.
En redes corporativas, comprometer una credencial puede ser más importante que explotar una vulnerabilidad técnica aislada.

5.14 Procesos, servicios y demonios

Un servicio es un programa que se ejecuta para ofrecer una función: servidor web, base de datos, SSH, DNS, SMB o correo. En Linux suele hablarse de demonios; en Windows, de servicios.

Para pentesting, los servicios importan porque exponen funcionalidad y pueden tener:

  • Versiones vulnerables.
  • Configuraciones débiles.
  • Credenciales por defecto.
  • Permisos excesivos.
  • Interfaces administrativas expuestas.
  • Errores de autenticación o autorización.

5.15 Banners, versiones y fingerprinting

Muchos servicios revelan información al conectarse: nombre, versión, sistema operativo, módulos o configuración. Esto se conoce como banner o fingerprinting.

La información de versión ayuda a buscar vulnerabilidades conocidas, pero debe validarse con cuidado. Un banner puede estar oculto, modificado, desactualizado o no representar exactamente el estado real del servicio.

  • Un servidor puede ocultar la versión exacta.
  • Un banner puede mostrar una versión antigua aunque el paquete esté parcheado.
  • Un proxy o balanceador puede responder en nombre de otro servicio.
  • Un WAF puede alterar respuestas HTTP.

5.16 Autenticación, autorización y sesiones

Estos tres conceptos aparecen en casi todos los sistemas evaluados.

  • Autenticación: comprobar quién es el usuario o sistema.
  • Autorización: decidir qué puede hacer ese usuario o sistema.
  • Sesión: mantener el estado de un usuario autenticado durante varias interacciones.

Muchas vulnerabilidades surgen cuando un sistema autentica correctamente, pero autoriza mal; por ejemplo, permite que un usuario común acceda a datos de otro usuario o ejecute acciones administrativas.

5.17 Logs y trazabilidad

Los logs registran eventos del sistema, servicios, aplicaciones y seguridad. Para un pentester, sirven para entender comportamiento, verificar impacto y anticipar qué podría detectar un equipo defensivo.

Entorno Ubicación o fuente Qué puede registrar
Linux /var/log, journalctl Autenticación, servicios, kernel, aplicaciones
Windows Event Viewer Inicio de sesión, servicios, errores, seguridad
Web Access logs y error logs Peticiones, códigos de estado, errores, IPs
Red Firewall, IDS, proxy, DNS Conexiones, bloqueos, consultas, alertas

5.18 Bases de datos y servicios de almacenamiento

Las bases de datos y servicios de almacenamiento son objetivos sensibles porque contienen información de negocio, credenciales, tokens, datos personales o configuración. En pentesting se revisan exposición, autenticación, permisos y versiones.

  • MySQL y MariaDB: credenciales, permisos, exposición de puerto 3306.
  • PostgreSQL: roles, bases accesibles, configuración de escucha.
  • Microsoft SQL Server: cuentas, permisos, autenticación integrada, puerto 1433.
  • MongoDB: autenticación, exposición, roles y colecciones sensibles.
  • Redis: exposición sin autenticación, comandos peligrosos y persistencia.
  • Elasticsearch: índices expuestos y datos consultables sin control.

5.19 Servicios comunes y riesgos típicos

Cada servicio tiene patrones de riesgo frecuentes. Conocerlos acelera la enumeración y ayuda a interpretar resultados.

Servicio Riesgos típicos Preguntas de enumeración
FTP Acceso anónimo, credenciales débiles, datos sensibles ¿Permite login anónimo? ¿Qué archivos expone?
SSH Contraseñas débiles, claves expuestas, versiones antiguas ¿Qué versión usa? ¿Permite root? ¿Hay usuarios válidos?
SMB Compartidos abiertos, enumeración de usuarios, versiones vulnerables ¿Qué shares existen? ¿Acepta sesión nula?
SNMP Community strings por defecto, fuga de información ¿Responde con public/private? ¿Qué datos revela?
HTTP Aplicaciones vulnerables, paneles, archivos expuestos ¿Qué tecnología usa? ¿Qué rutas existen?

5.20 Variables de entorno, secretos y configuración

Muchos sistemas almacenan configuración en archivos, variables de entorno o servicios de secretos. Una mala práctica frecuente es dejar credenciales, tokens o claves accesibles para usuarios o procesos que no deberían verlos.

  • Archivos .env en aplicaciones web.
  • Claves API dentro de repositorios.
  • Credenciales en scripts de automatización.
  • Tokens en variables de entorno.
  • Backups de configuración dentro de directorios públicos.
  • Archivos de historial con comandos sensibles.
En muchos compromisos reales, el avance no ocurre por explotar código complejo, sino por encontrar secretos mal protegidos.

5.21 Interpretar antes de explotar

La fase de fundamentos se resume en una idea: antes de intentar explotar, hay que entender. Un puerto abierto debe convertirse en una hipótesis: qué servicio es, qué versión parece usar, cómo se autentica, qué información revela y qué impacto tendría comprometerlo.

Una buena enumeración responde:

  • ¿Qué sistemas existen?
  • ¿Qué servicios ofrecen?
  • ¿Qué versiones y tecnologías usan?
  • ¿Qué controles de acceso aplican?
  • ¿Qué información exponen sin autenticación?
  • ¿Qué rutas podrían conducir a mayor impacto?

5.22 Errores frecuentes

  • Escanear sin entender el alcance de red.
  • Confundir un puerto abierto con una vulnerabilidad confirmada.
  • Creer que un banner equivale a una versión real explotable.
  • Ignorar UDP porque los escaneos son más lentos.
  • No diferenciar autenticación de autorización.
  • Pasar por alto logs, archivos de configuración y permisos.
  • No documentar versiones, rutas, usuarios y evidencias durante la enumeración.

5.23 Qué debes recordar de este tema

  • Las redes se entienden mediante IPs, subredes, rutas, puertos y protocolos.
  • TCP y UDP se comportan distinto y requieren métodos de análisis diferentes.
  • DNS, HTTP, SMB, SSH, bases de datos y servicios remotos suelen aportar mucha información.
  • Linux y Windows tienen modelos de permisos, servicios, logs y autenticación que debes conocer.
  • Un servicio expuesto debe enumerarse antes de intentar validaciones más intrusivas.
  • Los secretos mal protegidos y las configuraciones débiles son hallazgos muy frecuentes.

5.24 Conclusión

Los fundamentos técnicos son la base del pentesting profesional. Permiten interpretar qué ocurre en una red, cómo responde un servicio, qué significa un permiso y por qué una configuración puede convertirse en una ruta de ataque.

En el próximo tema veremos las fases de una prueba de penetración y la gestión del alcance, conectando esta base técnica con el flujo completo de un trabajo profesional.