IntermedioProcmonProcess HackerAPI Monitormonitorizaciónanálisis dinámicoherramientas

Procmon, Process Hacker y API Monitor: Monitorización en Tiempo Real

Guía práctica de herramientas de monitorización para análisis dinámico de malware. Process Monitor para I/O y registro, Process Hacker para procesos y memoria, API Monitor para llamadas a APIs, y los filtros que todo analista necesita.

MalwareIntel Research··7 min lectura
Serie: Entornos de Análisis — Parte 8

Tres herramientas, tres perspectivas

El análisis dinámico requiere ver el sistema desde múltiples ángulos. Procmon muestra la actividad de I/O (archivos, registro). Process Hacker muestra el estado de procesos y memoria. API Monitor muestra las llamadas a funciones de Windows. Juntas, proporcionan una imagen completa de lo que el malware hace en el sistema.

Process Monitor (Procmon)

Qué monitoriza

Procmon captura en tiempo real toda la actividad del sistema en cuatro categorías:

CategoríaIconoEjemplo de eventos
File SystemDiscoCreateFile, ReadFile, WriteFile, DeleteFile, QueryDirectory
RegistryRegistroRegCreateKey, RegSetValue, RegQueryValue, RegDeleteKey
ProcessProcesoProcess Create, Process Exit, Thread Create, Load Image
NetworkRedTCP Connect, TCP Send, TCP Receive, UDP Send

Filtros para malware analysis

El sistema genera miles de eventos por segundo. Sin filtros, es imposible encontrar lo relevante.

Filtro básico: solo actividad del malware

Process Name | is | sample.exe | Include

Filtros avanzados para detectar comportamiento malicioso:

# Persistencia en registro
Operation | is | RegSetValue | Include
Path | contains | CurrentVersion\Run | Include

# Archivos creados
Operation | is | CreateFile | Include
Result | is | SUCCESS | Include

# DLLs cargadas (injection detection)
Operation | is | Load Image | Include

# Conexiones de red
Operation | begins with | TCP | Include

# Procesos hijos
Operation | is | Process Create | Include

Excluir ruido del sistema:

Process Name | is | svchost.exe | Exclude
Process Name | is | MsMpEng.exe | Exclude
Process Name | is | SearchIndexer.exe | Exclude
Process Name | is | System | Exclude
Path | begins with | C:\Windows\Prefetch | Exclude
Path | begins with | C:\$Extend | Exclude

Workflow con Procmon

1. Abrir Procmon (ya incluido en FLARE VM)
2. Detener captura (Ctrl+E)
3. Limpiar eventos (Ctrl+X)
4. Configurar filtros (Ctrl+L)
5. Iniciar captura (Ctrl+E)
6. Ejecutar malware
7. Esperar 2-5 minutos
8. Detener captura
9. Analizar:
   - Tools > Process Tree: ver arbol de procesos creados
   - Filtrar por operacion para ver archivos/registro/red
   - Buscar strings (Ctrl+F): C2 URLs, paths
10. File > Save: guardar como PML o CSV para analisis posterior

Trucos avanzados

# Ver solo operaciones exitosas de escritura
Operation | is | WriteFile | Include
Result | is | SUCCESS | Include

# Detectar inyeccion de codigo
# Buscar CreateFile + WriteProcessMemory en secuencia
# O filtrar por Load Image en procesos que no deberian cargar esa DLL

# Destacar eventos importantes (colores)
# Highlight: Operation is CreateFile, Color = Yellow
# Highlight: Path contains \Run\, Color = Red

# Copiar eventos al portapapeles con Ctrl+C (incluyendo stack trace)
# El stack trace muestra la cadena de funciones que llevo a la operacion

Process Hacker / System Informer

Capacidades principales

CapacidadDescripciónUso en malware analysis
Process treeVisualización jerárquica parent-childVer qué proceso creó qué. Malware creando cmd.exe/powershell.exe
DLL listDLLs cargadas por cada procesoDetectar DLL injection (DLL inesperada en proceso legítimo)
HandlesHandles abiertos (archivos, registro, mutexes)Ver mutex del malware, archivos abiertos
MemoryRegiones de memoria del procesoBuscar strings, PE headers inyectados en memoria RWX
NetworkConexiones TCP/UDP por procesoVer C2 connections directamente vinculadas al proceso
ThreadsThreads del proceso con start addressDetectar threads inyectados (start address fuera del módulo principal)
ServicesServicios asociados al procesoDetectar servicios maliciosos
GPUUso de GPU por procesoDetectar cryptominers GPU

Detección de inyección con Process Hacker

1. Abrir Process Hacker
2. Buscar procesos sospechosos:
   - svchost.exe con conexiones de red inusuales
   - explorer.exe con threads con start address en regiones RWX
   - Procesos con nombre que imita procesos del sistema

3. Click derecho en proceso sospechoso > Properties

4. Tab "Modules":
   - Buscar DLLs sin firma digital
   - Buscar DLLs cargadas desde ubicaciones no estandar (%TEMP%, %APPDATA%)

5. Tab "Memory":
   - Buscar regiones con proteccion RWX (Read-Write-Execute)
   - Click derecho > "Strings": buscar URLs, IPs, comandos

6. Tab "Threads":
   - Start address: debe apuntar a un modulo cargado
   - Si apunta a una direccion que no pertenece a ningun modulo: inyeccion

7. Tab "Network":
   - Conexiones del proceso a IPs externas

Memory scanning

1. En Process Hacker: click derecho en proceso > Properties > Memory
2. Buscar regiones con Protection = RWX (sospechoso)
3. Click derecho en la region > "Strings"
4. Buscar: URLs, IPs, paths, mensajes del malware
5. Si encuentras un PE header (MZ) en una region RWX:
   - Es muy probable que sea codigo inyectado
   - Click derecho > "Save": guardar la region para analisis

API Monitor

Concepto

API Monitor (rohitab.com) intercepta y registra llamadas a APIs de Windows con parámetros completos y valores de retorno. Es como poner un breakpoint en cada API sin el overhead de un debugger.

Configuración para malware

1. Abrir API Monitor
2. Seleccionar APIs a monitorizar:
   - API Filter > expandir "Windows" 
   - Marcar: "File Management", "Registry", "Process and Thread",
     "Winsock", "Cryptography", "Memory Management"

3. Monitorizar proceso:
   - File > Monitor New Process > seleccionar sample.exe
   - O Attach to running process

4. El malware se ejecuta y API Monitor registra cada API call:
   - Nombre de la funcion
   - Parametros (incluyendo strings, buffers, flags)
   - Valor de retorno
   - Thread ID
   - Timestamp

APIs clave para monitorizar

File:     CreateFileW, WriteFile, DeleteFileW, MoveFileW
Registry: RegCreateKeyExW, RegSetValueExW, RegDeleteKeyW
Process:  CreateProcessW, OpenProcess, CreateRemoteThread
Memory:   VirtualAllocEx, WriteProcessMemory, VirtualProtect
Network:  connect, send, recv, InternetConnectW, HttpSendRequestW
Crypto:   CryptEncrypt, CryptDecrypt, BCryptEncrypt
Security: AdjustTokenPrivileges, OpenProcessToken
Debug:    IsDebuggerPresent, CheckRemoteDebuggerPresent

Output ejemplo

CreateFileW("C:\Users\Public\payload.exe", GENERIC_WRITE, ...) = 0x00000124
WriteFile(0x00000124, buffer=0x00A40000, size=245760, ...) = TRUE
CloseHandle(0x00000124) = TRUE

RegCreateKeyExW(HKCU, "Software\Microsoft\Windows\CurrentVersion\Run", ...) = 0
RegSetValueExW(HKCU\...\Run, "UpdateService", REG_SZ, "C:\Users\Public\payload.exe") = 0

connect(socket=0x188, addr=192.168.1.100:4444, ...) = 0
send(socket=0x188, buffer="HOST:WIN10-PC\r\n", size=16, ...) = 16

Este output revela el comportamiento completo: escribe un archivo, crea persistencia en Run key, y conecta al C2.

Comparativa de las tres herramientas

AspectoProcmonProcess HackerAPI Monitor
FocoActividad de I/OEstado de procesosLlamadas a APIs
VistaTimeline de eventosSnapshot del sistemaLog de API calls
FiltradoExcelenteBásicoPor API group
Impacto rendimientoMedioBajoAlto (mucho logging)
Detección por malwareSí (proceso conocido)Sí (proceso conocido)
Mejor paraVer QUÉ hace el malwareVer DÓNDE operaVer CÓMO lo hace
Incluido en FLARE VM

Workflow combinado

1. Process Hacker: abierto para monitorizar arbol de procesos
2. Procmon: capturando con filtros configurados
3. Ejecutar malware
4. Process Hacker: ver procesos nuevos, conexiones
5. Procmon: ver archivos y registro modificados
6. Si necesario: API Monitor para detalle de API calls especificas
7. Wireshark: trafico de red completo

Mapeo MITRE ATT&CK

HerramientaTécnicas que revela
Procmon (archivos)T1105 (Ingress Tool Transfer), T1070 (Indicator Removal)
Procmon (registro)T1547.001 (Run Keys), T1543.003 (Services)
Procmon (procesos)T1055 (Process Injection), T1059 (Scripting)
Process Hacker (memoria)T1055 (inyección visible en memoria RWX)
Process Hacker (red)T1071 (C2 por proceso)
API MonitorT1003 (credential APIs), T1056 (input capture APIs)

Fuentes y referencias

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.