Gmail漏洞可任意修改發件人地址
研究人員發現Gmail處理From:結構的方式存在漏洞,導致header可以在sender域放置任意的Email地址。該漏洞可能會造成高級別的濫用,目前至少可以實現增加收件人地址並使對傳送的郵件和內容產生疑惑。
Sender域
軟體開發工程師Tim Cotton最近調查分析了一起該公司發生的意外事件:僱員發現其Gmail賬號中有一些她沒有傳送過的訊息。
工程師發現這些郵件並不是從其郵箱賬號傳送的,是從一個外部賬號接收到的,然後自動加入到她的發件箱中了。
原因就是From:域結構存在一些異常,其中即包含發件人地址又包含收件人地址。
因為From:域中含有收件人地址,因此Gmail APP在讀取From域過濾時,會將對訊息進行分類,這樣看起來好像就是收件人傳送的。
Cotton聯絡了Google,但是沒有收到迴應。開發者進行了一個小測試,證明該漏洞應該是被修復了。BleepingComputer研究人員修改了From結構進行測試,發現該問題仍然存在。
如果攻擊者在From:中使用接收者的地址,使用者可以發現一個問題的線索:
·首先,郵件進入收件箱,使用者可以看到這些訊息;
· 第二,發件箱的副本主題是加粗的。
· 第三,細心的使用者也可以看到From域存在問題。
攻擊者福利
該漏洞的風險遠不止於此。Cotton解釋說,對企業發起攻擊的攻擊者可以抓住這個機會來植入惡意連線。而且在header, quotes等處新增郵件地址,欺騙發件人在技術上也是可行的。
在POC郵件中,他證明了收件人會看到一個不同的名字,而真正的發件人是惡意攻擊者。
這個例子說明了name可以與任意的郵件地址進行關聯。雖然這種欺騙還不完美,但是對與一般攻擊來說可能就夠了。而該bug對執行BEC垃圾郵件的攻擊者來說簡直就是天上掉餡餅啊,因為攻擊者可以以企業內部員工的身份傳送郵件,增加攻擊的成功率。
影響gmail的Old bug
Cotton公佈該bug引發了使用者對Gmail漏洞的討論,然後發現還有一個漏洞也可以用來偽造收件人的地址。該漏洞雖然在Gmail web app中進行了修復,但是在報告給Google 19個月後還可以利用該漏洞。
因為對加入發件箱的資料沒有進行充分檢查,建立一個含有兩個email地址的mailto: URI方案是完全有可能的。其中一個是收件人的姓名,另一個是真實的目的地址。如下所示:
mailto:”<a href="/cdn-cgi/l/email-protection" data-cfemail="cdbeb8bdbda2bfb98dbdacb4bdaca1e3aea2a0">[email protected]</a>”<<a href="/cdn-cgi/l/email-protection" data-cfemail="4e3d2d2f230e3e26273d262b3c602b362f233e222b">[email protected]</a>>
被騙的受害者會在Gmail安卓版的To: 域看到PayPal的支援郵箱地址,而真實地址是垃圾郵件傳送者。
為利用該漏洞,目標使用者只需要點選惡意mailto:連結就可以。下面的POC連結證明了垃圾郵件傳送者如何欺騙受害者使其相信他們傳送了訊息給可信的地址,然後竊取敏感資訊。
POC連結:https://dangerous.link/gmail-and-inbox-spoofing-on-android