선릉역 1번 출구

Gophish 설치 및 사용 방법(3) 본문

Computer/Tool

Gophish 설치 및 사용 방법(3)

choideu 2024. 11. 18. 21:03

Gophish의 캠페인 기능을 알아보자.

서버 캠페인 대시보드 화면

구분 설명
Email Sent Groups의 사용자를 대상으로 Email Sent 현황 확인 가능
Email Opened 사용자 중 Email Open 상태 확인 가능
Clicked Link 사용자 중 첨부된 링크 클릭한 사용자 확인 가능
Submitted Data 사용자 중 특정 데이터를 전송한 사용자 확인 가능
Email Reported 아래 첨부된 사진 中 Reported로 변경한 대상자 확인 가능

서버 캠페인 대시보드 화면2

 

오늘은 위의 기능 중 Email Opened 확인 방법을 알아본다

 

일단 먼저, 우리는 gophish를 구동하기 전 "config.json" 파일을 작성했다.

{
        "admin_server": {
                "listen_url": "0.0.0.0:3333",
                "use_tls": false,
                "cert_path": "gophish_admin.crt",
                "key_path": "gophish_admin.key",
                "trusted_origins": []
        },
        "phish_server": {
                "listen_url": "0.0.0.0:80",
                "use_tls": false,
                "cert_path": "example.crt",
                "key_path": "example.key"
        },
        "db_name": "sqlite3",
        "db_path": "gophish.db",
        "migrations_prefix": "db/db_",
        "contact_address": "",
        "logging": {
                "filename": "",
                "level": ""
        }
}

 

위의 내용 중 phish_server의 url 부분외부에서 접근 가능해야하므로, AWS의 EC2를 설정하여 외부 접근 가능한 phishing 서버를 만들었다.

 

서버 구성도

 

특정 도메인 기준으로, 도메인 + port 접근 시 admin server / phishing server으로 접근할 수 있다.

(나는 gophish.<도메인명>:3333으로 admin server를 설정했다)

대시보드 화면

 

Email Templates를 설정한다. 여기서 {{.Tracker}}는 이메일 클릭 확인에 필수요소로 꼭 작성해야한다.

└ {{.URL}}은 열람 시 내가 작성한 Landing Pages가 확인되며, Clicked Link를 확인할 수 있다.

아래와 같이 Campaign을 설정한다.

 

이때 가장 중요한 건 URL에 phishing server의 IP를 기재하는 것이며, 해당 phishing server의 IP가 외부에서도 접근 가능해야한다! 

└ 해당 부분 오기재 시 이메일을 열람하여도, 서버에 수신이되지 않아 이메일 열람 여부 확인이 불가능하다.

 

서버에 기록되는 이메일 발송 로그는 아래와 같다.

time="2024-11-18TZ" level=info msg="Email sent" email="\"\" <이메일1@naver.com>" envelope_from=test1@gmail.com smtp_from=test@gmail.com
time="2024-11-18TZ" level=info msg="Email sent" email="\"\" <이메일2@naver.com>" envelope_from=test1@gmail.com smtp_from=test@gmail.com
time="2024-11-18TZ" level=info msg="Email sent" email="\"\" <이메일3@gmail.com>" envelope_from=test1@gmail.com smtp_from=test@gmail.com

 

수신된 이메일 클릭 시 서버에 기록되는 이메일 발송 로그는 아래와 같다.

time="2024-11-18TZ" level=info msg="<IP> - - [18/Nov/] \"GET /track?rid=4wrJxMd HTTP/1.1\" 200 95 \"\" \"Mozilla/                     5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 (via ggpht.com GoogleImageProxy)\""

└ Gmail 열람 시 로그

Gmail 확인

 

  • 매개변수 rid 값을 URL 뒤에 기재하여 GET 요청을 한다.
  • 해당 값은 위에서 Email Template에 기재한 {{.RId}}와 동일하다.(이메일 마다 고유한 값으로 생각됨)
  • Gmail의 경우 이메일 열람만하여도 email open이 확인되었으나, naver의 경우는 확인 불가함
    • Naver는 본문에 첨부되는 링크를 클릭하여야 Email Opened와 Clicked Link가 같이 확인됨
time="2024-11-18TZ" level=info msg="<IP> - - [18/Nov/] \"GET /?rid=jWOwh5n HTTP/1.1\" 200 117 \"\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36\""

└ Naver 링크 클릭 시 로그

Naver 이메일 열람 후(좌) / 링크 클릭 후(우)

  • 위에 작성된 것처럼 Naver는 email opened와 click link가 동시에 집계된다.

 

Gmail 링크 클릭 후

  • Gmail은 email opened와 clicked link가 각각 집계된다.
    • email opened: 이메일 확인 시 
    • clieck link: 이메일 본문 내 기재된 링크 클릭 시

 

▼ 피싱 메일 Redirect

Naver 메일 본문(좌) / 피싱 메일 Landing Page(우)

 

 

✅다음 시간에는 ssl 인증서 설정 및 본문 Data 작성에 대해 알아보자

 

더보기
"보낸 이" 수정 방법

Email Templates

Naver 메일 목록

그러나 아래 메일 부분은 Sending Profiles에 기재된 Email(username)으로 보내진다.

'Computer > Tool' 카테고리의 다른 글

Gophish 설치 및 사용 방법(2)  (0) 2024.11.12
Gophish 설치 및 사용 방법(1)  (1) 2024.11.08
Port Scan With Zenmap  (1) 2024.09.19
Comments