您好,登錄后才能下訂單哦!
如何利用Regasm.exe與Regsvcs.exe繞過AppLocker,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
AppLocker也被稱作“應用程序控制策略”,是Windows系統下的一項安全功能,來幫助管理員對主機系統進行一定程度的系統保護。通過合理定義規則,管理員可以決定哪些程序、安裝程序、腳本可以在計算機上被運行,可以被定義的規則包括但不限于用戶名名稱、發布者名稱、產品名稱、文件路徑、文件哈希、文件版本。
復現環境
攻擊機:Kali,IP 192.168.195.154
受害機:Windows 7 32位,IP 192.168.195.145,管理員權限用戶root,普通權限用戶test
工具:Metasploit、Ollydbg
文件:calc_signed.dll、calc_unsigned.dll、msf_signed.dll、msf_unsigned.dll
復現流程
首先在受害機上進入本地服務,將Application Identity服務啟動,該服務為AppLocker功能生效的先決條件。
在攻擊機上使用msfvenom生成C#格式的payload,該payload運行后將會連接攻擊機的指定端口。
網站“https://github.com/3gstudent/Bypass-McAfee-Application-Control--Code-Execution/blob/master/regsvcs.cs”可以下載用以生成惡意dll的cs文件,C:\Windows\Microsoft.NET\Framework\v4.0.30319文件夾中的csc.exe程序可以將cs文件生成為dll文件。在本文中,我們將使用calc.cs文件及msf.cs文件作為生成惡意dll的cs文件。其中,calc.cs文件即為從網站上下載的regsvcs.cs文件,msf.cs文件只需將calc.cs文件中shellcode部分替換為先前生成的payload即可。
csc.exe將使用calc.cs與msf.cs文件生成4個不同的dll文件,分別為calc_signed.dll、calc_unsigned.dll、msf_signed.dll、msf_unsigned.dll。其中calc_signed.dll為被簽名的dll文件,calc_unsigned.dll為未被簽名的dll文件,功能均為彈出一個計算器。msf_signed.dll為被簽名的dll文件,msf_unsigned.dll為未被簽名的dll文件,功能均為打開一個回連msf攻擊機的會話。生成這4個dll的具體指令見下圖。
Regasm.exe與Regsvcs.exe均可用來進行AppLocker繞過,但regsvcs.exe加載或卸載指定dll時該dll必須簽名才可執行成功,否則將會出現下圖中的報錯。
進行簽名所需的程序在C:\Program Files\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools文件夾中,可使用下圖中的命令生成密鑰對文件。
進行繞過前,我們將設置AppLocker下文件的通過規則,該規則可在“控制面板-管理工具-本地安全策略-應用程序控制策略-AppLocker”中進行設置。在本例中,我們設置用戶名root允許或拒絕執行calc.exe程序。如下圖所示,在允許執行時,可以成功彈出計算器。
在拒絕執行時,計算器無法成功彈出。因此可知,任意使用生成的dll來啟動新程序的行為將無法繞過AppLocker規則。因此,我們將使用不會啟動新程序的dll來進行后續測試。由于無新程序啟動,則無法在Applocker中設置阻止規則。
如下圖所示,當msf_signed.dll文件被嘗試加載時,進行網絡通信回連行為的是Regsvcs.exe進程。
在運行上圖指令時,在攻擊端打開msfconsole開啟一個對4444端口的監聽,隨后可以看見成功獲取shell。由下圖可知,獲取的shell可用來控制受害機。
由于Regasm.exe與Regsvcs.exe進行dll注冊時需要管理員權限,因此在普通權限用戶test下測試時,我們將使用另一個指令。
Regasm.exe與Regsvcs.exe進行dll卸載時普通權限即可,因此,我們使用下圖中的指令嘗試打開計算器與回連msf攻擊機。經過測試。Regasm.exe可成功完成AppLocker繞過。
在攻擊機上可以看到,當前的用戶權限為普通用戶test。
因此,即使受害機處于普通權限下,我們依然可以在攻擊機上對受害機進行惡意操作,如下載文件、截屏、獲取系統信息、執行指定程序等。
我們也可以在shell中移動至普通用戶有權限的位置(如桌面),進行創建文件夾并上傳惡意文件等惡意操作。
最后,我們對被注冊的惡意msf_signed.dll進行簡要的逆向分析,來了解該dll注冊時回連攻擊機的過程。將RegAsm.exe使用OD打開并添加msf_signed.dll為啟動參數,設置中斷于新dll的加載,隨后依次加載直至加載msf_signed.dll。
進入新線程后,該dll將嘗試使用connect()函數連接ip 192.168.195.154。
連接成功后,該dll將嘗試使用recv()函數進行數據接收。
準備數據接收時,該dll將使用VirtualAlloc()函數分配內存空間,將即將接收的數據存儲,由下圖可知接收的數據為一個PE文件。
隨后該dll將進入該PE文件所在的內存空間,該文件為msf完成連接后進行控制操作的核心代碼,攻擊機可通過該段代碼將攻擊指令下發至受害機,并從受害機獲取相應的信息。
防護措施
1、開啟AppLocker功能,合理設置規則,阻止惡意可執行文件的運行;
2、不輕易注冊來歷不明的dll;
3、不輕易運行來歷不明的軟件;
4、及時更新病毒庫,查殺主機中的惡意病毒;
5、推薦使用“鐵穹高級持續性威脅系統”(簡稱”鐵穹“)發現潛在的攻擊行為。“鐵穹”是東巽科技技術有限公司結合流量檢測與沙箱分析功能,用以檢測主機內潛在威脅行為的系統。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。