Necesita mejora

Instituto Alexander von Humboldt

Rama Ejecutiva · Sector ambiente · Establecimiento público

Resumen ejecutivoRiesgo CRÍTICO

Riesgo crítico. La entidad acumula 8 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.

Total: 36Críticas: 8Altas: 6Medias: 5Sistémicas: 7
Cobertura100
Postura de seguridad60
Divulgación responsable0
Consistencia operativa100

Hallazgos (36)

phpMyAdmin accesible en intranet.humboldt.org.co

Critica

GET https://intranet.humboldt.org.co/phpmyadmin/

phpMyAdmin público + credenciales débiles/default = compromiso total de DB. Recomendación: nunca exponer phpMyAdmin a internet.

phpMyAdmin accesible en proyectos.humboldt.org.co

Critica

GET https://proyectos.humboldt.org.co/phpmyadmin/

phpMyAdmin público + credenciales débiles/default = compromiso total de DB. Recomendación: nunca exponer phpMyAdmin a internet.

Patron tipo password/api_key/secret detectado en HTML de humboldt.org.co

Media

Inspeccion automatica del HTML detecta patrones que parecen credenciales hardcoded. Requiere validacion manual.

Si confirma, expone secretos via inspeccion del DOM. Buena practica: no entregar credenciales al cliente; usar tokens cortos firmados por backend.

Patron tipo password/api_key/secret detectado en HTML de www.humboldt.org.co

Media

Inspeccion automatica del HTML detecta patrones que parecen credenciales hardcoded. Requiere validacion manual.

Si confirma, expone secretos via inspeccion del DOM. Buena practica: no entregar credenciales al cliente; usar tokens cortos firmados por backend.

DNSSEC ausente en humboldt.org.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.

Bucket S3 privado existe con nombre alexander

Info

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

Info

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

Info

GET https://storage.googleapis.com/alexander-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 S3 privado existe con nombre alexander-backup

Info

GET https://alexander-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 alexander-backup

Info

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

Info

GET https://storage.googleapis.com/alexander-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 GCS privado existe con nombre alexander-app

Info

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

Info

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

Info

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

Bucket S3 privado existe con nombre humboldt

Info

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

Info

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

Info

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

Info

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

Info

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

Info

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

Info

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

Info

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

Hallazgo sistémico en 12 entidades — phpMyAdmin accesible

Critica

Mismo 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

Critica

Mismo 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

Critica

Mismo 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 humboldt (control DB potencial)

Critica

phpMyAdmin 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 humboldt (control DB potencial)

Critica

phpMyAdmin 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.).

Hallazgo agrupado por similitud semántica (21 findings, 12 entidades)

Critica

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

VPN/Intranet alcanzable en DNS publico (1)

Alta

Hosts: intranet.humboldt.org.co.

Aunque el servicio este restringido por IP, el FQDN publicado en DNS permite enumeracion trivial y ataques dirigidos al perimetro.

Sin registros CAA

Alta

dig CAA humboldt.org.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.humboldt.org.co publica politica permisiva.

Politica none no rechaza correos no autenticados. Atacante puede suplantar @humboldt.org.co contra ciudadanos del territorio.

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

Alta

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

Alta

ML clustering identificó 111 findings similares afectando 111 entidades distintas. Categoría dominante: api_expuesta. Severidades: {'alta': 111}. Muestra: VPN/Intranet alcanzable en DNS publico (1) | VPN/Intranet alcanzable en DNS publico (1) | VPN/Intranet alcanzable en DNS publico (1).

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

Headers de seguridad insuficientes (3/8)

Media

Apex humboldt.org.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 (6)

intranet.humboldt.org.co

intranet

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

Server: nginx/1.12.2

Tech: Nginx. Title: 30 años | Instituto Humboldt

Observado: 2026-05-02

datos.humboldt.org.co

subdominio

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

Server: nginx/1.12.2

Tech: Cloudflare, Nginx. Title: Portal I2D

Observado: 2026-05-02

proyectos.humboldt.org.co

subdominio

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

Server: nginx/1.12.2

Tech: Nginx. Title: Proyectos | Instituto Humboldt

Observado: 2026-05-02

www.humboldt.org.co

portal principal

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

Server: cloudflare

Tech: Cloudflare. Title: Instituto Humboldt

Observado: 2026-05-02

humboldt.org.co

portal principal

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

Server: cloudflare

Tech: Cloudflare. Title: Instituto Humboldt

Observado: 2026-05-02

documentos.humboldt.org.co

subdominio

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

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