Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
dwn — d(ockerp)wn - un gestore di strumenti pwn per Docker | Kitploit
Strumenti/GitHubGitHub/sensepost/dwn
Sicurezza dei ContenitoriScripting e AutomazionePenetration TestingUtilità e Framework
GitHubsensepost/dwn

dwn

d(ockerp)wn - un gestore di strumenti pwn per Docker

Vedi RepositorySito web
156205 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi


🥽 dwn

d(ockerp)wn - un gestore di strumenti di attacco docker

@leonjza PyPI version


introduzione

dwn è un "docker-compose per hacker". Utilizzando un semplice formato YAML "plan" simile a docker-compose, vengono definiti nomi di immagini, versioni e mapping di volumi/porte per configurare uno strumento per l'uso.

funzionalità

Con dwn puoi:

  • Configurare strumenti di pentest comuni per l'uso in un container docker
  • Avere mount di volumi context-aware
  • Modificare dinamicamente i binding delle porte senza riavviare il container
  • E altro ancora!

installazione

Basta eseguire pip3 install dwn.

utilizzo

dwn è in realtà molto semplice. Il concetto principale è quello dei "piani" (plans) dove vengono definite informazioni su uno strumento (come nome, versione, mount e bind). Ci sono alcuni piani integrati già disponibili, ma puoi anche crearne di tuoi. Senza argomenti, eseguire semplicemente dwn apparirebbe così.

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

Per elencare i piani disponibili, esegui 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

Per eseguire un piano come gowitness che fa screenshot di https://google.com, esegui dwn run gowitness --disable-db single https://www.google.com. Questo piano terminerà al completamento, quindi non devi eseguire 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 piano come netcat-reverse invece rimarrà attivo. Puoi connetterti alla TTY del piano dopo l'avvio per interagire con eventuali shell ricevute. Un esempio di utilizzo sarebbe:

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

Collegandosi al piano (ed eseguendo nc -e da qualche altra parte)

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

Puoi anche ottenere un report dei piani in esecuzione

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

E infine, fermare un piano.

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

rete

dwn ti permette di mappare dinamicamente le porte ai piani senza riavviare i container. I comandi di rete si trovano nel sottocomando dwn network. Prendendo come esempio il piano nginx, possiamo aggiungere un mapping di porte dinamicamente. Per prima cosa, avvia il piano 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

Successivamente, testa la comunicazione 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

La porta 9000 non è aperta, quindi aggiungiamo un nuovo binding di porte e testiamo la connettività

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!

aggiornamento piani

Il comando dwn plans pull può essere utilizzato per aggiornare le images definite nei piani. Per aggiornare un solo piano, aggiungi il nome del piano dopo pull. Ad esempio: dwn plans pull nginx.

scrittura di piani

Esiste un comando dwn plans new per creare rapidamente un nuovo piano. Mentre solo poche opzioni sono necessarie per avviare un piano, tutte le opzioni presenti nell'SDK Python Docker per la chiamata run sono tag validi che possono essere utilizzati.

licenza

dwn è concesso in licenza sotto GNU General Public v3 License. Autorizzazioni al di là dello scopo di questa licenza possono essere disponibili all'indirizzo http://sensepost.com/contact/.

Scarica lo strumento