Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
waf-dojo — Juego de entrenamiento práctico de AWS WAF con tutoriales, laboratorios puntuados y exámenes en los que los jugadores escriben reglas de Web ACL para bloquear formas de ataque reales mientras evitan falsos positivos. | Kitploit
Herramientas/GitHubGitHub/nishikawaakira/waf-dojo
Herramientas DefensivasAnálisis de VulnerabilidadesExplotación de Aplicaciones WebEvasión de WAFSeguridad WebCTFSeguridad en la NubeAprendizaje y EducaciónRutas de Aprendizaje y CursosLabs y Práctica
GitHubnishikawaakira/waf-dojo
1855hace 2 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

waf-dojo

Juego de entrenamiento práctico de AWS WAF con tutoriales, laboratorios puntuados y exámenes en los que los jugadores escriben reglas de Web ACL para bloquear formas de ataque reales mientras evitan falsos positivos.

Ver Repositorio
Compartir

WAF Dojo

Un juego de entrenamiento práctico para aprender AWS WAF defendiéndose de ataques reales.

English | 日本語

Para administradores: cómo construir el entorno, distribuirlo a los participantes, ejecutarlo y limpiarlo se cubre en la Guía del administrador (docs/ADMIN.md), y el material para los participantes es Primeros pasos para jugadores (docs/PLAYER_GUIDE.md). Ambas guías están actualmente en japonés.

Un entorno práctico para aprender AWS WAF mientras se está bajo ataque.

  1. Tutoriales: La pantalla muestra cómo se ve el ataque entrante (solicitudes de ejemplo) e instrucciones de configuración paso a paso. Configuras tu Web ACL siguiendo las instrucciones.
  2. Modo de juego: Se desbloquea una vez que completas los tutoriales. Solo se da un esquema del ataque, y tú diseñas las reglas para detenerlo por tu cuenta.
  3. Puntuación: Se te puntúa según cuántos ataques bloqueaste y cuántos usuarios habituales bloqueaste por error, y los resultados van a una tabla de clasificación.

Juega en solitario o compite con otros.

Demo

WAF Dojo demo

El flujo desde leer el ataque y los pasos de un tutorial, hasta diseñar una regla en un laboratorio de vulnerabilidades, lanzar el ataque, revisar la puntuación y la respuesta modelo, y finalmente abrir un concurso desde la página de administración (unos 70 segundos). Hay una versión de mayor calidad en docs/demo-en.mp4.

Grabado en modo de desarrollo (make dev), que puntúa con la respuesta modelo en lugar de con un AWS WAF real.

Arquitectura

                    ┌───────────────────── per player ──────────────────┐
Browser ── Lambda Function URL (gameapi: UI + API)                      │
                │  async invoke                                          │
                ▼                                                        │
          Lambda (trafficgen) ── HTTPS ─▶ ALB ◀── Web ACL (edited by the player)
                │                          │                             │
                │                          ▼                             │
                │                  Lambda (targetapp: dummy online shop) │
                ▼                   └────────────────────────────────────┘
            DynamoDB (runs, best scores, locks)
  • targetapp: Una aplicación ficticia que devuelve 200 a cada solicitud, por lo que cualquier 4xx significa que el WAF la bloqueó.
  • trafficgen: Envía una mezcla de solicitudes de ataque y solicitudes de usuarios normales según el escenario, y luego puntúa el resultado. Solo envía al ALB propio del jugador, según lo configurado por Terraform. Utiliza uTLS para elaborar distintos ClientHello de TLS para navegadores (Chrome / Firefox / Safari) y herramientas de ataque, de modo que puedas practicar cómo distinguirlos mediante la huella JA4.
  • gameapi: La interfaz de usuario y la API del juego, servidas desde una Lambda Function URL.
  • Un ALB solo puede tener una Web ACL, por lo que cada jugador recibe su propio ALB y su propia Web ACL.
  • Para experimentar el límite de inspección del cuerpo de CloudFront (16 KB por defecto, hasta 64 KB), cada jugador también recibe una distribución de CloudFront y una Web ACL con ámbito de CloudFront (wafdojo-<name>-cf, us-east-1). CloudFront se sitúa directamente delante de la Lambda Function URL de la aplicación ficticia en lugar del ALB, por lo que las reglas de la Web ACL del ALB no se aplican allí. Establece enable_cloudfront = false para omitirlo.
  • JA4 solo se calcula sobre HTTPS, por lo que el ALB escucha en HTTPS (443). Para funcionar sin un dominio, se genera un certificado autofirmado y se importa en ACM (su clave privada termina en el estado de Terraform).
  • Las IP de origen se representan mediante direcciones de documentación (RFC 5737) en X-Forwarded-For (se asume que el sitio está detrás de una CDN).

Escenarios

Tutoriales (con pasos; complétalos todos para desbloquear el juego)

IDTemaLo que aprendes
tutorial-1-sqliInyección SQLGrupos de reglas administrados
tutorial-2-xssXSS en el formulario de reseñasReglas personalizadas (Rule builder), inspección del cuerpo, transformaciones de texto
tutorial-3-ipsetIPs en una lista de amenazasConjuntos de IP, CIDR, X-Forwarded-For
tutorial-4-useragentEscáneres de vulnerabilidadesCoincidencia de cadenas en encabezados, sentencias OR, transformación a minúsculas
tutorial-5-ratelimitInundaciones desde una única IPReglas basadas en tasa, claves de agregación
tutorial-6-ja4Un scraper que se hace pasar por un navegadorCómo funcionan las huellas JA4 y cómo leerlas (a_b_c), coincidencia exacta de JA4, análisis de registros del WAF

Modo juego (sin pasos; habilidades aplicadas)

IDTemaLo que aprendes
game-1-fakebotUn scraper que se hace pasar por GooglebotCombinar AND / NOT (el UA dice Googlebot Y la IP no es de Google)
game-2-adminAcceso externo al panel de administraciónCondiciones de ruta URI + lista de IP permitidas, sensibilidad a mayúsculas y minúsculas
game-3-traversalPath traversalApilar transformaciones de texto (doble decodificación), evitar falsos positivos
game-4-cmsUna regla XSS que bloquea a tus editoresCrear excepciones, prioridad de reglas, revisar reglas existentes
game-5-bruteforceFuerza bruta de inicio de sesión + NAT corporativoSentencias de acotación (scope-down), diseño de umbrales
game-6-ja4regexUn ejército de bots que no deja de modificar su JA4 + un socio que usa la misma bibliotecaExpresiones regulares de JA4 (capturar la parte b compartida), prepararse para variantes no vistas, excepciones con AND NOT

Las reglas que creaste en los tutoriales permanecen activas, por lo que en el modo juego a veces provocan falsos positivos (etapas 4 y 5). Necesitas revisar las reglas existentes, no solo detener nuevos ataques.

Laboratorios de vulnerabilidades (41 desafíos, sin pasos)

Cada desafío dice: "Ha salido una nueva vulnerabilidad. Se puede bloquear bajo estas condiciones. Escribe la regla." El objetivo es poder escribir tus propias reglas cada vez que aparezca una nueva vulnerabilidad. Tras un intento puedes ver el JSON de la regla de respuesta modelo (listo para pegar en el editor Rule JSON de la consola) y una explicación. Muchos desafíos de nivel 2 y 3 también incluyen una regla de "error común" y por qué falla.

Descargar herramienta