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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ad-honeypot-autodeploy — RDP 허니팟을 위해 의도적으로 보안이 취약하게 구성된 소규모 Windows 도메인을 완전 자동으로 배포합니다. | Kitploit
도구/GitHubGitHub/tothi/ad-honeypot-autodeploy
Penetration TestingThreat IntelligenceLearning & EducationRed TeamingLog AnalysisLabs & Practice
GitHubtothi/ad-honeypot-autodeploy

ad-honeypot-autodeploy

RDP 허니팟을 위해 의도적으로 보안이 취약하게 구성된 소규모 Windows 도메인을 완전 자동으로 배포합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ad-honeypot-autodeploy

소형의 의도적으로 안전하지 않은 취약한 Windows 도메인을 RDP 허니팟용으로 완전 자동으로 배포합니다.

자체 호스팅 가상화 환경에서 libvirt와 QEMU/KVM을 사용하여 실행됩니다 (하지만 클라우드 기반 솔루션에 맞게 쉽게 사용자 지정할 수 있습니다).

RDP 허니팟 테스트를 목적으로 작은 Windows 도메인을 처음부터 사용자 개입 없이 자동으로 쉽게 설정하는 데 사용됩니다.

도메인 컨트롤러, 데스크톱 컴퓨터 및 악의적인 행위자의 행동을 로깅하기 위해 구성된 Graylog 서버를 제공합니다.

자동 배포 단계

  1. Packer: 필요한 설치 미디어를 다운로드하고 자동화된 기본 가상 머신 이미지를 무인으로 설정합니다.

  2. Terraform: Packer로 준비된 가상 머신 이미지를 사용하여 libvirt 가상화 인프라(네트워크 + 가상 머신)를 프로비저닝합니다.

  3. Ansible: 사용자 개입 없이 인프라(DC, 데스크톱, Graylog)를 자동으로 구성합니다.

Packer+Terraform+Ansible 파이프라인을 거치면 구성된 Windows 도메인이 실행되고 있어야 하며, 데스크톱의 RDP 서비스를 공용 인터넷에 연결하고 Graylog를 통해 이벤트를 모니터링할 수 있습니다.

기능

실행 중인 시스템의 기능은 다음과 같습니다:

  • 도메인 컨트롤러로 Windows Server 2016
  • 도메인 컴퓨터로 Windows 10 데스크톱(버전 21H2)
  • Ubuntu 18.04 LTS에서 로그 수집기로 실행되는 Graylog 3.3(오픈 소스 버전)
  • 최상의 성능을 위한 VirtIO 드라이버 사용
  • RDP 및 WinRM 서비스 활성화
  • 임의 사용자로 채워진 Windows Active Directory
  • Sysmon(Windows Sysinternals 제공)이 도메인 컴퓨터에 설치 및 실행
  • NXLog 수집기가 도메인 컴퓨터에서 실행되며 로그를 Graylog로 전달
  • IP 주소에 대해 구성된 Graylog GeoIP 조회 테이블 및 파이프라인(잘못된 RDP 로그인 시도의 지도를 표시하는 데 유용)
  • RDP 공격의 Graylog 세계 지도
  • 공격 기술을 실험하기 위해 Windows 서브넷에 연결된 추가 Kali VM

호스트 시스템 요구 사항

가상화는 호스트 시스템의 일정 성능을 필요로 합니다:

  • 기본 이미지 및 게스트 컴퓨터의 스파스 이미지에 약 100GB의 디스크 공간
  • 게스트 머신에 최소 4 x 4GB 메모리(오버커밋으로 인해 16GB 미만으로 실행될 수 있음)
  • QEMU/KVM을 포함한 최신 libvirt 설치(Ubuntu 18.04 LTS의 공식 최신 패키지가 작동해야 함)
  • Ansible용 Python 3(가급적 venv 사용)

Ubuntu 18.04 LTS 호스트에서 테스트됨.

설치 및 사용법

먼저, 저장소를 클론합니다:

root@kitploit:~
git clone https://github.com/tothi/ad-honeypot-autodeploy
cd ad-honeypot-autodeploy

Packer를 시작하기 전에 초기 암호를 설정하세요(복잡성 요구 사항 확인):

root@kitploit:~
./init_passwords.sh

Packer

이제 초기 이미지를 빌드합니다.

root@kitploit:~
cd packer

Windows Server 2016 및 Ubuntu 설치 미디어는 Packer 스크립트에 의해 다운로드되어야 합니다. VirtIO는 첨부된 get-virtio.sh 스크립트를 통해 다운로드해야 합니다:

root@kitploit:~
./get-virtio.sh

Windows 10은 임시 다운로드 링크를 얻어 수동으로 다운로드하고 ISO 폴더에 저장해야 합니다. 다운로드 링크는 여기에서 얻을 수 있습니다. 영어(국제), 64비트 버전을 선택하고 ISO를 ISO/Win10_21H2_EnglishInternational_x64.iso에 저장하세요.

Graylog의 세계 지도에서 IP 위치를 매핑하려면 MaxMind GeoIP 데이터베이스가 필요합니다. 불행히도 라이선스 조건으로 인해 재배포할 수 없으므로 MaxMind 사이트에서 등록 후 수동으로 다운로드해야 합니다. 무료 GeoLite2 버전이 작동해야 합니다. MMDB 형식의 'GeoLite2 City' 데이터베이스(GZIP 다운로드 후 압축 해제)를 받아 resources/GeoLite2-City.mmdb에 넣으세요.

Packer가 없다면 packer.io 사이트에서 최신 버전을 받거나(사전 컴파일된 바이너리 다운로드) Hashicorp 저장소를 추가하여 패키징 시스템에 추가하세요(Terraform에도 유용).

이미지를 다시 빌드하는 경우 이전 빌드를 정리하는 것을 잊지 마세요:

root@kitploit:~
rm -fr output_*

이미지를 다시 다운로드하려면 packer_cache를 제거하세요:

root@kitploit:~
rm -fr packer_cache

이러한 준비 단계 후에 Packer 빌드를 병렬로 실행하세요:

root@kitploit:~
./packer-build-all.sh

Packer 실행 중

이미지는 합리적인 시간 내에 준비되어야 합니다(호스트 하드웨어 성능에 따라 약 20-30분).

Terraform

이제 Terraform을 사용하여 인프라를 배포할 수 있습니다.

Terraform(>=0.13)이 없다면 받으세요(위 Packer의 설치 방법 참조).

libvirt용 Terraform 공급자는 apply 단계 중에 Terraform Registry에서 자동으로 다운로드되어야 합니다.

Terraform 폴더로 이동:

root@kitploit:~
cd ../terraform

작업 디렉터리 초기화 (처음 사용 시에만 필요):

root@kitploit:~
terraform init

인프라 빌드 및 시작 ("변경 사항 적용"):

root@kitploit:~
terraform apply

참고: terraform apply를 실행하는 사용자가 root가 아닌 경우 /usr/sbin/iptables를 실행하기 위한 sudo 권한이 필요합니다(암호 없이).

Terraform 실행 중

짧은 시간(~2-3분) 후에 네트워크와 가상 머신이 가동됩니다. 오류가 발생한 경우 terraform destroy만으로는 충분하지 않을 수 있으며, 리소스를 수동으로 정의 해제해야 할 수도 있습니다.

경고: 개인 네트워크를 보호하는 데 주의를 기울여야 합니다. 여기 제공된 terraform 구성(main.tf)에는 내 테스트 환경을 위한 사용자 지정 방화벽 규칙(192.168.3.0/24 허니팟 네트워크에서 192.168.0.0/16 대상 트래픽 차단)만 포함되어 있습니다.

다음은 구성 단계입니다.

Ansible

ansible 폴더로 이동:

root@kitploit:~
cd ../ansible

권장 설치 방법은 Python venv 가상 환경에 필요한 추가 종속성과 함께 최신 Ansible을 설치하는 것입니다:

root@kitploit:~
python3 -m venv venv
. ./venv/bin/activate
pip3 install -r requirements.txt

나중에 사용하려면 다음을 실행하여 venv를 활성화하세요.

root@kitploit:~
. ./venv/bin/activate

현재 세션에서 더 이상 필요하지 않으면 deactivate를 실행하세요.

ubuntu 사용자로 Ubuntu Graylog 머신에 액세스하기 위해 SSH 공개 키(파일명 id.pub, ssh-keygen 사용)를 ansible 폴더에 넣어야 합니다(ansible이 ~ubuntu/.ssh/authorized_keys에 추가합니다).

wordlist.txt 파일에는 채워진 도메인 사용자를 위한 (의도적으로 약한) 암호가 포함되어 있으며 사용자 지정할 수 있습니다.

구성 단계 실행:

root@kitploit:~
ansible-playbook -i hosts setup-domain.yml -v

Ansible 실행 중

20-25분 후에 모든 것이 준비됩니다.

배포된 시스템

libvirt 네트워크 구성(NAT)에 따라 호스트는 공용 인터넷에 액세스할 수 있습니다(호스트 시스템이 허용하는 경우).

호스트에 대한 액세스는 호스트 시스템을 통해 가능합니다. 실제로 SSH socks 터널과 proxychains를 사용하여 RDP 또는 WinRM에 액세스하는 것이 매우 편리합니다.

예를 들어 libvirt 호스트 IP가 192.168.0.10인 경우 다음을 통해 localhost:5000에서 수신 대기하는 socks 터널을 생성합니다:

root@kitploit:~
ssh 192.168.0.10 -D5000 -NTv

그리고 Windows 10 데스크톱에 액세스합니다(:5000 터널에 대해 구성된 적절한 /etc/proxychains.conf 사용):

root@kitploit:~
proxychains xfreerdp /v:192.168.3.112 /u:administrator

또는 SSH ProxyJump 및 사용자 지정 포워드 터널을 통해 Graylog Ubuntu 서버에서 로컬로 :9000에서 수신 대기하는 Graylog 웹 인터페이스에 액세스합니다:

root@kitploit:~
ssh -J 192.168.0.10 [email protected] -NTv -L9000:127.0.0.1:9000

그런 다음 URL http://localhost:9000을 열면 Graylog 웹 인터페이스에 도달합니다.

RDP 허니팟을 활성화하려면 192.168.3.112:3389에 대한 공용 액세스를 허용하기만 하면 됩니다(예: 라우터의 포트 포워딩 구성 및 호스트 머신의 iptables 규칙 사용, 도우미 스크립트는 rdp_public.sh입니다). 그리고 Graylog를 계속 지켜보세요. ;)

도구 다운로드
호스트명IP 주소운영 체제역할
dc1192.168.3.100Windows Server 2016도메인 컨트롤러
desktop12192.168.3.112Windows 10 (version 2004)도메인 구성원 워크스테이션
graylog192.168.3.191Ubuntu 18.04 LTSGraylog 서버
kali192.168.3.192Kali Rolling (2022.3)공격 작업