最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

.NET 白名單文件通過反序列化執(zhí)行系統(tǒng)命令的方法

 更新時間:2024年11月07日 10:10:40   作者:dot.Net安全矩陣  
本文介紹了如何利用微軟簽名的白名單文件VisualUiaVerifyNative.exe繞過安全防護(hù),詳細(xì)解析了其依賴庫、反序列化漏洞利用過程,并演示了實際操作步驟,感興趣的朋友一起看看吧

 01閱讀須知

此文所提供的信息只為網(wǎng)絡(luò)安全人員對自己所負(fù)責(zé)的網(wǎng)站、服務(wù)器等(包括但不限于)進(jìn)行檢測或維護(hù)參考,未經(jīng)授權(quán)請勿利用文章中的技術(shù)資料對任何計算機(jī)系統(tǒng)進(jìn)行入侵操作。利用此文所提供的信息而造成的直接或間接后果和損失,均由使用者本人負(fù)責(zé)。本文所提供的工具僅用于學(xué)習(xí),禁止用于其他方面

02VisualUiaVerifyNative

在日常的紅隊行動中,利用微軟簽名的白名單文件來繞過防護(hù)措施是一種常見的行為,有些場景下紅隊通過利用系統(tǒng)白名單文件加載反序列化漏洞的方式執(zhí)行惡意指令。

VisualUiaVerifyNative.exe 是一款具備微軟簽名的可執(zhí)行文件,屬于Microsoft UI Automation框架的一部分,最初設(shè)計用于幫助開發(fā)人員驗證UI自動化的狀態(tài),一般在 Microsoft Windows SDK(Windows Kits)包中,比如路徑:Windows Kits\10\bin\10.0.22621.0\x64\UIAVerify,該工具通常依賴于以下兩個重要的動態(tài)鏈接庫。

2.1 UIAComWrapper

UIAComWrapper.dll,該 DLL 文件封裝了 UI Automation COM 接口,用于簡化與 UI Automation 元素的交互。UI Automation 是一種微軟提供的技術(shù),允許自動化工具控制、監(jiān)視和測試 Windows 應(yīng)用程序的用戶界面。UIAComWrapper.dll 使 VisualUIAVerifyNative.exe 可以使用 .NET 代碼與 UI Automation API 進(jìn)行交互。

2.2 WUIATestLibrary

WUIATestLibrary.dll 提供了一些專門用于 UI 自動化測試的庫函數(shù),主要支持自動化測試中的通用任務(wù),例如自動化 UI 控件的查找、狀態(tài)驗證和操作。VisualUIAVerifyNative.exe 依賴于此庫來運(yùn)行不同的 UI 驗證和測試場景。

這些依賴庫的主要作用是為 VisualUIAVerifyNative.exe 提供接口和功能支持,使其能夠與 Windows 應(yīng)用程序的 UI 自動化框架進(jìn)行通信,并通過自動化的方式驗證和測試界面元素。

由于VisualUiaVerifyNative具備了微軟官方簽名的文件,因此,從反病毒軟件的視角看屬于白名單應(yīng)用程序,常??梢岳@過許多基于簽名的安全防護(hù)措施。

03反編譯分析

我們使用dnspy打開VisualUiaVerifyNative文件的入口方法Main,發(fā)現(xiàn)調(diào)用了MainWindow類,具體代碼如下所示。

private static void Main(string[] args)
{
			try
			{
				Debug.AutoFlush = true;
				Application.EnableVisualStyles();
				Application.SetCompatibleTextRenderingDefault(false);
				Application.Run(new MainWindow(args));
				Automation.RemoveAllEventHandlers();
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message);
            }
}

MainWindow類的初始化方法中,有一個至關(guān)重要的函數(shù)ApplicationStateDeserialize負(fù)責(zé)反序列化配置文件中的數(shù)據(jù)。如下圖所示

進(jìn)入此方法內(nèi)部,發(fā)現(xiàn)打開讀取了一個名為uiverify.config的文件,位于用戶的AppData目錄中,代碼如下所示。

private void ApplicationStateDeserialize(){
    this._configFile = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "uiverify.config";
    if (File.Exists(this._configFile))
    {
        Stream stream = File.Open(this._configFile, FileMode.Open);
        BinaryFormatter binaryFormatter = new BinaryFormatter();
        this._applicationState = (ApplicationState)binaryFormatter.Deserialize(stream);
        stream.Close();
    }
}

最核心的是調(diào)用了BinaryFormatter類反序列化內(nèi)容,攻擊者可以通過精心構(gòu)造的payload欺騙反序列化過程,加載惡意代碼。在代碼中,binaryFormatter.Deserialize(stream)這一行正是漏洞的觸發(fā)點,它會反序列化uiverify.config文件中的數(shù)據(jù),并將其載入到_applicationState中。

04實戰(zhàn)利用

第1步使用ysoserial.exe工具生成一個惡意的序列化payload。在這里,我們利用了BinaryFormatter格式,并選擇TextFormattingRunProperties作為觸發(fā)器,執(zhí)行命令notepad。

ysoserial.exe -f BinaryFormatter -g TextFormattingRunProperties -o raw -c "notepad" > Roaminguiverify.config

這會生成一個二進(jìn)制格式的惡意payload,并將其保存為Roaminguiverify.config文件,內(nèi)容如下圖所示。

第2步,將生成的Roaminguiverify.config文件寫入到當(dāng)前用戶目錄,比如C:\Users\Administrator\AppData\Roaminguiverify.config。這個配置文件是VisualUiaVerifyNative在啟動時會自動讀取的文件,因此一旦寫入惡意數(shù)據(jù),運(yùn)行該工具時會自動觸發(fā)反序列化漏洞。

第3步,當(dāng)VisualUiaVerifyNative運(yùn)行時,它會嘗試從Roaminguiverify.config文件中反序列化數(shù)據(jù),并因此執(zhí)行植入的惡意命令。在本例中,notepad.exe會在系統(tǒng)上啟動,表明命令執(zhí)行成功。

綜上,VisualUiaVerifyNative是一款具備微軟白名單的可執(zhí)行文件,用于基于Microsoft UI Automation框架進(jìn)行應(yīng)用測試。然而,通過對其配置文件的精心操作,攻擊者可以非法使用其功能來觸發(fā)反序列化漏洞,執(zhí)行任意代碼。

到此這篇關(guān)于.NET 白名單文件通過反序列化執(zhí)行系統(tǒng)命令的文章就介紹到這了,更多相關(guān).net 白名單文件反序列化執(zhí)行系統(tǒng)命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

八宿县| 麻栗坡县| 湛江市| 布拖县| 敦煌市| 弋阳县| 南充市| 双流县| 哈尔滨市| 荣昌县| 双流县| 辉南县| 南汇区| 深泽县| 色达县| 忻州市| 淄博市| 东兰县| 错那县| 江西省| 两当县| 含山县| 宜良县| 呼玛县| 蒲江县| 蓬溪县| 天等县| 泸州市| 永州市| 尉犁县| 子洲县| 塔河县| 磴口县| 皋兰县| 永福县| 全南县| 锡林浩特市| 盐边县| 铜鼓县| 台州市| 修文县|