釣魚篇-郵件釣魚
前置知識
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/
如何防範釣魚郵件?
相關實驗
無SPF偽造
我們採用網上的臨時郵件來完成此實驗。
使用nslookup來檢視該域名是否存在SPF策略規則:
發現並不存在。
那麼我們可以使用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
成功傳送釣魚郵件!
有SPF繞過
軟剛發件人(修改字眼)
所謂修改字眼就是:如果你冒充阿里雲的官方賬號(假設為admin@aliyun.com)給某QQ郵箱去傳送訊息的話,那麼很大機率是會被過濾的(SPF),那麼我們可以將aliyun.com改為al1yun.com或者aliyun.com.cn。那麼很大程度上就不會被繞過了。
我們可以檢視qq.com的SPF策略:
我們使用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
發現失敗了
我們嘗試將system@notice.aliyun.com改為system@notice.aliyun.com.cn
發現傳送成功!
但是,這裡成為了垃圾郵件!
這裡給一個提示:我們在書寫郵件內容時,一定要寫的豐富一些,一定不要只寫一些單詞等,這樣的話容易被後臺的樸素貝葉斯分類器劃分為垃圾郵件。
我們可以找一封阿里雲給自己傳送的真實郵件,把內容搞下來,然後去當成釣魚郵件去傳送。
- 找到真實郵件,匯出為eml檔案
- 修改eml檔案中的內容,時間等,使其更加逼真
- 使用swaks命令:
swaks --to 收信人 -f system@notice.aliyun.com.cn --data 1.eml
傳送成功!
檢視郵件:
硬剛發件人(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 轉發郵箱的授權碼
傳送成功!
- 平臺轉發
- 這裡可以採用很多平臺:
- 1、smtp2go(速度慢但免費傳送量大)
- 2、SendCloud(速度快但免費傳送量少)
這裡以SendCloud平臺舉例:
- 生成api key
- 配置發信域名(需要申請且備案)
- 配置發信配置和收信配置(參考文件即可)
- 單擊傳送相關,進行傳送郵件
關於第三方平臺的轉發這裡就不進行贅述了。
- 自己搭建郵件伺服器(推薦!)
注:使用郵件釣魚最好還是用自己搭建的郵件系統,不要使用第三方的,容易被封,進垃圾郵件等
Gophfish平臺的使用-最佳化內容、效率
使用給定的地址登入,使用預設的使用者名稱和密碼登入。
使用該工具,大致分四個步驟:
- 設定使用者組,批次測試提高效率(Users&Groups)
- 設定郵件模板,提高命中率,豐富內容(Email Templates)
- 設定釣魚網站,與郵件釣魚配合,提高命中率(New Landing Page)
- 設定發信人和收信人訊息(傳送策略),傳送釣魚郵件(New Sending Profile)
- 綜合運用如上資訊,進行攻擊:Campaigns
- 配合相關手冊食用:https://blog.csdn.net/qq_42939527/article/details/107485116