Necesita mejora

Alcaldia Distrital de Santa Marta

Rama Ejecutiva · Sector territorial · Alcaldía capital

Resumen ejecutivoRiesgo CRÍTICO

Riesgo crítico. La entidad acumula 6 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 inmediata: eliminar el archivo de backup del web root y restringir el listado de directorios.

Total: 36Críticas: 6Altas: 7Medias: 13Sistémicas: 4
Cobertura100
Postura de seguridad65
Divulgación responsable0
Consistencia operativa100

Hallazgos (36)

CVE-2018-7600: Drupalgeddon2 — RCE preauth en Drupal 7.58 y anteriores

Critica

Stack Drupal 7 (version <8 EOL ene-2025) detectado. CVE-2018-7600 afecta esta version y permite el comportamiento descrito sin parche post-EOL.

RCE sin autenticacion explotable enviando POST a /user/register?element_parents=account/mail/%23value&ajax_form=1. Drupalgeddon2 fue weaponizada masivamente en abril 2018. Si el portal no esta parchado a 7.58+, el compromiso es trivial.

CVE-2019-6340: REST API RCE en Drupal 7/8

Critica

Stack Drupal 7 (version <8 EOL ene-2025) detectado. CVE-2019-6340 afecta esta version y permite el comportamiento descrito sin parche post-EOL.

Endpoint /node/X expuesto a peticiones POST con payload SA-CORE-2019-003 ejecuta codigo arbitrario via deserializacion. Afecta versiones <7.62/<8.5.11/<8.6.10.

Drupal 7.103 en santamarta.gov.co (rama EOL)

Critica

Detectado Drupal 7.103. Drupal 7 EOL ene-2025; Drupal 8 EOL nov-2021.

Drupal en rama EOL acumula CVE criticas. CVE-2018-7600 (Drupalgeddon2), CVE-2019-6340 y otras facilitan RCE en versiones antiguas.

Bucket GCS público santa asociable a alc-santa-marta

Critica

GET https://storage.googleapis.com/santa?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>santa</Name><Prefix></Prefix><KeyCount>263</KeyCount><IsTruncated>false</IsTruncated><Conte

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 262+ objetos listables asociado a alc-santa-marta

Critica

Bucket cloud retorna ListBucketResult/EnumerationResults con ≥262 objetos visibles en primeros 64 KB. Muestras: lessonplans/, lessonplans/en/ST-Lesson Plan-Code Boogie-Grades 3-5.pdf, lessonplans/en/ST-Lesson Plan-Code Lab-Grades K-2.pdf, lessonplans/en/ST-Lesson Plan-Code Snowflake-Grades 6-8.pdf, lessonplans/en/ST-Lesson Plan-Grades 3-5.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.

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.

CVE-2020-13671: Arbitrary file upload — Drupal 7/8/9 sin parche

Alta

Stack Drupal 7 (version <8 EOL ene-2025) detectado. CVE-2020-13671 afecta esta version y permite el comportamiento descrito sin parche post-EOL.

Permite subida de archivos con extensiones doble (ej. evil.phar.txt). Bypassea filtro y permite RCE si el server interpreta phar.

Sin registros CAA

Alta

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

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

Datos del portal hospedados fuera de Colombia

Alta

Apex resuelve a 104.21.62.188 (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 (14 findings, 14 entidades)

Alta

ML clustering identificó 14 findings similares afectando 14 entidades distintas. Categoría dominante: datos_personales. Severidades: {'alta': 14}. 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.

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

Media

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

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

Media

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

Media

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

DNS de santamarta.gov.co totalmente fuera de Colombia

Media

NS records: roman.ns.cloudflare.com, ullis.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.

Ruta /INSTALL.sqlite.txt listada en Disallow es accesible publicamente

Media

GET https://santamarta.gov.co/INSTALL.sqlite.txt retorna 200.

robots.txt expresa intencion de ocultar; un atacante usa esa lista como mapa. Ruta accesible significa que la 'proteccion' es solo cooperativa.

Ruta /xmlrpc.php listada en Disallow es accesible publicamente

Media

GET https://santamarta.gov.co/xmlrpc.php retorna 200.

robots.txt expresa intencion de ocultar; un atacante usa esa lista como mapa. Ruta accesible significa que la 'proteccion' es solo cooperativa.

Ruta /INSTALL.mysql.txt listada en Disallow es accesible publicamente

Media

GET https://santamarta.gov.co/INSTALL.mysql.txt retorna 200.

robots.txt expresa intencion de ocultar; un atacante usa esa lista como mapa. Ruta accesible significa que la 'proteccion' es solo cooperativa.

Drupal CHANGELOG.txt accesible en santamarta.gov.co

Media

GET https://santamarta.gov.co/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.santamarta.gov.co

Media

GET https://www.santamarta.gov.co/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 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 santa

Info

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

Info

GET https://santa-uploads.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 santa-private

Info

GET https://santa-private.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 santa-data

Info

GET https://santa-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 santa-data

Info

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

Info

GET https://santa-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 santa-app

Info

GET https://santa-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 santa-test

Info

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

Sin canal estandar de divulgacion responsable

Media

Ninguno de los 3 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 2 hosts

Media

Ejemplos: santamarta.gov.co: X-Generator=Drupal 7 (http://drupal.org) + govCMS (http://govcms.gov.au); www.santamarta.gov.co: X-Generator=Drupal 7 (http://drupal.org) + govCMS (http://govcms.gov.au).

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 1 hosts

Media

Hosts afectados: autodiscover.santamarta.gov.co.

Sin Secure las cookies viajan en HTTP plano si HSTS no aplica. Sin SameSite quedan expuestas a CSRF.

Activos públicos (3)

santamarta.gov.co

portal principal

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

Server: cloudflare

Tech: Cloudflare, Drupal. Title: Alcaldía Distrital de Santa Marta

Observado: 2026-05-02

autodiscover.santamarta.gov.co

email

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

Server: cloudflare

Tech: Cloudflare. Title: -

Observado: 2026-05-02

www.santamarta.gov.co

portal principal

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

Server: cloudflare

Tech: Cloudflare, Drupal. Title: Alcaldía Distrital de Santa Marta

Observado: 2026-05-02