引言
昨晚,qq群內出現了大量的廣告資訊,不少人員當場社死。針對此次事件,騰訊官方也給了相應的回覆,今天我們想和大家聊聊我們的qq是如何“被盜”的。
注:以下內容僅為個人經驗分析,一切以官方後續回覆為準!
事件前奏
事實上在5月25日前後,就已經有大量使用者被盜號了,可以說是這次大規模盜號事件的前兆,當時還有朋友問到我這個事情:
在收到訊息當天我也去自己的qq號裡看了下,開啟了塵封已久的皇冠貴族號,果然也收到了類似的廣告,有意思的是還就是在大學的資訊保安專業群裡收到的黃圖訊息
搜了下微博,確實有很多使用者在5月25日前後就遭遇過了第一波的盜號,當時就有了話題標籤,並且從微博上看某明星直播的時候還說過這個事情:
因此實際上在本次事件前,已經爆發過小規模的盜號事件了,那麼我們的qq號到底是如何“被盜”的呢?
事件分析
很多人在傳這次事件是跟最近學習通資料洩漏以及所謂的0day漏洞有關,綜合騰訊給的官方回覆以及個人的經驗分析,事實上這次事件和兩者都沒有太大關係,我們將在下文依次解答說明。
首先是躺槍的學習通,看到微博裡有關學習通的話題又再次衝上了熱搜,大家都懷疑本次盜號事件跟“某習通”被拖庫有關,官方也做了相應的回覆:
事實上qq登入有較嚴格的風控限制,無論是裝置和ip只要不是使用者常用的都會觸發二次認證。下圖是我測試的時候直接拿虛擬機器下了個qq登入,同一ip出口都提示了裝置異常,想直接透過撞庫得到的密碼來登入qq是不太現實的:
並且前文說過在5月25日前後就已經出現過廣告事件了,那時候學習通資料還沒有洩漏,而且從犯罪手法、規模和騰訊的官方回覆上來看,這並不是大家想的透過直接登入qq的方式傳送的廣告訊息。
要分析這次盜號事件,有個重要的概念是在本次事件中什麼叫做“qq號被盜”了,以及攻擊者是如何批次傳送黃圖訊息的。
在很多人的傳統意識裡,qq號被盜就是密碼被洩漏了,犯罪分子透過賬號和密碼登入了被盜的qq號,然後透過客戶端傳送了訊息。事實上在大多數場景下被盜號只是因為clientkey被洩漏了,“盜號者”根本沒有登陸過你的qq(或者說根本沒辦法直接登入qq主體),只是用clientkey相關的介面傳送了群訊息而已。
Clientkey大家可以簡單理解為qq客戶端的一個私有key,是qq第三方登陸的核心,幾乎所有的qq應用都可以透過這個key登陸,包括qq郵箱、qq遊戲、qq空間、qq音樂、qq影片、微雲、財付通等等。以qq郵箱為例,我們在登入了qq客戶端(windows版)的前提下抓一個三方登入的包,在包裡就可以看到有關clientkey的生成過程:
這個clientkey就是登入第三方應用的核心,有了clientkey在透過某些可以傳送群訊息的介面,實現在群內傳送訊息,這也是為什麼大家收到的廣告訊息都是群發而不是私發,事實上攻擊者並未真正登入你的qq。
那麼從哪些途徑可以獲取這個clientkey呢?這個大家就自行腦補了,早些年有些xss的方式,但後面都被官方修復了
此次事件學習通大機率不會背鍋,當然不排除透過洩漏的賬號撞庫後用某些介面獲取了大量的clientkey,這個就有待官方求證了。
另外就是0day漏洞的說法了,透過網上傳的一些漏洞影片來看,這些所謂的0day漏洞實際上就是對clientkey的利用,影片裡的httpkey實際上就是clientkey。
如下圖所示,這個獲取這個clientkey的請求實際上是本地觸發的:
影片裡是透過客戶端執行了一個exe的程式把獲取到的clientkey傳到了服務端。因為這個請求是本地的,因此監聽本地網路卡就很容易抓到返回,演示的獲取好友列表、登入空間、微雲等實際是也都是透過clientkey實現的。
造成此次事件的原因猜測可能有兩個,一是如前文所說某些網咖或者公共裝置被人提前植入了agent,agent能夠監聽本地的資料請求併傳送給雲端。這樣即便使用者登入的是正常的qq第三方應用,如騰訊遊戲等,那麼劫持到的client也可傳送給到雲端,朋友圈裡一些中招的案例也能印證這個事實:
clientkey的存活時間只有24h左右,這也解釋了為什麼這兩次廣告攻擊集中在了5月25和6月26日前後,並且上圖裡提到的受害者都是在登入了騰訊遊戲後半個小時內中招的,證明此次的“盜號攻擊”是有一定實效性的。有疑問的點是agent程式是如何被批次植入的,猜測大機率是網咖的集中控制管理軟體被人控制並注入了蠕蟲,在指定時間段內下發了agent,使用者在登入騰訊的應用後中招。
另一個就是官方給的解釋了,透過訪問了攻擊者惡意構造的假的二維碼實現了訪問登入,當然這個登入大機率也是基於clientkey的登入而不是qq主體的登入(qq主體有登入裝置和ip限制),只是不需要在客戶端再安裝agent了。但這種說法站不住腳的就是為何大量的使用者能在短時間內訪問到了假的二維碼,而且為了保證不失效這個二維碼還一定是要動態重新整理的,這裡就有待騰訊官方進一步確認了。
總之這個故事告訴我們:
1、陌生的二維碼儘量不要掃描;
2、陌生的裝置儘量不要登入個人賬號;
3、陌生的群可以考慮加一加,免得在熟悉的群裡社死。
瞭解更多