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-fu — Interfaz de usuario de terminal para explorar y reproducir registros de AWS WAF v2 desde CloudWatch, S3 y la API de muestreo, con filtrado YAML, detección de autenticación y reproducción con curl/navegador. | Kitploit
Herramientas/GitHubGitHub/confused-binary/waf-fu
Herramientas DefensivasSniffing y Análisis de PaquetesProxies Web e InterceptaciónRecopilación de InformaciónSeguridad WebSeguridad en la NubeUtilidades y FrameworksRespuesta a IncidentesAnálisis de Registros
GitHubconfused-binary/waf-fu

waf-fu

2hace 1 mesAú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 →

Interfaz de usuario de terminal para explorar y reproducir registros de AWS WAF v2 desde CloudWatch, S3 y la API de muestreo, con filtrado YAML, detección de autenticación y reproducción con curl/navegador.

Ver Repositorio
Compartir

waf-fu

Navegador y reproductor de logs de AWS WAF v2 con una TUI interactiva. Extrae logs de CloudWatch, S3 y la API de muestreo de WAF (con caché en SQLite), los muestra en una interfaz de terminal de paneles divididos con detección de autenticación y filtrado basado en YAML, y reproduce solicitudes a través de Firefox, Chrome o curl con total fidelidad de encabezados/cookies/cuerpo. Admite exportación por lotes a curl, JSON y HAR.

Instalación

Desde PyPI

uv pip install waf-fu

pipx install waf-fu

Desde git

uv pip install git+https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git

pipx install git+https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git

Desde un clon local

git clone https://gitrdun.trustedsec.net/cloud/aws/waf-fu.git
cd waf-fu

uv pip install .

pipx install .

El archivo uv.toml incluido configura uv pip para instalar en el Python del sistema en lugar de crear un virtualenv. pipx y uv tool install siempre usan sus propios entornos aislados.

Requisitos

Python >= 3.12

Credenciales de AWS configuradas mediante perfil, variables de entorno o rol de instancia. Consulte Permisos IAM para los requisitos de cada fuente.

Paquetes de Python

PaqueteVersión mínimaNecesario para
boto3cualquieraObtención de logs de AWS
selenium4.26Reproducción en Chrome y Firefox
triocualquieraInternos de reproducción CDP de Chrome

boto3 y selenium están declarados en pyproject.toml y se instalan automáticamente. trio es una dependencia transitiva del backend de Chrome.

Backends de reproducción en navegador

La reproducción en navegador es opcional. La reproducción con curl funciona sin dependencias adicionales.

Firefox (recomendado para fidelidad de encabezados):

ComponenteVersión mínimaInstalación
Firefox120sudo dnf install firefox / sudo apt install firefox
geckodriver0.35.0sudo dnf install geckodriver / sudo apt install firefox-geckodriver o github.com/mozilla/geckodriver/releases (>= 0.35.0)
selenium4.26uv pip install 'selenium>=4.26'

La reproducción en Firefox utiliza la interceptación de red WebDriver BiDi para inyectar el método, los encabezados, las cookies y el cuerpo de la solicitud original. La compatibilidad de red BiDi requiere geckodriver >= 0.35 y selenium >= 4.26. Las versiones anteriores recurren a un enfoque basado en XHR que no puede inyectar encabezados personalizados.

Chrome / Chromium:

ComponenteVersión mínimaInstalación
Chrome118sudo dnf install google-chrome-stable / sudo apt install google-chrome-stable o Chromium
chromedriver118sudo dnf install chromedriver / sudo apt install chromium-driver o googlechromelabs.github.io/chrome-for-testing
selenium4.26uv pip install 'selenium>=4.26'

La reproducción en Chrome utiliza el dominio Fetch de CDP (Chrome DevTools Protocol) para interceptar y modificar solicitudes. El método, los encabezados, el cuerpo y las cookies se inyectan todos a través de CDP.

Las rutas de los controladores se pueden sobrescribir con --chromedriver PATH y --geckodriver PATH si la detección automática no encuentra el binario correcto.

Inicio rápido

# TUI interactiva -- explorar y reproducir
waf-fu --log-group "aws-waf-logs-my-acl"

# Sin grupo de logs -- seleccionar interactivamente entre los grupos descubiertos
waf-fu --profile myprofile --region us-east-1

# Logs de WAF en S3 en lugar de CloudWatch
waf-fu --s3-bucket aws-waf-logs-my-bucket

# Descubrir y obtener todas las fuentes de logs en todas las regiones
waf-fu --inventory

# Prefiltrar antes de que se abra la TUI
waf-fu --start 4h --action BLOCK

# Modo sin conexión -- solo registros en caché, sin llamadas a AWS
waf-fu --db-only

# Reproducir a través de un proxy (Burp, mitmproxy, etc.)
waf-fu --log-group "aws-waf-logs-my-acl" --proxy 127.0.0.1:8080

# Exportación por lotes no interactiva
waf-fu --log-group "aws-waf-logs-my-acl" --mode batch-curl -o replay.sh

# Exportar registros en caché a JSON
waf-fu --export logs.json

# Modo de depuración -- registrar detalles de reproducción en archivo (datos del cliente censurados)
waf-fu --log-group "aws-waf-logs-my-acl" --debug

Fuentes de logs

waf-fu extrae logs de WAF de tres fuentes y los fusiona por solicitud:

FuenteOpción de CLIDatos
CloudWatch--log-group (predeterminado)JSON completo del log de WAF (encabezados, URI, consulta, acción)
S3--s3-bucketIgual que CloudWatch, desde la entrega de S3
WAF API--log-location wafSolicitudes muestreadas con campos sin censurar

Use --log-location cwl|s3|waf para restringir a una sola fuente, o --inventory para descubrir y obtener todas las fuentes en todas las regiones automáticamente.

Los registros de diferentes fuentes se fusionan por clave de correlación para que vea una única vista unificada por solicitud, con los datos más completos de cada una.

Permisos IAM

Cada fuente necesita sus propios permisos IAM, limitados a las opciones de CLI que la activan.

CloudWatch Logs

Necesario para: operación predeterminada, --log-location cwl

  • logs:FilterLogEvents -- obtener registros de logs desde CloudWatch
  • logs:DescribeLogGroups -- descubrir grupos de logs que coincidan con aws-waf-logs-*

S3

Necesario para: --s3-bucket, --log-location s3, --inventory

  • s3:ListAllMyBuckets -- descubrir buckets de logs de WAF por prefijo de nombre
  • s3:ListBucket -- listar objetos de log en un bucket de logs de WAF
  • s3:GetObject -- descargar archivos de log comprimidos con gzip

WAFv2

Necesario para: --log-location waf, --inventory, enriquecimiento automático

  • wafv2:ListWebACLs -- descubrir web ACLs
  • wafv2:GetWebACL -- enumerar reglas para consultas de solicitudes muestreadas
  • wafv2:GetLoggingConfiguration -- descubrir qué destinos de logs (CWL, S3) usa una ACL
  • wafv2:GetSampledRequests -- recuperar muestras de solicitudes sin censurar (omite RedactedFields)

Mínimo viable: solo se requieren los permisos de CloudWatch Logs. Los permisos de S3 y WAFv2 son opcionales y habilitan fuentes de datos adicionales. La herramienta recurre a alternativas de forma controlada cuando faltan permisos.

Descargar herramienta