
FindObjects BOF es un proyecto de Cobalt Strike Beacon Object File (BOF) que utiliza llamadas directas al sistema para enumerar procesos para módulos específicos o identificadores de procesos.
¿Para qué es este repositorio?
- Utilice llamadas directas al sistema dentro de los archivos de objetos de baliza para enumerar procesos para módulos cargados específicos (por ejemplo, winhttp.dll, amsi.dll o clr.dll).
- Utilice llamadas directas al sistema dentro de los archivos de objetos de baliza para enumerar procesos para identificadores de procesos específicos (por ejemplo, lsass.exe).
- Evite el uso de Windows y las API nativas tanto como sea posible (para evitar los ganchos de usuario).
- Ejecute este código dentro del proceso de baliza con archivos de objeto de baliza para evitar la bifurcación y ejecución.
¿Por qué necesito esto?
El uso de llamadas directas al sistema a través de ensamblaje en línea en código BOF ofrece una forma más segura de interactuar con el sistema. El uso de llamadas directas al sistema evita que el software AV / EDR intercepte las llamadas API en modo de usuario.
- La
FindModulebof se puede utilizar para identificar procesos que han cargado un módulo en particular, por ejemplo, el tiempo de ejecución de .NETclr.dllo elwinhttp.dllMódulo. Esta información se puede usar para seleccionar un candidato de spawnto seguro para opsec cuando se usa Cobalt Strikeexecute-assemblyo antes de inyectar un shellcode exfill beacon con elshinjectMando.

- La
FindProcHandlebof se puede utilizar para identificar procesos con un identificador de proceso particular en uso, p. ej.lsass.exeProceso. Si hay un proceso dentro del sistema con unlsass.exeIdentificador de proceso: podemos usar este identificador / proceso existente para leer o escribir en la memoria sin abrir un nuevo identificador de proceso. Esto evita la capacidad de ciertos AV / EDR para detectar y bloquear el acceso al proceso / memoria LSASS.

¿Cómo configuro esto?
No entregamos binarios compilados. Tienes que hacer esto tú mismo:
- Clona este repositorio.
- Asegúrese de que el compilador Mingw-w64 esté instalado. Por ejemplo, en Mac OSX puede utilizar la colección de puertos para instalar Mingw-w64 (
sudo port install mingw-w64). - Ejecutar el
makeComando para compilar el archivo de objeto de baliza. - En Cobalt Strike, usa el
Script Managerpara cargar el FindObjects.cna Texto. - En un contexto de Cobalt Strike Beacon, use el
FindProcHandleoFindModuleComando con los parámetros requeridos (p. Ej., Módulo o nombre de proceso).








