從網路釣魚分析開始培養技術能力,是因為網路釣魚是現今最主要的攻擊途徑,其影響範圍涵蓋個人和企業,並且會造成機密性、完整性、可用性、財務、聲譽等多方面的損害。
ATT&CK框架中對網路釣魚有三個相關的技術,以下透過拆解讓大家了解對應的特點與子技術。
這個技術主要用於偵查(Reconnaissance)階段,目的是取得敏感資訊,而非直接執行惡意程式碼。
這個技術屬於初始存取(Initial Access)戰術,目的是取得對受害系統的存取權限。
更進階的技術,屬於橫向移動(Lateral Movement)戰術。
首先,了解釣魚攻擊之前,我們需要知道電子郵件是如何運作的。電子郵件的傳遞依賴於一些關鍵的技術,如SMTP、POP3和IMAP,以及背後的伺服器和軟體客戶端。
電子郵件地址有兩個部分:信箱名稱(mailbox 或稱為 local part)和網域(domain)。
例如在contact@feifei.tw
中,contact
是信箱名稱,feifei.tw
是網域,這兩者合在一起,幫助電腦知道郵件應該發送給誰以及送到哪裡。
SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協定)
POP3(Post Office Protocol - Version 3,郵局協定第三版)
IMAP(Internet Message Access Protocol,網際網路訊息存取協定)
目的:學習如何使用 Mailtrap 測試郵件發送功能,並了解郵件的結構和相關標頭資訊
點選開始測試
可以看到 SMTP、API、POP3 包含測試的帳號密碼
echo 'Looking to send emails in production? Check out our Email API/SMTP product!' curl \
--ssl-reqd \
--url 'smtp://sandbox.smtp.mailtrap.io:2525' \
--user '90423217b87339:XXXXXXXXX' \
--mail-from from@example.com \
--mail-rcpt to@example.com \
--upload-file - <<EOF
解釋:
curl
指令發送信件的指令--ssl-reqd
: 要求使用 SSL 加密連接--url
: 指定 SMTP 伺服器地址和端口--user
: 提供 SMTP 認證資訊--mail-from
: 指定發件人地址--mail-rcpt
: 指定收件人地址--upload-file -
: 從標準輸入讀取信件內容From: Magic Elves <from@example.com>
To: Mailtrap Inbox <to@example.com>
Subject: You are awesome!
Content-Type: multipart/alternative; boundary="boundary-string"
解釋:
From
: 發件人資訊To
: 收件人資訊Subject
: 信件主題Content-Type
: 指定信件內容類型為 multipart/alternative
,使用 boundary-string
作為分隔符--boundary-string
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
Congrats for sending test email with Mailtrap! If you are viewing this email in your inbox – the integration works.
Now send your email using our SMTP server and integration of your choice!
Good luck! Hope it works.
解釋:
Content-Type
: 指定內容為純文字,使用 UTF-8 編碼Content-Transfer-Encoding
: 使用 quoted-printable 編碼方式Content-Disposition
: 指定內容應該內嵌顯示--boundary-string
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="font-family: sans-serif;">
<div style="display: block; margin: auto; max-width: 600px;" class="main">
<h1 style="font-size: 18px; font-weight: bold; margin-top: 20px">Congrats for sending test email with Mailtrap!</h1>
<p>If you are viewing this email in your inbox – the integration works.</p>
<img alt="Inspect with Tabs" src="https://assets-examples.mailtrap.io/integration-examples/welcome.png" style="width: 100%;">
<p>Now send your email using our SMTP server and integration of your choice!</p>
<p>Good luck! Hope it works.</p>
</div>
<!-- Example of invalid for email html/css, will be detected by Mailtrap: -->
<style>
.main { background-color: white; }
a:hover { border-left-width: 1em; min-height: 2em; }
</style>
</body>
</html>
解釋:
Content-Type
: 指定內容為 HTML,使用 UTF-8 編碼--boundary-string--
EOF
解釋:
--boundary-string--
: 表示多部分內容的結束EOF
: 表示整個信件內容的結束MIME 信件結構:
boundary-string
分隔不同部分