Post

Gophish 설치 및 사용법

Gophish 설치 및 사용법

Gophish는 피싱 메일 공격(사회공학기법) 시뮬레이션 오픈소스 프레임워크이다.

예전에 회사다닐때 자유주제로 발표할 기회가 있었다.

이때 대표님과 따로 협의하여 직원들에게 피싱메일 훈련을 해보고 싶다고 말씀드린 후에 몰래(대표님과 나만알고있음) 직원들에게 피싱메일을 보낸적이 있다.

원래 발표 전 일주일전에 주제를 공유하는데 공유 주제를 “Powershell 활용방안”으로 주제를 잡고 PPT발표할 때 “Phishing 공격”으로 발표하였다.

직원분들이 다들 엄청 당황해하던게 기억에 남는다 :)

그리고 피싱메일에 대해 설명하고 방법, 대응방안등을 공유한뒤 마지막에는 피싱메일 열람 결과를 발표하였다.

아주 재밌는 경험이 있었다. (실제 메일서버 구축하고 페이지도 직접만들고 엑셀에 포함된 VBA도 간단하게 직접 만들어서 진행하였다.)

서론이 길었지만 피싱관련 오픈소스가 있어 설치부터 사용하는 방법까지 기록해 놓으려고 한다.

1. 설치

Gophish 사이트에서 다운로드받거나 Gophish Github Repository에서 Clone하는 방법이있다.

설치는 비교적 간단하다. 아래 명령어들을 순서대로 입력하여 설치 후 실행하면 된다.

1
2
3
4
5
6
7
8
9
10
sudo apt update -y && sudo apt install git golang-go gcc -y

cd /opt

sudo git clone https://github.com/gophish/gophish.git

cd ./gophish

sudo go build
sudo ./gophish

다운로드 후 경로로 이동하여 sudo go build 명령어를 입력하여 빌드해준다.

SCR-20231224-tkuz.png

정상적으로 빌드가 되면 sudo ./gophish 로 고피시를 실행시켜준다. 이때 관리자 콘솔의 초기 비밀번호가 출력되는데 이 부분을 복사하여 메모해두자.

SCR-20231224-tllg.png

위의 그림처럼 정상적으로 실행된다면 관리자 콘솔로 접속하여 admin / 초기비밀번호를 입력하자.

초기비밀번호로 로그인하게되면 비밀번호를 설정할 수 있는 페이지가 나온다. 사용할 비밀번호를 입력하면 된다.

SCR-20231224-tlym.png

아래 그림처럼 Dashboard가 정상적으로 나온다면 설치는 성공이다. 이후에는 메일서버를 연동해야한다.

SCR-20231224-tmed.png

2. 메일 서버 설정

메일 발송을 하기 위해 따로 메일서버를 구축하거나 사용하는 메일서비스 SMTP를 사용할 수 있다.

인프라 구성이 쉬우면 메일서버를 따로 구축하고 싶었지만, SSL인증서라던지 도메인이라던지 복잡하여 이번에는 Gmail을 사용하기로 하였다.

Gmail 설정

첫번째로 Gmail SMTP를 사용하기위해서 앱 비밀번호 등록이 필요하다

[Google 계정] - [보안] - [2단계 인증]설정 후 [2단계 인증]메뉴의 하단에 [앱 비밀번호] 메누로 이동하여 아래 그림처럼 앱 비밀번호를 설정한다.

이 비밀번호는 1회성이므로 복사해놓거나 메모하여 Gophish 프로필 설정 시 사용하자.

SCR-20231225-chwk.png

3. Gophish 실습

프로필 설정

프로필을 설정한다.

[Sending Profiles] 메뉴로 이동 후 [New Profile] 버튼을 클릭한다.

SCR-20231225-canx.png

아래처럼 입력 후 [Username]은 gmail 계정을 입력하고 [Password]에는 앱 비밀번호를 입력한다. 앱 비밀번호가 생성되었을땐 4글자 단위로 공백이 포함되어 있을텐데 공백을 제거 후 입력해야한다.

SCR-20231225-cjcy.png

Send Test Email 버튼을 클릭 후 자신의 이메일을 입력하여 메일이 전송되는지 테스트한다.

SCR-20231225-cjmk.png

성공했다면 아래처럼 메일이 발송된 것을 확인할 수 있다.

SCR-20231225-cjqw.png

Landing Page 설정

Landing Page는 피싱메일의 포함된 링크로 접속했을때 방문하는 피싱페이지를 말한다.

보통 계정과 비밀번호를 입력하게끔 유도하는 HTML페이지를 작성한다.

이번에는 테스트이기때문에 간단하게 Username과 Password를 입력받는 페이지를 입력하자.

Redirect to 항목은 로그인 버튼을 누르면 이동되는 사이트를 입력하면 된다.

(시나리오 상 네이버 로그인페이지로 속여 계정을 입력 받게끔한다면 www.naver.com로 입력하면 된다)

SCR-20231225-ckfv.png

SCR-20231225-crqh.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<head>
	<title>Login Form</title>
</head>
<body>
	<form action="login.php" method="post">
		<label for="username">아이디: </label>
		<input type="text" id="username" name="username"><br><br>
		<label for="password">비밀번호:</label>
		<input type="password" id="password" name="password"><br><br>
		<input type="submit" value="Login">
	</form>
</body>
</html>

Email Template 설정

Email 템플릿은 피싱메일의 본문이며, 다른 특정 이메일 원본이 있다면 [Import Email]을 이용하여 편하게 만들 수 있다.

{{.URL}}을 입력하면 실제 Landing Page로 이동하는 링크를 생성해준다.

테스트이기 때문에 간단하게 작성하였다.

SCR-20231225-cqzv.png

SCR-20231225-cssn.png

Users & Groups 설정

피싱 이메일을 받은 대상을 등록하는 메뉴로 이름, 성, 직책, 이메일을 입력하여 그룹으로 관리할 수 있다.

테스트를 위해 나의 이메일을 사용하였다.

SCR-20231225-ctdm.png

SCR-20231225-ctai.png

Campaigns 설정

캠페인으로 피싱 메일 훈련을 진행할 수 있다. 이전에 설정한 Template이나 Landing Page, Profile, Group을 입력 후 URL 항목에는 현재 Gophish가 동작하고 있는 서버를 입력해야 한다. Gophish 서버에서 랜딩페이지를 제공하고 크리덴셜을 입력받아 저장하기 때문이다. 모두 입력 후 Lanuch Campaign을 클릭하면 된다.

SCR-20231225-ctgb.png

SCR-20231225-cuay.png

이메일 발송 및 진행상황 확인

이메일을 확인해 보면 아래 그림과 같이 템플릿으로 설정한 이메일이 발송된 것을 확인할 수 있다.

SCR-20231225-cuqt.png

메일에 포함된 링크로 클릭 시 Landing 페이지로 이동되며 아이디/패스워드를 입력받을 수 있다.

SCR-20231225-cuzw.png

입력 후 로그인을 누르면 Redirect를 설정해놓은 naver.com로 이동된다.

SCR-20231225-cvdq.png

대쉬보드에서 해당 캠페인의 진행상황을 확인할 수 있다. Group의 어떤 사용자가 이메일을 열람했는지 링크를 클릭했는지, 계정 정보를 입력했는지와 계정 정보까지 확인할 수 있다.

SCR-20231225-cvlp.png

끝!!

This post is licensed under CC BY 4.0 by the author.