AWS EC2에 T-Pot (Hive)설치 실습

kauze98·2025년 6월 30일

AWS 실습

목록 보기
15/16
post-thumbnail

실습에서 사용 조건

  • 리전: 도쿄(ap-northeast-1)

  • OS: Ubuntu 22.04 또는 24.04 LTS (공식 권장)

  • 인스턴스 타입: t3.xlarge 사용

  • 볼륨 크기 : 200gib 사용

  • 기타: 퍼블릭 IPv4 주소 필요


1. EC2 인스턴스 생성 전 준비

키페어 설정

🔒 보안 그룹 설정

  • 인바운드

TCP: 포트 0~60001 전체 허용 (테스트/실습용)
고정 외부 IP 허용 (학교 IP)
0–60001 포트 전체 개방 (0.0.0.0/0)

  • 아웃바운드

전체 허용 (기본)


2. EC2 인스턴스 생성

AMI: Ubuntu Server 22.04/24.04 LTS (64-bit)

스토리지: 50~100GB

네트워크 설정: 퍼블릭 IP 자동 할당


3. MobaXterm / SSH로 EC2 접속


ec2 ipv4 퍼블릭 주소와 유저네임 : ubuntu와 기존에 만든 키를 넣어주면 연결이 가능하다.


4. T-Pot 설치 전 준비 및 T-Pot 설치

(!!주의 ubuntu 계정 기준, 절대 sudo로 clone 금지)

sudo apt update && sudo apt upgrade -y
sudo reboot  # 이후 재접속
sudo apt install git -y

git clone https://github.com/telekom-security/tpotce
cd tpotce/iso/installer

5. .env 설정 변경 (중요)

vi .env
  • (:set number → 81줄 근처)

  • auto → none으로 수정 (직접 설치를 위해)

  • 저장: Esc → :wq


6. 설치 스크립트 실행

./install.sh
  • 설치 중 설정:

    • 하이브 이름: h 또는 원한 값 입력

    • ID / 비밀번호 생성

  • 설치 완료 후 자동 재부팅


7. 서비스 실행 확인 및 수동 시작 (필요 시)

sudo systemctl start tpot
sudo docker ps -a

8. Cockpit 포트와 SSH 허니팟 포트 구분

https://<EC2 퍼블릭 IPv4>:64297

이 포트는 Cockpit 대시보드 전용 포트다. 이곳에서 전체 허니팟 상태를 모니터링하고, 이벤트 로그, 시스템 상태 등을 한눈에 확인할 수 있다. 정식 T-Pot UI이며, 관리자들이 주로 사용하는 포트다.

반면, 공격자 시나리오에서 중요한 포트는 64295다. 이 포트는 SSH 허니팟(Cowrie)이 열려 있는 포트다. 즉, 누군가 ssh EC2-IP-p 64295 명령으로 접속을 시도하면 진짜 리눅스 서버처럼 보이지만 사실은 가짜 환경이다. 여기에 입력된 사용자 ID, 비밀번호, 명령어 등이 모두 로그로 기록된다.

정리하자면:

64297: Cockpit 대시보드 접속용 포트

64295: SSH 허니팟 포트 (공격자 유도용)

실제 SSH로 서버에 관리자로 접속할 때는 여전히 포트 22번을 사용하고, 이건 EC2에서 pem 키가 있어야만 접근 가능하다. 64295는 진짜가 아니라 Cowrie가 연출하는 가짜 SSH 환경이며, 허니팟의 핵심 기능 중 하나다.


9. 추가 사용자 계정 생성

Cockpit UI는 계정 중복 로그인을 허용하지 않기 때문에, 여러 명이 동시에 접근하려면 개별 계정을 생성해야 한다. 이를 위해 T-Pot 설치 디렉토리에서 genuser.sh를 실행한다.

cd ~/tpotce
./genuser.sh

10. 공격자 로그인 시도 기록 확인

공격자가 EC2의 퍼블릭 IP를 알고 있고, 포트 64295로 SSH 접속을 시도한다면, Cowrie 허니팟이 이를 감지하고 기록한다. 이 SSH 환경은 진짜 리눅스처럼 보이지만, 실상은 로그인 정보, 타이핑한 명령어, 접속 시도 IP, 시간 등을 모두 저장하는 가짜 쉘 환경이다.

심지어 실제 존재하는 계정이나 맞는 비밀번호를 입력해도 EC2는 pem 키가 없으면 접속할 수 없기 때문에 무조건 실패하게 되어 있다. 다만 이 과정 자체가 전부 T-Pot에 로그로 남는다.

Cowrie 로그는 Elasticsearch나 Kibana 같은 도구를 통해 검색할 수 있으며, cowrie라는 키워드로 필터링하면 어떤 ID와 패스워드가 시도되었는지를 확인할 수 있다. 실습 환경에서 공격자 분석, 계정 탈취 시도 추적, 자동화된 브루트포스 탐지 실습까지 가능하다

profile

0개의 댓글