關于BeRoot-Windows
BeRoot-Windows是一款功能強大的Windows安全檢測與權限提升工具,該工具專為紅隊研究人員和Windows系統安全專家設計,該工具可以檢測常見的Windows錯誤配置,并嘗試實現權限提升。
需要注意的是,該工具只能夠實現漏洞和錯誤配置的檢測,并不能直接實現漏洞利用。如果檢測到了錯誤配置或安全漏洞的存在,廣大研究人員可以使用項目templates目錄中提供的內容來嘗試進行漏洞測試。
工具技術流程與架構

工具下載
廣大研究人員可以直接訪問該項目的【Releases頁面】下載該工具的預編譯版本。
除此之外,我們也可以使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/AlessandroZ/BeRoot.git
并自行構建代碼。
工具運行

工具使用
路徑包含空格且無引號
以下列文件路徑為例:
C:\Program Files\Some Test\binary.exe
如果路徑包含空格且無引號,Windows會按照下列順序嘗試定位并執行程序:
C:\Program.exe C:\Program Files\Some.exe C:\Program Files\Some Folder\binary.exe
如果“C:\”目錄可寫,那我們就可以再次創建一個名為Program.exe的惡意程序,如果“binary.exe”能以高級權限運行,我們就能夠實現提權了。
可寫入的目錄
以下列文件路徑為例:
C:\Program Files\Some Test\binary.exe
如果“binary.exe”的根目錄可寫入(“C:\Program Files\Some Test”),且能夠使用高級權限運行,我們同樣可以實現提權。
%PATH%變量中的可寫入目錄
這項技術將影響下列Windows版本:
6.0 => Windows Vista / Windows Server 2008
6.1 => Windows 7 / Windows Server 2008 R2
6.2 => Windows 8 / Windows Server 2012
在常見的Windows安裝中,當DLL通過二進制代碼進行加載時,Windows會嘗試使用下列方式進行文件定位:
- 代碼所在目錄
- C:\Windows\System32
- C:\Windows\System
- C:\Windows\
- 代碼啟動時所在的當前目錄
- %PATH%環境變量中的目錄
如果%PATH%變量上的目錄是可寫的,則有可能實現DLL劫持攻擊。然后,我們需要找到一個服務,加載這些路徑中不存在的DLL。這個例子是默認的“IKEEXT”服務的執行情況,它加載一個不存在的“wlbstrl.dll”。
此時,我們可以創建一個名為“wlbstrl.DLL”的惡意DLL(使用DLL模板),并將其添加到%PATH%變量上列出的可寫路徑中,然后啟動服務“IKEEXT”。
使用下列內容創建一個文件:
C:\Users\bob\Desktop>type test.txt [IKEEXTPOC] MEDIA=rastapi Port=VPN2-0 Device=Wan Miniport (IKEv2) DEVICE=vpn PhoneNumber=127.0.0.1
使用“rasdial”代碼開啟IKEEXT服務即可:
C:\Users\bob\Desktop>rasdial IKEEXTPOC test test /PHONEBOOK:test.txt
項目地址
BeRoot-Windows:https://github.com/AlessandroZ/BeRoot/tree/master/Windows
我的安全夢
一顆小胡椒
007bug
黑白之道
一顆小胡椒
FreeBuf
FreeBuf
上官雨寶
上官雨寶