iT邦幫忙

2025 iThome 鐵人賽

DAY 25
0
Security

Blue 了 Blue 了!只會看封包與log的我錯了嗎!系列 第 25

Day25 如果我用 Email 釣魚,這樣可以釣到真正的美人魚嗎

  • 分享至 

  • xImage
  •  

🧂 前言

Email - 我們常常在生活中會使用到,透過 Email 我們可以不受距離限制的跟其他人溝通,十分方便,但這方便也會帶來資安風險,最常遇到的就是釣魚信件了,釣魚信件常常會偽裝成正常的組織或公司,引誘使用者點擊,如果使用者點擊了釣魚信件的網址或者下載了附件,有可能洩漏電腦的機密資料或者讓電腦中毒,並且釣魚信件使用門檻較低但殺傷力很大,是 APT 組織攻擊時最常用的初始攻擊向量,因此今天想要分享的是 Email Security


Email Security

一個 Email 帳號的組成,會由一個小老鼠@ 將左右隔開

  • 左半部分是依照使用者設定的字串,因此可以取名為aaaabbbccc123adminme 皆可
  • 右半部分是組織的 Domain Name,像是常見的 gmail.com;如果自己有架設 Email Server,就會是自己的 domain,如:yunshiuan.com

source: https://flickr.com/photos/jameschen1/24160994516/

到這邊就會有一個偽造正常信件的方式:如果攻擊者註冊了一個與正常組織幾乎相同、只差一個字的 domain,甚至直接冒用正常組織的 Domain Name 來欺騙使用者,只要使用者一個不注意就可能把它當成正常信件而被釣到,這個攻擊被稱為 Email Spoofing

Email Spoofing

攻擊者會試圖使用與常見組織相似或相同的 email 欺騙使用者認為是正常郵件。

ex : 可以透過 這個網頁 偽造 Email 傳給使用者,這邊將 Email 偽造成support@paypal.com 並傳一封帳號異常的信給使用者

那這樣只單看 Email 是很難分辨是否為釣魚信件,所以會透過郵件驗證協定 DMARC 來偵測郵件偽造攻擊。

DMARC

DMARC 是一種郵件驗證協定,它讓郵件網域擁有者能聲明當收到未通過驗證的郵件時該如何處理。

我在 demo 時寄到我個人的信箱,使用 Cloudflare 的 Email Routing 功能轉發郵件;因此當我把釣魚信寄到自己的信箱時,因未通過 DMARC 驗證而被拒收。

如果DMARC 驗證通過的話會像下方圖示的一樣

可以看到主要的驗證方式會使用到 SPF 以及 DKIM。

SPF

SPF 是一種電子郵件驗證協定,它讓網域擁有者能夠指定哪些郵件伺服器有權代表該網域寄送郵件。這份「授權清單」會以 DNS TXT 記錄 的形式公開發布,接收方的郵件伺服器則可在收信時檢查寄件伺服器是否被授權,以判斷郵件是否可信。

可以使用 dig 指令查看 SPF

$ dig yunshiuan.com  TXT | grep spf
yunshiuan.com.		377	IN	TXT	"v=spf1 include:_spf.mx.cloudflare.net ~all"
  • v=spf1:指定 SPF 協定版本
  • include:_spf.mx.cloudflare.net:授權清單由 Cloudflare 維護
  • ~all:非授權來源標記為 SoftFail(可疑)
    (若設定 -all 則代表 Fail,非授權來源應被拒絕)

DKIM

DKIM 是電子郵件驗證機制之一,讓收件方可以驗證一封郵件是否真正由該網域授權寄出,並確認郵件在傳送過程中是否被篡改;它透過數位簽章機制實現。寄件方使用私鑰對郵件內容進行簽名,收件方則從 DNS 查出對應的公鑰來驗證。

DKIM 的公鑰會被發布在 DNS TXT 紀錄中,格式如下:

<selector>._domainkey.<domain>

以 Cloudflare 舉例,它的 selector 是 cf2024-1,查詢 DKIM 也可使用 dig 指令

$ dig cf2024-1._domainkey.yunshiuan.com TXT | grep DKIM
cf2024-1._domainkey.yunshiuan.com. 377 IN TXT	"v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiweykoi+o48IOGuP7GR3X0MOExCUDY/BCRHoWBnh3rChl7WhdyCxW3jgq1daEjPPqoi7sJvdg5hEQVsgVRQP4DcnQDVjGMbASQtrY4WmB1VebF+RPJB2ECPsEDTpeiI5ZyUAwJaVX7r6bznU67g7LvFq35yIo4sdlmtZGV+i0H4cpYH9+3JJ78k" "m4KXwaf9xUJCWF6nxeD+qG6Fyruw1Qlbds2r85U9dkNDVAS3gioCvELryh1TxKGiVTkg4wqHTyHfWsp7KD3WQHYJn0RyfJJu6YEmL77zonn7p2SRMvTMP3ZEXibnC9gz3nnhR6wcYL8Q7zXypKTMD58bTixDSJwIDAQAB"

總結來說 DMARC 驗證流程會是:接收方收到郵件後,先檢查 SPF 和 DKIM 認證,再根據 DMARC 政策決定郵件的處理方式(放行、隔離或拒絕)。

DMARC 記錄可以在 _dmarc.<domain> 找到:

$ dig _dmarc.any.run TXT                                                                             


; <<>> DiG 9.10.6 <<>> _dmarc.any.run TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31385
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4095
;; QUESTION SECTION:
;_dmarc.any.run.			IN	TXT

;; ANSWER SECTION:
_dmarc.any.run.		377	IN	TXT	"v=DMARC1; p=quarantine; sp=quarantine;"

;; Query time: 226 msec
;; SERVER: 100.100.100.100#53(100.100.100.100)
;; WHEN: Thu Oct 09 20:09:24 CST 2025
;; MSG SIZE  rcvd: 94
  • v=DMARC1 : DMARC 版本
  • p=quarantine : 主要政策,對主域名認證失敗的郵件進行隔離
  • sp=quarantine : 子域名政策,對子域名認證失敗的郵件也進行隔離

但是DMARC 也不一定是萬能的,還是有可能會被 Bypass ,對於大公司來說如果員工點了釣魚信件,並且執行了信件內附件或者網址,會對公司造成巨大的危害,因此社交工程演練是非常重要的

社交工程演練是模擬真實攻擊情境,測試員工對釣魚郵件、電話詐騙等社交工程攻擊的識別和應對能力,並透過教育訓練提升整體資安意識的安全演練活動

關於釣魚信件的社交工程演練,有一個開源的平台可以使用 - Gophish

Gophish

下載連結:https://github.com/gophish/gophish/releases

Gophish 是一個開源的釣魚模擬平台,用於進行社交工程演練,可以快速建立和發送釣魚郵件,追蹤點擊率和提交率,幫助組織測試員工的資安意識並提供教育訓練。

source : https://ui-code.com/archives/779

安裝很簡單,將 ZIP 下載之後執行裡面的執行檔就能架起。

如果要遠端也可以登入admin 介面,要去config.json 將admin 網址改成0.0.0.0:3333

若要遠端也能登入 Admin 介面,請在 config.json 將 Admin 位址改成 0.0.0.0:3333

架起來後會給你帳號密碼,網頁進入0.0.0.0:3333後登入就可以開始使用了

裡面的功能非常豐富,包括

  • 活動管理: 建立/排程釣魚活動,指定目標群組、郵件模板、登入頁與寄件設定,並即時監控結果。
  • 目標群組: 管理收件人清單,支援手動新增與 CSV 匯入。
  • 郵件模板: 視覺化編輯與變數插入(如 {{.FirstName}}),可預覽與測試寄送。
  • 登入頁: 匯入/客製 HTML,選擇是否擷取提交資料,支援點擊後/提交後導向。
  • 寄件設定: 設定 SMTP(主機、帳密、TLS/SSL、自訂寄件者/標頭),支援測試連線。
  • 即時追蹤: 記錄寄送、開啟、點擊、提交資料(含 IP、User-Agent);可選「回報」事件。
  • 儀表板與報表: 活動概況、成效趨勢,結果支援 CSV 匯出。
  • REST API: 提供完整 API 以自動化建立活動、上傳模板/名單、擷取結果。
  • 網域與證書: 自訂追蹤/寄送網域與 TLS 憑證配置,提升可信度與達投遞率。

source : https://ui-code.com/archives/779


總結

對於藍隊來說,預防釣魚信件是資安防護的重要一環。今天介紹的 Email 驗證機制(DMARC、SPF、DKIM)以及 Gophish 釣魚信件社交工程演練平台,都是預防釣魚信件攻擊的關鍵技術與工具。


上一篇
Day24 我不只想要 Virustotal ,我全都要
下一篇
Day26 尋找蟑螂是不是也算是一種威脅狩獵?
系列文
Blue 了 Blue 了!只會看封包與log的我錯了嗎!26
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言