Adecuado

Alcaldia Mayor de Bogota D.C.

Rama Ejecutiva · Sector territorial · Alcaldía capital

Resumen ejecutivoRiesgo CRÍTICO

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.

Total: 24Críticas: 1Altas: 6Medias: 9Sistémicas: 3
Cobertura100
Postura de seguridad80
Divulgación responsable0
Consistencia operativa100

Hallazgos (24)

Posible conn_mongo hardcoded en repo público que menciona bogota.gov.co

Critica

GitHub 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

Alta

No 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

Media

Wildcards 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

Media

No 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)

Media

Probados 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

Media

NS 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

Media

GET 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

Media

GET 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

Media

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Info

GET 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

Alta

dig 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)

Alta

ML 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)

Alta

ML 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)

Alta

ML 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

Media

Ninguno 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

Media

Hosts 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

4/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Portal Bogotá - Entorno Desarrollo

Observado: 2026-05-02

mapas.bogota.gov.co

subdominio

0/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

Tech: Cloudflare. Title: Mapas Bogotá

Observado: 2026-05-02

api.bogota.gov.co

api

0/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

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

6/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Bogota.gov.co

Observado: 2026-05-02

bogota.gov.co

portal principal

6/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

Tech: Drupal. Title: ¡Te damos la bienvenida a Bogotá! | Bogota.gov.co

Observado: 2026-05-02

reportes.bogota.gov.co

subdominio

0/8
HTTPS
Certificado
HSTS
CSP
X-Frame-Options
X-Content-Type
Referrer-Policy
security.txt

Tech: Apache, Tomcat. Title: Apache Tomcat/9.0.110

Observado: 2026-05-02