Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
iocx — Un motor de análisis estático, extensible y determinista, que extrae IOCs de alta señal de binarios PE y texto, construido para la automatización de SOC y pipelines modernos de análisis de amenazas. | Kitploit
Herramientas/GitHubGitHub/iocx-dev/iocx
Gestión de Indicadores de Compromiso (IOC)Análisis EstáticoAnálisis de VulnerabilidadesAnálisis ForenseAnálisis de MalwareDevSecOpsAnálisis de BinariosInteligencia de AmenazasRespuesta a Incidentes
GitHubiocx-dev/iocx

iocx

Un motor de análisis estático, extensible y determinista, que extrae IOCs de alta señal de binarios PE y texto, construido para la automatización de SOC y pipelines modernos de análisis de amenazas.

28654hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Ver RepositorioSitio web
Compartir
# IOCX
### **Extracción de IOC determinista y sin riesgo para pipelines de seguridad modernos**

<p align="center">
  <img src="https://assets.kitploit.com/production/public/readmes/7470/35e58092394d24631c5bf5a2ef49c2c64bb1726cc5798d35bdaa36800597e402.gif" width="720" alt="IOCX Demo">
</p>

<p align="center"><sub>Extracción estática de IOC de un archivo PE usando la CLI de IOCX</sub></p>

<p align="center">
  <a href="https://pypi.org/project/iocx/"><img src="https://img.shields.io/pypi/v/iocx?logo=pypi&amp;logoColor=white"></a>
  <img src="https://img.shields.io/badge/tests-2802_passed-brightgreen">
  <img src="https://img.shields.io/badge/coverage-100%25-brightgreen">
  <img src="https://img.shields.io/badge/python-3.12-blue">
  <a href="https://github.com/iocx-dev/iocx/actions"><img src="https://img.shields.io/github/actions/workflow/status/iocx-dev/iocx/ci.yml?label=build"></a>
  <a href="https://github.com/iocx-dev/iocx/blob/main/LICENSE"><img src="https://img.shields.io/github/license/iocx-dev/iocx"></a>
</p>

# Proyecto Oficial IOCX

Este es el motor IOCX original para la extracción estática determinista de IOC y el análisis de PE.
Cualquier otro repositorio que use el nombre "iocx" **no está afiliado** a este proyecto.

**Enlaces oficiales:**

- PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)
- Github: [https://github.com/iocx-dev/iocx](https://github.com/iocx-dev/iocx)
- Sitio web: [https://iocx.dev/](https://iocx.dev/)

---

# Por qué IOCX importa

El malware moderno es **adversario por defecto** — malformado, evasivo y diseñado para romper extractores ingenuos.

- **Las herramientas que ignoran el binario** colapsan ante PEs malformados
- **Los sandboxes** son inseguros e inutilizables en CI/CD
- **La reproducibilidad** es esencial para pipelines automatizados

**IOCX está construido para entornos donde la corrección y el determinismo realmente importan.**

---

# El Motor IOCX

**IOCX es el motor oficial de extracción estática de IOC** — un sistema determinista y consciente del binario, construido para DFIR, automatización de SOC, seguridad en CI/CD y pipelines de threat-intel a gran escala.

A diferencia de los extractores basados solo en regex o las herramientas dependientes de sandbox, IOCX realiza:

- **análisis puramente estático**
- **riesgo de ejecución cero**
- **salida estable y determinista**
- **heurísticas probadas contra adversarios**

Es un componente central del ecosistema MalX Labs para el análisis de amenazas moderno y escalable.

---

# Prueba IOCX en 10 segundos

```bash
echo "http://malicious.example" | iocx -
```

O escanea un archivo PE de forma segura:

```bash
iocx suspicious.exe -a deep
```

---

# Por qué existe IOCX

Los equipos de seguridad enfrentan tres problemas persistentes:

1. **Los extractores de regex** se rompen ante entradas adversarias
2. **El sandboxing** es inseguro, lento e inadecuado para la automatización
3. **La mayoría de las herramientas de IOC** son inconsistentes, lentas o producen salidas sutilmente diferentes entre ejecuciones

IOCX resuelve esto con un **motor determinista y puramente estático** diseñado para la automatización, la seguridad y la escala.

---

# Lo que IOCX *no es*

IOCX intencionalmente **no** es:

- un sandbox
- una herramienta de análisis de comportamiento
- un emulador
- un motor de enriquecimiento

Nunca ejecuta código no confiable.
Nunca realiza análisis dinámico.
Es **puramente estático por diseño** — por seguridad, determinismo y compatibilidad con CI/CD.

---

# Filosofía de diseño

IOCX está diseñado para las realidades del malware moderno, no para las suposiciones de las herramientas heredadas.

### **1. Determinismo sobre ambigüedad**
Salida estable y reproducible — sin aleatoriedad, sin volatilidad.

### **2. Estático sobre dinámico**
La ejecución es insegura. El análisis estático es predecible, escalable y compatible con CI.

### **3. Ingeniería centrada en el adversario**
PEs malformados, RVAs corruptos, cadenas hostiles — IOCX los trata como entrada normal.

### **4. La estabilidad del esquema como contrato**
Los sistemas posteriores nunca deberían romperse al actualizar.

### **5. Rendimiento sin concesiones**
150–300 MB/s en texto sin procesar.
6–15 MB/s en PEs típicos.
Predecible incluso bajo la peor carga adversaria.

---

Estos compromisos se derivan de una metodología de investigación publicada para el análisis estructural de PE — construcción determinista de fixtures, disciplina de anomalía única y el comportamiento del cargador de Windows como oráculo de corrección. Consulta docs/methodology.md para la metodología completa, y [paax.dev](https://paax.dev) para la taxonomía más amplia de PE adversario y la suite comercial de fixtures.

# Qué hace diferente a IOCX

| Capacidad | **IOCX** | Extractores de IOC típicos | Herramientas de Sandbox / Dinámicas |
|-----------|-----------|------------------------|--------------------------|
| **Seguridad** | Cero ejecución, puramente estático | Solo regex, sin seguridad binaria | Ejecuta código no confiable (alto riesgo) |
| **Determinismo** | Salida totalmente determinista | No determinista bajo ruido | No determinista por diseño |
| **Conciencia del binario** | Análisis completo de PE, heurísticas | Sin soporte binario | Sí, pero inseguro + lento |
| **Resistencia a adversarios** | Probado contra PEs malformados, cadenas hostiles | Fácilmente evadible | A menudo falla o clasifica erróneamente |
| **Rendimiento** | 150–300 MB/s (texto), 6–15 MB/s (PE) | Altamente variable | Extremadamente lento |
| **Compatible con CI/CD** | Sí — seguro, determinista, rápido | Parcial | No — inseguro para pipelines |
| **Estabilidad del esquema** | Garantizada | Rara | Ninguna |

**En resumen:** IOCX está construido para la *realidad adversaria real*, no para entradas idealizadas.

---

# Casos de uso

### CI/CD y DevSecOps
- Escanear binarios antes del lanzamiento
- Detectar URLs, IPs o secretos accidentales en las compilaciones
- Aplicar barreras de seguridad con riesgo de ejecución cero

### SOC y respuesta a incidentes
- Extraer indicadores de alertas o del texto del portapapeles del analista
- Inspeccionar muestras de malware de forma segura sin ejecución
- Normalizar IOCs en JSON estructurado

### Threat Intelligence
- Procesar feeds a escala
- Analizar informes no estructurados
- Construir pipelines de enriquecimiento sobre salida determinista

### Automatización y scripting
- Canalizar logs o artefactos a través de IOCX
- Usar la API de Python para ETL o flujos de trabajo por lotes
- Extender con detectores personalizados

---

# Perfiles de rendimiento

### **1. Extracción de IOC sin procesar (Texto, Logs, Buffers)**
**150–300 MB/s** de rendimiento sostenido
Ruta rápida — sin análisis de PE.

| Detector  | Tiempo por 1 MB | Rendimiento |
|-----------|-----------|------------|
| Crypto    | 0.0037 s  | ~270 MB/s  |
| Filepaths | 0.0041 s  | ~250 MB/s  |
| IP        | 0.0065 s  | ~156 MB/s  |
| Domains   | 0.0035 s  | ~300 MB/s  |

---

### **2. Archivos PE típicos (~39 KB)**
- **0.0122 s** (típico)
- **0.0145 s** (con heurísticas)
- **6–15 MB/s** de rendimiento

---

### **3. PE denso adversario (1.5 MB)**
- **0.192 s**
- **~7.6 MB/s** de rendimiento
- Activa anomalías TLS, anomalías estructurales, patrones anti-debug

---

### **4. Motor completo (No-PE)**
- **1 MB:** 0.038 s

---

# Novedades de versiones

<details>
<summary><strong>Mostrar historial de versiones</strong></summary>
<br>

### v0.7.6.2 — Validador de tabla de importaciones

- Nuevo **validador estructural determinista de tabla de importaciones** (códigos de razón `IMPORT_*`).
- `version_info` ahora se analiza y se expone en **todos** los niveles de análisis (no solo en `-a full`), mediante una nueva proyección pública acotada.
- CLI reconstruida: salida de `--version` con marca, texto de `--help` más claro, grupos de argumentos reorganizados.
- Corregido un fallo del analizador de reubicaciones alcanzable desde cualquier entrada, un error de desplazamiento del directorio de datos PE32+ y varias caídas silenciosas de errores de exportación/recursos.
- Nueva comprobación estática de CI que evita que las etiquetas de error del analizador queden silenciosamente sin consumir por los validadores.
- Suite de pruebas: 2,136 → 2,802 pruebas.

---

### v0.7.6.1 — Validador de directorio de excepciones

- Añade validación semántica profunda del directorio de excepciones (`.pdata`) del PE; 14 nuevos códigos de razón; 15 validadores en total.
- Corrige un defecto que había estado suprimiendo hallazgos estructurales en todo el motor.
- Se descubrió que cuatro comprobaciones adicionales estaban muertas en producción: dos de ubicación de directorio, una de mapeo de sección y una de límites del directorio de recursos.
- **Visible en la salida:** los hallazgos previamente suprimidos o mal etiquetados ahora aparecerán.
- Pruebas: 1620 → 2136. Cobertura: 100%.

---

### **v0.7.6 — Expansión del validador estructural: directorios de depuración y reubicaciones**
- Dos nuevos validadores estructurales de PE - reubicaciones y depuración
- Los validadores WIN_CERTIFICATE y tls ahora obtienen la verdad estructural de analizadores de struct dedicados, independientes de pefile
- 12 nuevos códigos de razón con taxonomías de sub-razones resueltas por prioridad
- Análisis determinista a nivel de byte - sin depender de la interpretación perezosa de pefile
- 1620 pruebas con 100% de cobertura

---

### **v0.7.5 — Expansión del validador estructural**
- Cuatro nuevos validadores estructurales de PE — exportaciones, importaciones de carga diferida, VS_VERSIONINFO y jerarquía de recursos
- 24 nuevos códigos de razón con taxonomías de sub-razones resueltas por prioridad
- Análisis determinista a nivel de byte — sin depender de la interpretación perezosa de pefile
- Metadatos relevantes para la seguridad — características de DLL, decodificación de nombre de subsistema/máquina, entropía por recurso
- 1370 pruebas con 100% de cobertura — verificadas de extremo a extremo contra `dumpbin` en binarios reales

---

### **v0.7.4.1 — Hotfix de compatibilidad con Windows**
- Se eliminó la dependencia `python-magic`, que causaba fallos de importación en sistemas Windows
- Se añadió un detector de tipo de archivo en Python puro para portabilidad total multiplataforma
- Mejora de la lógica de detección de PE mediante la aplicación de una validación de PE estricta compatible con Windows.
- Sin cambios de comportamiento en la extracción de IOC
- La corrección de consistencia de `--min-length` está planificada para **v0.7.5**

---

### **v0.7.4 — Análisis avanzado de directorios**
- Análisis y validación completos del **Load Config Directory**
- Metadatos extendidos del Optional Header para heurísticas posteriores
- Nuevas heurísticas de GuardCF, cookie, anomalías
- Análisis de PE más rápido
- 99 fixtures de PE en la suite de pruebas; 45 totalmente validadas según especificación

---

### **v0.7.3 — Corrección estructural y heurísticas deterministas**
- Endurecimiento importante de todos los validadores estructurales de PE
- Comportamiento determinista y estable en snapshots
- ReasonCodes claros y consistentes
- Heurísticas más sólidas construidas sobre la verdad estructural

---

### **v0.7.2 — Corrección de dependencias**
- Se añadió la dependencia faltante `idna`
- Sin cambios de comportamiento ni de esquema

---

### **v0.7.1 — Expansión de heurísticas adversarias y endurecimiento del analizador**
- Seis nuevas heurísticas de PE
- Corpus de PE adversario ampliado
- Extractores de dominio/URL/crypto/hash endurecidos
- Salida validada por snapshots deterministas

---

### **v0.7.0 — Heurísticas deterministas y base de pruebas adversarias**
- Heurísticas deterministas
- Muestras adversarias de capa 3
- Pruebas de contrato de snapshots
- Corrección de fallo en Rich Header

---

### **v0.6.0 — Esquema de salida estable y metadatos deterministas**
- Esquema JSON totalmente estable
- Metadatos de PE normalizados
- Niveles de análisis formalizados

---

### **v0.5.0 — Niveles de análisis, análisis de secciones de PE, indicios de ofuscación**
- Nuevo sistema de niveles de análisis
- Análisis estructural de PE
- Heurísticas de ofuscación

---

### **v0.4.0 — Arquitectura de plugins**
- Motor de reglas preparado para plugins
- Flujo de detección unificado

---

### **v0.3.0 — Detección de IOC de criptomonedas**
- Detección de carteras Ethereum y Bitcoin

---

### **v0.2.0 — Detección de IP de alta fiabilidad**
- Mejoras importantes en IPv4/IPv6

</details>

---

# Inicio rápido

### Instalar
```bash
pip install iocx
```

### Extraer IOCs de un archivo
```bash
iocx suspicious.exe
```

### Extraer de texto
```bash
echo "Visit http://bad.example.com" | iocx -
```

### Habilitar el análisis de PE
```bash
iocx suspicious.exe -a
```

### API de Python
```python
from iocx.engine import Engine

engine = Engine()
results = engine.extract("suspicious.exe")
print(results)
```

---

# Ejemplo de salida

> IOCX produce JSON estructurado y determinista que incluye IOCs, metadatos de PE, análisis de secciones, heurísticas e indicadores de ofuscación.
>
> El ejemplo a continuación es una salida abreviada de una muestra de PE adversaria real. Demuestra la forma y la profundidad del esquema mientras mantiene el tamaño manejable para fines de documentación.

<details>
<summary><strong>Mostrar ejemplo de salida JSON</strong></summary>

```json
{
    "file": "heuristic_rich.full.exe",
    "type": "PE",
    "iocs": {
        "urls": ["http://not-a-real-domain.test/payload"],
        "domains": ["example-malware.com"],
        "ips": ["192.0.2.123"],
        "hashes": [
            "abcd1234ef567890abcd1234ef567890",
            "1234567890",
            "3333333333333333"
        ],
        "filepaths": [
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/crtexe.c",
            "/usr/x86_64-w64-mingw32/include",
            "/usr/src/mingw-w64-11.0.1-3build1/mingw-w64-crt/crt/pseudo-reloc.c"
        ]
    },
    "metadata": {
        "file_type": "PE",
        "imports": ["KERNEL32.dll", "msvcrt.dll", "USER32.dll"],
        "sections": [
            ".text", ".data", ".rwx", ".rdata",
            "UPX0", ".pdata", ".xdata", ".tls"
        ],
        "resources": [],
        "resource_strings": [],
        "delayed_imports": [],
        "bound_imports": [],
        "exports": [],
        "signatures": [],
        "has_signature": false,
        "tls": {
            "start_address": 5368758272,
            "end_address": 5368758280,
            "callbacks": 5368754232
        },
        "header": {
            "entry_point": 5088,
            "image_base": 5368709120,
            "machine": "AMD64",
            "subsystem": "Windows GUI"
        },
        "optional_header": {
            "section_alignment": 4096,
            "file_alignment": 512,
            "size_of_image": 155648
        }
    },
    "analysis": {
        "sections": [
            { "name": ".text", "entropy": 5.92 },
            { "name": ".rwx", "entropy": 0 },
            { "name": "UPX0", "entropy": 0.34 },
            { "name": ".rdata", "entropy": 4.03 }
        ],
        "obfuscation": [
            {
                "value": "abnormal_section_layout_virtual_only",
                "category": "obfuscation_hint",
                "metadata": {
                    "section": ".bss",
                    "raw_size": 0,
                    "virtual_size": 384
                }
            }
        ],
        "extended": [
            {
                "value": "summary",
                "category": "pe_metadata",
                "metadata": {
                    "dll_count": 3,
                    "import_count": 45,
                    "resource_count": 0,
                    "has_tls": true,
                    "has_signature": false
                }
            }
        ],
        "heuristics": [
            {
                "value": "packer_suspected",
                "metadata": {
                    "reason": "packer_section_name",
                    "section": "UPX0"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "anti_debug_api_import",
                    "dll": "kernel32.dll",
                    "function": "CheckRemoteDebuggerPresent"
                }
            },
            {
                "value": "anti_debug_heuristic",
                "metadata": {
                    "reason": "timing_api_import",
                    "dll": "kernel32.dll",
                    "function": "GetTickCount"
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "section_overlaps_headers",
                    "section": ".bss",
                    "raw_address": 0,
                    "size_of_headers": 1536
                }
            },
            {
                "value": "pe_structure_anomaly",
                "metadata": {
                    "reason": "data_directory_overlap",
                    "directory_a": "IMAGE_DIRECTORY_ENTRY_IMPORT",
                    "directory_b": "IMAGE_DIRECTORY_ENTRY_IAT"
                }
            }
        ]
    }
}
```

</details>

---

# Arquitectura

```
iocx/
├── examples/
├── docs/
├── tests/
└── iocx
    ├── detectors/
    ├── parsers/
    ├── plugins/
    ├── cli/
    └── analysis/
```

---

# Ecosistema de plugins y extensibilidad

IOCX está diseñado para ser extendido de forma segura y predecible.
Los plugins son **ciudadanos de primera clase**, validados por las mismas pruebas de snapshot deterministas que el motor principal.

Puedes construir:

- detectores de IOC personalizados
- reglas regex personalizadas
- plugins conscientes del binario
- heurísticas internas
- extractores específicos de pipeline

Consulta:

- `docs/specs/overlap-suppression.md`
- `docs/specs/plugin-authoring-guidelines.md`

---

# Visión general del ecosistema

IOCX es más que un único binario — es un ecosistema modular:

- **Motor principal** — extracción determinista de IOC + análisis de PE
- **Sistema de plugins** — detectores personalizados y módulos de análisis
- **Corpus adversario** — PEs malformados, cadenas hostiles, muestras de fuzzing
- **Framework de pruebas de snapshot** — garantiza una salida determinista
- **Benchmarks de rendimiento** — aplicados en CI
- **Suite de documentación** — especificaciones, contratos y guías de plugins

---

# ¿Quién usa IOCX?

IOCX se usa en:

- equipos de DFIR
- pipelines de automatización de SOC
- barreras de seguridad en CI/CD
- plataformas de threat-intel
- laboratorios de investigación de malware
- equipos de ingeniería de seguridad

Dondequiera que los indicadores necesiten extraerse de forma **segura**, **determinista** y **a escala**, IOCX encaja.

---

# Pruebas seguras (sin necesidad de malware)

Todas las muestras de prueba son:

- Sintéticas
- Benignas
- Públicamente seguras (EICAR, GTUBE)
- Diseñadas para evitar la manipulación accidental de malware

---

# Garantías de rendimiento

IOCX aplica umbrales de rendimiento estrictos en CI para garantizar:

- Sin bloqueos por backtracking de regex
- Sin ralentizaciones patológicas
- Rendimiento estable entre versiones

Consulta:

- `docs/performance.md`

---

# Identidad y nomenclatura del proyecto

El nombre **IOCX** se refiere exclusivamente al motor oficial publicado en:

- PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)
- GitHub: [https://github.com/iocx-dev/iocx](https://github.com/iocx-dev/iocx)

### No permitido
- Repositorios llamados `iocx`
- Herramientas llamadas "iocx" que no formen parte de este proyecto
- Implicar afiliación sin permiso

### Permitido
- `iocx-<plugin>`
- `iocx-extension-<name>`
- `iocx-detector-<feature>`

---

# Repositorios oficiales de IOCX

- Motor principal: [https://github.com/iocx-dev/iocx](https://github.com/iocx-dev/iocx)
- Meta-repositorio de plugins: [https://github.com/iocx-dev/iocx-plugins](https://github.com/iocx-dev/iocx-plugins)
- Documentación: [https://github.com/iocx-dev/iocx/tree/main/docs/specs](https://github.com/iocx-dev/iocx/tree/main/docs/specs)
- Paquete PyPI: [https://pypi.org/project/iocx/](https://pypi.org/project/iocx/)

---

# Hoja de ruta

El desarrollo de IOCX se centra en la estabilidad, la extensibilidad y una cobertura más profunda del análisis estático.
Los elementos a continuación representan áreas de trabajo y exploración en curso.

- **Heurísticas de PE extendidas** (comportamiento de carga diferida, anomalías estructurales, patrones de reubicación)
- **Reglas de supresión selectiva** para flujos de trabajo de OSINT, DFIR y threat-intel
- **Extracción de metadatos de ELF y Mach-O**
- **Modo de análisis por lotes** para flujos de trabajo con múltiples artefactos
- **Modos de salida estilo YARA** y hooks de enriquecimiento
- **Análisis estático agnóstico del binario**
- **Ecosistema de plugins multiplataforma**
- **Bindings de lenguaje** para Rust, Go y Node.js

---

# Contribuir

Damos la bienvenida a:

- Nuevos detectores
- Mejoras en los analizadores
- Actualizaciones de documentación
- Muestras adversarias sintéticas

Consulta `CONTRIBUTING.md` para las directrices.

---

# Seguridad

Si descubres un problema de seguridad, **no abras un issue en GitHub**.
Sigue las instrucciones en `SECURITY.md`.

---

# Licencia

Licencia MPL-2.0 — consulta `LICENSE`.
Descargar herramienta