Secretaria Distrital de Ambiente de Bogota
Rama Ejecutiva · Sector ambiente · Corporación Autónoma Regional
Riesgo crítico. Se detectaron 2 vulnerabilidades catalogadas por CISA como activamente explotadas en ataques reales (CVE-2024-4577, CVE-2021-22175). No son riesgos teóricos: equivalen a fallas conocidas y publicadas que atacantes ya están usando contra otras organizaciones. Adicionalmente, 9 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 acceso público a /.git/* en el web server y auditar la historia del repositorio por credenciales commiteadas.
Hallazgos (38)
Repositorio .git accesible publicamente en oab.ambientebogota.gov.co
CriticaGET https://oab.ambientebogota.gov.co/.git/config retorna HTTP 200 con contenido valido de Git ([core] repositoryformatversion = 0 filemode = true bare = false logallrefupd...). El directorio .git completo es descargable.
Acceso al .git permite descarga del codigo fuente completo, historial de commits, credenciales eliminadas en versiones previas, archivos de configuracion. Es uno de los hallazgos mas graves: equivale a entregar el repositorio interno al publico.
CVE-2022-31625: PHP heap use-after-free en pg_query_params
AltaStack PHP 7.4 (EOL nov-2022) detectado. CVE-2022-31625 afecta esta version y permite el comportamiento descrito sin parche post-EOL.
Afecta PHP 7.4.x. Explotable si el portal usa funciones Postgres con input controlado.
CVE-2022-37454: SHA-3 buffer overflow — afecta PHP 7.4
AltaStack PHP 7.4 (EOL nov-2022) detectado. CVE-2022-37454 afecta esta version y permite el comportamiento descrito sin parche post-EOL.
Buffer overflow en hash extension. PHP 7.4 EOL recibe parche limitado.
URLs de ambiente interno/no-producción referenciadas desde ambientebogota.gov.co
AltaBundle del portal incluye referencias a hosts internos/staging: http://192.168.175.241
Las URLs internas en código de producción revelan topología, hostnames de staging/dev y a veces APIs no destinadas al público. Acelera reconocimiento y descubre superficie no autorizada.
Stack EOL 'PHP 7.4 (EOL)' presente en 13 entidades del Estado
AltaEntidades con esta tech: alc-bucaramanga, alc-ibague, car-cda, car-cdmb, car-corpoamazonia, car-corponarino, car-sda-bogota, ese-pasto-salud
Software fuera de soporte (PHP 7.4 (EOL)) en múltiples entidades sugiere proveedor común con stack obsoleto. Vulnerabilidad descubierta en este stack afecta simultáneamente a varios servicios públicos.
robots.txt revela 2 ruta(s) sensibles en oab.ambientebogota.gov.co
MediaDisallow/Allow incluye: /wp-admin/admin-ajax.php, /wp-admin/. robots.txt es publico — los crawlers respetan, los atacantes lo usan como mapa.
robots.txt no impide acceso, solo solicita ignorar a crawlers benignos. Listar paths internos/admin alli es un atajo para enumerar superficie sensible.
Certificado TLS de ambientebogota.gov.co expira en 0 días
MediaCert vence el May 2 23:59:59 2026 GMT.
Renovación próxima — confirmar automatización (Let's Encrypt cron, AWS ACM auto-renew). Si no, riesgo de outage.
Certificado wildcard cubre 1 dominios en ambientebogota.gov.co
MediaWildcards en SAN: *.ambientebogota.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 ambientebogota.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 ambientebogota.gov.co totalmente fuera de Colombia
MediaNS records: ns-cloud-b2.googledomains.com, ns-cloud-b3.googledomains.com, ns-cloud-b1.googledomains.com, ns-cloud-b4.googledomains.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 secretaria
InfoGET https://secretaria.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 secretaria
InfoGET https://storage.googleapis.com/secretaria 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 secretaria-assets
InfoGET https://secretaria-assets.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 sda
InfoGET https://storage.googleapis.com/sda 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 sda-dev
InfoGET https://sda-dev.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 sda-backup
InfoGET https://storage.googleapis.com/sda-backup 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 sda-public
InfoGET https://sda-public.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 S3 privado existe con nombre sda-data
InfoGET https://sda-data.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 sda-data
InfoGET https://storage.googleapis.com/sda-data 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 sda-assets
InfoGET https://sda-assets.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 S3 privado existe con nombre sda-app
InfoGET https://sda-app.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 sda-test
InfoGET https://storage.googleapis.com/sda-test 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.
Repositorio Git público con remote identificable en car-sda-bogota
CriticaGET /.git/config retorna config válida con remotes: https://github.com/jbolanosrmc/oab-wp.git. git-dumper recovery del repo completo es trivial.
Un .git/config visible identifica el repositorio remoto (GitHub/GitLab privado de la entidad). Aún sin acceso al remoto, el atacante puede recuperar el TODO el árbol de archivos del .git público con git-dumper, obteniendo: código fuente completo, lógica de negocio, validaciones cliente, comentarios internos, credenciales históricas commiteadas.
Hallazgo agrupado por similitud semántica (5 findings, 4 entidades)
CriticaML clustering identificó 5 findings similares afectando 4 entidades distintas. Categoría dominante: codigo_fuente_expuesto. Severidades: {'critica': 5}. Muestra: Repositorio .git accesible publicamente en orfeo.crautonoma.gov.co | Repositorio .git accesible publicamente en oab.ambientebogota.gov.co | Repositorio .git accesible publicamente en agenda.upn.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.
CISA KEV CVE-2024-4577: php 7.4 en car-sda-bogota (explotación activa documentada; en uso por ransomware activo)
CriticaLa versión detectada php 7.4 corresponde a vendor='php group' product='php' con 1 CVE en el catálogo CISA KEV. Esta CVE específica (CVE-2024-4577: PHP-CGI OS Command Injection Vulnerability) está documentada como explotada activamente por atacantes en producción (catalog dateAdded=2024-06-12, dueDate gov US=2024-07-03; en uso por ransomware activo).
El catálogo CISA Known Exploited Vulnerabilities lista solamente CVEs con evidencia confirmada de explotación en ataques reales. Esto no es un riesgo teórico: equivalente a saber que la cerradura específica de tu casa está publicada en un foro de criminales. La US Federal Government tiene fechas obligatorias de remediación (dueDate) — para entidades del Estado colombiano el estándar mínimo es el mismo. Si la CVE es de uso conocido en ransomware, el riesgo escala a interrupción operacional crítica.
CISA KEV CVE-2021-22175: gitlab . en car-sda-bogota (explotación activa documentada)
CriticaLa versión detectada gitlab . corresponde a vendor='gitlab' product='gitlab' con 1 CVE en el catálogo CISA KEV. Esta CVE específica (CVE-2021-22175: GitLab Server-Side Request Forgery (SSRF) Vulnerability) está documentada como explotada activamente por atacantes en producción (catalog dateAdded=2026-02-18, dueDate gov US=2026-03-11).
El catálogo CISA Known Exploited Vulnerabilities lista solamente CVEs con evidencia confirmada de explotación en ataques reales. Esto no es un riesgo teórico: equivalente a saber que la cerradura específica de tu casa está publicada en un foro de criminales. La US Federal Government tiene fechas obligatorias de remediación (dueDate) — para entidades del Estado colombiano el estándar mínimo es el mismo. Si la CVE es de uso conocido en ransomware, el riesgo escala a interrupción operacional crítica.
Sin registros CAA
Altadig CAA ambientebogota.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.
DMARC en modo none (no reject)
Alta_dmarc.ambientebogota.gov.co publica politica permisiva.
Politica none no rechaza correos no autenticados. Atacante puede suplantar @ambientebogota.gov.co contra ciudadanos del territorio.
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 (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 (12 findings, 12 entidades)
AltaML clustering identificó 12 findings similares afectando 12 entidades distintas. Categoría dominante: dependencias_vulnerables. Severidades: {'alta': 12}. Muestra: CVE-2022-31625: PHP heap use-after-free en pg_query_params | CVE-2022-31625: PHP heap use-after-free en pg_query_params | CVE-2022-31625: PHP heap use-after-free en pg_query_params.
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 (12 findings, 12 entidades)
AltaML clustering identificó 12 findings similares afectando 12 entidades distintas. Categoría dominante: dependencias_vulnerables. Severidades: {'alta': 12}. Muestra: CVE-2022-37454: SHA-3 buffer overflow — afecta PHP 7.4 | CVE-2022-37454: SHA-3 buffer overflow — afecta PHP 7.4 | CVE-2022-37454: SHA-3 buffer overflow — afecta PHP 7.4.
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 (10 findings, 10 entidades)
AltaML clustering identificó 10 findings similares afectando 10 entidades distintas. Categoría dominante: divulgacion_informacion. Severidades: {'alta': 10}. Muestra: URLs de ambiente interno/no-producción referenciadas desde datos.gov.co | URLs de ambiente interno/no-producción referenciadas desde sgc.gov.co | URLs de ambiente interno/no-producción referenciadas desde defensacivil.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.
Hallazgo agrupado por similitud semántica (5 findings, 37 entidades)
AltaML clustering identificó 5 findings similares afectando 37 entidades distintas. Categoría dominante: software_obsoleto. Severidades: {'alta': 5}. Muestra: Stack EOL 'IIS 8.5 (Win 2012 R2 EOL)' presente en 14 entidades del Estado | Stack EOL 'PHP 7.4 (EOL)' presente en 13 entidades del Estado | Stack EOL 'PHP 7.3 (EOL)' presente en 3 entidades del Estado.
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 15 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 4 hosts
MediaEjemplos: oab.ambientebogota.gov.co: X-Powered-By=PHP/7.4.33; www.oab.ambientebogota.gov.co: X-Powered-By=PHP/7.4.33; cimab.ambientebogota.gov.co: X-Powered-By=PHP/7.4.33.
Cada header de version acelera la explotacion de vulnerabilidades especificas. Buena practica: ocultar Server, X-Powered-By, X-Generator en respuestas externas.
Cookies sin Secure o SameSite en 2 hosts
MediaHosts afectados: eva.ambientebogota.gov.co, ambientebogota.gov.co.
Sin Secure las cookies viajan en HTTP plano si HSTS no aplica. Sin SameSite quedan expuestas a CSRF.
Headers de seguridad insuficientes (3/8)
MediaApex ambientebogota.gov.co solo presenta 3 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 (15)
ftp.ambientebogota.gov.co
subdominio
Server: nginx
Tech: Nginx. Title: -
Observado: 2026-05-02
gisdev.ambientebogota.gov.co
ambiente no produccion
Server: Apache/2.4.57 (Win32) OpenSSL/3.1.3 mod_fcgid/2.3.9 mod-mapcache/1.15dev
Tech: Apache. Title: MS4W - MapServer for Windows
Observado: 2026-05-02
oab.ambientebogota.gov.co
subdominio
Tech: PHP 7.4 (EOL), WordPress. Title: Observatorio Ambiental de Bogotá » Datos e indicadores para medir la calidad del ambiente en Bogotá
Observado: 2026-05-02
www.oab.ambientebogota.gov.co
subdominio
Tech: PHP 7.4 (EOL), WordPress. Title: Observatorio Ambiental de Bogotá » Datos e indicadores para medir la calidad del ambiente en Bogotá
Observado: 2026-05-02
cimab.ambientebogota.gov.co
subdominio
Tech: PHP 7.4 (EOL), WordPress. Title: Observatorio Ambiental de Bogotá » Datos e indicadores para medir la calidad del ambiente en Bogotá
Observado: 2026-05-02
datos.ambientebogota.gov.co
subdominio
Server: nginx/1.20.1
Tech: Nginx. Title: Arrow - Sistema de Información para la Administración de Indicadores del Observatorio de Ambiente de Bogotá
Observado: 2026-05-02
mapas.ambientebogota.gov.co
subdominio
Server: Microsoft-IIS/10.0
Tech: IIS 10. Title: IIS Windows Server
Observado: 2026-05-02
documentos.ambientebogota.gov.co
subdominio
HTTPS error: <urlopen error [SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1016)>. FQDN publicado en DNS publico (IP 142.251.129.211).
Observado: 2026-05-02
nuevo.ambientebogota.gov.co
subdominio
Server: Apache
Tech: Apache. Title: -
Observado: 2026-05-02
eva.ambientebogota.gov.co
subdominio
Tech: Cloudflare. Title: EVA - Iniciar Sesión
Observado: 2026-05-02
ambientebogota.gov.co
portal principal
Server: Apache-Coyote/1.1
Tech: Apache, Liferay, Tomcat. Title: Página inicial - Secretaría Distrital de Ambiente
Observado: 2026-05-02
portal.ambientebogota.gov.co
subdominio
HTTPS error: <urlopen error [SSL] record layer failure (_ssl.c:1016)>. FQDN publicado en DNS publico (IP 190.27.245.106).
Observado: 2026-05-02
gis.ambientebogota.gov.co
subdominio
Server: nginx/1.14.0 (Ubuntu)
Tech: Cloudflare, Nginx. Title: Visor Geográfico Ambiental
Observado: 2026-05-02
www2.ambientebogota.gov.co
subdominio
Tech: no fingerprint. Title: -
Observado: 2026-05-02
www.ambientebogota.gov.co
portal principal
Tech: PHP 7.4 (EOL), WordPress. Title: Observatorio Ambiental de Bogotá » Datos e indicadores para medir la calidad del ambiente en Bogotá
Observado: 2026-05-02