Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
GPEWebDefender — Monitor ligero de ataques web. Un solo binario de Go + SQLite. No es OSSEC, no es un WAF. | Kitploit
Herramientas/GitHubGitHub/theretardedelon/gpewebdefender
Herramientas DefensivasSeguridad WebDetección de IntrusionesDetección de AnomalíasAnálisis de Registros
GitHubtheretardedelon/gpewebdefender

GPEWebDefender

Monitor ligero de ataques web. Un solo binario de Go + SQLite. No es OSSEC, no es un WAF.

Ver Repositorio
2hace 5 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 →
Compartir

GPEWebDefender

Un monitor de ataques web. Se coloca junto a nginx / Caddy / la aplicación, hace tail de los registros de acceso y te avisa cuando un sitio está siendo sondeado o explotado. Si este proceso muere, el sitio sigue sirviendo.

No es Wazuh, ni OSSEC, ni un WAF.

El comando es gpewebdefender. Los hosts, tokens, pines del mapa, GeoIP y rutas de registro son flags o archivos de entorno — no hay nada compilado sobre una empresa o servidor concretos.

Si nunca lo has ejecutado: lee este archivo de principio a fin una vez y luego haz el Método A o el Método B. No te saltes “Elige una forma”.

Vista completa: dochub/index.html o /docs/ en un manager en ejecución. Empieza en 03 · Instalación y ejecución.


Así se ve

Panel en vivo desde un equipo de operador real. Tus nombres y pines serán los que configures.

Mapa en vivo

Un disparo se lanza solo cuando ocurre una alerta — del país del atacante al host alcanzado — y luego desaparece. Los hosts permanecen en el mapa. El feed son los mismos eventos, numerados.

Mapa de ataque en vivo: un rayo desde el Sudeste Asiático que cae sobre un host defendido

Tarjeta de alerta

Haz clic en una fila. Placa del país, marca del tipo de ataque y el servidor alcanzado, además de los campos habituales (regla, MITRE, evidencia). Sin marcas permanentes.

Tarjeta de inspección de alerta con arte del país, marca de autenticación de Linux e icono de host

Insight

Informes → Insight. Las mismas alertas, desglosadas. 1h / 24h / 7d es un reloj real. Haz clic en una barra o en una tarjeta de host para ir a Search. CSV / JSON / Copy exportan esa ventana (cookie de sesión, sin token de ingesta en el archivo).

Insight: volumen por hora, combinación de categorías, severidad

Insight: técnicas MITRE y franja por host

Insight: tarjetas de host y países de origen

Insight: principales reglas y rutas atacadas

Insight: principales IPs atacantes con marcas de país

Search

FTS5 en el manager. Palabra clave, IP, host, tipo. Más recientes primero (haz clic en When para invertir). Sin Elasticsearch.

Search: autenticación de Linux / sshd en todos los hosts

Search: palabra clave brute


Elige una forma

TienesInstalación
Un portátil y curiosidadgpewebdefender demo — ataques falsos, no tu sitio
Una caja Linux que ya escribe un registro de accesoAll-in-one — el manager hace tail de ese registro. Sin agente.
Una caja adicional pequeña + uno o más servidores web

No abras el puerto 8787 a internet. La escucha por defecto es 127.0.0.1:8787. Usa un túnel SSH hasta que pongas HTTPS + un inicio de sesión delante.


Mira primero (cualquier SO)

root@kitploit:~
go build -o gpewebdefender.exe .\cmd\gpewebdefender
gpewebdefender.exe demo

Linux:

root@kitploit:~
go build -o gpewebdefender ./cmd/gpewebdefender
./gpewebdefender demo

Abre http://127.0.0.1:8787
Esas capturas del mapa son inventadas. Consulta DocHub 04 antes de tomar un panel como realidad.


Método A — el script (Linux + systemd)

Desde este repositorio, como root. Compila primero un binario de Linux si estás en Windows:

root@kitploit:~
$env:GOOS="linux"; $env:GOARCH="amd64"; $env:CGO_ENABLED="0"
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender

All-in-one (esta caja tiene el registro de acceso):

root@kitploit:~
chmod +x deploy/install-manager.sh deploy/install-agent.sh
sudo ./deploy/install-manager.sh --all-in-one \
  --tail /var/log/nginx/access.log \
  --journal \
  --home 40.7,-74.0

Split (primero el monitor, luego cada caja web):

root@kitploit:~
# on the monitor
sudo ./deploy/install-manager.sh --home 40.7,-74.0

# on a web / SSH box
scp root@MONITOR:/usr/local/bin/gpewebdefender /usr/local/bin/gpewebdefender
scp root@MONITOR:/etc/gpewebdefender/env /etc/gpewebdefender/env
sudo ./deploy/install-agent.sh \
  --url http://MONITOR:8787 \
  --name web-1 \
  --tail /var/log/nginx/access.log \
  --journal

Reemplaza MONITOR, web-1 y la ruta del registro con tus valores.

Luego, desde tu portátil:

root@kitploit:~
ssh -L 8787:127.0.0.1:8787 user@THEBOX

Abre http://127.0.0.1:8787/login y crea el primer admin (una persona). Ese no es el token de ingesta.


Método B — tú escribes cada archivo

  1. Copia el binario a /usr/local/bin/gpewebdefender y haz chmod +x.
  2. useradd --system --home /var/lib/gpewebdefender --shell /usr/sbin/nologin gpewebdefender
  3. Copia rules/ y dochub/ dentro de /var/lib/gpewebdefender/.
  4. Copia deploy/env.example a /etc/gpewebdefender/env. Pon un GWD_TOKEN largo y aleatorio. Modo 640.
  5. Copia deploy/gpewebdefender.service.example a systemd. Edita home / tail si es necesario.
  6. systemctl daemon-reload && systemctl enable --now gpewebdefender
  7. Otros hosts: con el token, un estable y / .

Los ejemplos están en deploy/.


Después de ponerlo en marcha (haz esto en orden)

  1. Túnel + /login → primer admin. O define SIEM_ADMIN_USER + SIEM_ADMIN_PASSWORD una vez y luego borra la línea de la contraseña.
  2. Settings → nombra el panel, fija el sitio (US o 40.7,-74.0), una fila por agente --name.
  3. Live — los disparos se emiten solo cuando ocurre una alerta y luego desaparecen.
  4. Reports → Insight — 1h / 24h / 7d es un reloj real. Haz clic en una barra para ir a Search. La exportación CSV / JSON es esa misma ventana (cookie de sesión, sin token en el archivo).
  5. GeoIP opcional: coloca un .mmdb de MaxMind / DB-IP y pasa --geoip.
  6. HTTPS opcional: deploy/nginx-gwd.conf.example. Deniega /api/ingest en el vhost público. DocHub 15 y 18.
  7. Denegaciones opcionales de aplicación que el registro de acceso no puede ver: haz POST de JSON a /api/ingest. Nunca envíes contraseñas. DocHub .

Si la interfaz está vacía: no estás en demo y ningún --tail / agente ha enviado una línea todavía. journalctl -u gpewebdefender -n 50.


Qué vigila

Cualquier cosa que aparezca en un registro de acceso:

  • Inyección SQL, XSS, path traversal, inyección de comandos, SSTI, wrappers de PHP
  • Log4Shell / Spring4Shell / SSRF contra metadatos de nube en la URL o el UA
  • Caza de archivos secretos y de paneles de administración (.env, .git, phpMyAdmin, wp-login, actuators)
  • Escáneres conocidos (sqlmap, nuclei, nikto, ffuf, …)
  • Tormentas de 404, martilleo de 401/403, fuerza bruta de login, inundaciones de peticiones
  • Opcional: sshd / sudo vía --journal o auth.log
  • Opcional: tu aplicación hace POST de kind=applogin / tenantlogin / secprobe

No puede ver los cuerpos de las peticiones POST a menos que los registres (normalmente no deberías).

Formatos de registro

Formato combined de nginx / Apache, o JSON de nginx / Caddy / Traefik. Vale la pena cambiarse a JSON. Consulta DocHub 05.

Reglas

YAML integrado en rules/. Archivos extra: --rules path/to/more.yaml. Honeypot de CMS opcional: --rules packs (carga packs/cms.yaml). No es un escáner de plugins.

Objetivo de recursos

Un único binario estático de Go + SQLite. Una caja dedicada de 2 CPU / 2 GB es más que suficiente. Sin JVM, sin OpenSearch, sin Elasticsearch.

Publicar / compilar

Este árbol es el producto público. No tiene inventario, tokens ni hostnames.

root@kitploit:~
go test ./...
set GOOS=linux
set GOARCH=amd64
set CGO_ENABLED=0
go build -o gpewebdefender-linux-amd64 .\cmd\gpewebdefender

Mantén la configuración de la flota en producción fuera de este repositorio.

Descargar herramienta
Split — el manager en la caja adicional, un agente por host web (o SSH)
deploy/gpewebdefender-agent.service.example
mismo
--name
--tail
--journal
19