Alcaldia de Manizales
Rama Ejecutiva · Sector territorial · Alcaldía capital
Riesgo crítico. Se detectó: WordPress expone listado de usuarios y emails (Habeas Data) y bucket de almacenamiento cloud listable con objetos visibles. Adicionalmente, 4 de los hallazgos detectados se replican en otras entidades del Estado — el patrón sugiere causa raíz compartida (proveedor común, template institucional o stack heredado). Acción inmediata: bloquear /wp-json/wp/v2/users o configurar para no exponer emails — es divulgación de datos personales (Habeas Data).
Hallazgos (18)
Bucket GCS público manizales asociable a alc-manizales
CriticaGET https://storage.googleapis.com/manizales?list-type=2 retorna ListBucketResult — bucket es listable públicamente. Body sample: <?xml version='1.0' encoding='UTF-8'?><ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'><Name>manizales</Name><Prefix></Prefix><KeyCount>34</KeyCount><IsTruncated>false</IsTruncated><Co
Un bucket cloud listable expone todos los objetos al público. Si la entidad lo creó para almacenamiento operacional, expone documentos, backups, archivos sensibles. Verificar ownership y bloquear acceso público inmediatamente.
Bucket cloud público con 34+ objetos listables asociado a alc-manizales
CriticaBucket cloud retorna ListBucketResult/EnumerationResults con ≥34 objetos visibles en primeros 64 KB. Muestras: assets/bootstrap/css/bootstrap-grid.min.css, assets/bootstrap/css/bootstrap-reboot.min.css, assets/bootstrap/css/bootstrap.min.css, assets/bootstrap/js/bootstrap.bundle.min.js, assets/dropdown/css/style.css.
Un bucket cloud listable con N objetos visibles entrega un mapa completo del almacenamiento. Cada objeto es potencialmente descargable. Si la entidad usa el bucket para backups, documentos sensibles o assets internos, hay exfiltración masiva trivial.
Hallazgo agrupado por similitud semántica (201 findings, 151 entidades)
CriticaML clustering identificó 201 findings similares afectando 151 entidades distintas. Categoría dominante: configuracion_expuesta. Severidades: {'critica': 201}. Muestra: Bucket GCS público recursos-app asociable a adres | Bucket GCS público recursos-web asociable a adres | Bucket GCS público adr-test asociable a adr.
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.
Servidor catch-all en 2 host(s) — observabilidad reducida
AltaEl portal en manizales.gov.co, www.manizales.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.
WordPress REST expone listado de usuarios en salud.manizales.gov.co
AltaGET https://salud.manizales.gov.co/wp-json/wp/v2/users retorna JSON con usuarios (id/name/slug). Sample: [{"id":1,"name":"admin","url":"https:\/\/salud.manizales.gov.co","description":"","link":"https:\/\/salud.manizales.gov.co\/author\/soporte\/","slug":"soporte","avatar_urls":{"24":"https:\/\/secure.gr
El endpoint /wp-json/wp/v2/users entrega usernames y a veces emails de la instalación WP. Permite enumerar nombres válidos para bruteforce dirigido y phishing personalizado.
VPN/Intranet alcanzable en DNS publico (2)
AltaHosts: intranet.manizales.gov.co, vpn.manizales.gov.co.
Aunque el servicio este restringido por IP, el FQDN publicado en DNS permite enumeracion trivial y ataques dirigidos al perimetro.
DMARC en modo quarantine (no reject)
Alta_dmarc.manizales.gov.co publica politica permisiva.
Politica quarantine no rechaza correos no autenticados. Atacante puede suplantar @manizales.gov.co contra ciudadanos del territorio.
Hallazgo agrupado por similitud semántica (196 findings, 196 entidades)
AltaML clustering identificó 196 findings similares afectando 196 entidades distintas. Categoría dominante: datos_personales. Severidades: {'alta': 196}. Muestra: DMARC en modo permisivo (quarantine en lugar de reject) | DMARC en modo quarantine (no reject) | DMARC en modo quarantine (no reject).
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.
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.
Certificado wildcard cubre 1 dominios en manizales.gov.co
MediaWildcards en SAN: *.manizales.gov.co. Total SAN: 2.
Wildcard certs simplifican operación pero amplían el blast radius: si la llave privada se compromete, el atacante impersona TODOS los subdominios cubiertos. Buena práctica: cert por servicio.
DNSSEC ausente en manizales.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.
DNS de manizales.gov.co totalmente fuera de Colombia
MediaNS records: alex.ns.cloudflare.com, serenity.ns.cloudflare.com
Toda la zona DNS está bajo proveedores extranjeros — los logs de queries DNS, claves DNSSEC y eventual modificación quedan bajo jurisdicción foránea. Para el Estado, esto debería evaluarse contra Ley 1581/2012.
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.
Hallazgo agrupado por similitud semántica (69 findings, 41 entidades)
AltaML clustering identificó 69 findings similares afectando 41 entidades distintas. Categoría dominante: divulgacion_informacion. Severidades: {'alta': 69}. Muestra: WordPress REST expone listado de usuarios en prosperidadsocial.gov.co | WordPress REST expone listado de usuarios en relatoria.colombiacompra.gov.co | WordPress REST expone listado de usuarios en esap.edu.co.
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 11 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.
Headers exponen versiones de stack en 1 hosts
MediaEjemplos: sig.manizales.gov.co: X-Powered-By=ASP.NET.
Cada header de version acelera la explotacion de vulnerabilidades especificas. Buena practica: ocultar Server, X-Powered-By, X-Generator en respuestas externas.
Headers de seguridad insuficientes (1/8)
MediaApex manizales.gov.co solo presenta 1 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 (11)
intranet.manizales.gov.co
intranet
Server: nginx/1.24.0 (Ubuntu)
Tech: Nginx. Title: Login - Intranet Alcaldía de Manizales
Observado: 2026-05-02
autodiscover.manizales.gov.co
HTTPS error: <urlopen error [Errno 61] Connection refused>. FQDN publicado en DNS publico (IP 52.96.97.184).
Observado: 2026-05-02
planeacion.manizales.gov.co
subdominio
Tech: no fingerprint. Title: Invalid Connection
Observado: 2026-05-02
vpn.manizales.gov.co
vpn
Server: xxxxxxxx-xxxxx
Tech: no fingerprint. Title: -
Observado: 2026-05-02
sig.manizales.gov.co
subdominio
Server: Microsoft-IIS/10.0
Tech: ASP.NET, IIS 10. Title: SIG
Observado: 2026-05-02
manizales.gov.co
portal principal
Server: nginx
Tech: Nginx, WordPress. Title: Alcaldía de Manizales – Manizales
Observado: 2026-05-02
www.manizales.gov.co
portal principal
Server: nginx
Tech: Nginx, WordPress. Title: Alcaldía de Manizales – Manizales
Observado: 2026-05-02
app.manizales.gov.co
subdominio
Server: cloudflare
Tech: Cloudflare. Title: -
Observado: 2026-05-02
old.manizales.gov.co
subdominio
Server: nginx
Tech: Nginx, WordPress. Title: Alcaldía de Manizales – Manizales
Observado: 2026-05-02
salud.manizales.gov.co
subdominio
Server: Apache
Tech: Apache, WordPress. Title: Inicio - Secretaría de Salud
Observado: 2026-05-02
gestion.manizales.gov.co
subdominio
Server: Apache/2.4.33 (Win32) OpenSSL/1.0.2n
Tech: Apache. Title: Aplicaciones | Alcaldía de Manizales
Observado: 2026-05-02