使用CBC位元反轉攻擊繞過加密的會話令牌

wyzsk發表於2020-08-19
作者: mickey · 2015/02/27 11:00

0x01 什麼是CBC位元反轉技術?


CBC模式的全稱是密文分組連結模式(Cipher Block Chainning),之所以叫這個名字,是因為密文分組是想鏈條一樣相互連線在一起的.

如圖所示:

enter image description here

在CBC模式中,首先將明文分組與前一個密文分組進行XOR運算,然後再進行加密,當加密第一個明文分組時,由於不存在“前一個密文分組”,因此需要事先準備一個長度為一個分組的位元序列來代替“前一個密文分組”,這個位元序列稱為初始化向量(Initialization vector),通常縮寫為IV,如果每次都使用相同的初始化向量(IV),當用同一金鑰對同一明文進行加密時,所得到的密碼一定是相同的,所以每次加密時都會隨機產生一個不同的位元序列來作為初始化向量,避免這種情況產生。

CBC位元反轉攻擊的目的是攻擊者透過修改密文來操縱解密後的明文,攻擊者會對初始化向量(IV)中的任意位元位進行反轉(1變0,0變1),則明文分組(解密後得到的明文分組)中相應的位元也會被反轉。比如一個叫admin的使用者,登入,經過CBC模式加密後,token為"aaabbbccc999",現在有一個攻擊者,叫john,登入,經過CBC模式加密後,token為cccbbbccc1111,現在john將token改為"ffcbbbccc1111",發現登入名變成了ohn,所以他知道token第一個位的ff轉換成了,經過幾輪測試,他發現如果將token改為“7bcbbbccc1111”,則登入名變成了'aohn',最後他透過傳送token為7bdc995465到伺服器,發現自己已經變成了admin。

0x02 攻擊演示


我這裡演示是使用的是Owasp Mutilidae測試平臺,透過依次點選左側導航欄的”Owasp 2013” ,“Broken authentication and session management”,“Privilege escalation”,“view user privileges”,你能夠看到這個挑戰的目標是改變UID和GID到000,透過burpsuite已經抓到了IV,並把這個請求傳送到burpsuite的Repeater,方便我們以後測試,如圖

enter image description here

當前抓到的IV值為“6bc24fc1ab650b25b4114e93a98f1eba”

下面先改變“6bc24fc1ab650b25b4114e93a98f1eba”為“FFc24fc1ab650b25b4114e93a98f1eba”,觀察變化,如圖:

enter image description here

發現Application ID部分有一個字元變了,接著轉換字元,當IV為FFFFFFFFFF650b25b4114e93a98f1eba”時,發現User ID變成e00了。如圖

enter image description here

現在看看能不能影響到Group ID,當iv為FFFFFFFFFFFFFFFFb4114e93a98f1eba時,Group ID有變化了,如圖

enter image description here

我們要改變的僅僅是userID和GroupID,把FFFFFFFFFFFFFFFFb4114e93a98f1eba依次還原,最終找到對應項時,iv為6bc24fc1FF650bFFb4114e93a98f1eba,如圖

enter image description here

我們發現第一個FF對應的是USERID的e,e的十六進位制編碼是0x65,經過異或,0xFF xor 0x65 =0x9a,現在我們的目標是需要USERID都為0 (對應的十六進位制是0x30),所以0x9a xor 0x30 = 0xaa,我們提交iv為6bc24fc1aa650bFFb4114e93a98f1eba,USERID就是我們想要的結果了,如圖

enter image description here

然後我們讓GROUPID也為0,則0xFF xor 0xeb = 0x14,0x30 xor 0x14 = 0x24,我們提交iv為6bc24fc1aa650b24b4114e93a98f1eba。如圖

enter image description here

0x03 參考文件


Bypassing encrypted session tokens using CBC bit flipping technique.

http://swepssecurity.blogspot.tw/2014/05/bypassing-encrypted-session-tokens.html

<<圖解密碼技術>>

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章