
그래픽 기반 공격 관리 콘솔 for Metasploit: 단일 Go 바이너리와 브라우저 UI로 제공되는 Armitage의 계보. 실시간 네트워크 토폴로지, 캠페인 워크플로우, Hail Mary, 세션, 보고서 내보내기, 팀 모드를 지원합니다.
Hayduk은 승인된 침투 테스트를 위한 무료 오픈소스 Metasploit GUI입니다. Armitage 워크플로를 브라우저로 가져옵니다. 호스트를 매핑하고, 모듈을 탐색하고, Meterpreter 및 셸 세션을 관리하고, 캠페인 보고서를 내보낼 수 있습니다.
바이너리 하나를 다운로드하세요. 실행하세요. Metasploit에 연결하세요. 릴리스 바이너리를 실행하는 데 Java, Go 또는 Node.js 설치가 필요하지 않습니다. 브라우저 UI가 포함되어 있습니다.
Hayduk은 msfrpcd를 통해 별도의 Metasploit Framework 인스턴스에 연결합니다. Metasploit을 번들로 포함하지 않습니다.
최신 릴리스 다운로드 · 빠른 시작 · Docker 랩 사용해 보기 · 팀 모드

예시 캠페인 데이터로 표시된 인터페이스.
Hayduk 릴리스 바이너리, 브라우저, 그리고 실행 중인 Metasploit Framework 인스턴스가 필요합니다. 호스트, 서비스, 자격 증명, loot과 같은 워크스페이스 기능을 사용하려면 Metasploit에 연결된 데이터베이스도 필요합니다.
아래 단계는 Hayduk과 Metasploit이 동일한 머신에서 실행된다고 가정합니다. 데이터베이스와 일회용 타깃이 포함된 즉시 사용 가능한 Metasploit 설정이 필요하다면 Docker 랩을 사용하세요.
최신 릴리스를 열고 운영 체제와 프로세서에 맞는 아카이브를 선택하세요. 아카이브를 폴더에 압축 해제하세요. Hayduk 설치 프로그램이나 별도의 UI 설정은 없습니다.
Metasploit이 실행 중인 머신에서 터미널을 열고 다음을 실행하세요:
msfrpcd -P 'yourpassword' -S -f -a 127.0.0.1 -p 55553
yourpassword를 자신의 비밀번호로 바꾸세요. 이 터미널은 열어 둔 채로 유지하세요. 이 명령은 RPC를 55553 포트의 localhost에 바인딩합니다. -S는 이 로컬 연결에 대해 SSL을 비활성화합니다.
이미 msfrpcd를 실행 중이라면, 다른 인스턴스를 시작하는 대신 기존 연결 설정을 사용하세요.
추출된 폴더에서 다른 터미널을 여세요.
Linux 및 macOS:
./hayduk
Windows PowerShell:
.\hayduk.exe
Hayduk는 브라우저에서 UI를 엽니다. 브라우저가 열리지 않으면 ?token=...을 포함하여 터미널에 출력된 전체 URL을 복사하세요. 포트는 자동으로 할당됩니다.
Connect to msfrpcd에서 2단계의 설정을 입력하세요:
| 필드 | 값 |
|---|---|
| 호스트 | 127.0.0.1 |
| 포트 | 55553 |
| 사용자 | msf |
| 비밀번호 | 위에서 설정한 비밀번호 |
| use SSL | 선택 해제 |
Connect를 클릭하세요. 콜드 상태의 Metasploit 인스턴스는 응답하는 데 약 30초가 걸릴 수 있으며, 연결 진행 상황은 대화 상자에 표시됩니다.
UI를 사용하는 동안 Hayduk를 계속 실행해 두세요. 중지하려면 해당 터미널에서 Ctrl+C를 누르세요.
테스트 권한이 있는 시스템 또는 네트워크를 사용하세요. 스캔은 연결된 Metasploit 인스턴스에서 실행되므로, 대상은 해당 머신에서 접근 가능해야 합니다.
모듈을 클릭하여 구성하세요. 호스트, 세션, 테이블 행, 트리의 모듈을 마우스 오른쪽 버튼으로 클릭하면 해당 작업 메뉴가 열립니다.
캠페인 요약 카드를 사용하여 호스트, 서비스, 세션 또는 자격 증명을 여세요. Discover hosts, Scan services, Export report는 네트워크 맵 바로 위에서도 사용할 수 있습니다.
네트워크 맵은 사용 가능한 캔버스에 맞춰 호스트 열을 조정합니다. Focus를 선택하면 맵과 호스트 인스펙터가 확장됩니다. Arrange hosts는 저장된 위치를 자동 레이아웃으로 대체합니다. 호스트 카드에는 열린 서비스 수와 접근 상태가 표시되며, 보라색 경로는 피벗 경로를 나타냅니다.

데모는 예시 캠페인 데이터를 사용합니다.
| 기능 | 수행할 수 있는 작업 |
|---|---|
| 네트워크 토폴로지 | 적응형 서브넷 그룹, 호스트 서비스 수, 피벗 경로를 탐색합니다. 호스트를 드래그하거나 확대/축소하거나 Focus 모드에서 맵을 확장합니다. |
| Metasploit 모듈 | 모듈 트리를 탐색하고, 신뢰도 순위를 검사하고, 옵션을 구성하고, 페이로드를 선택합니다. |
| 캠페인 워크플로 | 호스트를 검색하고, 서비스를 스캔하고, 알려진 서비스와 일치하는 익스플로잇 후보를 찾습니다. |
| 세션 관리 | Meterpreter 및 셸 세션과 상호작용하고, 셸을 업그레이드하고, 세션을 종료합니다. |
| 자격 증명 및 전리품 | 워크스페이스 데이터를 검토하고 복구된 자격 증명을 로그인 워크플로에 사용합니다. |
| Hail Mary | 선택한 호스트에 대해 일치하는 익스플로잇을 실행하며, 실행 속도를 조절하고 이벤트 로그를 제공합니다. |
| 보고 | 캠페인 검토 및 클라이언트 전달을 위한 자체 포함 HTML 보고서를 내보냅니다. |
| 팀 모드 | 신뢰할 수 있는 네트워크에서 여러 운영자와 캠페인을 공유합니다. |

예시 캠페인 데이터를 사용한 그래프 집중 모드.
저장소에는 데이터베이스와 선택적 대상 컨테이너가 포함된 일회용 Metasploit 랩이 있습니다. 이를 실행하여 데모의 워크플로를 실제 대상에 대해 시험해 보세요.
Git, Docker, Docker Compose가 필요합니다. 저장소의 .sh 스크립트를 지원하는 셸에서 다음 명령을 실행하세요:
git clone https://github.com/jolovicdev/hayduk.git
cd hayduk
scripts/msf/up.sh --with-vulnbox
랩이 준비되면 스크립트가 대상 컨테이너 IP 주소를 출력합니다. 다운로드한 Hayduk 바이너리를 실행하고 Host 127.0.0.1, Port 55553, User msf, Password testpass123으로 연결하며 use SSL은 선택하지 않은 상태로 둡니다. 첫 스캔에는 출력된 대상 IP를 사용하세요.
Metasploit과 그 데이터베이스만 시작하려면 --with-vulnbox 없이 scripts/msf/up.sh를 실행하세요.
작업을 마치면 저장소 루트에서 다음을 실행하세요. 이 명령은 랩 데이터베이스 데이터를 포함하여 랩 컨테이너와 해당 볼륨을 제거합니다:
scripts/msf/down.sh
운영자가 접근할 수 있는 특정 인터페이스 주소로 다운로드한 바이너리를 실행하세요:
./hayduk --team --listen 192.168.1.10:8787
192.168.1.10을(를) 사용 중인 머신의 주소로 바꾸십시오. 팀 모드에는 명시적인 비루프백 주소가 필요하며, 0.0.0.0과 같은 와일드카드 주소는 거부됩니다.
터미널에 출력된 전체 토큰 URL을 공유하십시오. 각 운영자는 브라우저에서 이 URL을 열고 이름을 선택합니다. 이벤트 로그는 해당 이름으로 작업을 기록합니다.
팀 모드는 하나의 공유 토큰과 일반 HTTP를 사용합니다. 운영자 이름은 레이블일 뿐 검증된 신원이 아닙니다. 토큰 URL을 비밀번호처럼 취급하고 신뢰할 수 있는 네트워크에서만 팀 모드를 사용하십시오. 전체 신뢰 모델은 보안 정책을 참조하십시오.
| 문제 | 확인할 사항 |
|---|---|
| 브라우저가 열리지 않음 | Hayduk가 출력한 전체 토큰 URL을 여십시오. ./hayduk --no-browser로 시작할 수도 있습니다. |
| Hayduk가 연결할 수 없음 | msfrpcd가 실행 중인지, 그리고 호스트, 포트, 사용자, 비밀번호가 일치하는지 확인하십시오. |
| SSL 연결 실패 | msfrpcd가 -S로 실행될 때는 use SSL을 선택하지 않은 상태로 두고, 데몬이 SSL을 사용할 때는 활성화하십시오. |
| 연결에 시간이 걸림 | 연결 대화상자를 확인하십시오. 콜드 상태의 Metasploit 인스턴스는 응답하는 데 약 30초가 걸릴 수 있습니다. |
| 호스트 또는 서비스가 누락됨 | 선택한 워크스페이스, Metasploit의 데이터베이스 연결, 그리고 Metasploit에서 대상에 도달할 수 있는지 확인하십시오. |
예. Hayduk은 네트워크 토폴로지, 모듈 실행, Hail Mary, 공유 캠페인을 포함한 Armitage의 그래픽 Metasploit 워크플로를 따릅니다. 브라우저 UI와 단일 Go 바이너리를 갖춘 별도의 구현입니다.
아니요. Hayduk은 Metasploit의 msfrpcd 서비스를 위한 GUI 클라이언트입니다. 기존 Metasploit 설치 또는 포함된 Docker 랩을 사용하십시오.
Hayduk 릴리스 바이너리에는 추가 언어 런타임이 필요하지 않습니다. 소스에서 빌드하려면 Go와 Node.js가 필요합니다. Docker는 포함된 랩을 선택한 경우에만 필요합니다.
예. Host에 Metasploit 머신의 접근 가능한 주소를 입력하고 해당 RPC 포트, 자격 증명, SSL 설정을 일치시키십시오. 빠른 시작의 localhost 전용 RPC 명령은 같은 머신에서만 연결을 허용합니다.
예. Hayduk은 MIT 라이선스에 따라 배포됩니다.
개발에는 Go 1.26.1 이상, CI에서 사용하는 Node.js 24, npm, Make를 사용하십시오. 저장소 루트에서:
make
./bin/hayduk
make는 UI 의존성을 설치하고, UI를 빌드 및 임베드하며, bin/hayduk을 컴파일합니다.
최초 빌드 후, 한 터미널에서 UI 서버를 실행합니다:
cd ui
npm run dev
저장소 루트에서 두 번째 터미널을 열고:
make dev
Hayduk이 출력한 URL을 엽니다. UI 변경 사항은 개발 프록시를 통해 다시 로드됩니다.
저장소 루트에서 다음 명령을 실행합니다:
make test # Go and UI tests
npm --prefix ui run lint
make # Type-check, build the UI, and compile the binary
make integration # Requires the running Docker lab