谷歌OAuth驗證系統(tǒng)曝零日漏洞,可被黑客用于賬戶劫持
近日,有多個竊取信息的惡意軟件家族正在濫用一個未記錄的名為 "MultiLogin "的谷歌 OAuth 端點恢復過期的身份驗證 cookie 。通過這種方式黑客可以獲取到用戶賬戶信息,即使賬戶密碼已被重置仍能成功登陸。
會話 cookie 是一種特殊類型的瀏覽器 cookie,其中包含身份驗證信息,允許用戶在不輸入憑據(jù)的情況下自動登錄網(wǎng)站和服務。這類 cookie 的儲存時間有限,因此如果賬戶被盜,威脅者無法無限期地使用它們登錄賬戶。
但在2023年11月下旬,Lumma和Rhadamanthys黑客曾聲稱可以恢復在攻擊中被盜的過期谷歌身份驗證cookie,即使合法所有者已經注銷、重置密碼或會話過期,這些 cookie 仍可讓網(wǎng)絡犯罪分子在未經授權的情況下訪問谷歌賬戶。
利用谷歌 OAuth 端點
CloudSEK 研究人員上周五(12月29日)發(fā)布的一份報告進一步揭示了這個零日漏洞的工作原理,并闡述了該漏洞的被大規(guī)模利用的嚴重后果。
2023 年 10 月 20 日,一個名為 PRISMA 的威脅行為者首次披露了該漏洞,他在 Telegram 上發(fā)布消息稱發(fā)現(xiàn)了一種恢復過期 Google 身份驗證 cookie 的方法。
在對該漏洞進行逆向工程后,CloudSEK 發(fā)現(xiàn)它使用了一個名為 "MultiLogin "的未注明谷歌 OAuth 端點,該端點通過接受賬戶 ID 和 auth-login 標記向量來同步不同 Google 服務之間的帳戶。
此請求用于在多個 Google 網(wǎng)站(例如 YouTube)的 Google 身份驗證 cookie 中設置瀏覽器中的 Chrome 帳戶。 這個請求是 Gaia Auth API 的一部分,只要 cookie 中的帳戶與瀏覽器中的帳戶不一致就會觸發(fā)。
CloudSEK 表示,濫用該終端的信息竊取惡意軟件會提取登錄到谷歌賬戶的 Chrome 配置文件的 tokens 和賬戶 ID。這些被盜信息包含兩個關鍵數(shù)據(jù):service (GAIA ID) 和 encrypted_token。
加密令牌使用存儲在 Chrome 瀏覽器 "Local State" 文件中的加密密鑰進行解密。同樣的加密密鑰也用于解密瀏覽器中保存的密碼。
通過利用竊取的 token,GAIA 與多重登錄端點配對,威脅行為者可以重新生成過期的 Google Service cookies,并保持對受損賬戶的持久訪問。
使用令牌:GAIA對從文本文件中讀取以生成對MultiLogin的請求來源:CloudSEK
CloudSek 研究員 Pavan Karthick 表示,他們對該漏洞進行了逆向工程,并能夠使用它來重新生成過期的 Google 身份驗證 cookie,如下所示:
重置密碼后,cookie再生成功來源:CloudSEK
Karthick 解釋稱,如果用戶重置其 Google 密碼,身份驗證 cookie 只能重新生成一次。否則,它可以多次重新生成,從而提供對帳戶的持久訪問。
惡意軟件開發(fā)者急于添加漏洞
Lumma stealer 于 11 月 14 日首次利用了該漏洞,其開發(fā)人員采用了黑盒技術,如用私鑰加密 token:GAIA 對,以向競爭對手隱藏這一機制,并防止復制該功能。
Radamanthys 是第一個在 11 月 17 日效仿的人;此后還有 12 月 1 日的 Stealc、12 月 11 日的 Medusa、12 月 12 日的 RisePro 和 12 月 26 日的 Whitesnake。因此,目前至少有 6 個信息竊取者聲稱能夠使用此 API 端點重新生成 Google cookie。
Lumma 還發(fā)布了該漏洞的更新版本:轉而使用 SOCKS 代理來逃避 Google 的濫用檢測措施,并在惡意軟件和 MultiLogin 端點之間實現(xiàn)加密通信;以抵消谷歌的緩解措施。
由于Google尚未證實MultiLogin端點被濫用,因此目前該漏洞的利用狀況及其緩解措施仍不清楚。