Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
dwn — d(ockerp)wn - un gestionnaire d'outils docker pwn | Kitploit
Outils/GitHubGitHub/sensepost/dwn
Sécurité des ConteneursScripting et AutomatisationTests d'IntrusionUtilitaires et Frameworks
GitHubsensepost/dwn

dwn

d(ockerp)wn - un gestionnaire d'outils docker pwn

Voir le dépôtSite web
15620il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager


🥽 dwn

d(ockerp)wn - un gestionnaire d'outils d'attaque Docker

@leonjza PyPI version


introduction

dwn est un "docker-compose pour hackers". En utilisant un format simple de "plan" YAML similaire à docker-compose, les noms d'images, les versions et les mappages de volumes / ports sont définis pour configurer un outil.

fonctionnalités

Avec dwn, vous pouvez :

  • Configurer des outils de test d'intrusion courants pour une utilisation dans un conteneur Docker
  • Avoir des montages de volumes contextuels
  • Modifier dynamiquement les liaisons de ports sans redémarrer le conteneur
  • Et plus encore !

installation

Exécutez simplement pip3 install dwn.

utilisation

dwn est en fait très simple. Le concept principal est celui de "plans" où les informations sur un outil (comme le nom, la version, les montages et les liaisons) sont définies. Il existe déjà quelques plans intégrés, mais vous pouvez aussi créer les vôtres. Sans arguments, lancer dwn ressemblerait à ceci.

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

Pour lister les plans disponibles, exécutez 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

Pour exécuter un plan tel que gowitness pour prendre une capture d'écran de https://google.com, exécutez dwn run gowitness --disable-db single https://www.google.com. Ce plan se terminera une fois terminé, vous n'avez donc pas besoin de 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 comme netcat-reverse restera toutefois actif. Vous pouvez vous connecter au TTY du plan après son démarrage pour interagir avec les shells que vous pourriez recevoir. Un exemple d'utilisation serait :

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

Attacher au plan (et exécuter nc -e ailleurs)

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

Vous pouvez aussi obtenir un rapport des plans en cours

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               │            │           │
└────────────────┴───────────────────────────────────────┴────────────┴───────────┘

Et enfin, arrêter un plan.

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

réseau

dwn vous permet de mapper dynamiquement des ports sur des plans sans redémarrer les conteneurs. Les commandes réseau se trouvent sous la sous-commande dwn network. En prenant l'exemple du plan nginx, nous pouvons ajouter un mappage de port dynamiquement. Tout d'abord, démarrez le 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

Ensuite, testez la communication avec 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

Le port 9000 n'est pas ouvert, alors ajoutons une nouvelle liaison de port et testons la connectivité

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!

mise à jour des plans

La commande dwn plans pull peut être utilisée pour mettre à jour les images définies dans les plans. Pour ne mettre à jour qu'un seul plan, ajoutez le nom du plan après pull. Ex : dwn plans pull nginx.

écrire des plans

Une commande dwn plans new existe pour générer rapidement un nouveau plan. Bien que seules quelques options soient nécessaires pour faire fonctionner un plan, toutes les options existantes dans le SDK Docker Python pour l'appel run sont des balises valides pouvant être utilisées.

licence

dwn est sous licence GNU General Public v3. Des permissions au-delà de cette licence peuvent être disponibles à http://sensepost.com/contact/.

Télécharger l’outil