Adecuado

Distrito Especial de Barrancabermeja

Rama Ejecutiva · Sector territorial · Distrito especial

Resumen ejecutivoRiesgo CRÍTICO

Riesgo crítico. La entidad acumula 7 hallazgos críticos verificados. La superficie de ataque concurrente sugiere falta de auditoría reciente y configuraciones por defecto sin endurecer. 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 recomendada: publicar registros DMARC con política reject, habilitar HSTS y completar el set de headers de seguridad.

Total: 39Críticas: 7Altas: 8Medias: 7Sistémicas: 4
Cobertura100
Postura de seguridad90
Divulgación responsable0
Consistencia operativa100

Hallazgos (39)

Bucket GCS público especial-assets asociable a dist-barrancabermeja

Critica

GET https://storage.googleapis.com/especial-assets?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>especial-assets</Name><Prefix></Prefix><KeyCount>346</KeyCount><IsTruncated>false</IsTrunca

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 GCS público dist-staging asociable a dist-barrancabermeja

Critica

GET https://storage.googleapis.com/dist-staging?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>dist-staging</Name><Prefix></Prefix><KeyCount>4</KeyCount><IsTruncated>false</IsTruncated><

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.

Servidor catch-all en 2 host(s) — observabilidad reducida

Alta

El portal en barrancabermeja.gov.co, www.barrancabermeja.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.

IP compartida: 5 entidades en 35.227.195.184

Alta

Entidades en 35.227.195.184: alc-pasto, alc-pereira, dist-barrancabermeja, gob-cordoba, gob-santander

Mismo IP físico = mismo servidor o mismo balanceador. Compromiso del host expone simultáneamente todas las entidades. Patrón típico de portales 'Gobierno en Línea' provistos por terceros.

robots.txt revela 1 ruta(s) sensibles en www.barrancabermeja.gov.co

Media

Disallow/Allow incluye: /backup. 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.

robots.txt revela 1 ruta(s) sensibles en barrancabermeja.gov.co

Media

Disallow/Allow incluye: /backup. 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 wildcard cubre 1 dominios en barrancabermeja.gov.co

Media

Wildcards en SAN: *.barrancabermeja.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 barrancabermeja.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 barrancabermeja.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.

Bucket S3 privado existe con nombre especial

Info

GET https://especial.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 especial

Info

GET https://storage.googleapis.com/especial 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 dist

Info

GET https://dist.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 dist

Info

GET https://storage.googleapis.com/dist 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 dist-prod

Info

GET https://dist-prod.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 dist-prod

Info

GET https://storage.googleapis.com/dist-prod 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 dist-dev

Info

GET https://dist-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 S3 privado existe con nombre dist-backup

Info

GET https://dist-backup.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 dist-data

Info

GET https://storage.googleapis.com/dist-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 dist-files

Info

GET https://dist-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.

Bucket S3 privado existe con nombre dist-assets

Info

GET https://dist-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 dist-assets

Info

GET https://storage.googleapis.com/dist-assets 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 dist-app

Info

GET https://dist-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 S3 privado existe con nombre dist-tmp

Info

GET https://dist-tmp.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 dist-test

Info

GET https://dist-test.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 público dist-test asociable a dist-barrancabermeja

Critica

GET https://storage.googleapis.com/dist-test?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>dist-test</Name><Prefix></Prefix><KeyCount>240</KeyCount><IsTruncated>false</IsTruncated><C

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 S3 privado existe con nombre distrito

Info

GET https://distrito.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 distrito

Info

GET https://storage.googleapis.com/distrito 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 cloud público con 251+ objetos listables asociado a dist-barrancabermeja

Critica

Bucket cloud retorna ListBucketResult/EnumerationResults con ≥251 objetos visibles en primeros 64 KB. Muestras: catalogues/, catalogues/curr/, catalogues/curr/Afternoon Tea.pdf, catalogues/curr/Corporate Catering &amp; Retail.pdf, catalogues/curr/Hospitality.pdf.

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.

Bucket cloud público con 4+ objetos listables asociado a dist-barrancabermeja

Critica

Bucket cloud retorna ListBucketResult/EnumerationResults con ≥4 objetos visibles en primeros 64 KB. Muestras: assets/index-BC6qjFQK.css, assets/personal_care_logo_v2-Sd6Y1UA8.png, favicon.ico, index.html.

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.

Bucket cloud público con 232+ objetos listables asociado a dist-barrancabermeja

Critica

Bucket cloud retorna ListBucketResult/EnumerationResults con ≥232 objetos visibles en primeros 64 KB. Muestras: 101XP/, 101XP/gshare_installer.exe, 101XP/gshare_repo/Updates.xml, 101XP/gshare_repo/com.xsolla.gshare/3.0.0.0QtCharts.7z, 101XP/gshare_repo/com.xsolla.gshare/3.0.0.0QtCharts.7z.sha1.

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)

Critica

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

Sin registros CAA

Alta

dig CAA barrancabermeja.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.barrancabermeja.gov.co no devuelve registro TXT.

Sin DMARC, cualquier atacante puede suplantar correos @barrancabermeja.gov.co sin restriccion. Spoofing trivial contra ciudadanos y proveedores.

Datos del portal hospedados fuera de Colombia

Alta

Apex resuelve a 35.227.195.184 (rango caracteristico de proveedor extranjero — Cloudflare/AWS/Azure US).

Ley 1581/2012 art. 26 exige consentimiento o nivel de proteccion adecuado para transferencia internacional. EE.UU. no esta en la lista de paises adecuados de la SIC sin clausulas contractuales tipo.

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 (17 findings, 17 entidades)

Alta

ML clustering identificó 17 findings similares afectando 17 entidades distintas. Categoría dominante: datos_personales. Severidades: {'alta': 17}. Muestra: Datos del portal hospedados fuera de Colombia | Datos del portal hospedados fuera de Colombia | Datos del portal hospedados fuera de Colombia.

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 4 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 3 hosts

Media

Ejemplos: www.barrancabermeja.gov.co: X-Powered-By=N/A; barrancabermeja.gov.co: X-Powered-By=N/A; sgd.barrancabermeja.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.

Activos públicos (4)

autodiscover.barrancabermeja.gov.co

email

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

HTTPS error: <urlopen error [Errno 61] Connection refused>. FQDN publicado en DNS publico (IP 52.96.97.184).

Observado: 2026-05-02

www.barrancabermeja.gov.co

portal principal

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

Server: nginx

Tech: Nginx. Title: Sede Electrónica de la Alcaldía de Barrancabermeja

Observado: 2026-05-02

barrancabermeja.gov.co

portal principal

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

Server: nginx

Tech: Nginx. Title: Sede Electrónica de la Alcaldía de Barrancabermeja

Observado: 2026-05-02

sgd.barrancabermeja.gov.co

subdominio

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

Server: Microsoft-IIS/10.0

Tech: ASP.NET, IIS 10. Title: Dozzier Procesos

Observado: 2026-05-02