信息來源:Freebuf
微軟近期在其漏洞賞金計(jì)劃中向一名安全人員頒發(fā)了高達(dá)50000美元的獎(jiǎng)金。如此“高貴”的漏洞不免讓人感到好奇。
據(jù)了解,該漏洞可以讓黑客在用戶不知情的情況下劫持用戶賬戶。也就是說,當(dāng)你躺在床上舒舒服服睡個(gè)好覺的時(shí)候,黑客可能已經(jīng)偷偷潛入了你的賬戶,并且通過賬戶掌握了你的個(gè)人信息,用它進(jìn)行金融交易、創(chuàng)建新帳戶、也可能向你的親人好友們進(jìn)行詐騙,甚至進(jìn)行更嚴(yán)重的違法活動(dòng)。
雖然會(huì)造成嚴(yán)重影響,但該漏洞的利用原理卻并不復(fù)雜。發(fā)現(xiàn)它的安全人員指出,該漏洞可以在用戶重置密碼之前,強(qiáng)行猜測出向用戶的電子郵箱或者手機(jī)號(hào)碼發(fā)送的七位數(shù)密碼,從而對用戶賬戶進(jìn)行訪問。
然而對發(fā)送驗(yàn)證代碼的HTTP POST請求進(jìn)行分析后發(fā)現(xiàn),密碼在發(fā)送前是加密的,這意味著如果要強(qiáng)行破解密碼,必須先破解加密。
截圖顯示,輸入的1234567代碼在請求中根本不存在。密碼被加密之后才發(fā)送驗(yàn)證。這樣做的目的是為了防止自動(dòng)破解工具利用他們的系統(tǒng)。所以,像Burp Intruder這樣的自動(dòng)測試工具就無法使用,因?yàn)樗麄儫o法破解加密。
然而,雖然有旨在防止攻擊者自動(dòng)重復(fù)提交所有1000萬個(gè)代碼組合的加密障礙和限速檢查,但該安全人員表示,他最終破解了該加密功能。
但是破解了加密功能,并不意味著攻擊一定能成功。事實(shí)上,測試顯示,在發(fā)送的1000個(gè)代碼中,只有122個(gè)代碼能夠通過,其他代碼以錯(cuò)誤代碼1211被阻止。
對此安全人員表示,如果所有發(fā)送的請求沒有同時(shí)到達(dá)服務(wù)器,自帶的機(jī)制就會(huì)將IP地址列入黑名單。并且,請求之間的幾毫秒延遲就能讓服務(wù)器檢測到攻擊并阻止它。
從攻擊范圍來看,雖然這種攻擊只在賬戶沒有被雙因素認(rèn)證保護(hù)的情況下有效,但它仍然可以擴(kuò)展到擊敗兩層保護(hù)并修改目標(biāo)賬戶的密碼。然而,在實(shí)際場景中,該攻擊的操作難度并不簡單,攻擊者必須同時(shí)發(fā)送安全碼,大約要進(jìn)行1100萬次請求嘗試,才能更改任何微軟賬戶(包括那些啟用2FA的賬戶)的密碼。這樣一來,就需要大量的計(jì)算資源以及1000s的IP地址才能成功完成攻擊。
因此,這種攻擊的可行性并不高,普通的攻擊者很難滿足攻擊條件。
在安全人員向微軟報(bào)告了這個(gè)漏洞之后,微軟很快承認(rèn)了這個(gè)問題,并在2020年11月進(jìn)行了處理。