Alcaldia de Medellin
Rama Ejecutiva · Sector territorial · Alcaldía capital
Riesgo alto. Hallazgos de severidad alta principalmente en configuración de seguridad básica (DMARC, CAA, headers). Acción recomendada: publicar registros DMARC con política reject, habilitar HSTS y completar el set de headers de seguridad.
Hallazgos (11)
Servidor catch-all en 1 host(s) — observabilidad reducida
AltaEl portal en vpn.medellin.gov.co retorna HTTP 200 con la misma página para múltiples rutas inexistentes (paths sensibles como /.env, /web.config.bak, /aws.json devuelven el mismo HTML que /). Comportamiento típico de SPAs/CMS sin handler 404 explícito.
Catch-all 200 (en vez de 404) impide a herramientas de auditoría externas distinguir entre rutas reales y rutas inexistentes. Crea ruido para defenders y oculta exposiciones reales bajo un mar de 'falsos 200'. Buena práctica: configurar handler 404 explícito que retorne código 4xx para rutas no mapeadas.
DNSSEC ausente en medellin.gov.co
MediaNo hay registro DS en zona padre.
Sin DNSSEC, un atacante con MITM en cualquier resolvedor puede inyectar respuestas DNS falsas. Permite redirección a servidores controlados sin alertas.
Bucket S3 privado existe con nombre medellin
InfoGET https://medellin.s3.amazonaws.com retorna 403 AccessDenied (bucket existe, no listable). Sugiere infraestructura cloud asociada a la entidad.
Bucket existe pero está cerrado al público. Útil como pista de inventario cloud — en un escenario de takeover (entidad deja de pagar AWS), un atacante podría reclamar el nombre. Recomendación: documentar y monitorear.
Bucket GCS privado existe con nombre medellin
InfoGET https://storage.googleapis.com/medellin retorna 403 AccessDenied (bucket existe, no listable). Sugiere infraestructura cloud asociada a la entidad.
Bucket existe pero está cerrado al público. Útil como pista de inventario cloud — en un escenario de takeover (entidad deja de pagar AWS), un atacante podría reclamar el nombre. Recomendación: documentar y monitorear.
Bucket S3 privado existe con nombre alcaldia
InfoGET https://alcaldia.s3.amazonaws.com retorna 403 AccessDenied (bucket existe, no listable). Sugiere infraestructura cloud asociada a la entidad.
Bucket existe pero está cerrado al público. Útil como pista de inventario cloud — en un escenario de takeover (entidad deja de pagar AWS), un atacante podría reclamar el nombre. Recomendación: documentar y monitorear.
Bucket GCS privado existe con nombre alcaldia
InfoGET https://storage.googleapis.com/alcaldia retorna 403 AccessDenied (bucket existe, no listable). Sugiere infraestructura cloud asociada a la entidad.
Bucket existe pero está cerrado al público. Útil como pista de inventario cloud — en un escenario de takeover (entidad deja de pagar AWS), un atacante podría reclamar el nombre. Recomendación: documentar y monitorear.
VPN/Intranet alcanzable en DNS publico (1)
AltaHosts: vpn.medellin.gov.co.
Aunque el servicio este restringido por IP, el FQDN publicado en DNS permite enumeracion trivial y ataques dirigidos al perimetro.
Hallazgo agrupado por similitud semántica (111 findings, 111 entidades)
AltaML clustering identificó 111 findings similares afectando 111 entidades distintas. Categoría dominante: api_expuesta. Severidades: {'alta': 111}. Muestra: VPN/Intranet alcanzable en DNS publico (1) | VPN/Intranet alcanzable en DNS publico (1) | VPN/Intranet alcanzable en DNS publico (1).
Findings agrupados por similitud semántica reflejan una vulnerabilidad común (causa raíz compartida): mismo proveedor, misma configuración por defecto, o mismo template institucional sin endurecer. Resolver el problema en una entidad sin coordinar con las demás deja el problema activo en N-1 entidades.
Sin canal estandar de divulgacion responsable
MediaNinguno de los 6 subdominios alcanzables publica /.well-known/security.txt (RFC 9116).
Un investigador que descubra una vulnerabilidad no tiene canal estandarizado para reportar antes de publicar. Crisis va a prensa antes que a la entidad.
Cookies sin Secure o SameSite en 4 hosts
MediaHosts afectados: mercurio.medellin.gov.co, vpn.medellin.gov.co, medellin.gov.co, www.medellin.gov.co.
Sin Secure las cookies viajan en HTTP plano si HSTS no aplica. Sin SameSite quedan expuestas a CSRF.
Headers de seguridad insuficientes (0/8)
MediaApex medellin.gov.co solo presenta 0 de 8 headers de seguridad esperados (HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, X-XSS-Protection, COOP).
Headers de seguridad activan protecciones del navegador del usuario contra inyeccion, clickjacking y mixed content. Bajos = exposicion al usuario final.
Activos públicos (6)
mercurio.medellin.gov.co
subdominio
Tech: no fingerprint. Title: -
Observado: 2026-05-02
mail.medellin.gov.co
HTTPS error: <urlopen error timed out>. FQDN publicado en DNS publico (IP 200.13.232.115).
Observado: 2026-05-02
autodiscover.medellin.gov.co
HTTPS error: <urlopen error [Errno 61] Connection refused>. FQDN publicado en DNS publico (IP 52.96.111.56).
Observado: 2026-05-02
vpn.medellin.gov.co
vpn
Tech: no fingerprint. Title: -
Observado: 2026-05-02
medellin.gov.co
portal principal
Server: XXXXXX
Tech: Cloudflare, WordPress. Title: Alcaldía de Medellín | Portal institucional
Observado: 2026-05-02
www.medellin.gov.co
portal principal
Server: XXXXXX
Tech: Cloudflare, WordPress. Title: Alcaldía de Medellín | Portal institucional
Observado: 2026-05-02