Contraloría General del Atlántico
Organismos de Control · Sector control · Contraloría territorial
Riesgo crítico. La entidad acumula 13 hallazgos críticos verificados. La superficie de ataque concurrente sugiere falta de auditoría reciente y configuraciones por defecto sin endurecer. Adicionalmente, 7 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: cerrar acceso público a paneles administrativos (restringir por IP/VPN) y verificar credenciales por defecto.
Hallazgos (55)
phpMyAdmin accesible en contraloriadelatlantico.gov.co
CriticaGET https://contraloriadelatlantico.gov.co/phpmyadmin/
phpMyAdmin público + credenciales débiles/default = compromiso total de DB. Recomendación: nunca exponer phpMyAdmin a internet.
phpMyAdmin accesible en www.contraloriadelatlantico.gov.co
CriticaGET https://www.contraloriadelatlantico.gov.co/phpmyadmin/
phpMyAdmin público + credenciales débiles/default = compromiso total de DB. Recomendación: nunca exponer phpMyAdmin a internet.
Joomla manifest XML accesible en contraloriadelatlantico.gov.co
MediaGET https://contraloriadelatlantico.gov.co/administrator/manifests/files/joomla.xml retorna joomla.xml con versión.
Manifest revela versión exacta — facilita CVE matching.
Joomla manifest XML accesible en www.contraloriadelatlantico.gov.co
MediaGET https://www.contraloriadelatlantico.gov.co/administrator/manifests/files/joomla.xml retorna joomla.xml con versión.
Manifest revela versión exacta — facilita CVE matching.
Metadata de autor en PDF público de contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/lacontraloria/ORGANIGRAMA_CGDA-.pdf embebe Author=ZOILALUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Metadata de autor en PDF público de contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/planes/auditorias/PGA_2018_V._1.pdf embebe Author=LUIS CARLOS PERTUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 6 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 6
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Metadata de autor en PDF público de contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/planes/auditorias/PGA_2017_V._1.pdf embebe Author=LUIS CARLOS PERTUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Metadata de autor en PDF público de www.contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/lacontraloria/ORGANIGRAMA_CGDA-.pdf embebe Author=ZOILALUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Metadata de autor en PDF público de www.contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/planes/auditorias/PGA_2018_V._1.pdf embebe Author=LUIS CARLOS PERTUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 6 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 6
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Metadata de autor en PDF público de www.contraloriadelatlantico.gov.co
BajaPDF https://contraloriadelatlantico.gov.co/doc/planes/auditorias/PGA_2017_V._1.pdf embebe Author=LUIS CARLOS PERTUZ Creator=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0 Producer=þÿ M i c r o s o f t ® E x c e l ® 2 0 1 0
Metadata de autor en PDFs publicados revela nombres reales de funcionarios y software interno usado. Riesgo bajo pero buena práctica limpiar.
Bucket S3 privado existe con nombre atlantico
InfoGET https://atlantico.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 atlantico-media
InfoGET https://atlantico-media.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 general
InfoGET https://general.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 general
InfoGET https://storage.googleapis.com/general 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 general-prod
InfoGET https://general-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 general-prod
InfoGET https://storage.googleapis.com/general-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 general-dev
InfoGET https://general-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 general-dev
InfoGET https://storage.googleapis.com/general-dev 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 general-staging
InfoGET https://storage.googleapis.com/general-staging 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 general-backup
InfoGET https://general-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 general-backup
InfoGET https://storage.googleapis.com/general-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 GCS privado existe con nombre general-uploads
InfoGET https://storage.googleapis.com/general-uploads 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 general-public asociable a ctr-atlantico
CriticaGET https://storage.googleapis.com/general-public?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>general-public</Name><Prefix></Prefix><KeyCount>8</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.
Bucket S3 privado existe con nombre general-private
InfoGET https://general-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 GCS privado existe con nombre general-private
InfoGET https://storage.googleapis.com/general-private 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 general-data
InfoGET https://general-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 general-data
InfoGET https://storage.googleapis.com/general-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 general-files
InfoGET https://general-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 GCS público general-files asociable a ctr-atlantico
CriticaGET https://storage.googleapis.com/general-files?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>general-files</Name><Prefix></Prefix><NextContinuationToken>Cll1c2Vycy9kb2N1bWVudHMvNWEwOGY
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 privado existe con nombre general-media
InfoGET https://storage.googleapis.com/general-media 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 general-assets
InfoGET https://general-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 general-assets
InfoGET https://storage.googleapis.com/general-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 general-app
InfoGET https://general-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 general-app
InfoGET https://storage.googleapis.com/general-app 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 general-web
InfoGET https://general-web.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 general-tmp
InfoGET https://general-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 GCS privado existe con nombre general-tmp
InfoGET https://storage.googleapis.com/general-tmp 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 general-test
InfoGET https://general-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 privado existe con nombre general-test
InfoGET https://storage.googleapis.com/general-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.
Hallazgo sistémico en 12 entidades — phpMyAdmin accesible
CriticaMismo patrón crítico detectado en 12 entidades del Estado: alc-armenia, alc-palmira, alc-villavicencio, car-cra-atlantico, ctr-atlantico, ese-hus-cundinamarca, ese-subred-norte, gob-cordoba.... La repetición sugiere causa raíz compartida: stack común, integrador común, o configuración por defecto sin endurecer.
Cuando la misma vulnerabilidad afecta a ≥5 entidades, la causa raíz suele ser un proveedor compartido o una configuración heredada de un template institucional. Resolver en una entidad sin coordinar con MinTIC/CCOC deja el problema activo en N-1 entidades. Recomendación: alerta a Computer Security Incident Response Team gubernamental y boletín a las entidades afectadas.
Hallazgo sistémico en 83 entidades — Hallazgo sistémico
CriticaMismo patrón crítico detectado en 83 entidades del Estado: alc-arauca, alc-armenia, alc-bucaramanga, alc-cali, alc-cartago, alc-cucuta, alc-galapa, alc-girardot.... La repetición sugiere causa raíz compartida: stack común, integrador común, o configuración por defecto sin endurecer.
Cuando la misma vulnerabilidad afecta a ≥5 entidades, la causa raíz suele ser un proveedor compartido o una configuración heredada de un template institucional. Resolver en una entidad sin coordinar con MinTIC/CCOC deja el problema activo en N-1 entidades. Recomendación: alerta a Computer Security Incident Response Team gubernamental y boletín a las entidades afectadas.
Hallazgo sistémico en 10 entidades — phpMyAdmin unknown expuesto
CriticaMismo patrón crítico detectado en 10 entidades del Estado: alc-armenia, alc-palmira, alc-villavicencio, car-cra-atlantico, ctr-atlantico, ese-hus-cundinamarca, ese-subred-norte, gob-cordoba.... La repetición sugiere causa raíz compartida: stack común, integrador común, o configuración por defecto sin endurecer.
Cuando la misma vulnerabilidad afecta a ≥5 entidades, la causa raíz suele ser un proveedor compartido o una configuración heredada de un template institucional. Resolver en una entidad sin coordinar con MinTIC/CCOC deja el problema activo en N-1 entidades. Recomendación: alerta a Computer Security Incident Response Team gubernamental y boletín a las entidades afectadas.
phpMyAdmin unknown expuesto en ctr-atlantico (control DB potencial)
CriticaphpMyAdmin versión unknown accesible públicamente. Vector clásico de credential stuffing (admin/admin, root/blank, root/root). Versiones <5.1 acumulan CVEs sin parche.
phpMyAdmin es la consola web de MySQL/MariaDB. Si tiene credenciales débiles o por defecto, un atacante obtiene acceso completo a la base de datos en una request. Versión específica permite match contra CVE database (CVE-2020-26935, CVE-2018-19968, etc.).
phpMyAdmin unknown expuesto en ctr-atlantico (control DB potencial)
CriticaphpMyAdmin versión unknown accesible públicamente. Vector clásico de credential stuffing (admin/admin, root/blank, root/root). Versiones <5.1 acumulan CVEs sin parche.
phpMyAdmin es la consola web de MySQL/MariaDB. Si tiene credenciales débiles o por defecto, un atacante obtiene acceso completo a la base de datos en una request. Versión específica permite match contra CVE database (CVE-2020-26935, CVE-2018-19968, etc.).
Bucket cloud público con 8+ objetos listables asociado a ctr-atlantico
CriticaBucket cloud retorna ListBucketResult/EnumerationResults con ≥8 objetos visibles en primeros 64 KB. Muestras: 398graham/, 398graham/Contract of Sale of Real Estate - 398 Graham Street, Port Melbourne.pdf, 398graham/Section 32 - 398 Graham Street, Port Melbourne.pdf, Record_2024-08-13-08-36-56.mp4, twilio/.
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 217+ objetos listables asociado a ctr-atlantico
CriticaBucket cloud retorna ListBucketResult/EnumerationResults con ≥217 objetos visibles en primeros 64 KB. Muestras: buys/, buys/0028c50a-d8f9-480d-b92f-f93a9b21d949_04 RECIBO Nª 119 Y CONTRATO Nª 73.pdf, buys/005d18c7-f989-4d98-937c-ef49fa6d356d_Screen Shot 2021-10-26 at 12.00.19 AM.png, buys/0096f9b8-e474-4efa-ad37-c22fbc0d8519_03 RECIBO Nª 58 Y CONTRATO Nª 34.pdf, buys/00b21e17-04ce-417f-8638-3c25264ffe24_05 RECIBO Nª 352 Y CONTRATO Nª 252.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.
Hallazgo agrupado por similitud semántica (21 findings, 12 entidades)
CriticaML clustering identificó 21 findings similares afectando 12 entidades distintas. Categoría dominante: panel_admin_expuesto. Severidades: {'critica': 21}. Muestra: phpMyAdmin accesible en educacion.cordoba.gov.co | phpMyAdmin accesible en sig.villavicencio.gov.co | phpMyAdmin accesible en gobierno.villavicencio.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 registros CAA
Altadig CAA contraloriadelatlantico.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.contraloriadelatlantico.gov.co no devuelve registro TXT.
Sin DMARC, cualquier atacante puede suplantar correos @contraloriadelatlantico.gov.co sin restriccion. Spoofing trivial contra ciudadanos y proveedores.
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.
Sin canal estandar de divulgacion responsable
MediaNinguno 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 2 hosts
MediaHosts afectados: contraloriadelatlantico.gov.co, www.contraloriadelatlantico.gov.co.
Sin Secure las cookies viajan en HTTP plano si HSTS no aplica. Sin SameSite quedan expuestas a CSRF.
Headers de seguridad insuficientes (0/8)
MediaApex contraloriadelatlantico.gov.co solo presenta 0 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 (6)
mail.contraloriadelatlantico.gov.co
Server: nginx
Tech: Nginx. Title: -
Observado: 2026-05-02
contraloriadelatlantico.gov.co
portal principal
Server: nginx
Tech: Joomla, Nginx. Title: Contraloría Departamental del Atlántico
Observado: 2026-05-02
webmail.contraloriadelatlantico.gov.co
Server: nginx
Tech: Nginx. Title: -
Observado: 2026-05-02
www.contraloriadelatlantico.gov.co
portal principal
Server: nginx
Tech: Joomla, Nginx. Title: Contraloría Departamental del Atlántico
Observado: 2026-05-02
autodiscover.contraloriadelatlantico.gov.co
HTTPS error: <urlopen error [Errno 61] Connection refused>. FQDN publicado en DNS publico (IP 52.96.119.88).
Observado: 2026-05-02
ftp.contraloriadelatlantico.gov.co
subdominio
Server: nginx
Tech: Nginx. Title: Success!
Observado: 2026-05-02