iT邦幫忙

0

Day 4:建立測試環境與倫理聲明(Gophish 部署與安全設定)

o 2025-10-14 21:11:46115 瀏覽
  • 分享至 

  • xImage
  •  

一、今日目標

在本機或 VM 建立可復現且安全的釣魚測試環境(以 Gophish 為範例)。

完成基本的 Gophish 設定流程:管理介面、寄件人(sending profile)、landing page、受試者名單匯入、建立與啟動 campaign(僅限測試帳號)。

提供完整的倫理同意範本、風險控管清單與資料去識別化流程。

注意:本文示範所有測試僅應在測試帳號或已獲書面同意之受試者上執行。切勿未經同意對真實使用者發送任何釣魚訊息。

二、環境準備(需求)

作業系統:Linux / macOS / Windows(建議使用 Linux VM 或 WSL2)

軟體:Docker、Docker Compose、git、瀏覽器

建議資源:至少 2 CPU、2 GB RAM、10 GB 磁碟空間(測試環境即可)

建議額外服務(避免外寄郵件):本機 SMTP 擬真服務(MailHog / FakeSMTP / smtp4dev),用於攔截測試郵件避免真實傳遞

三、以 Docker Compose 部署 Gophish(示範)

在專案目錄下建立 docker-compose.yml(示例):

version: '3'
services:
gophish:
image: gophish/gophish:latest
container_name: gophish
ports:
- "3333:3333" # admin web UI
- "8080:80" # landing pages
volumes:
- ./gophish-data:/gophish
restart: unless-stopped

mailhog:
image: mailhog/mailhog
container_name: mailhog
ports:
- "1025:1025" # SMTP
- "8025:8025" # Web UI
restart: unless-stopped

部署步驟:

建立目錄並放入 docker-compose.yml:

mkdir gophish-docker
cd gophish-docker

將上方 docker-compose.yml 存入此目錄

docker compose up -d

檢查 Container 狀態:

docker ps
docker logs gophish -f

管理介面(Admin UI):開啟 http://127.0.0.1:3333
Landing page(測試頁面)會由 Gophish 在 http://127.0.0.1:8080 提供。

初次登入管理介面:若為第一次啟動,Gophish 會顯示預設管理帳號(若有提示預設密碼請記下並立即更改)。建議:進入後立刻修改管理密碼並限制管理介面存取(如必要用防火牆僅允許特定 IP 存取)。

四、建議的安全與隱私設定(重要)

只使用本機/內網 SMTP(不要直接用真實 SMTP 服務):示例使用 MailHog(上面 compose 已包含),可在 http://127.0.0.1:8025 檢視所有測試郵件且不會送出到外部。

限制 Gophish Admin 存取:在 production-like 環境,應把 admin 介面綁在私有網段或透過 VPN/SSH 隧道存取。

立即變更管理密碼,並啟用強密碼。

Landing page 不存放真實憑證:測試的 landing page 不應真實接收或儲存密碼 / 金融資訊;若示範 capture credential,請只在模擬表單中使用 dummy 欄位,或明確標示為測試並進行去識別化。

保留完整同意記錄與實驗流程文件(見同意書範本)。

資料最小化與去識別化:導出結果前,將 email、IP、姓名等個資去識別化或雜湊處理(例如 SHA256),並只保留必要的統計欄位(open rate、click rate、time-to-click)。

五、Gophish 基本操作流程(測試流程示例)

以下步驟示範如何在本地進行完整測試流程(以 MailHog 攔截郵件,受試名單為模擬帳號)。

進入 Admin UI(http://127.0.0.1:3333),登入並變更密碼。

新增 Sending Profile(寄件人設定):

Host: mailhog 或 127.0.0.1 端口 1025(依 docker network 可用服務名稱填寫)

Port: 1025(MailHog)

From name / From address:使用測試寄件人(例如 Phish Test no-reply@example.local

測試寄送:按 Test 以確認郵件會被 MailHog 攔截(在 http://127.0.0.1:8025 可看到)。

建立 Landing Page(登陸頁):

在 Gophish 的 Landing Pages 選單新增頁面。

內容請標示為「測試頁面」,並避免收集真實帳密。若要示範表單送出,可儲存至 Gophish 的結果(但務必用 dummy 欄位)。

範例 HTML:

注意:不要放真實登入流程或導向真實服務。

建立 Email Template(郵件範本):

新增範本,郵件中放測試連結(使用 Gophish 的替換字元如 {{.URL}})。

範本需清楚標示測試目的(在實驗同意情況下可隱含提示,但若需完整告知則入同意程序)。

建立群組(Recipients):

匯入測試受試者名單 CSV(欄位範例:email,first,last,position)。

僅匯入受試者同意的測試帳號,範例如:test1+local@example.com(可用 +tag 方式創建多個測試地址,或建立 fake domain 的 local address)。

建立 Campaign 並啟動:

選擇剛剛建立的範本、Landing Page、Sending Profile、Recipients,設定發送時間(立即或排程)。

啟動後到 MailHog 檢視郵件,點擊連結觀察 Landing Page 行為與 Gophish 的統計(open/click)。

結果匯出與去識別化:

從 Gophish 匯出 campaign 結果(CSV),在上傳或發表前將 email 欄位 hash 或替換為代號,保留統計數據(open rate、click rate、時間分布)。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言