Skip to main content

WebCheck: Análisis OSINT de sitios web


Introducción

Web-Check permite analizar dominios y sitios web desde fuera, mostrando tecnologías, cabeceras de seguridad, DNS, TLS, blocklists y más. Es una herramienta OSINT rápida, útil para tener un panorama inmediato de la exposición pública.


Requisitos previos

  • Docker y Docker Compose instalados.

Despliegue

El archivo docker-compose.yml está en Gitea y contiene todo lo necesario para levantar el servicio:

👉 docker-compose.yml en Gitea

Este fichero define dos contenedores:

  • web-check-app: interfaz web (puerto 3000).
  • web-check-api: backend interno (puerto 3001).

APIs opcionales

La aplicación funciona sola, pero admite integrar claves de terceros para ampliar análisis:

  • Shodan → fingerprints de puertos y servicios.
  • WhoAPI → whois más completo.
  • VirusTotal → reputación de URLs.
  • BuiltWith / Wappalyzer → tecnologías usadas.
  • SecurityTrails → DNS históricos y relacionados.

Sin claves, el servicio ofrece lo básico de forma local.


Exposición con Authentik

Si se quiere abrir a internet:

  • Exponer solo web-check-app (puerto 3000), protegido tras Caddy + Authentik.
  • Mantener web-check-api (puerto 3001) interno, accesible únicamente desde la red Docker.

Flujo típico:

Internet -> Caddy (TLS + Authentik) -> web-check-app -> web-check-api

Análisis complementario

Para comprobaciones más profundas en la capa TLS/cifrado se puede utilizar testssl.sh. Esta herramienta realiza un análisis exhaustivo de protocolos, cifrados, vulnerabilidades conocidas (como Heartbleed o ROBOT), soporte de versiones obsoletas y configuración general del servidor TLS. Es mucho más detallada que Web-Check y permite validar si la configuración cumple buenas prácticas modernas.


Errores comunes o limitaciones

  • No abrir la API (3001) a internet: cualquiera podría usar el servidor como proxy de escaneo.
  • Los módulos con API externa requieren clave: sin ella, se muestran solo datos básicos.
  • Es OSINT pasivo, no ejecuta pruebas intrusivas ni pentesting activo.

Resumen breve

  • docker-compose.yml → en Gitea.
  • Exponer solo la app (3000), con Authentik delante.
  • La API (3001) debe ser interna.
  • Integraciones opcionales con claves API.
  • Para TLS avanzado: usar testssl.sh.

Referencias