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
dwn — d(ockerp)wn - un gestor de herramientas de pwn para Docker | Kitploit
Herramientas/GitHubGitHub/sensepost/dwn
Seguridad de ContenedoresScripting y AutomatizaciónPruebas de PenetraciónUtilidades y Frameworks
GitHubsensepost/dwn

dwn

d(ockerp)wn - un gestor de herramientas de pwn para Docker

Ver Repositorio
15620hace 5 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
Sitio web


🥽 dwn

d(ockerp)wn - un gestor de herramientas de ataque para Docker

@leonjza versión de PyPI


introducción

dwn es un "docker-compose para hackers". Utilizando un formato de "plan" YAML simple similar a docker-compose, se definen nombres de imágenes, versiones y asignaciones de volúmenes/puertos para configurar una herramienta para su uso.

características

Con dwn puedes:

  • Configurar herramientas comunes de pentest para su uso en un contenedor Docker
  • Tener montajes de volúmenes conscientes del contexto
  • Modificar dinámicamente los enlaces de puertos sin reiniciar contenedores
  • ¡Y más!

instalación

Simplemente ejecuta pip3 install dwn.

uso

dwn es en realidad muy simple. El concepto principal es el de "planes" donde se define información sobre una herramienta (como nombre, versión, montajes y enlaces). Ya hay algunos planes incorporados disponibles, pero también puedes crear los tuyos propios. Sin argumentos, ejecutar dwn se vería así.

root@kitploit:~
❯ dwn
Usage: dwn [OPTIONS] COMMAND [ARGS]...

       __
   ___/ /    _____
  / _  / |/|/ / _ \
  \_,_/|__,__/_//_/
    docker pwn tool manager
    by @leonjza / @sensepost

Options:
  --debug  enable debug logging
  --help   Show this message and exit.

Commands:
  check    Check plans and Docker environment
  network  Work with networks
  plans    Work with plans
  run      Run a plan
  show     Show running plans
  stop     Stop a plan

Para listar los planes disponibles, ejecuta dwn plans show.

root@kitploit:~
❯ dwn plans show
                                    dwn plans
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ name             ┃ path                                  ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ sqlmap           │ /tools/dwn/plans/sqlmap.yml           │
│ wpscan           │ /tools/dwn/plans/wpscan.yml           │
│ gowitness-report │ /tools/dwn/plans/gowitness-report.yml │
│ msfconsole       │ /tools/dwn/plans/msfconsole.yml       │
│ gowitness        │ /tools/dwn/plans/gowitness.yml        │
│ nginx            │ /tools/dwn/plans/nginx.yml            │
│ cme              │ /tools/dwn/plans/cme.yml              │
│ netcat-reverse   │ /tools/dwn/plans/netcat-reverse.yml   │
│ semgrep-sec      │ /tools/dwn/plans/semgrep-sec.yml      │
│ semgrep-ci       │ ~/.dwn/plans/semgrep-ci.yml           │
│ neo4j            │ ~/.dwn/plans/neo4j.yml                │
└──────────────────┴───────────────────────────────────────┘
                                     11 plans

Para ejecutar un plan como gowitness capturando pantalla de https://google.com, ejecuta dwn run gowitness --disable-db single https://www.google.com. Este plan terminará cuando termine, por lo que no necesitas dwn stop gowitness.

root@kitploit:~
❯ dwn run gowitness --disable-db single https://www.google.com
(i) found plan for gowitness
(i) volume: ~/scratch -> /data
(i) streaming container logs
08 Feb 2021 10:46:18 INF preflight result statuscode=200 title=Google url=https://www.google.com
❯
❯ ls screenshots
https-www.google.com.png

Un plan como netcat-reverse sin embargo permanecerá activo. Puedes conectarte a la TTY del plan después de que se inicie para interactuar con cualquier shell que puedas recibir. Un ejemplo de uso sería:

root@kitploit:~
❯ dwn run netcat-reverse
(i) found plan for netcat-reverse
(i) port: 4444<-4444
(i) container booted! attach & detach commands are:
(i) attach: docker attach dwn_wghz_netcat-reverse
(i) detach: ctrl + p, ctrl + q

Conectándose al plan (y ejecutando nc -e en otro lugar)

root@kitploit:~
❯ docker attach dwn_wghz_netcat-reverse
connect to [::ffff:172.19.0.2]:4444 from dwn_wghz_netcat-reverse_net_4444_4444.dwn:46318 ([::ffff:172.19.0.3]:46318)

env | grep -i shell
SHELL=/bin/zsh

read escape sequence

También puedes obtener un informe del plan en ejecución

root@kitploit:~
❯ dwn show
                                running plan report
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ plan           ┃ container(s)                          ┃ port(s)    ┃ volume(s) ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ netcat-reverse │ dwn_wghz_netcat-reverse_net_4444_4444 │ 4444<-4444 │           │
│                │ dwn_wghz_netcat-reverse               │            │           │
└────────────────┴───────────────────────────────────────┴────────────┴───────────┘

Y finalmente, detener un plan.

root@kitploit:~
❯ dwn stop netcat-reverse -y
(i) stopping 2 containers for plan netcat-reverse

redes

dwn te permite mapear puertos dinámicamente a planes sin reiniciar contenedores. Los comandos de red se encuentran en el subcomando dwn network. Tomando el plan nginx como ejemplo, podemos agregar un mapeo de puertos dinámicamente. Primero, inicia el plan nginx.

root@kitploit:~
❯ dwn run nginx
(i) found plan for nginx
(i) volume: ~/scratch -> /usr/share/nginx/html
(i) port: 80<-8888
(i) container dwn_wghz_nginx started for plan nginx, detaching

A continuación, prueba la comunicación con cURL

root@kitploit:~
❯ curl localhost:8888/poo.txt
haha, you touched it!

❯ curl localhost:9000/poo.txt
curl: (7) Failed to connect to localhost port 9000: Connection refused

El puerto 9000 no está abierto, así que agreguemos un nuevo enlace de puerto y probemos la conectividad

root@kitploit:~
❯ dwn network add nginx -i 80 -o 9000
(i) port binding for 9000->nginx:80 created
❯
❯ curl localhost:9000/poo.txt
haha, you touched it!

actualizando planes

El comando dwn plans pull se puede usar para actualizar las images definidas en los planes. Para actualizar solo un plan, agrega el nombre del plan después de pull. Ej: dwn plans pull nginx.

escribiendo planes

Existe un comando dwn plans new para generar rápidamente un nuevo plan. Aunque solo se necesitan unas pocas opciones para poner un plan en funcionamiento, todas las opciones que existen en el SDK de Python Docker para la llamada run son etiquetas válidas que se pueden usar.

licencia

dwn está licenciado bajo la Licencia Pública General de GNU v3. Los permisos más allá del alcance de esta licencia pueden estar disponibles en http://sensepost.com/contact/.

Descargar herramienta