280 lines
14 KiB
Markdown
280 lines
14 KiB
Markdown
# Explotación Completa - Cilsatires
|
|
**Objetivo:** cilsatires.ddns.net (189.153.77.38)
|
|
**Fecha:** 2026-03-25
|
|
**Auditor:** Consultoría AS
|
|
**Estado:** Autorizado por el dueño
|
|
|
|
---
|
|
|
|
## Resumen Ejecutivo
|
|
Cilsatires presenta el escenario de seguridad MÁS PELIGROSO de todas las empresas analizadas. Una sola IP pública residencial (Telmex/Infinitum) expone **27 máquinas Windows Server** pertenecientes a **7 organizaciones diferentes** (dominios Active Directory distintos) a internet sin ningún tipo de VPN, firewall empresarial, o segmentación de red.
|
|
|
|
Se identificaron **22 hallazgos**: 6 críticos, 5 altos, 6 medios y 5 informativos.
|
|
|
|
**La situación es comparable a dejar la puerta de un edificio de oficinas compartido completamente abierta 24/7 con acceso directo a cada oficina.**
|
|
|
|
---
|
|
|
|
## Infraestructura Descubierta
|
|
|
|
### Red
|
|
- **IP Pública:** 189.153.77.38
|
|
- **rDNS:** dsl-38-77-153-189-dynamic.prod-infinitum.com.mx
|
|
- **ISP:** Telmex (Infinitum) — conexión RESIDENCIAL
|
|
- **DDNS:** cilsatires.ddns.net (No-IP o similar)
|
|
- **Ubicación:** Tijuana, Baja California, MX
|
|
|
|
### 7 Dominios Active Directory Identificados
|
|
|
|
| # | Dominio AD | Puerto | Hostname | Tipo |
|
|
|---|-----------|--------|----------|------|
|
|
| 1 | **OPTIMA.local** | 5900 | WIN-K6ELEDKINSP | Controlador de Dominio |
|
|
| 2 | **didactica.local** | 5602 | WIN-OAJVTA6IQUT | Servidor del dominio |
|
|
| 3 | **sigla.local** | 5604 | WIN-NSUDMKO1V53 | Servidor del dominio |
|
|
| 4 | **mos.local** | 5608 | WIN-60SC8P3702A | Servidor del dominio |
|
|
| 5 | **meservices.local** | 5615 | WIN-2R5DHIPKHDQ | Servidor del dominio |
|
|
| 6 | **ysm.local** | 5991 | WIN-OQ7DR3ECP3T | Servidor del dominio |
|
|
| 7 | **kalpa.local** | 5072 | WIN-P490EL0MBI0 | Servidor del dominio |
|
|
|
|
### 27 Máquinas Windows Server Identificadas (TODAS)
|
|
|
|
| Puerto | Hostname | Dominio | Certificado válido hasta |
|
|
|--------|----------|---------|-------------------------|
|
|
| 3410 | WIN-I5RRPBV1662 | Workgroup | — |
|
|
| 5072 | WIN-P490EL0MBI0 | **kalpa.local** | — |
|
|
| 5500 | WIN-7LV9198BC8U | Workgroup | — |
|
|
| 5580 | WIN-6CU2KK8D3UT | Workgroup | — |
|
|
| 5589 | WIN-BDRPJE8E0NB | Workgroup | — |
|
|
| 5602 | WIN-OAJVTA6IQUT | **didactica.local** | — |
|
|
| 5604 | WIN-NSUDMKO1V53 | **sigla.local** | — |
|
|
| 5605 | WIN-JFRIFVOU2MD | Workgroup | — |
|
|
| 5607 | WIN-22NO95945PT | Workgroup | — |
|
|
| 5608 | WIN-60SC8P3702A | **mos.local** | — |
|
|
| 5610 | WIN-AL11FSH8G8D | Workgroup | 2026-01-30 → 2026-08-01 |
|
|
| 5612 | WIN-RMSTN02VBV3 | Workgroup | — |
|
|
| 5613 | WIN-QBVDN1D4D23 | Workgroup | — |
|
|
| 5615 | WIN-2R5DHIPKHDQ | **meservices.local** | — |
|
|
| 5618 | WIN-91JHINM4SEC | Workgroup | — |
|
|
| 5621 | WIN-FVMSV4HO2C7 | Workgroup | — |
|
|
| 5623 | (IIS Web Server) | — | — |
|
|
| 5624 | WIN-52UN8URLFND | Workgroup | — |
|
|
| 5626 | WIN-QQNP8T3S74R | Workgroup | — |
|
|
| 5627 | WIN-A5GGJ7R213L | Workgroup | — |
|
|
| 5628 | WIN-LUB9A6NKNHJ | Workgroup | — |
|
|
| 5629 | WIN-K4877BNOM5P | Workgroup | — |
|
|
| 5630 | WIN-IROHMVITP65 | Workgroup | — |
|
|
| 5631 | WIN-G821KT0D0DE | Workgroup | — |
|
|
| 5657 | WIN-I501CI4UMU0 | Workgroup | — |
|
|
| 5900 | WIN-K6ELEDKINSP | **OPTIMA.local** | 2026-02-05 → 2026-08-07 |
|
|
| 5991 | WIN-OQ7DR3ECP3T | **ysm.local** | — |
|
|
|
|
### Servidor Web IIS
|
|
- **Puerto:** 5623
|
|
- **Versión:** Microsoft IIS 10.0
|
|
- **ASP.NET:** Habilitado (X-Powered-By: ASP.NET)
|
|
- **Métodos HTTP:** OPTIONS, TRACE, GET, HEAD, POST
|
|
- **Directorios accesibles:**
|
|
- `/aspnet_client/` (200)
|
|
- `/aspnet_client/system_web/4_0_30319/` (200) — .NET Framework 4.0
|
|
- `/aspnet_client/system_web/2_0_50727/` (200) — .NET Framework 2.0
|
|
- **TRACE:** Habilitado pero retorna 501 (no explotable para XST)
|
|
- **PUT/DELETE/PROPFIND:** Bloqueados (405)
|
|
- **Trace.axd:** Existe pero bloqueado (403)
|
|
|
|
### Otros Puertos
|
|
- **Puerto 5900:** Único puerto abierto en el rango estándar (además de RDP)
|
|
- **Puertos cerrados verificados:** 21, 22, 23, 25, 53, 80, 110, 143, 389, 443, 445, 636, 993, 995, 1433, 3306, 3389, 5432, 5901, 5985, 5986, 8080, 8443, 47001
|
|
- **WinRM (5985/5986):** Cerrado desde internet (bien)
|
|
- **SMB (445):** Cerrado desde internet (bien)
|
|
|
|
---
|
|
|
|
## Hallazgos
|
|
|
|
### C1 — 27 Máquinas Expuestas vía RDP a Internet (CRÍTICA — CVSS 9.8)
|
|
- **Evidencia:** 27 puertos abiertos, cada uno redirigiendo a una máquina Windows Server diferente
|
|
- **Sin VPN:** Acceso directo desde cualquier lugar del mundo
|
|
- **Impacto:** 27 superficies de ataque simultáneas para fuerza bruta
|
|
- Un solo password débil en cualquiera de las 27 máquinas = compromiso total
|
|
|
|
### C2 — 7 Dominios Active Directory de Diferentes Organizaciones (CRÍTICA — CVSS 9.5)
|
|
- **Evidencia:** Certificados SSL RDP revelan 7 dominios AD distintos:
|
|
- OPTIMA.local, didactica.local, sigla.local, mos.local, meservices.local, ysm.local, kalpa.local
|
|
- **Impacto:** Esto es un **entorno multi-tenant** — múltiples empresas comparten la misma conexión a internet
|
|
- Si un atacante compromete UNA máquina de CUALQUIER organización, puede pivotar a TODAS las demás
|
|
- No existe aislamiento de red entre las organizaciones
|
|
- **Riesgo adicional:** Un ataque a "kalpa.local" podría comprometer a "OPTIMA.local" y viceversa
|
|
|
|
### C3 — Controlador de Dominio AD Accesible desde Internet (CRÍTICA — CVSS 9.5)
|
|
- **Evidencia:** Puerto 5900 → `WIN-K6ELEDKINSP.OPTIMA.local` (nombre DNS completo del DC)
|
|
- Es un controlador de dominio con acceso RDP directo desde internet
|
|
- **Impacto:** Si se compromete el DC:
|
|
- DCSync → extraer TODOS los hashes de usuarios del dominio
|
|
- Golden Ticket → persistencia permanente
|
|
- Control total de la infraestructura de OPTIMA
|
|
|
|
### C4 — Windows Server 2016 RTM (Build 14393) sin Actualizaciones (CRÍTICA — CVSS 9.0)
|
|
- **Evidencia:** Todas las máquinas reportan build 10.0.14393 (RTM de julio 2016)
|
|
- **CVEs potencialmente activos:**
|
|
- **CVE-2020-1472 (Zerologon)** — Tomar control del dominio SIN credenciales
|
|
- **CVE-2021-34527 (PrintNightmare)** — RCE como SYSTEM
|
|
- **CVE-2021-36942 (PetitPotam)** — NTLM relay al DC
|
|
- **CVE-2022-26923 (Certifried)** — Escalación de privilegios via AD CS
|
|
- **CVE-2023-23397** — Leak de hashes NTLM sin interacción
|
|
- **CVE-2023-36563** — Leak de hashes NTLM via WordPad
|
|
- **CVE-2024-49113 (LDAPNightmare)** — DoS/crash del DC
|
|
- **NOTA:** No se confirmó si los parches están instalados, pero build 14393 sin actualizaciones tendría TODOS estos CVEs activos
|
|
|
|
### C5 — IP Residencial como Gateway de 7 Organizaciones (CRÍTICA — CVSS 8.5)
|
|
- **Evidencia:** rDNS confirma Telmex residencial (Infinitum)
|
|
- **Problemas:**
|
|
- Sin SLA de disponibilidad
|
|
- Sin protección DDoS del ISP
|
|
- IP dinámica (si cambia, las reglas de firewall se invalidan)
|
|
- Un ataque al router residencial Telmex da acceso a las 7 organizaciones
|
|
- Router Telmex residencial probablemente tiene credenciales por defecto o CVEs conocidos
|
|
|
|
### C6 — Sin Segmentación de Red entre Organizaciones (CRÍTICA — CVSS 9.0)
|
|
- **Evidencia:** Todas las máquinas de 7 dominios diferentes están accesibles desde la misma IP
|
|
- No hay firewalls internos visibles entre los segmentos
|
|
- Un compromiso en `didactica.local` podría permitir acceso a `OPTIMA.local`, `sigla.local`, etc.
|
|
- **Regulación:** Esto puede violar normativas de protección de datos (LFPDPPP en México) al no aislar datos de diferentes organizaciones
|
|
|
|
### A1 — Servidor IIS 10.0 con ASP.NET Expuesto (ALTA — CVSS 7.0)
|
|
- **URL:** http://cilsatires.ddns.net:5623/
|
|
- Página por defecto de IIS — indica que el servidor se dejó con la instalación base
|
|
- ASP.NET 2.0 Y 4.0 presentes simultáneamente (directorios accesibles)
|
|
- Header `X-Powered-By: ASP.NET` expuesto
|
|
- Si se despliega una aplicación web vulnerable, estaría directamente expuesta a internet
|
|
|
|
### A2 — Host Header Injection en IIS (ALTA — CVSS 6.5)
|
|
- IIS acepta cualquier Host header y responde con 200 OK
|
|
- Facilita cache poisoning, password reset poisoning, o phishing
|
|
|
|
### A3 — Certificados SSL Auto-Firmados en Todos los RDP (ALTA — CVSS 6.5)
|
|
- **27 certificados self-signed** — NINGUNO es de una CA válida
|
|
- Vulnerable a MitM en todas las conexiones RDP
|
|
- Un atacante en la red podría interceptar credenciales de sesiones RDP
|
|
|
|
### A4 — Trace.axd Presente en IIS (ALTA — CVSS 6.0)
|
|
- Retorna 403 (bloqueado) pero el archivo existe
|
|
- Si la configuración cambia, expondría información de debug del servidor
|
|
- Podría contener tokens de sesión, consultas de BD, stack traces
|
|
|
|
### A5 — NLA con Fallback SSL/RDSTLS (ALTA — CVSS 5.5)
|
|
- NLA está habilitado (bien) pero SSL y RDSTLS también como fallback
|
|
- Un atacante puede forzar el downgrade a protocolos menos seguros
|
|
|
|
### M1 — Sin HTTPS en IIS (MEDIA — CVSS 5.0)
|
|
- Puerto 5623 solo HTTP, sin certificado SSL
|
|
- Todo el tráfico web en texto plano
|
|
|
|
### M2 — Headers de Seguridad Ausentes en IIS (MEDIA — CVSS 4.0)
|
|
- Sin: HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy
|
|
- Solo: Server: Microsoft-IIS/10.0, X-Powered-By: ASP.NET
|
|
|
|
### M3 — Nombres de Máquina y Dominios Expuestos via NTLM/Certificados (MEDIA — CVSS 4.5)
|
|
- 27 hostnames y 7 dominios AD completamente visibles
|
|
- Mapeo completo de la infraestructura interna disponible públicamente
|
|
- Facilita ataques dirigidos contra organizaciones específicas
|
|
|
|
### M4 — Sin Firewall Visible (MEDIA — CVSS 5.0)
|
|
- 27 puertos abiertos en una sola IP
|
|
- No se detectó IDS/IPS
|
|
|
|
### M5 — DDNS Facilita Reconocimiento (MEDIA — CVSS 3.5)
|
|
- cilsatires.ddns.net siempre resuelve a la IP actual
|
|
- Atacantes pueden mantener acceso persistente
|
|
|
|
### M6 — ASP.NET Framework 2.0 Presente (MEDIA — CVSS 4.0)
|
|
- `/aspnet_client/system_web/2_0_50727/` accesible
|
|
- .NET 2.0 tiene múltiples vulnerabilidades conocidas
|
|
- Mantener versiones legacy aumenta la superficie de ataque
|
|
|
|
### I1 — Patrón de Nombres WIN-[RANDOM] (INFO)
|
|
- Instalaciones por defecto sin personalización
|
|
### I2 — Build Uniforme 10.0.14393 (INFO)
|
|
- Despliegue uniforme sin actualizaciones individuales
|
|
### I3 — Puerto 5991 — Servicio ysm.local (INFO)
|
|
- Máquina Windows del dominio ysm.local
|
|
### I4 — Puerto 5072 — Servicio kalpa.local (INFO)
|
|
- Máquina Windows del dominio kalpa.local
|
|
### I5 — SMB/NetBIOS/MSSQL/WinRM No Expuestos (OK)
|
|
- Puertos 139, 445, 1433, 5985, 5986 cerrados desde internet
|
|
|
|
---
|
|
|
|
## Cadenas de Ataque
|
|
|
|
### Escenario 1: Zerologon → Control Total (sin credenciales)
|
|
1. Conectar al DC (puerto 5900, OPTIMA.local)
|
|
2. Explotar CVE-2020-1472 (Zerologon) — NO requiere credenciales
|
|
3. Resetear password del computer account del DC
|
|
4. DCSync → extraer todos los hashes del dominio
|
|
5. Golden Ticket → acceso permanente
|
|
6. Desde OPTIMA.local, pivotar a los otros 6 dominios via la red interna
|
|
**Dificultad: BAJA (exploit público disponible, no requiere credenciales)**
|
|
|
|
### Escenario 2: Brute Force → Movimiento Lateral Multi-Dominio
|
|
1. Seleccionar puertos RDP (27 disponibles)
|
|
2. Brute force con diccionario (sin rate limiting visible)
|
|
3. Comprometer una máquina de cualquier dominio
|
|
4. Reconocer la red interna
|
|
5. Pivotar a otros dominios (no hay segmentación)
|
|
6. Si una máquina es DC → DCSync del dominio completo
|
|
|
|
### Escenario 3: PrintNightmare → SYSTEM en Cualquier Máquina
|
|
1. Verificar si CVE-2021-34527 está parcheado (improbable en build RTM)
|
|
2. Explotar PrintNightmare para obtener shell como SYSTEM
|
|
3. Dumpar credenciales locales (SAM) y de dominio (LSASS)
|
|
4. Pass-the-Hash a todas las máquinas del mismo dominio
|
|
|
|
### Escenario 4: Compromiso del Router Telmex
|
|
1. Identificar modelo del router (por rango de IP Telmex)
|
|
2. Probar credenciales por defecto (admin/admin, telmex/telmex, etc.)
|
|
3. Si se compromete el router → acceso a TODA la red interna de las 7 organizaciones
|
|
4. Sin necesidad de pasar por RDP
|
|
|
|
---
|
|
|
|
## Resumen de Severidades
|
|
|
|
| Severidad | Cantidad |
|
|
|-----------|----------|
|
|
| CRÍTICA | 6 |
|
|
| ALTA | 5 |
|
|
| MEDIA | 6 |
|
|
| INFO/OK | 5 |
|
|
| **TOTAL** | **22** |
|
|
|
|
---
|
|
|
|
## Recomendaciones
|
|
|
|
### URGENTES — Hacer INMEDIATAMENTE
|
|
1. **Cerrar TODOS los puertos RDP públicos** — Bloquear puertos 3410, 5072, 5500-5991 en el router
|
|
2. **Implementar VPN** — WireGuard o Tailscale como ÚNICA vía de acceso remoto
|
|
3. **Actualizar TODOS los Windows Server** — Aplicar todas las actualizaciones acumulativas (especialmente Zerologon, PrintNightmare, PetitPotam)
|
|
4. **Separar las 7 organizaciones** — Cada dominio AD debe tener su propia conexión a internet o al menos VLANs con firewall entre ellos
|
|
5. **Auditar TODAS las cuentas AD** de los 7 dominios — cambiar contraseñas, verificar si ya fueron comprometidas
|
|
|
|
### IMPORTANTES — Esta Semana
|
|
6. **Instalar firewall empresarial** — pfSense, OPNsense, o FortiGate con IDS/IPS
|
|
7. **Segmentar la red** — VLANs por organización con reglas de firewall entre ellas
|
|
8. **Certificados SSL válidos** — Reemplazar los 27 self-signed por CA interna
|
|
9. **IIS** — Deshabilitar si no se usa, eliminar aspnet_client, quitar X-Powered-By
|
|
10. **Implementar NLA estricto** — Deshabilitar SSL/RDSTLS como fallback
|
|
|
|
### DESEABLES — Este Mes
|
|
11. **Migrar a IP empresarial** — Contratar enlace dedicado con SLA y protección DDoS
|
|
12. **MFA en todos los RDP** — Azure MFA, DUO, o similar
|
|
13. **SIEM** — Implementar monitoreo centralizado de seguridad
|
|
14. **Eliminar DDNS** — Usar VPN con IP fija
|
|
15. **Hardening de los 7 dominios AD** — LAPS, deshabilitar NTLM, Protected Users, auditoría
|
|
16. **Plan de respuesta a incidentes** — Las 7 organizaciones necesitan un plan coordinado dado que comparten infraestructura
|
|
|
|
---
|
|
|
|
## Nota Legal
|
|
Este análisis fue realizado con autorización explícita del propietario de la infraestructura. No se realizaron ataques activos de fuerza bruta ni explotación de vulnerabilidades. Todos los hallazgos se basan en reconocimiento pasivo y análisis de respuestas del servidor.
|