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
DBShield — Firewall de base de datos escrito en Go | Kitploit
Herramientas/GitHubGitHub/nim4/dbshield
Herramientas DefensivasSeguridad WebSeguridad de Bases de DatosDetección de Anomalías
GitHubnim4/dbshield

DBShield

Firewall de base de datos escrito en Go

Ver RepositorioSitio web
684161hace 8 añosRevisado por Kitploit

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

Linux Windows Go Report Card codecov Dev chat GoDoc MIT licensed

DBShield

Protege tus datos inspeccionando las consultas entrantes de tu servidor de aplicaciones y rechazando las anormales.


¿Cómo funciona?

Por ejemplo, así es como un servidor web interactúa normalmente con el servidor de base de datos:

Sample Web Server and DB

Al agregar DBShield delante del servidor de base de datos, podemos protegerlo contra consultas anormales. Para detectar consultas anormales, primero ejecutamos DBShield en modo de aprendizaje. El modo de aprendizaje permite que cualquier consulta pase, pero registra información sobre ella (patrón, nombre de usuario, hora y origen) en la base de datos interna.

Learning mode

Después de recopilar suficientes patrones, podemos ejecutar DBShield en modo de protección. El modo de protección puede distinguir patrones de consulta anormales, usuario y origen, y tomar medidas según las configuraciones.

Protect mode


Demostración

Para la demostración, estamos usando sqlmap (herramienta automática de inyección SQL y toma de control de bases de datos) para explotar la vulnerabilidad de inyección SQL en user.php

En el primer escenario, sqlmap explota con éxito la inyección SQL cuando la aplicación web se conecta directamente a la base de datos (MySQL). En el segundo escenario, modificamos el user.php para que DBShield se interponga entre la aplicación web y la base de datos, lo que eliminará el intento de inyección y hará que sqlmap falle.

Demo

Salidas de ejemplo

CLI

root@kitploit:~
$ go run main.go
2016/10/15 16:25:31 [INFO]  Config file: /etc/dbshield.yml
2016/10/15 16:25:31 [INFO]  Internal DB: /tmp/model/10.0.0.21_postgres.db
2016/10/15 16:25:31 [INFO]  Listening: 0.0.0.0:5000
2016/10/15 16:25:31 [INFO]  Backend: postgres (10.0.0.21:5432)
2016/10/15 16:25:31 [INFO]  Protect: true
2016/10/15 16:25:31 [INFO]  Web interface on https://127.0.0.1:8070/
2016/10/15 16:25:33 [INFO]  Connected from: 10.0.0.20:35910
2016/10/15 16:25:33 [INFO]  Connected to: 10.0.0.21:5432
2016/10/15 16:25:33 [INFO]  SSL connection
2016/10/15 16:25:34 [DEBUG] Client handshake done
2016/10/15 16:25:34 [DEBUG] Server handshake done
2016/10/15 16:25:34 [INFO]  User: postgres
2016/10/15 16:25:34 [INFO]  Database: test
2016/10/15 16:25:34 [INFO]  Query: SELECT * FROM stocks where id=-1 or 1=1
2016/10/15 16:25:34 [WARN]  Pattern not found: [53 55 51 52 55 52 50 53 55 51 53 49 115 116 111 99 107 115 53 55 51 53 50 105 100 54 49 52 53 53 55 51 55 57 53 55 52 48 52 53 55 51 55 57 54 49 53 55 51 55 57] (SELECT * FROM stocks where id=-1 or 1=1)
2016/10/15 16:25:34 [WARN]  Dropping connection

Interfaz web

Web UI


Instalación

Descárgalo

root@kitploit:~
$ go get -u github.com/nim4/DBShield

Luego puedes ver la ayuda usando el argumento "-h":

root@kitploit:~
$ $GOPATH/bin/DBShield -h
DBShield 1.0.0-beta3
Usage of DBShield:
  -a	get list of abnormal queries
  -c file
      config file (default "/etc/dbshield.yml")
  -h	show help
  -k	show parsed config and exit
  -l	get list of captured patterns
  -version
      show version

y ejecútalo con tu configuración, como:

root@kitploit:~
$ $GOPATH/bin/DBShield -c config.yml

consulta el archivo de configuración de ejemplo

⚠️ ADVERTENCIA: ¡No utilices los certificados predeterminados en entornos de producción!


Soporta:


Por hacer

(Ordenado por prioridad)

  • Mejorar la documentación
  • Agregar Microsoft SQL Server
  • Agregar más argumentos de línea de comandos
  • Alcanzar un 90% de cobertura de pruebas
  • Soporte para Oracle SSL
Descargar herramienta
Base de datosProtecciónSSL
DB2SíNo
MariaDBSíSí
MySQLSíSí
OracleSíNo
PostgresSíSí