您好,登錄后才能下訂單哦!
這篇文章主要介紹如何使用presentationhost.exe繞過AppLocker白名單限制,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Presentationhost.exe是一個內置的Windows可執行文件,用于運行XAML瀏覽器應用程序(即.xbap文件)。在多個AppLocker白名單繞過列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil),但在網上有關如何使用它的資料卻少之又少。因此,我決定將自己的研究成果分享出來,以供大家學習和參考。
當我們打開.xbap文件,它似乎是在IE中啟動的應用程序,但代碼實際上是在另一個進程(Presentationhost.exe)中運行,通常是在一個沙箱中以保護用戶免受惡意代碼的攻擊。如果你熟悉Java Web Start文件(.jnlp),則xpabs的行為與其類似,只是這里IE啟動的是Presentationhost.exe而不是Java.exe,編寫的代碼是c#而不是Java。
注意,xbap可以請求不同的權限級別。為了執行潛在的惡意操作,應用程序必須請求從文件位置(即本地文件系統或網絡共享)打開XBAP時可以執行的非限制性權限。如果應用程序請求權限過多,則嘗試通過HTTP或FTP打開xbap將失敗。有關安全模型的更多信息請參閱此處。
創建XBAP應用程序你可以克隆我的PoC,或按照以下說明來構建你自己的POC:
1.下載 visual studio 2010 professional service pack 1 trial。
2.打開 visual studio 并選擇“New, Project”。
3.在 new project 界面,搜索“WPF Browser Application”并創建一個新的 Visual C# app。
初始化新項目后,你將看到如下界面:
如果你點擊運行,你的默認瀏覽器將會打開.xbap文件。如果你的默認瀏覽器不是IE,那么你需要將file:/// URL從默認瀏覽器的地址欄復制到IE上打開。如果一切正常,你應該會收到如下警告消息:
點擊運行后,將出現一個空白頁面。讓我們來創建一個簡單的UI,即在左側輸入命令右側輸出結果。此外,我還將添加一個帶有單擊事件的按鈕。
如果此時你嘗試運行該應用程序,將會收到“Button_Click”未定義的錯誤提示。我們打開Page1.xaml.cs定義按鈕單擊方法。這里我將使用C#的Pipeline類來運行PowerShell命令(有趣的是,以這種方式運行PowerShell命令可以繞過約束語言模式)。以下代碼將在Pipeline中運行一些PowerShell命令,并將輸出寫入到屏幕。
編譯應用程序,你需要通過右鍵單擊“Solution Explorer”中的“References”文件夾,并選擇“Add Reference”來引用System.Management.Automation dll。 然后瀏覽到:
C:\Windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll
添加引用后,你應該能夠編譯該項目(如果未將項目命名為“powershell”,則可能需要更改命名空間)。現在如果你運行xbap它應該會成功打開,但當你嘗試運行命令時會出現以下錯誤:
此錯誤是Presentationhost的沙箱在告訴你,應用程序試圖在它的權限級別之上執行某些操作,有關xbap安全性的更多介紹請參閱此處。要使xbap請求具有完全信任權限(即對操作系統的非沙盒訪問),請到Project -> Properties -> Security下選擇“This is a full trust application”進行設置。
運行應用程序,PowerShell命令現在應該能夠正常執行。
編譯的應用程序可以在visual studio項目的\bin\Debug文件夾中找到。
powershell.exepowershell.exe.manifestpowershell.pdbpowershell.xbap
要繞過默認的AppLocker規則,請將這些文件復制到鎖定的計算機,然后雙擊.xbap文件。如果你從網站下載該文件,它將無法運行,因為它將包含Web標記。你可以通過右鍵單擊該文件,然后單擊“Unblock(取消阻止)”復選框來刪除Web標記(或者你也可以使用 PowerShell)。
如果你不想將文件復制到鎖定的計算機上,你也可以從命令行使用file:/// URI 或 UNC路徑來運行presentation host,例如:
presentationhost.exe file:///ipAddressOrHostName/powershell.xbap
以下是PowerShell xbap的源碼:
https://github.com/jpginc/xbapAppWhitelistBypassPOC/tree/master
我將已編譯的文件包含在了repo中,以便你在鎖定環境中運行PowerShell,你可以在此處獲取文件。
以上是“如何使用presentationhost.exe繞過AppLocker白名單限制”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。