天天看點

利用Whatsapp Web服務劫持Whatsapp賬戶

利用Whatsapp Web服務劫持Whatsapp賬戶

一、前言

通過實作所有使用者間的e2e加密,whatsapp已經改變了它的形象,從一個令人震驚的安全的通信應用程式到被許多人尊重的應用程式的轉變。

二、whatsapp簡介

whatsapp帳号基于手機号碼。這意味着手機号碼就是你的使用者名,它也被用來認證。盡管從隐私的角度看這不是完美的,讓使用者不必再記住另一個密碼,他們可能會被重複使用,甚至更糟,通過釣魚攻擊洩漏。

登陸過程的簡略描述:

利用Whatsapp Web服務劫持Whatsapp賬戶

當每次使用者啟動應用後使用者不得不輸入他們的手機号。一個驗證令牌通過sms或者電話發送到這個号碼。在驗證碼輸入到這個應用後,認證令牌儲存在裝置中,使用者成功登入。

當使用者在新裝置登入時,需要重複上述過程,并且老裝置的授權被取消。whatsapp不會在他們的伺服器上儲存老的消息,是以之前的消息不能轉移到新的裝置上。

當然這個過程是更加複雜的但是這種簡化在本文中是适合的。

這種便利伴随着被網絡黑客攻擊的代價,能夠通路電話号碼。使用者信任移動供應商也是需要的,因為他們對該号碼有完全通路權限并且能接管帳号。

三、攻擊者的角度

從低級的攻擊者的角度來看,它很難被繞過。有兩個問題:

1. 以一些方式通路受害者的手機号碼。正如上面所述,這個能夠通過網絡攻擊或者移動服務供應商實作。盡管能通路到手機号碼,但是不能獲得任何老的消息或者聊天曆史記錄,而且受害者會立即意識到一些事發生了,因為他們的手機會登出賬戶。

2. 進入作業系統,通路磁盤分區等。盡管這能實作,但是代價非常大。

四、新角色的加入

在2015年,whatsapp啟用了whatsapp網絡服務,能在電腦上面收發消息的網站。為了使用它,浏覽器與與手機對等并且手機保持指令。下面是這個過程的簡述:

利用Whatsapp Web服務劫持Whatsapp賬戶

通過用手機應用掃描網頁上的二維碼來授權登入。然後使用者可以在浏覽器中使用whatsapp,隻需要手機是打開的并且能被計算機通路。

這個給攻擊者提供了一個友善的腳手架。欺騙使用者掃描二維碼,将得到将來和過去通信的全部通路權限。

五、一個正式的攻擊

它非常簡單:攻擊者隻需要欺騙使用者掃描惡意的二維碼來授權攻擊者的浏覽器。這個将給他們對于受害者賬戶的完全通路權限。一個簡單的線上抽獎可以作為誘惑,受害者需要掃描二維碼進入。

攻擊過程描述:

利用Whatsapp Web服務劫持Whatsapp賬戶

為了更加複雜,whatsapp不會在他們的注冊頁面展示靜态的二維碼,會幾秒鐘生成一個新的二維碼。這個阻止了攻擊者簡單的複制并釋出到另一個網站上。

在我的示範中我繞過這個障礙,通過使用腳本持續抓取二維碼,并使用websocket連接配接發送給“受害者”。

缺陷:

使用者能看到他們授權的浏覽器裝置清單

如果過另一個浏覽器登入了受害者會收到一個警告

這是個社工攻擊:受害者必須參與給予權限

但是,對于粗心的人來說這還是個有效的手段。

六、示範

我開發的工具使用selenium擷取qr代碼并使用express.js +

socket.io在單獨的頁面上顯示它們。如果受害者使用他們的手機掃描這個二維碼,則document.cookie和selenium浏覽器的本地存儲将被轉儲到攻擊者計算機上的檔案中。然後可以使用擷取的資料使用任何浏覽器登入受害者的帳戶。(代碼)

七、修複手段

沒有修複手段避免這種攻擊,除了改進認證過程。我認為當他們開發網絡用戶端時就已經意識到了這種可能性,但是他們不認為這是個大問題。

作者:myswsun

來源:51cto

繼續閱讀