물먹는산세베리아

AWS-EC2에서 T-Pot 설치(허니팟) 본문

썬톨/톨

AWS-EC2에서 T-Pot 설치(허니팟)

suntall 2023. 5. 26. 14:12

구름 교육 과정 중 AWS에서 허니팟 플랫폼 중 하나인 T-Pot을 설치한 과정을 정리했다.

* 참고자료에서의 깃 주소, 와이파이 설정 등 다른 부분들과 설명되지 않은 부분들을 추가함

 

1. EC2 instance 생성

우선, AWS 계정 생성(또는 로그인) 후 지역은 서울로 설정하여 진행했다.

`인스턴트 시작`을 눌러 인스턴스를 생성하면 된다.

 

인스턴스 이름 설정해주고 OS는 Debian 11 64bit로 설정했다.

저기에 "Debian" 검색하면 나옴

인스턴스 유형은 t3.large로, 키 페어는 새로 생성해주었다. 설치 후 확인해보니 내장 기능 중 attack map이 작동하지 않음 xlarge 이상으로 하는 걸 추천함

키페어 이름은 honeypot, 형식은 pem으로 해서 받음

받은 .pem파일은 한번 밖에 다운이 안되니 잘 보관해둔다. (경로 바꾸면 나중에 ssh 명령어로 접속할 때 제대로 안되는 것 같음. 맥 terminal 기준)

 

네트워크 설정은 방화벽(보안그룹)을 새로 생성해주고 SSH, HTTPS, HTTP 모두 모든 ip가 접속 가능하도록 설정해주었다. (어차피 외부 접속 없을 거라 편의상 이렇게 함)

//ssh, https만 쓰던데 http 안해도 되지 않나

 

용량은 128기가, gp2 SSD

 

나머지는 건들이지 말고 바로 인스턴스 시작 누르면 된다. 앞에서 설정한 사양들은 요약에서도 확인 가능하다.

분명히 새 보안 그룹을 만들었는데 나중에 이미 있다고 뜸 (????)

이 경우 인스턴그 구성 편집으로 가서 보안 그룹을 다른 이름으로 다시 만들어주면 된다.

그냥 7을 8로 바꾸고 다시 인스턴스 시작

 

 

 

성공!

인스턴스에 연결을 누르면 다양한 연결 방법을 알려주는데

ssh 클라이언트를 이용할거니까 여기서 저 예시를 복사해준다.

 

2. xshell 프로그램으로 인스턴스 접속(ssh)

참고자료에서는 putty를 썼지만 나는 xshell 프로그램을 활용했다. 이 프로그램 처음 써봤는데 mobaxterm이 더 예쁜거 같음

 

설치해서 열면 바로 새 세션이 열리는데 닫아도 되고 거기서 해도 되고~ 아무튼

새 세션에서 인스턴스 생성 시 ssh client로 접속하는 명령어를 입력해준다.

admin 계정으로 접속 성공

 

3. T-pot 설치

*AWS 접근 권한 문제로 instance 다시 생성 후 진행함. 위 과정은 같으나 앞서 설명했듯 인스턴스 유형은 xlarge로 설정하여 진행했음.

sudo apt update
sudo apt upgrade

apt 업그레이드 부터 해주고

which git #git 위치 확인
sudo apt-get install git -y #git 없으면 설치 y옵션은 설치 중에 나올 y/n 선택지에 대해 미리 yes 설정해둔것

git이 있는지 확인 후 없으면 새로 설치한다.

git clone https://github.com/telekom-security/tpotce.git
cd tpotce/iso/installer/
sudo ./install.sh --type=user

깃 클론으로 파일 불러와서 설치

y 입력 시 

버전 선택 창이 뜨는데 standard 선택! 엔터 누르면 된다.

tpot 접속 시 사용할 계정명 입력

OK 엔터

password도 마찬가지로 입력 후 엔터

패스워드 모든 설정을 마치면 바로 tpot이 설치된다. (좀 오래 걸림)

rebooting 나오면 일단 설치는 끝!

 

 

4. EC2 보안 그룹 설정 변경하기

T-Pot 설치 시 ssh 포트는 64295로 자동 변경된다. 따라서 재접속 시에는 22가 아니라 64295로 변경하여 들어와야 한다.

그리고 공격 추적을 위해 1-64000포트를 모두에게 허용한다.

 

해당 인스턴스가 사용중인 보안그룹으로 들어가 인바운드 규칙을 변경해주었다.

참고 블로그에서는 SSH용 TCP 포트인 64295와 웹 인터페이스 용 TCP 포트인 64297에 개인 IP만 허용하도록 설정했으나 그냥 모든 ip가 접근 가능하도록 하였다.

 

5. 웹 인터페이스 연결

앞서 웹 인터페이스용 포트도 열어주었으니 접속해보자

https://[ec2-ip-addr]:64297

https는 인증서를 쓰기 때문에 접속 시 이와 같은 화면이 나타나는 경우가 있는데 고급 -> "안전하지 않음"으로 접속 가능하다.

t-pot 설치 시 생성했던 계정정보를 입력한다.

짠 접속 성공

 

내장 기능들을 잠깐 잘펴보자면

Attack Map

 

kibana -> T-Pot

 

진짜 끝

 

참고자료

 

Deploying T-Pot — The All In One Honeypot Platform on AWS EC2

I recently became interested in deploying a honeypot to see what type of traffic and attacks would occur and how quickly.

medium.com