Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dwn — d(ockerp)wn - 도커 pwn 도구 관리자 | Kitploit
도구/GitHubGitHub/sensepost/dwn
Container SecurityScripting & AutomationPenetration TestingUtilities & Frameworks
GitHubsensepost/dwn

dwn

d(ockerp)wn - 도커 pwn 도구 관리자

저장소 보기웹사이트
156205년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유


🥽 dwn

d(ockerp)wn - 도커 공격 도구 관리자

@leonjza PyPI version


소개

dwn은 "해커를 위한 docker-compose"입니다. docker-compose와 유사한 간단한 YAML "플랜" 형식을 사용하여 이미지 이름, 버전, 볼륨/포트 매핑을 정의하여 도구를 설정합니다.

기능

dwn을 사용하면 다음을 할 수 있습니다:

  • 일반적인 침투 테스트 도구를 도커 컨테이너에서 사용하도록 구성
  • 컨텍스트 인식 볼륨 마운트
  • 컨테이너 재시작 없이 동적으로 포트 바인딩 수정
  • 그 외!

설치

간단히 pip3 install dwn을 실행하세요.

사용법

dwn은 실제로 매우 간단합니다. 주요 개념은 도구에 대한 정보(이름, 버전, 마운트 및 바인드 등)를 정의하는 "플랜"입니다. 이미 사용 가능한 몇 가지 내장 플랜이 있으며, 직접 만들 수도 있습니다. 인수 없이 dwn을 실행하면 다음과 같이 표시됩니다.

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

사용 가능한 플랜을 나열하려면 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

gowitness 플랜을 실행하여 https://google.com 스크린샷을 찍으려면 dwn run gowitness --disable-db single https://www.google.com을 실행하세요. 이 플랜은 완료되면 종료되므로 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

그러나 netcat-reverse와 같은 플랜은 계속 실행됩니다. 시작된 후 플랜의 TTY에 연결하여 수신할 수 있는 쉘과 상호 작용할 수 있습니다. 사용 예는 다음과 같습니다:

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

플랜에 연결(그리고 다른 곳에서 nc -e 실행)

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

실행 중인 플랜 보고서도 얻을 수 있습니다

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

마지막으로 플랜을 중지합니다.

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

네트워킹

dwn을 사용하면 컨테이너 재시작 없이 동적으로 포트를 플랜에 매핑할 수 있습니다. 네트워킹 명령은 dwn network 하위 명령 아래에 있습니다. nginx 플랜을 예로 들어 포트 매핑을 동적으로 추가해 보겠습니다. 먼저 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

다음으로, 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

포트 9000은 열려 있지 않으므로 새 포트 바인딩을 추가하고 연결을 테스트해 보겠습니다.

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!

플랜 업데이트

dwn plans pull 명령을 사용하여 플랜에 정의된 images를 업데이트할 수 있습니다. 단일 플랜만 업데이트하려면 pull 뒤에 플랜 이름을 추가하세요. 예: dwn plans pull nginx.

플랜 작성

새 플랜을 빠르게 스캐폴딩하는 dwn plans new 명령이 있습니다. 플랜을 실행하는 데 몇 가지 옵션만 필요하지만, 실행 호출을 위한 Python Docker SDK에 있는 모든 옵션은 유효한 태그로 사용할 수 있습니다.

라이선스

dwn은 GNU General Public v3 License에 따라 라이선스가 부여됩니다. 이 라이선스 범위를 넘는 권한은 http://sensepost.com/contact/에서 확인할 수 있습니다.

도구 다운로드