0x75: Audit and Telemetry Chain
En mi laboratorio descarto el enfoque tradicional de auditoría de compromiso orientada a entregables de gestión, es mi laboratorio hago lo que quiero ¿No?
He diseñado este ejercicio como una tarea de estudio pura y porque no me puedo estar quieto… para mapear y comprender la superficie real de un entorno sin introducir tráfico destructivo, sin suposiciones y sin alterar el estado del sistema.
El método operativo requiere iniciar la recolección en frío, fuera del perímetro físico.
Limito el vector inicial a la captura pasiva del espectro radioeléctrico a pie de calle, canalizo la ingestión hacia la radiografía interna del host local sin mutar binarios, normalizo la telemetría mediante contratos estrictos y cierro el ciclo sometiendo a auditoría formal al propio LLM local que asiste el triaje.
La finalidad es correlacionar todas mis herramientas creadas por mi y que están disponibles en Github y en la home de esta misma página
0x01: El Contrato de Datos (.jsonl)
Para evitar la degradación del pipeline por diferencias de esquema entre herramientas, he establecido un contrato inquebrantable basado en JSON.
Si un emisor viola la estructura, el visor descarta el parseo estructurado y degrada a evento RAW que es el mal menor.
La corrección se aplica en la fuente, nunca parcheando el motor de ingesta.
{"ts": "2026-09-16 21:40:41", "level": "ERR", "msg": "[HIGH] Proceso sin ruta - Proceso 'Sysmon64' (PID: 5212) ejecutandose sin ruta de archivo", "source": "ps-audit"}
| Campo | Tipo | Especificación Operativa |
|---|---|---|
| ts | string | Timestamp ISO canónico (YYYY-MM-DD HH:MM:SS). |
| level | enum | CRIT, ERR, WRN, INF. Mapeo: CRITICAL→CRIT, HIGH→ERR, MEDIUM→WRN, LOW→INF. |
| msg | string | Cadena estructurada con formato [SEVERITY] Categoria - Detalle. |
| source | string | Identificador del emisor (ej. ps-audit, rf-marauder). |
0x02: Reconocimiento Perimetral Pasivo (Ciber Radar)
He ejecutado la fase de campo usando mi Ciber Radar v2.1 sobre un terminal Android sin acceso root.

Ciber Radar solo trabaja exclusivamente en modo escucha.

El resultado del barrido genera un JSON (2b6-11f1-bf2b-0da2f819c771.json) que consolida la telemetría, por resumir:
- 49 redes WiFi: catalogadas por BSSID, ESSID, seguridad y RSSI.
- 12 balizas BLE: identificadas por MAC con RSSI recibido (entre -54 y -94 dBm); la mayoría sin nombre publicable.
0x03: Ingesta de Espectro RF (M5Stick + Spectra)
Ya en el perímetro del laboratorio, conecto un microcontrolador M5Stick con firmware Marauder configurado estrictamente en modo monitor pasivo.
Descarto cualquier inyección de tramas de desautenticación para mantener intacto el espectro.

El microcontrolador vuelca el flujo serial en crudo hacia scan.log.
He levantado el servicio Spectra v3.0.1 en el puerto local :8000 con fuente de archivo (modo demo sobre la captura), el cual procesa las tramas en tiempo real y las emite vía Server-Sent Events (SSE) hacia la consola web, permitiéndome correlacionar intervalos de balizas entre el entorno móvil y el punto fijo. La ingesta por serie directa (--source serial) se activa en la fase de campo con el stick físico.
0x04: Auditoría Local de Host (Auditing_with_PowerShell)
Para la radiografía interna de la estación Windows he desplegado Auditing_with_PowerShell v3 bajo mi propio entorno virtual aislado en C:\Users\Sammi\Auditing_with_PowerShell, exponiendo su API en el puerto local :8502.

He configurado la ejecución secuencial de módulos de inspección no intrusiva:
- Enumeración de privilegios
- Socket hunting
- Persistencia en registro
- Binarios LOLBAS
- Verificación de firmas en kernel.
Tras un ciclo de ejecución de más de 4 minutos, el endpoint de exportación genera el flujo normalizado en JSON
// Endpoint: /api/audits/{id}/download/log {“ts”: “2026-09-16 21:39:57”, “level”: “INF”, “msg”: “Auditoria iniciada: sistema ANALISTA, usuario Sammi, privilegios Administrador”, “source”: “ps-audit”} {“ts”: “2026-09-16 21:40:41”, “level”: “ERR”, “msg”: “[HIGH] Proceso sin ruta - Proceso ‘Sysmon64’ (PID: 5212) ejecutandose sin ruta de archivo”, “source”: “ps-audit”} {“ts”: “2026-09-16 21:44:35”, “level”: “ERR”, “msg”: “[HIGH] Driver sin firma digital - Driver cargado ‘GPU-Z-v8’ (\??\C:\Users\Sammi\AppData\Local\Temp\GPU-Z-v8.sys) con firma: UnknownError”, “source”: “ps-audit”} {“ts”: “2026-09-16 21:44:41”, “level”: “INF”, “msg”: “Auditoria finalizada: 10/10 modulos, 2 amenazas (CRITICAL 0, HIGH 2, MEDIUM 0, LOW 0), riesgo MEDIO”, “source”: “ps-audit”}
ALERTAS
El pipeline ha aislado dos anomalías catalogadas como HIGH (ERR):
- Evasión de ruta de proceso: Proceso Sysmon64 (PID 5212) ejecutándose sin puntero a archivo binario válido en disco.
- Carga de driver no firmado: Controlador GPU-Z-v8.sys alojado en el directorio temporal (%TEMP%) con estado de firma digital roto/anómalo.
0x05: Mesa de Triaje y Correlación (Visor + Sec-Dashboard)
He canalizado la ingesta del archivo unified.jsonl hacia el Visor de Logs Unificado en el puerto :8765.

Mediante validación por CSRF y whitelist de formato, el motor indexa el archivo instantáneamente con encoding utf-8-sig sin recurrir a procesamiento en texto plano.
Desde aquí, la arquitectura enlaza con dos componentes críticos:
- Sec-Dashboard (Puerto :8444): El tablero donde convergen los emisores: recibe el JSON de campo de Ciber Radar, ingresa por sourcetypes (
powershell:audit,wifi:marauder,m5stick:networks) y puede ejecutar perfiles de pipeline (Fast, Deep, Nuclear) para cruzar eventos temporales de radiofrecuencia con alertas del host. - Triaje Asistido Local: El visor integra endpoints (
/api/analyze,/api/diagnose) comunicados con un LLM ejecutándose estrictamente en loopback (127.0.0.1). Cero datos abandonan la memoria del laboratorio.

0x06: Auditoría Adversarial del Asistente (CERBERUS)
Yo no confío en componentes que no puedan ser verificados
He implementado CERBERUS (corriendo en el puerto :8599 con llama.cpp local) para evaluar matemáticamente la fiabilidad del modelo de lenguaje que ejecuta el diagnóstico.

El proceso de benchmarking aplica una batería de pruebas automatizada
- Inyección de prompts canónicos clasificados según la matriz MITRE ATT&CK (Discovery, Persistence, Privilege Escalation, Defense Evasion).
- Evaluación sintáctica y semántica determinista sobre las respuestas devueltas por el modelo.
- Intervención de un juez sintético secundario únicamente en discrepancias de frontera.
- Generación de la puntuación final de daño por táctica (
harm_final, merge conservador), el CSV de tácticas y el informe reproducible (MD/PDF/JSON/CSV).
APUNTE DE DISEÑO
-
No he incluido a Splunk en esta fase ya que se complicaba mucho.
-
El triaje inicial debe ser ágil, determinista y local.
-
La cadena de custodia de la telemetría se mantiene íntegra desde la onda electromagnética capturada en la acera hasta la inferencia en los tensores del modelo local.
“Security is not a product, it’s a mindset.”
[ EOF ]