Alcaldia Mayor de Bogota D.C.
Rama Ejecutiva · Sector territorial · Alcaldía capital
Riesgo crítico. Se identificaron 1 hallazgos críticos. Adicionalmente, 3 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 recomendada: publicar registros DMARC con política reject, habilitar HSTS y completar el set de headers de seguridad.
Hallazgos (24)
Posible conn_mongo hardcoded en repo público que menciona bogota.gov.co
CriticaGitHub code search detecta patron 'conn_mongo' en DevLab-Duke/scraping_scripts (env_project/COL/bogota.gov.co_getnewurls.py). Fragmento: # db connection: db = MongoClient('mongodb://zungru:balsas.rial.tanoaks.schmoe.coffing@db-wibbels.sas.upenn.edu/?authSource=ml4p&tls=true').ml4p source = 'bogota.gov.co' direct_URLs = set() base_url
Codigo publico que menciona el dominio + patron tipo credencial sugiere fuga de secretos a traves de repos personales/contratistas. Validar manualmente si el secreto sigue activo o ya fue rotado.
SPF ausente en bogota.gov.co
AltaNo hay registro v=spf1 publicado.
Sin SPF, cualquier servidor del mundo puede enviar correo con remitente @bogota.gov.co. Spoofing trivial contra ciudadanos y proveedores.
Certificado wildcard cubre 1 dominios en bogota.gov.co
MediaWildcards en SAN: *.bogota.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 bogota.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.
DKIM no detectado en bogota.gov.co (selectores comunes)
MediaProbados 12 selectores comunes (default, mail, google, mailgun, etc.) — ninguno responde con v=DKIM1.
Sin DKIM, los receptores no pueden verificar criptográficamente que un correo proviene del servidor autorizado. Combinado con DMARC permisivo, deja la puerta abierta a spoofing.
DNS de bogota.gov.co totalmente fuera de Colombia
MediaNS records: ns1-06.azure-dns.com, ns2-06.azure-dns.net, ns3-06.azure-dns.org, ns4-06.azure-dns.info
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.
Drupal CHANGELOG.txt accesible en dev.bogota.gov.co
MediaGET https://dev.bogota.gov.co/core/CHANGELOG.txt entrega historial de versiones Drupal.
El CHANGELOG revela versión exacta de Drupal y patches aplicados — facilita matching con CVEs publicadas. Recomendación: bloquear o eliminar de raíz web.
Drupal CHANGELOG.txt accesible en www.bogota.gov.co
MediaGET https://www.bogota.gov.co/core/CHANGELOG.txt entrega historial de versiones Drupal.
El CHANGELOG revela versión exacta de Drupal y patches aplicados — facilita matching con CVEs publicadas. Recomendación: bloquear o eliminar de raíz web.
Drupal CHANGELOG.txt accesible en bogota.gov.co
MediaGET https://bogota.gov.co/core/CHANGELOG.txt entrega historial de versiones Drupal.
El CHANGELOG revela versión exacta de Drupal y patches aplicados — facilita matching con CVEs publicadas. Recomendación: bloquear o eliminar de raíz web.
Bucket S3 privado existe con nombre bogota
InfoGET https://bogota.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 bogota
InfoGET https://storage.googleapis.com/bogota 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 bogota-files
InfoGET https://storage.googleapis.com/bogota-files 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.
Bucket S3 privado existe con nombre mayor
InfoGET https://mayor.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 mayor
InfoGET https://storage.googleapis.com/mayor 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 mayor-files
InfoGET https://mayor-files.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.
Sin registros CAA
Altadig CAA bogota.gov.co retorna vacio.
Cualquier autoridad certificadora publica puede emitir certificados a nombre del dominio sin restriccion. Combinado con monitoreo CT incompleto, certificados fraudulentos pueden pasar inadvertidos.
Sin DMARC publicado
Alta_dmarc.bogota.gov.co no devuelve registro TXT.
Sin DMARC, cualquier atacante puede suplantar correos @bogota.gov.co sin restriccion. Spoofing trivial contra ciudadanos y proveedores.
Hallazgo agrupado por similitud semántica (299 findings, 299 entidades)
AltaML clustering identificó 299 findings similares afectando 299 entidades distintas. Categoría dominante: configuracion_ssl. Severidades: {'alta': 299}. Muestra: Sin registros CAA | Sin registros CAA | Sin registros CAA.
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 (94 findings, 94 entidades)
AltaML clustering identificó 94 findings similares afectando 94 entidades distintas. Categoría dominante: datos_personales. Severidades: {'alta': 94}. Muestra: Sin DMARC publicado | Sin DMARC publicado | Sin DMARC publicado.
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 (21 findings, 21 entidades)
AltaML clustering identificó 21 findings similares afectando 21 entidades distintas. Categoría dominante: datos_personales. Severidades: {'alta': 21}. Muestra: SPF ausente en secretariasenado.gov.co | SPF ausente en gov.co | SPF ausente en relatoria.colombiacompra.gov.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 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 1 hosts
MediaHosts afectados: reportes.bogota.gov.co.
Sin Secure las cookies viajan en HTTP plano si HSTS no aplica. Sin SameSite quedan expuestas a CSRF.
Activos públicos (6)
dev.bogota.gov.co
ambiente no produccion
Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Portal Bogotá - Entorno Desarrollo
Observado: 2026-05-02
mapas.bogota.gov.co
subdominio
Tech: Cloudflare. Title: Mapas Bogotá
Observado: 2026-05-02
api.bogota.gov.co
api
HTTPS error: <urlopen error [Errno 8] nodename nor servname provided, or not known>. FQDN publicado en DNS publico (IP 20.22.67.179).
Observado: 2026-05-02
www.bogota.gov.co
portal principal
Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Bogota.gov.co
Observado: 2026-05-02
bogota.gov.co
portal principal
Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Bogota.gov.co
Observado: 2026-05-02
reportes.bogota.gov.co
subdominio
Tech: Apache, Tomcat. Title: Apache Tomcat/9.0.110
Observado: 2026-05-02