Alcaldia Distrital de Santa Marta
Rama Ejecutiva · Sector territorial · Alcaldía capital
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.
Hallazgos (36)
CVE-2018-7600: Drupalgeddon2 — RCE preauth en Drupal 7.58 y anteriores
CriticaStack 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
CriticaStack 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)
CriticaDetectado 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
CriticaGET 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
CriticaBucket 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)
CriticaML 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
AltaStack 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
Altadig 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
AltaApex 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)
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 (14 findings, 14 entidades)
AltaML 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
MediaDisallow/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
MediaDisallow/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
MediaWildcards 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
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 santamarta.gov.co totalmente fuera de Colombia
MediaNS 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
MediaGET 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
MediaGET 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
MediaGET 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
MediaGET 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
MediaGET 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
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 santa
InfoGET 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
InfoGET 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
InfoGET 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
InfoGET 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
InfoGET 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
InfoGET 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
InfoGET 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
InfoGET 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
MediaNinguno 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
MediaEjemplos: 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
MediaHosts 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
Server: cloudflare
Tech: Cloudflare, Drupal. Title: Alcaldía Distrital de Santa Marta
Observado: 2026-05-02
autodiscover.santamarta.gov.co
Server: cloudflare
Tech: Cloudflare. Title: -
Observado: 2026-05-02
www.santamarta.gov.co
portal principal
Server: cloudflare
Tech: Cloudflare, Drupal. Title: Alcaldía Distrital de Santa Marta
Observado: 2026-05-02