1.欺騙 "NT AUTHORITYSYSTEM"賬戶通過NTLM認證到我們控制的TCP終端。
當前我獲得了一個普通域用戶權限的shell,利用令牌竊取進行提權,提權到管理員權限。哈哈,提 權好簡單。胡扯!
看了很多博客,其中幾篇文章就這樣帶有誤導性地寫,這樣不好吧。
訪問令牌的定義
描述進程或者線程安全上下文的一個對象。不同的用戶登錄計算機后, 都會生成一個Access Token,這個Token在用戶創建進程或者線程時會被使用,不斷的拷貝,這也就解釋了A用戶創建一個進 程而該進程沒有B用戶的權限。一般用戶雙擊運行一個進程都會拷貝explorer.exe的Access Token。訪問令牌分為:
· 授權令牌(Delegation token):交互式會話登陸(例:本地用戶登陸、用戶桌面等)
· 模擬令牌(Impersonation token):非交互式登陸(例:net use 訪問共享文件)
兩種token只有在系統重啟后才會清除;授權令牌在用戶注銷后,該令牌會變為模擬令牌依舊有 效。
同樣也可以這樣理解,當前系統中的某個進程或線程能訪問到什么樣的系統資源,完全取決于你當前 進程是拿著誰的令牌。
默認情況下,我們列舉令牌,只能列舉出當前用戶和比當前用戶權限更低用戶的令牌。令牌的數量取決 于當前shell的訪問級別,如果當前的shell是administrator或者是system,我們就可以看到系統中的所 有的令牌。
我們通過exp提權或者永恒之藍等得到的權限即為System,假如我們利用mimikatz和hashdump不能獲得administrator用戶的密碼,那我們只能通過令牌竊取進行降權,獲得administrator用戶的shell, 從而以administrator用戶的身份啟動某些服務(因為某些服務只能通過administrator用戶啟動)。
可用于令牌竊取的工具有很多,例如cs、msf、empire等等,或者我們也可以直接使用現成的
incognito.exe 。
當前shell用戶只是一個普通的域用戶,權限低,也就意味著shell的訪問級別低,所以令牌只有當前用 戶本身。
這次就可以看到我們手中的令牌多了,但是還是沒有出現域管的令牌,為什么呢?
因為在做本次實驗之前,我將機器進行了重啟,并且到現在并沒有登錄域管賬號。那接下來,我們再登 錄一下域管賬號,再次查看令牌個數:
可以看到在登錄域管賬號之后,我們才會有相應的令牌。
利用命令impersonate_token 'HACKERGUAdministrator' ,使用域管令牌,如下:
這里需要注意的是,使用令牌時,最好使用引號將其括起,因為某些令牌的名字中間含有空格, 可能會報錯。另外在輸入主機名用戶名時,需要輸入兩個反斜杠( \ )
如果我們不需要該權限了,可使用命令rev2self ,返回原本的權限。
爛土豆提權
首先要了解的是,爛土豆(Rotten Potato)提權是一個本地提權,是針對本地用戶的,不能用于域用戶。漏 洞 了 解 _MS16-075:https://docs.microsoft.com/zh-cn/security-updates/securitybulletins/2016/ms 16-075
接下來換一個System的shell,再次嘗試:
可以看到只有當前用戶的令牌。
然后我們運行如下命令,執行爛土豆:
execute -cH -f potato.exe
由此,我們得到了SYSTEM權限的shell。
附 上 RottonPatato 腳 本 :https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16- 075/potato.exe https://github.com/breenmachine/RottenPotatoNG/blob/master/RottenPotatoEXE/x64/Release/ MSFRottenPotato.exe
https://github.com/foxglovesec/RottenPotato
有好幾個版本,自己隨意選擇。
RottenPotato(爛土豆)提權的原理可以簡述如下:
當我們拿到一個普通本地用戶的shell時,列舉當前的令牌:
2. 對這個認證過程使用中間人攻擊(NTLM重放),為"NT AUTHORITYSYSTEM"賬戶本地協商一個安全令牌。這個過程是通過一系列的Windows API調用實現的。
3. 模仿這個令牌。只有具有"模仿安全令牌權限"的賬戶才能去模仿別人的令牌。一般大多數的服務型賬 戶(IIS、MSSQL等)有這個權限,大多數用戶級的賬戶沒有這個權限。
所以,一般從web拿到的webshell都是IIS服務器權限,是具有這個模仿權限的。測試過程中,我發 現使用已經建好的賬戶(就是上面說的用戶級賬戶)去反彈meterpreter然后再去執行EXP的時候會失 敗,但使用菜刀(IIS服務器權限)反彈meterpreter就會成功。
一開始我一直始用系統創建的普通用戶執行exp,所以利用失敗,后來我在服務器上的web服務反 彈了shell,才得以執行成功。
爛土豆比熱土豆的優點是:
1.100%可靠
2.(當時)全版本通殺。
3.立即生效,不用像hot potato那樣有時候需要等Windows更新才能使用。
總之,我對這個的理解是通過中間人攻擊,將COM(NT\SYSTEM權限)在第二部挑戰應答過程中認證的區塊改成自己的區塊獲取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌。