社會工程學與APT攻擊之——社工郵件釣魚分析

社工郵件釣魚分析

在大型企業邊界安全做的越來越好的情況下,不管是APT攻擊還是紅藍對抗演練,釣魚和水坑攻擊被越來越多的應用。(水坑攻擊感覺也很牛掰的樣子)
說起釣魚,突然想起來小薛同學在大一收到一個釣魚郵件,結果還真真實實的上當了哈哈,因爲那時候玩英雄聯盟很投入,之後突然收到一個幸運召喚師的郵件,做的真的很真,後來學了安全才知道就是最典型的XSS釣魚。在這裏插入圖片描述
今天學的更傾向於在企業中的這種社工釣魚,跟大衆用戶釣魚還是有一些不同的側重點的

主流的郵件的安全措施

郵件安全三大協議

SPF

SPF是 Sender Policy Framework 的縮寫,一種以IP地址認證電子郵件發件人身份的技術。 接收郵件方會首先檢查域名的SPF記錄,來確定發件人的IP地址是否被包含在SPF記錄裏面,如果在,就認爲是一封正確的郵件,否則會認爲是一封僞造的郵件進行退回。
查看SPF配置情況

nslookup -type=txt ***.com/.cn

或者

dig -t txt 163.com

如果出現了spf字樣就是有SPF防禦的

注意:SPF可以配置爲ip,也可以配置爲域名
且甲方企業一般沒有SPF

例如:當郵件服務器收到自稱發件人是[email protected]的郵件,那麼到底它是不是真的gmail.com的郵件服務器發過來的呢,我們可以查詢gmail.com的SPF記錄,以此防止別人僞造你來發郵件。

參考http://www.renfei.org/blog/introduction-to-spf.html

DKIM

DKIM讓企業可以把加密簽名插入到發送的電子郵件中,然後把該簽名與域名關聯起來。簽名隨電子郵件一起傳送,而不管是沿着網絡上的哪條路徑傳送, 電子郵件收件人則可以使用簽名來證實郵件確實來自該企業。可確保郵件內容不被偷窺或篡改。

DMARC

DMARC是txt記錄中的一種,是一種基於現有的SPF和DKIM協議的可擴展電子郵件認證協議,其核心思想是郵件的發送方通過特定方式(DNS)公開表明自己會用到的發件服務器(SPF)、並對發出的郵件內容進行簽名(DKIM),而郵件的接收方則檢查收到的郵件是否來自發送方授權過的服務器並覈對簽名是否有效。對於未通過前述檢查的郵件,接收方則按照發送方指定的策略進行處理,如直接投入垃圾箱或拒收。從而有效識別並攔截欺詐郵件和釣魚郵件,保障用戶個人信息安全。

僞造郵件的發送

郵件爲什麼可以被僞造呢,最根本的原因就是SMTP協議不會驗證發送者的身份,當郵件在兩個不同的SMTP郵件服務器中被傳輸時,我們可以通過僞造來源欺騙接收者的SMTP服務器。

沒有配置SPF,郵件服務器就不會去驗證發件人,就可以直接進行僞造了。

沒有spf的情況下

1.swaks的郵件僞造工具,kali中自帶

swaks --to xxxx@qq.com --from info@XXX.com --ehlo XXX.com --body hello --header "Subject: hello"
--to <收件人郵箱>
--from <要顯示的發件人郵箱>
--ehlo <僞造的郵件ehlo頭>
--body <郵件正文>
--header <郵件頭信息,subject爲郵件標題>

2.fastmail工具

3.也可以自己在vps上搭建郵件服務器

4.使用第三方的郵件服務器
郵件僞造服務:http://tool.chacuo.net/mailanonymous

配置了SPF的情況

用一些權威的郵件服務商去發送郵件瞭如sendgrid,mailgun,這些權威郵件服務商,會被大部分郵件服務商加到白名單中,這樣他們的郵件就不會進到垃圾箱(但是一般都需要$$$$$)

修改暱稱僞造發件人
如果拿權威的郵件服務商發送依舊被攔截,可以嘗試一種絕對不會被攔截髮信的方式,但基本只對通過手機查看郵件的收件人有效。修改發件人暱稱爲僞造對象的以及郵箱地址。如果受害者通過手機查看郵件那麼有極大的機率會認爲此郵件爲正常郵件。

提高送達成功率的小技巧

適當控制發信的頻率,如果短時間內向同一個郵箱地址發信,也會容易被標記爲垃圾郵件。最好向同一郵箱發信間隔在2-5天

將較大的收件人列表分割成若干個小的,分時間段發送

使用變量,一般來說,郵件服務器多次收到來自同一個郵件IP地址的相同內容郵件,很容易就被判定爲垃圾郵件。在進行郵件編輯時,多采用變量設置,像公司名、收件人,可以進行變量添加,避免郵件內容完全一致

釣魚郵件的內容

釣魚郵件通常有兩大類,一種是鏈接釣魚郵件,通常是想各種辦法讓目標打開網站,輸入密碼。另一種是附件釣魚郵件,但不管哪一類,都需要一個好的文案來讓目標點擊或者下載。
一封成功的釣魚郵件,一個好的文案是必須的,一個讓人看了後可能會去點的文案,需要具備以下幾個要素:

重要性
首先得讓體現出來郵件的重要性,來驅使目標去查看郵件。

合理性
其次文案得基本合理,這個就需要結合目標的身份,日常習慣,所在公司的情況及業務進行綜合考量,來編寫出一個合理的文案。

緊迫性
最後文案最好有一些緊迫性,來促使目標儘快的去按照文案引導,進行點擊、輸入等操作。

鏈接釣魚案例

賬號被異常登錄
賬號密碼過期
系統更新,遷移
領取禮品

鏈接釣魚時候的一些技巧

讓郵件看起來真實性更高呢?最簡單的就是用超鏈接,把元素內容改成想要仿冒的域名,在郵箱頁面上,就會直接顯示元素的內容

但這種點擊完之後,跳轉瀏覽器的時候就會顯示真實的域名,所以,要想讓釣魚的成功率更高一些,就需要對域名做一些處理。比如申請一些和目標域名比較相似的域名,比如用0代替o,用1代替l,用vv代替w等等

幣安“驚魂夜”釣魚的案例
用於替換字母n的字符爲:ṇUnicode編碼爲:U+1E47
真正的字母n的Unicode編碼爲:U+006E

這樣的域名是怎麼註冊的呢?在瞭解怎麼註冊一個這樣的域名前,需要先了解什麼是國際域名IDN。
IDN是指在域名中包含至少一個特殊語言字母的域名,特殊語言包括中文、法文、拉丁文等。在DNS系統工作中,這種域名會被編碼成ASCII字符串,並通過Punycode進行翻譯。

Punycode是一個根據RFC
3492標準而制定的編碼系統,主要用於把域名從地方語言所採用的Unicode編碼轉換成爲可用於DNS系統的編碼。

目前,因爲操作系統的核心都是英文組成,DNS服務器的解析也是由英文代碼交換,所以DNS服務器上並不支持直接的中文域名解析,所有中文域名的解析都需要轉成punycode碼,然後由DNS解析punycode碼。其實目前所說的各種主流瀏覽器都完美支持IDN域名,瀏覽器裏面會自動對IDN域名進行Punycode轉碼,而地址欄依舊顯示的是原始輸入的IDN域名。

所以,要想註冊特殊符號的這個域名
其實只需要註冊他經過punycode轉碼後的域名
www.biṇaṇce.com
www.xn–biace-4l1bb.com

punycode在線轉換工具:http://tools.jb51.net/punycode/index.php
UniCode編碼表https://www.cnblogs.com/csguo/p/7401874.html

關於https證書
前邊仿冒的再像,但如果瀏覽器上直接出現了不安全警告或者紅斜槓,也很容易引起目標的警惕。所以在條件允許的情況下,儘量做戲做全套,現在普通的https證書也是很便宜的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章