Process-BOF
Process-BOF proporciona comandos para inspeccionar, analizar y controlar procesos en el sistema comprometido. Estos comandos son esenciales para el reconocimiento previo a la inyección, la identificación de procesos sensibles y el control temporal de procesos de seguridad.
Agentes compatibles: Beacon, Gopher | Plataforma: Windows
findobj
Busca objetos específicos dentro de los procesos en ejecución.
findobj module
Busca un módulo (DLL) cargado en todos los procesos del sistema. Devuelve una lista de procesos que tienen esa DLL en su espacio de memoria.
findobj module <nombre_modulo>| Argumento | Requerido | Descripción |
|---|---|---|
nombre_modulo | Si | Nombre de la DLL a buscar (ej: clr.dll) |
Ejemplos:
# Buscar procesos con .NET cargado (para execute-assembly)
findobj module clr.dll
# Buscar procesos con amsi.dll (AV/EDR)
findobj module amsi.dll
# Buscar procesos con WinHTTP (posibles procesos con conexión web)
findobj module winhttp.dllSituaciones de uso:
- Antes de usar
execute-assembly, buscar procesos conclr.dllcargado para inyectar assemblies .NET en un proceso que ya tiene el runtime. - Identificar procesos que cargan módulos de seguridad como
amsi.dllo DLLs de EDR específicas. - Encontrar procesos candidatos para inyección que ya tengan las dependencias necesarias.
findobj prochandle
Busca qué procesos tienen handles abiertos hacia un proceso específico. Útil para identificar procesos de seguridad que monitorizan procesos sensibles.
findobj prochandle <nombre_proceso>| Argumento | Requerido | Descripción |
|---|---|---|
nombre_proceso | Si | Nombre del proceso objetivo (ej: lsass.exe) |
Ejemplos:
# Qué procesos tienen handles a LSASS
findobj prochandle lsass.exe
# Qué procesos monitorizan csrss.exe
findobj prochandle csrss.exe
# Verificar si algún EDR tiene handle a nuestro proceso
findobj prochandle svchost.exeSituaciones de uso:
- Antes de intentar volcar credenciales con
hashdumponanodump, verificar qué procesos de seguridad están vigilando LSASS. - Identificar productos de EDR/AV activos que mantienen handles a procesos críticos.
- Evaluar el riesgo de detección antes de operaciones sensibles.
process conn
Muestra las conexiones de red (TCP/UDP) asociadas a un proceso específico.
process conn <pid>| Argumento | Requerido | Descripción |
|---|---|---|
pid | Si | ID del proceso |
Ejemplos:
# Ver conexiones del proceso con PID 4532
process conn 4532
# Verificar conexiones de un servicio web
process conn 1234Situaciones de uso:
- Identificar procesos que realizan conexiones a internet (posibles canales de comunicación).
- Verificar que un listener bind TCP está escuchando en el puerto correcto.
- Analizar el tráfico de red de un proceso sospechoso durante la investigación.
- Encontrar procesos con conexiones establecidas que podrían usarse como cobertura para el tráfico del agente.
procfreeze
Permite suspender y reanudar procesos completos. Congela o descongela todos los hilos de un proceso.
procfreeze freeze
Suspende todos los hilos de un proceso objetivo.
procfreeze freeze <pid>| Argumento | Requerido | Descripción |
|---|---|---|
pid | Si | ID del proceso a congelar |
procfreeze unfreeze
Reanuda todos los hilos de un proceso previamente suspendido.
procfreeze unfreeze <pid>| Argumento | Requerido | Descripción |
|---|---|---|
pid | Si | ID del proceso a descongelar |
Ejemplos:
# Congelar un proceso de AV temporalmente
procfreeze freeze 2844
# Realizar operaciones sensibles...
hashdump
# Descongelar el proceso
procfreeze unfreeze 2844Situaciones de uso:
- Suspender temporalmente procesos de EDR/AV antes de ejecutar operaciones que serían detectadas (volcado de credenciales, inyección).
- Pausar un proceso para analizar su estado sin que modifique archivos o conexiones.
- Congelar procesos de monitorización durante ventanas de operación cortas.
Advertencia: Un proceso de seguridad congelado por mucho tiempo puede generar alertas en la consola de administración del EDR/AV, ya que dejará de enviar heartbeats. Usa esta técnica solo durante operaciones breves.
Flujo de trabajo recomendado
- Usa
findobj modulepara identificar procesos candidatos para inyección. - Usa
findobj prochandlepara verificar qué procesos de seguridad están monitorizando tus objetivos. - Si es necesario, usa
procfreeze freezepara suspender temporalmente procesos de seguridad. - Realiza tus operaciones (inyección, volcado de credenciales, etc.).
- Usa
procfreeze unfreezepara restaurar los procesos suspendidos. - Usa
process connpara verificar las conexiones de red del agente inyectado.