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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
swarm — 모듈식 분산 침투 테스트 도구입니다. | Kitploit
도구/GitHubGitHub/a7vinx/swarm
Penetration Testing FrameworksVulnerability ScannersInformation GatheringWeb SecurityPenetration TestingSubdomain EnumerationCrawler
GitHuba7vinx/swarm

swarm

모듈식 분산 침투 테스트 도구입니다.

저장소 보기
411679년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

swarm

v0.6.0

영어 | 中文.

Swarm은 분산 작업 큐를 사용하여 마스터-슬레이브 모드 시스템에서 통신을 구현하고 MongoDB를 데이터 저장소로 사용하는 오픈 소스 모듈형 분산 침투 테스트 도구입니다. 분산 프레임워크와 기능 모듈로 구성됩니다. 기능 모듈은 침투 기능을 완전히 새롭게 구현한 것일 수도 있고, 기존 도구를 간단히 래핑하여 분산 기능을 구현한 것일 수도 있습니다. 모듈식 아키텍처 덕분에 분산 프레임워크 아래에서 새로운 기능을 쉽게 사용자 정의하고 확장할 수 있습니다.

현재 버전 0.6.0에는 5개의 모듈이 있습니다:

  • Subdomain name scan module
  • Directories and files scan module
  • Nmap extension module
  • Sitemap crawler module
  • Intruder module

자체 모듈을 작성하려면 이 문서를 읽어보세요.

설치

Zipball은 여기에서 다운로드할 수 있습니다. git을 사용하여 swarm을 가져올 수도 있습니다:

root@kitploit:~
git clone [email protected]:Arvin-X/swarm.git

그런 다음 setup.py를 사용하여 swarm을 설치합니다:

root@kitploit:~
python setup.py install

Swarm은 Python 2.6.x 또는 2.7.x에서 작동하며, 마스터 호스트에 MongoDB 지원이 필요합니다.

아직 MongoDB가 없다면 apt-get을 사용하여 설치할 수 있습니다:

root@kitploit:~
apt-get install mongodb

사용법

마스터 호스트에서 swarm을 실행하여 작업을 분배하고, 슬레이브 호스트에서 swarm-s를 '-p' 옵션과 함께 실행하여 마스터의 하위 작업을 완료합니다.

root@kitploit:~
swarm-s -p 9090

또한 swarm을 실행할 때 '--waken' 옵션을 지정하여 슬레이브 호스트의 대상 포트에 리스너를 설정하여 swarm-s를 깨울 명령을 수신할 수 있습니다. 그렇지 않으면 '--waken'을 비워두어야 합니다. 리스너를 만들려면 nc 또는 socat을 다음과 같이 사용할 수 있습니다:

root@kitploit:~
nc -e /bin/sh -l 9191

그리고 waken 명령을 다음과 같이 사용합니다:

root@kitploit:~
swarm-s ARGS

명령에 "ARGS"를 남겨두고 swarm에 전달되는 CLI 인수가 되도록 해야 하며, swarm이 '-p'와 같은 필수 인수로 대체합니다.

swarm 기본 사용법:

root@kitploit:~
usage: swarm [-h] -m MODULE [-v] [-c] [-o PATH] [-t [TARGET [TARGET ...]]]
             [-T PATH] [-s [SWARM [SWARM ...]]] [-S PATH] [--waken CMD]
             [--timeout TIME] [--m-addr ADDR] [--m-port PORT] [--s-port PORT]
             [--authkey KEY] [--db-addr ADDR] [--db-port PORT] [--process NUM]
             [--thread NUM] [--taskg NUM] [--dom-compbrute] [--dom-dict PATH]
             [--dom-maxlevel NUM] [--dom-charset SET] [--dom-levellen LEN]
             [--dom-timeout TIME] [--dir-http-port PORT]
             [--dir-https-port PORT] [--dir-compbrute] [--dir-charset SET]
             [--dir-len LEN] [--dir-dict PATH] [--dir-maxdepth NUM]
             [--dir-timeout TIME] [--dir-not-exist FLAG] [--dir-quick-scan]
             [--nmap-ports PORTS] [--nmap-top-ports NUM] [--nmap-ops ...]
             [--int-target [URLS [URLS ...]]] [--int-method METHOD]
             [--int-headers JSON] [--int-cookies COOKIES] [--int-body BODY]
             [--int-payload PAYLOAD] [--int-flag FLAGS] [--int-timeout TIME]
             [--map-seed SEED] [--map-http-port PORT] [--map-https-port PORT]
             [--map-cookies COOKIES] [--map-interval TIME]
             [--map-timeout TIME]

선택적 인수:
  -h, --help            이 도움말 메시지를 표시하고 종료합니다
  -m MODULE             ./modules/에서 모듈 이름을 사용하여 활성화합니다

출력:
  이 옵션들은 출력을 제어하는 데 사용할 수 있습니다

  -v                    더 자세한 출력
  -c                    색상이 있는 로그 출력 비활성화
  -o PATH               대상 파일에 로그 기록

대상:
  모듈에서 대상을 정의하는 특별한 옵션이 없는 한, 대상을 정의하려면 이 옵션 중 하나 이상을 제공해야 합니다

  -t [TARGET [TARGET ...]]
                        공백으로 구분 (예: github.com 127.0.0.0/24
                        192.168.1.5)
  -T PATH               대상 목록이 포함된 파일, 한 줄에 하나의 대상

Swarm:
  이 옵션들을 사용하여 swarm 연결을 사용자 정의합니다. 적어도 하나의 슬레이브 호스트를 제공해야 합니다.

  -s [SWARM [SWARM ...]]
                        슬레이브 호스트를 깨워야 하는 경우 포트를 포함한 주소 (예: 192.168.1.2:9090 192.18.1.3:9191). 슬레이브 호스트에서 swarm-s가 이미 실행 중이면 포트 불필요
  -S PATH               슬레이브 목록이 포함된 파일, 한 줄에 하나의 호스트
  --waken CMD           슬레이브 호스트를 깨울 명령. 슬레이브 호스트에서 swarm-s가 이미 실행 중이면 null
  --timeout TIME        swarm에 요청을 보내고 응답을 받을 때까지 대기할 초
  --m-addr ADDR         모든 슬레이브 호스트에서 접근 가능한 마스터 주소
  --m-port PORT         마스터 호스트에서 작업을 분배하기 위한 수신 포트
  --s-port PORT         슬레이브 호스트에서 마스터로부터 명령을 받기 위한 수신 포트
  --authkey KEY         마스터와 슬레이브 호스트 간 인증 키

데이터베이스:
  이 옵션들을 사용하여 MongoDB 서버에 접근할 수 있습니다

  --db-addr ADDR        MongoDB 서버 주소
  --db-port PORT        MongoDB 서버 수신 포트

공통:
  이 옵션들을 사용하여 슬레이브 호스트의 공통 구성을 사용자 정의할 수 있습니다

  --process NUM         슬레이브 호스트의 최대 동시 프로세스 수
  --thread NUM          슬레이브 호스트의 최대 동시 스레드 수
  --taskg NUM           1부터 3까지의 하위 작업 세분성

도메인 스캔:
  이 옵션들은 서브도메인 이름 스캔의 swarm 동작을 사용자 정의하는 데 사용할 수 있습니다

  --dom-compbrute       사전 없이 완전 무차별 대입 사용
  --dom-dict PATH       서브도메인 이름 스캔에 사용할 사전 경로
  --dom-maxlevel NUM    스캔할 서브도메인 최대 레벨
  --dom-charset SET     완전 무차별 대입에 사용할 문자 집합
  --dom-levellen LEN    각 레벨의 서브도메인 이름 길이 간격
  --dom-timeout TIME    서브도메인 이름 스캔 타임아웃 옵션

디렉토리 스캔:
  이 옵션들은 디렉토리 스캔의 swarm 동작을 사용자 정의하는 데 사용할 수 있습니다

  --dir-http-port PORT  여러 포트가 필요하면 쉼표로 구분
  --dir-https-port PORT
                        여러 포트가 필요하면 쉼표로 구분
  --dir-compbrute       사전 없이 완전 무차별 대입 사용
  --dir-charset SET     완전 무차별 대입에 사용할 문자 집합
  --dir-len LEN         디렉토리 이름 또는 파일 이름 길이 간격
  --dir-dict PATH       디렉토리 스캔에 사용할 사전 경로
  --dir-maxdepth NUM    디렉토리 및 파일 스캔의 최대 깊이
  --dir-timeout TIME    디렉토리 스캔 타임아웃 옵션
  --dir-not-exist FLAG  여러 플래그가 필요하면 이중 쉼표로 구분
  --dir-quick-scan      스캔에서 GET 대신 HEAD 메서드 사용

Nmap 모듈:
  이 옵션들은 슬레이브 호스트에서 nmap 동작을 사용자 정의하는 데 사용할 수 있습니다

  --nmap-ports PORTS    '80,443,3306,1024-2048' 형식 지원
  --nmap-top-ports NUM  가장 흔한 포트 <number>개 스캔
  --nmap-ops ...        nmap 매뉴얼 페이지에 있는 nmap 옵션 목록. CLI 인수에서 마지막에 위치해야 함

Intruder:
  공격 포인트를 지정하려면 'int_target' 및 'int_body' 옵션에서 '@n@'과 같은 표시 기호를 사용하십시오. 여기서 'n'은 숫자입니다(예: '@0@', '@1@' 등). 이러한 공격 포인트에 사용할 페이로드를 'int_payload' 옵션으로 지정하여 공격을 완료합니다.

  --int-target [URLS [URLS ...]]
                        대상 지정에 '-t' 또는 '-T' 옵션 대신 사용. 쉼표로 구분
  --int-method METHOD   이 공격에 사용할 HTTP 메서드
  --int-headers JSON    JSON 형식 데이터 (예: {"User-Agent":"Mozilla/5.0","Origin":"XXX"})
  --int-cookies COOKIES
                        쉼표로 구분 (예: PHPSESSIONID:XX,token:XX)
  --int-body BODY       HTTP 또는 HTTPS 본문. 이 옵션에서 표시 기호를 사용할 수 있음
  --int-payload PAYLOAD
                        형식은 '@0@:PATH,@1@:CHARSET:NUM-NUM'을 따라야 함
  --int-flag FLAGS      여러 플래그가 있으면 이중 쉼표로 구분
  --int-timeout TIME    intruder 모듈 타임아웃 옵션

Sitemap 크롤러:
  이 옵션들은 사이트맵 크롤러를 사용자 정의하는 데 사용할 수 있습니다. 아직 JS 파싱은 지원하지 않습니다

  --map-seed SEED       여러 시드가 있으면 쉼표로 구분
  --map-http-port PORT  여러 포트가 필요하면 쉼표로 구분
  --map-https-port PORT
                        여러 포트가 필요하면 쉼표로 구분
  --map-cookies COOKIES
                        여러 쿠키가 있으면 쉼표로 구분
  --map-interval TIME   두 요청 사이의 간격 시간
  --map-timeout TIME    사이트맵 크롤러 타임아웃 옵션

요구 사항이 높은 경우 CLI 인수 대신 구성 파일을 사용하여 swarm을 구성하는 것이 좋습니다. 구성 파일은 /etc/swarm/에 있습니다.

라이선스

Swarm은 GPLv3 라이선스에 따라 제공됩니다.

도구 다운로드