Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
dwn — d(ockerp)wn - um gerenciador de ferramentas pwn para docker | Kitploit
Ferramentas/GitHubGitHub/sensepost/dwn
Segurança de ContêineresScripting e AutomaçãoTestes de PenetraçãoUtilitários e Frameworks
GitHubsensepost/dwn

dwn

d(ockerp)wn - um gerenciador de ferramentas pwn para docker

Ver RepositórioSite
15620há 5 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar


🥽 dwn

d(ockerp)wn - um gerenciador de ferramentas de ataque Docker

@leonjza PyPI version


introdução

dwn é um "docker-compose para hackers". Usando um formato simples de "plano" YAML semelhante ao docker-compose, nomes de imagens, versões e mapeamentos de volume / porta são definidos para configurar uma ferramenta para uso.

funcionalidades

Com o dwn você pode:

  • Configurar ferramentas comuns de pentest para uso em um container Docker
  • Ter montagens de volume conscientes do contexto
  • Modificar dinamicamente as ligações de porta sem reinicialização do container
  • E mais!

instalação

Simplesmente execute pip3 install dwn.

uso

dwn é realmente muito simples. O conceito principal é o de "planos", onde informações sobre uma ferramenta (como nome, versão, montagens e binds) são definidas. Existem alguns planos embutidos já disponíveis, mas você também pode criar os seus próprios. Sem argumentos, apenas executar dwn teria a seguinte aparência.

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 os planos disponíveis, execute dwn plans show.

root@kitploit:~
❯ dwn plans show
                                    planos dwn
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ nome             ┃ caminho                               ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 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 planos

Para executar um plano como gowitness capturando tela de https://google.com, execute dwn run gowitness --disable-db single https://www.google.com. Este plano será encerrado ao final, então você não precisa usar 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

Um plano como netcat-reverse no entanto permanecerá ativo. Você pode conectar ao TTY do plano após sua inicialização para interagir com quaisquer shells que receber. Exemplo de uso seria:

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

Anexando ao plano (e executando nc -e em outro 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

Você também pode obter um relatório dos planos em execução

root@kitploit:~
❯ dwn show
                        relatório de planos em execução
┏━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━━┓
┃ plano          ┃ container(s)                          ┃ porta(s)   ┃ volume(s) ┃
┡━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━━┩
│ netcat-reverse │ dwn_wghz_netcat-reverse_net_4444_4444 │ 4444<-4444 │           │
│                │ dwn_wghz_netcat-reverse               │            │           │
└────────────────┴───────────────────────────────────────┴────────────┴───────────┘

E, por fim, pare um plano.

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

redes

dwn permite mapear portas dinamicamente para planos sem qualquer reinicialização de container. Os comandos de rede ficam sob o subcomando dwn network. Tomando o plano nginx como exemplo, podemos adicionar um mapeamento de porta dinamicamente. Primeiro, inicie o plano 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

Em seguida, teste a comunicação com o 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

Porta 9000 não está aberta, então vamos adicionar uma nova ligação de porta e testar a conectividade

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!

atualizando planos

O comando dwn plans pull pode ser usado para atualizar as images definidas nos planos. Para atualizar apenas um único plano, adicione o nome do plano após pull. Ex: dwn plans pull nginx.

escrevendo planos

Existe um comando dwn plans new para criar rapidamente um esqueleto de novo plano. Embora apenas algumas opções sejam necessárias para colocar um plano em funcionamento, todas as opções que existem no SDK Docker Python para a chamada run são tags válidas que podem ser usadas.

licença

dwn é licenciado sob a GNU General Public v3 License. Permissões além do escopo desta licença podem estar disponíveis em http://sensepost.com/contact/.

Baixar ferramenta