釣魚篇-郵件釣魚

夏目^_^發表於2024-03-07

釣魚篇-郵件釣魚

前置知識

SPF的定義

發件人策略框架(傳送方策略框架),是一種電子郵件認證機制,主要作用是防止偽造郵件地址。

假如說:你收到了來自於騰訊官方的郵件,那麼你很大程度上相信這是真的。但是,如果你收到了未知人傳送過來的郵件,那麼你會大機率認為這個是假的。

那麼如何偽造發件人使得受害者認為你是真的,就取決於你可不可以繞過SPF。

注意:SPF很大程度上不太可能繞過。

如何判斷SPF?

主要運用dns查詢工具,查詢郵件域名的相關資訊

dig -t txt qq.com         //linux

nslookup -type=txt qq.com //windows

SPF的規則

  • "+" Pass(透過)
  • "-" Fail(拒絕)
  • "~" Soft Fail(軟拒絕)
  • "?" Neutral(中立)
"v=spf1 -all" (拒絕所有,表示這個域名不會出發郵件)

"v=spf1 +all" (接受所有)

"v=spf1 ip4:192.168.0.1/16 -all"(只允許 192.168.0.1/16 範圍內的 IP傳送郵件)

"v=spf1 mx -all"(允許當前域名的 mx 記錄對應的 IP 地址傳送郵件)

"v=spf1 mx mx:test.example.com -all"(允許當前域名和test.example.com 的 mx 記錄對應的 IP 地址傳送郵件)

"v=spf1 a mx ip4:173.194.72.103 -all"(允許當前域名的 a 記錄和 mx 記錄和一個給定的 IP 地址傳送郵件)

"v=spf1 include:example.com -all"(採用和 example.com 一樣的SPF記錄)

根據上述內容,我們可以進行簡單的總結:

  • 先檢視有沒有SPF驗證機制?如果沒有,那麼可以直接偽造發信人。
  • 如果存在SPF驗證機制,要判斷是否可以進行繞過。

注:為了方便測試,這個給一個生成臨時郵箱的網站:https://www.linshi-email.com/

以上內容來源於:

  • https://www.zhetao.com/content663
  • https://blog.csdn.net/zyliday2016/article/details/52095410

郵件釣魚的相關工具

Swaks

這款工具kali linux上自帶,語法如下:

swaks --header-X-Mailer "" --header-Message-Id "" --header-
"Content-Type"="text/html" --from "偽造發件人的郵箱" --ehlo 
shabimeiguo -header "郵件標題" --body 郵件正文 --to 受害者的郵箱

Gophfish工具平臺

https://github.com/gophish/gophish/releases/

如何防範釣魚郵件?

img

img

相關實驗

無SPF偽造

我們採用網上的臨時郵件來完成此實驗。

使用nslookup來檢視該域名是否存在SPF策略規則:
img

發現並不存在。

那麼我們可以使用Swaks工具來偽造發信人,傳送釣魚軟體了。

執行如下命令:

swaks --header-X-Mailer "" --header-Message-Id "" --header-"Content-Type"="text/html" --from "admin@aliyun.com" --ehlo shabimeiguo -header "test" --body "This is a test" --to kvwccwbcmz@iubridge.com

成功傳送釣魚郵件!

img

有SPF繞過

軟剛發件人(修改字眼)

所謂修改字眼就是:如果你冒充阿里雲的官方賬號(假設為admin@aliyun.com)給某QQ郵箱去傳送訊息的話,那麼很大機率是會被過濾的(SPF),那麼我們可以將aliyun.com改為al1yun.com或者aliyun.com.cn。那麼很大程度上就不會被繞過了。

我們可以檢視qq.com的SPF策略:

img

我們使用Swaks以system@notice.aliyun.com的身份給QQ郵箱傳送釣魚郵件:

swaks --header-X-Mailer "" --header-Message-Id "" --header-"Content-Type"="text/html" --from "admin@aliyun.com" --ehlo shabimeiguo -header "test" --body "This is a test" --to xxx@qq.com

發現失敗了
img

我們嘗試將system@notice.aliyun.com改為system@notice.aliyun.com.cn

發現傳送成功!

img

但是,這裡成為了垃圾郵件!

img

這裡給一個提示:我們在書寫郵件內容時,一定要寫的豐富一些,一定不要只寫一些單詞等,這樣的話容易被後臺的樸素貝葉斯分類器劃分為垃圾郵件。

我們可以找一封阿里雲給自己傳送的真實郵件,把內容搞下來,然後去當成釣魚郵件去傳送。

  • 找到真實郵件,匯出為eml檔案
  • 修改eml檔案中的內容,時間等,使其更加逼真
  • 使用swaks命令:
swaks --to 收信人 -f system@notice.aliyun.com.cn --data 1.eml 

傳送成功!

img

檢視郵件:
img

硬剛發件人(POP3轉發)

POP3轉發的目的在於:如果攻擊者傳送釣魚郵件給A,那麼會被A攔截,此時B傳送郵件給A可以透過。那麼,攻擊者可以將釣魚郵件傳送給B,B設定POP3轉發,B再給A傳送,從而繞過SPF限制。

  • 非平臺轉發
    • 需要自建郵箱(qq郵箱、163郵箱等)
    • 將自建郵箱設定POP3轉發,獲得授權碼,匯入eml模板,修改時間
    • 將模板中的發件人改為:system@notice.aliyun.com
    • 修改收件人郵箱
    • 使用swaks工具進行傳送
swaks --to 收件人郵箱 -f  轉發郵箱 --data 1.eml --server smtp.163.com -p 25 -au 轉發郵箱 -ap 轉發郵箱的授權碼

傳送成功!

img

  • 平臺轉發
    • 這裡可以採用很多平臺:
    • 1、smtp2go(速度慢但免費傳送量大)
    • 2、SendCloud(速度快但免費傳送量少)

這裡以SendCloud平臺舉例:

  • 生成api key
  • 配置發信域名(需要申請且備案)
  • 配置發信配置和收信配置(參考文件即可)
  • 單擊傳送相關,進行傳送郵件

關於第三方平臺的轉發這裡就不進行贅述了。

  • 自己搭建郵件伺服器(推薦!)

注:使用郵件釣魚最好還是用自己搭建的郵件系統,不要使用第三方的,容易被封,進垃圾郵件等

Gophfish平臺的使用-最佳化內容、效率

img

使用給定的地址登入,使用預設的使用者名稱和密碼登入。

使用該工具,大致分四個步驟:

  • 設定使用者組,批次測試提高效率(Users&Groups)
  • 設定郵件模板,提高命中率,豐富內容(Email Templates)
  • 設定釣魚網站,與郵件釣魚配合,提高命中率(New Landing Page)
  • 設定發信人和收信人訊息(傳送策略),傳送釣魚郵件(New Sending Profile)
  • 綜合運用如上資訊,進行攻擊:Campaigns
  • 配合相關手冊食用:https://blog.csdn.net/qq_42939527/article/details/107485116

相關文章