iT邦幫忙

2024 iThome 鐵人賽

DAY 4
1
Security

資安與開源:面對威脅探索系列 第 4

Day 04 - Gophish 實際操作- 安裝

  • 分享至 

  • xImage
  •  

前言

在前幾天的內容中,相信大家已經了解了 Gophish 是一種什麼樣的工具
今天,我們將進一步深入,帶領大家一起實作並架設 Gophish 環境
準備好了嗎?讓我們開始吧!

虛擬機環境

首先,我將介紹我所使用的虛擬環境,供大家參考

  • 作業系統 : Ubuntu 22.04
  • 記憶體 : 至少 4 GB RAM
  • 處理器 : 至少雙核 CPU
  • 容器平台 : Docker、Docker-Compose

實作

1. 安裝 Docker

請大家先安裝 Docker 和 Docker-Compose
如果您的系統上還未安裝 Docker,請先安裝 Docker 和 Docker-Compose,可以參考 Docker 官方網站
在 Ubuntu 上執行以下命令來安裝 Docker 和 Docker-Compose:

# 更新系統
sudo apt-get update
# 升級所有已安裝到最新版本
sudo apt-get upgrade
# 設定時區為台灣(Asia/Taipei)
sudo timedatectl set-timezone Asia/Taipei
# 安裝 Docker 
sudo apt-get install -y docker.io
# 安裝 Docker Compose 
sudo apt-get install -y docker-compose

安裝完成後,確認 Docker 服務正在運行:

# 啟動 Docker 服務
sudo systemctl start docker

# 確認 Docker是否有正常運作
sudo systemctl status docker

# Docker 服務開機自動啟動
sudo systemctl enable docker

2. Docker Compose 文件:

建立一個新的目錄,例如 Gophish,並在該目錄中建立一個 docker-compose.yml 文件,內容如下:

version: "3.7" 

services:
  gophish:
    image: gophish/gophish:latest
    ports:
      - "3333:3333"
      - "80:80"
      - "443:443"
    volumes:
      - ./config.json:/opt/gophish/config.json
      - ./gophish_admin.crt:/opt/gophish/gophish_admin.crt
      - ./gophish_admin.crt:/opt/gophish/gophish_admin.key
    restart: always

3. 了解 Docker-compose 文件內容

我來解釋一下 Docker-Compose 文件的結構是怎麼樣的

  1. services:
    主要定義了服務,在這裡我們建立了一個名為 Gophish 的服務,並指定它使用最新的 Gophish 映像
  2. ports: 將容器內的Port寫入到主機port
    • 3333:3333: 對應 Gophish 管理介面
    • 80:80: 未加密的 HTTP
    • 443:443: 加密的 HTTPS
  3. volumes : 主機上的文件掛載到容器中的對應位置
  • ./config.json : 將 Gophish 的設定文件掛載到容器中
  • ./gophish_admin.crt和./gophish_admin.key :
    掛載憑證的公鑰和私鑰,如果您公司擁有憑證,可以把它掛載進來,如果沒有憑證且想要練習,可以使用 OpenSSL 自行生成憑證,如果都沒有憑證,可以選擇跳過此
    1. restart :
      重新啟動所有已停止及正在運行的服務,或僅重新啟動指定的服務

4. 啟動 Gophish 容器並確認是否正常啟動

Docker-Compose.yml 文件後,我們可以啟動容器,請在虛擬機中輸入以下指令來啟動容器:
docker-compose up -d
這句的意思是使用 Docker-Compose 啟動容器並在後台運行 (-d 表示 Detached mode)

輸入完後,會看到正在 docker 正在下載images
https://ithelp.ithome.com.tw/upload/images/20240910/20135755jYlpFgvkZw.png

接著,輸入以下指令檢查容器狀態,確認容器正常運行:
docker ps
以下圖片顯示我們容器已經正常啟動
https://ithelp.ithome.com.tw/upload/images/20240910/20135755tWkX5I4W2j.png

如果發現狀態異常,可以輸入以下指令查看問題並進行排除:
docker logs <CONTAINER ID>

5. 開啟瀏覽器進入 Gophish

在瀏覽器中輸入 https://<你的伺服器IP> 來訪問 Gophish 的管理介面,如果你能看到管理介面,請先為自己鼓掌一下!🎉
https://ithelp.ithome.com.tw/upload/images/20240910/20135755NsuQ4FAScu.png

在這個時候,各位應該再思考一下
在過程中,我們都沒有設定帳號和密碼,請問我們該如何登入呢?
這個時候大家不用緊張,我們回到虛擬機,然後在虛擬機中輸入 Docker logs (CONTAINER ID),讓大家查找一下日誌中是否有相關資訊呢 ~
https://ithelp.ithome.com.tw/upload/images/20240910/20135755DbQYLhPLzP.png

在日誌中找到帳號和密碼後,您可以在瀏覽器中輸入並登錄,第一次登入後,系統會要求您更改密碼
https://ithelp.ithome.com.tw/upload/images/20240910/20135755BLIqTeEWBX.png

問題排除

排除 1. 開啟網站發現顯示 Forbidden - CSRF token
可能是 TLS 連線時遇到了一些問題,導致使用者端無法驗證證書
解決方法如下:

  1. 確認證書
  2. 使用有效的公認證書
  3. 檢查 Gophish 的設定
  4. 重新啟動 Gophish

結論

今天我們學習了如何利用 Docker 架設 Gophish 以及如何使用 Docker 日誌進行問題排除
如果您有任何問題,歡迎在下方留言!

參考資料


上一篇
Day 03 - 什麼是 Gophish ?
下一篇
Day 05 - 了解 Gophish 功能
系列文
資安與開源:面對威脅探索30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言