金融黑客的慣用手段 MITB
本文作者:晚風
贈送書籍:《Python絕技:運用Python成為頂級黑客》
所謂的 MITB 技術就是 的簡稱,也就是瀏覽器中間人攻擊方式。我們先來回顧一下經典的中間人攻擊方式。
如上圖,正常的通信是用戶和伺服器直接進行數據傳輸。而現在,攻擊者通過某種方式截斷了用戶與伺服器的直接通信,扮演起了一個代理伺服器的角色,把用戶與伺服器的流量做了一個轉發,用戶以為攻擊者就是真正的伺服器,伺服器以為攻擊者就是真正的用戶。從而,攻擊者作為一個中間人,就可以截獲到用戶與伺服器之間的所有通信,還可以隨意篡改這些通信數據。表面上看起來數據仍然在正常的傳輸,實際上已經被第三方獲取了。經典的中間人攻擊一般會採用 ARP 欺騙或者 DNS 欺騙等手段,欺騙原本通訊的雙方,但這種方式就需要把通訊流引到自己的 IP 上,容易被檢測出來。
而瀏覽器中間人攻擊的突破點是在用戶自己的瀏覽器,在數據流入用戶本機的傳輸層之前就已經被截獲並篡改了,獲取和篡改數據的整個過程發生在用戶的本機,而且一般在原始數據還未被加密之前就被篡改了,無需經過攻擊者的機器。因此,這種瀏覽器中間人攻擊方式更加隱蔽,更難以被檢測出來。
瀏覽器中間人攻擊更像是我們熟知的木馬攻擊。一般可以通過社會工程學的方式,以誘騙目標的手段植入目標的計算機,經過一段時間的潛伏,在特定的時間激活並執行惡意操作。而瀏覽器中間人攻擊也是如此。它通常使用腳本或 ActiveX 控制項,以瀏覽器擴展的形式出現。當用戶訪問特定的網站時,它就會被激活,在瀏覽器介面和外部網路之間開始偷偷捕獲並修改數據。通過這種方式,用戶的整個交易過程看似正在像預期的那樣進行,但實際上正在執行的交易可能跟預期的完全不同。相關的交易細節可能會被修改,並且一些完全不相關的交易過程可能會被偷偷啟動。這一切都在用戶不知情的情況下進行著。
由於傳統的病毒掃描方式是基於病毒特徵和行為方式,所以很難直接掃描到這種木馬病毒,許多傳統的防禦手段都對瀏覽器中間人攻擊束手無策。並且它能直接獲取認證的數據(像靜態和一次性的密碼甚至是一些生物特徵數據)和交易的細節。
在未來普通用戶被攻擊的可能性非常大。像眾所周知的瀏覽器中間人攻擊就包括 Zeus 和 Slientbanker 木馬等等。
MITB 流程詳解
階段一:感染
攻擊的第一階段是感染目標計算機。方法有很多,一般採用社會工程學的方法欺騙用戶,使木馬的本體植入目標計算機。或者也可以使用瀏覽器和系統的漏洞來植入木馬。
1、下載感染
一般採用社會工程學的方法,給目標發一封具有誘騙性誤導性的郵件,內容可以是推薦一款好用的免費軟體、工作中的一份待接收的文件,或者引導用戶進入一個包含偽裝好的惡意軟體的釣魚網站,誘騙用戶去下載(比如看視頻需要下載某某播放器等等)。這些郵件的附件中就包含了精心混淆加密免殺的惡意木馬。當用戶下載並打開的時候,惡意軟體就已經在用戶不知情的情況下植入用戶的計算機了。
2、瀏覽器漏洞
跟第一種類似,引導用戶進入一個惡意網站。只不過這裡不是誘騙用戶下載惡意軟體了。而是利用未修補的瀏覽器漏洞直接在用戶的計算機上靜默安裝惡意軟體。
階段二:交易接管
在這個階段,當用戶啟動瀏覽器,木馬就會自動被激活,偷偷監視著用戶的一舉一動。當用戶訪問銀行網站並通過身份認證時,MITB攻擊就開始了。木馬已經接管了整個交易過程,可以隨意修改收款方,隨意修改轉賬的金額,也可以暗中收集用戶的個人信息、隱私,然後發送給第三方。這一切的一切,都在用戶不知情的情況下進行著。
下面是整個交易接管的流程表。
至此整個 MITB 攻擊完成。所帶來的危害就是用戶的資金和金融機構的信譽的損失。
MITB 的演示
這裡我們自己搭建一個環境模擬真實的網上銀行交易過程。然後製作一個利用了 MITB 技術的擴展,模擬整個攻擊過程。
第一步:網上轉賬環境搭建
首先是一個銀行轉賬的界面。用戶可以輸入收款人的名字和轉賬的金額。其實就是一個GET表單,沒有任何安全措施。
下面是銀行的服務端頁面。接受收款人和金額兩個變數進行相應轉賬操作,為了便於大家更直觀的看到效果,操作成功後會回顯進行轉賬操作後所有用戶的金額。
這裡假設我自己是 Alice,我現在有 20 元錢,我的朋友 Bob 有 30 元錢,黑客 Candy 沒有錢。我想要轉賬給我的朋友 Bob 10 元錢。Candy 是利用 MITB 技術的攻擊者,想從 Alice 的賬戶里轉賬 20 元給到自己的賬戶。
我們來測試一下正常的交易過程。
結果符合我們的預期,沒毛病。
第二步:惡意擴展的編寫
這一步我們來寫一個惡意擴展。這個擴展包含兩個文件,擴展清單文件 和擴展主體文件 。具體思路是當 Alice 無意間被暗中安裝了這款惡意擴展,擴展在 Alice 進行轉賬操作時便會攔截 Alice 的轉賬請求,將收款人修改為 Candy,金額修改為 20 元,從而 Bob 不會收到錢,Alice 會損失自己的錢財,而黑客 Candy 會獲利 20 元。
先寫一個擴展的清單文件 ,
再來寫惡意擴展的主體
至此一款非常簡易的利用了 MITB 技術的惡意擴展就寫完了。
第三步:測試成果
下面我們來測試一下我們的成果。
在瀏覽器上安裝這個惡意擴展,假裝被感染了。
上面是被攔截的請求,可以看到,我們先發起了第一個請求,但隨後就被惡意擴展攔截並修改成了第二個請求,伺服器收到的就是被修改後的請求。黑客 Candy 成功的實施了一次瀏覽器中間人攻擊。雖然現實生活中的銀行安全體系不會這麼脆弱,但攻擊的原理還是一樣的。
注意:最後的回顯這樣顯示只是為了更清楚得演示,當然我們也可以在擴展中攔截並修改銀行伺服器的響應,讓用戶看到他們預期的數值。
其他的利用姿勢
利用瀏覽器中間人攻擊攔截並修改通信雙方的請求是一種利用方法。此外,還有一些,比如可以作為木馬,在宿主的瀏覽器控制台里執行任意命令,讀取瀏覽器本地存儲,造成 token 泄露;也可以獲取一些在線IM通訊應用的聊天記錄;也可以化身為鍵盤記錄器,記錄你的各種賬號密碼,偷偷發送到黑客的遠程伺服器...危害還是非常大的。
防範措施
雖然這種攻擊方式看似很難防範,但仍有一些防禦措施來對付這種攻擊方式。由於 MITB 的活躍時間位於用戶通過認證後、執行相應的操作之前,所以現有的身份認證技術對該類攻擊無效。我們只能在用戶執行操作時再進行防禦。以下防禦措施依據效果好壞來排序。
1、反病毒軟體
惡意擴展肯定是要安裝在宿主機上的,所以通過反病毒軟體可以檢測出來。但由於擴展的修改十分方便,一點小小的改動就可以造成較大的特徵差異。所以現代反病毒軟體對這類的惡意擴展的效果不理想。
2、更安全的瀏覽器
可以使用便攜版的瀏覽器進行交易操作。便攜版瀏覽器一般放在U盤中,很少與外界網路接觸,一般不會被惡意擴展感染。缺點是每次操作時都要使用U盤中的瀏覽器,較為麻煩。
3、OOB(Out-of-band)
對抗 MITB 攻擊的理論上最有效的方式就是 OOB 認證方式,即帶外認證。在用戶的瀏覽器與銀行的遠程伺服器通信時,通過除瀏覽器以外的渠道與用戶驗證瀏覽器上的通信結果是否正確。比如我向別人轉賬時,銀行伺服器在收到請求後不立刻執行這個請求,而是先向我發送一條簡訊,告訴我即將向誰轉賬多少錢,請求我的確認。在得到我的確認後,銀行的伺服器才開始執行這個轉賬的請求。被同時控制多條通信途徑是非常罕見的,也是非常困難的,這樣就保證了整個交易過程的正確性。
※油膩中年人請記住以下幾點,下半輩子受益無窮
※爆裂的鼓,碎裂的心
TAG:全球大搜羅 |