Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
standalone_tdo — Extrae Inteligencia de Amenazas Cibernéticas (CTI) estructurada de documentos PDF, DOCX y TXT mediante LLMs. Genera flujos de ataque MITRE ATT&CK, oportunidades de detección y grafos completos de relaciones entre entidades. | Kitploit
Herramientas/GitHubGitHub/blevene/standalone_tdo
Análisis de VulnerabilidadesRecopilación de InformaciónInteligencia de AmenazasAprendizaje AutomáticoPapers e InvestigaciónAprendizaje y Educación
GitHubblevene/standalone_tdo

standalone_tdo

Extrae Inteligencia de Amenazas Cibernéticas (CTI) estructurada de documentos PDF, DOCX y TXT mediante LLMs. Genera flujos de ataque MITRE ATT&CK, oportunidades de detección y grafos completos de relaciones entre entidades.

Ver Repositorio
43hace 8 mesesAún no revisado

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 →
Compartir

Extractor Independiente TDO

Una herramienta de línea de comandos potente e independiente para extraer Inteligencia de Amenazas Cibernéticas (CTI) de documentos mediante Modelos de Lenguaje de Gran Tamaño con capacidades avanzadas de salida estructurada.

🚀 Características

  • Soporte de documentos multi-formato: archivos PDF, DOCX, TXT y Markdown
  • Integración avanzada de LLM: modelos de Google Gemini con salida estructurada y análisis de respaldo automático
  • Esquema CTI integral: 12 tipos de entidades y 24 tipos de relaciones con propiedades enriquecidas
  • Generación de oportunidades de detección: crea reglas de detección de amenazas accionables respaldadas por evidencia
  • Síntesis de flujos de ataque: genera diagramas de flujo MITRE ATT&CK basados en evidencia
  • Fiabilidad de la salida estructurada: esquemas Pydantic con una tasa de éxito del 100 % en el análisis JSON
  • Procesamiento en paralelo: procesa varios archivos simultáneamente con seguimiento del progreso
  • Portátil y autocontenido: dependencias mínimas con configuración basada en variables de entorno

📋 Inicio rápido

1. Instalación

root@kitploit:~
# Clone or download the standalone-tdo folder
cd standalone-tdo

# Create virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

2. Configuración

La herramienta utiliza variables de entorno cargadas desde un archivo .env para su configuración:

root@kitploit:~
# Copy the example configuration
cp env.example .env

# Edit .env with your settings
# Required variables:
GEMINI_API_KEY=your-google-ai-api-key-here
GEMINI_MODEL=gemini-2.5-flash

Cómo obtener una clave de API de Gemini:

  1. Visita Google AI Studio
  2. Crea una nueva clave de API
  3. Copia la clave en tu archivo .env

Modelos disponibles:

  • gemini-2.5-flash-preview-05-20 (recomendado: rápido y rentable)
  • gemini-2.5-pro-preview-06-05 (más potente, más lento)

3. Uso básico

root@kitploit:~
# Process a single file with all features
python tdo_bulk.py report.pdf --flow --opps

# Process multiple files
python tdo_bulk.py file1.pdf file2.docx file3.txt

# Process all files in a directory with parallel workers
python tdo_bulk.py reports/ -j 4

# Generate comprehensive analysis with evaluation
python tdo_bulk.py report.pdf --flow --opps --eval-opps

🎯 Referencia de línea de comandos

root@kitploit:~
usage: tdo_bulk.py [options] FILE [FILE ...]

Positional Arguments:
  FILE                  One or more files or directories to process

Core Options:
  -o, --output DIR      Output directory (default: ./extracted_data)
  --csv FILE            Export summary to CSV file
  -j, --jobs N          Number of parallel workers (default: 1)
  --retries N           LLM retry count (default: 2)
  --backoff SEC         Exponential back-off base (default: 1.5)

Analysis Features:
  --flow                Generate Attack-Flow JSON
  --opps                Generate Threat Detection Opportunities
  --eval-opps           Evaluate detection opportunities quality
  --debug-opps          Show debug information for opportunity generation

Output Control:
  -q, --quiet           Minimal console output
  -v, --verbose         Debug-level logging
  -h, --help            Show help message and exit

Comandos de ejemplo

root@kitploit:~
# Basic CTI extraction
python tdo_bulk.py threat_report.pdf

# Full analysis with all features
python tdo_bulk.py apt_report.pdf --flow --opps --eval-opps

# Batch processing with parallel workers
python tdo_bulk.py reports_folder/ -j 8 --flow --opps

# Export results to CSV
python tdo_bulk.py *.pdf --csv results.csv

# Quiet mode for automation
python tdo_bulk.py reports/ -q -o /var/soc/cti --opps

📊 Archivos de salida

Para cada archivo procesado, la herramienta genera:

Salidas principales

  • {filename}_extracted.json: datos CTI estructurados con un esquema integral
  • {filename}_{timestamp}.md: informe Markdown legible con todo el análisis

Salidas opcionales (con flags)

  • JSON de flujo de ataque: estructura de flujo MITRE ATT&CK basada en evidencia (con --flow)
  • Oportunidades de detección: reglas de detección accionables con evidencia (con --opps)

🔍 Descripción general del esquema CTI

Tipos de entidades (12 tipos)

Tipo de entidadDescripciónPropiedades clave
ThreatActorGrupos de amenazas cibernéticasaliases, primary_motivation, first_seen
ToolSoftware legítimofamily, capabilities, kill_chain_phases
MalwareSoftware maliciosofamily, capabilities, first_seen, last_seen
TechniqueTécnicas MITRE ATT&CKid (T1234), description, kill_chain_phases
TacticTácticas MITRE ATT&CKid (TA0001), description
InfrastructureDirecciones IP, dominios, URLtype, tags, first_seen, last_seen
IndicatorHashes de archivos, patronesvalue, pattern, valid_from, valid_until
VulnerabilityEntradas CVEid, cvss_score, affected_software
CampaignCampañas de ataque con nombreobjective, status, first_seen
IdentityOrganizaciones objetivotype, description
CourseOfActionMitigaciones, parchestype, description
SourceProcedencia del documento, ,

Tipos de relaciones (24 tipos)

Relaciones de atribución y de actor:

  • USES_TOOL, USES_TECHNIQUE, CONDUCTS, ATTRIBUTED_TO, TARGETS

Relaciones técnicas:

  • TOOL_IMPLEMENTS_TECHNIQUE, HOSTS_ON, COMMUNICATES_WITH, VARIANT_OF
  • DROPS, DOWNLOADS, INDICATES, OBSERVED_ON, EXPLOITS

Relaciones avanzadas:

  • MITIGATES, DETECTS, IS_SUBTECHNIQUE_OF, FLOW_CONTAINS_STEP
  • FLOW_USED_BY_ACTOR, OBSERVES, SOURCED_FROM

Todas las relaciones admiten propiedades como confidence, source, first_seen, last_seen.

💡 Oportunidades de detección

La herramienta genera oportunidades de detección basadas en evidencia con:

Características principales

  • Mapeo de técnicas: enlaces a técnicas MITRE ATT&CK específicas
  • Artefactos observables: indicadores específicos para detectar
  • Patrones de comportamiento: secuencias y patrones a monitorear
  • Citas de evidencia: citas directas de los informes de origen
  • Puntuaciones de confianza: evaluación de fiabilidad (0.0-1.0)
  • Evaluación de calidad: puntuación automática con desglose de criterios

Ejemplo de salida

root@kitploit:~
{
  "id": "opp-001",
  "name": "Detect PowerShell Process Injection",
  "technique_id": "T1055",
  "artefacts": ["powershell.exe with WriteProcessMemory calls"],
  "behaviours": ["Process injection into legitimate processes"],
  "rationale": "APT groups commonly use PowerShell for process injection",
  "confidence": 0.8,
  "source": "PowerShell used for process injection (T1055)",
  "evidence": [
    "• PowerShell executes WriteProcessMemory calls (line 45)",
    "• Relationship: ThreatActor USES_TECHNIQUE T1055"
  ]
}

🔗 Síntesis de flujos de ataque

Los flujos de ataque mejorados proporcionan:

  • Orden basado en evidencia: pasos respaldados por evidencia temporal y causal
  • Referencias a entidades: cada paso hace referencia a entidades CTI extraídas
  • Razonamiento explícito: justificación del orden de los pasos con citas
  • Cobertura integral: hasta 25 pasos que cubren todo el ciclo de vida del ataque

Ejemplo de flujo de ataque

root@kitploit:~
{
  "flow": {
    "label": "AttackFlow",
    "pk": "attack-flow--uuid",
    "properties": {
      "name": "APT29 Multi-stage Attack",
      "description": "Sophisticated spear-phishing to data exfiltration flow"
    }
  },
  "steps": [
    {
      "order": 1,
      "entity": {"label": "Technique", "pk": "T1566.001"},
      "description": "Spear-phishing attachment delivery",
      "reason": "Initial access method cited in report section 2.1"
    }
  ]
}

🏗️ Descripción general de la arquitectura

Componentes principales

🎯 CLI principal (tdo_bulk.py)

  • Punto de entrada con análisis de argumentos y validación del entorno
  • Carga la configuración .env mediante python-dotenv
  • Orquesta el procesamiento masivo con seguimiento del progreso

⚙️ Ejecutor por lotes (tdo_bulk_runner.py)

  • Gestiona el procesamiento en paralelo con ThreadPoolExecutor
  • Coordina las etapas del proceso de extracción
  • Maneja las devoluciones de llamada de progreso y la recuperación de errores

🧠 Extractor CTI (tdo_core/extractors/report_processor.py)

  • Análisis de documentos: compatibilidad con múltiples formatos (PDF, DOCX, TXT, MD)
  • Integración con LLM: Google Gemini con salida estructurada
  • Análisis de respaldo: análisis JSON manual cuando la salida estructurada falla
  • Gestión de tokens: segmentación automática para documentos grandes
  • Validación de esquemas: los modelos Pydantic garantizan la consistencia de los datos

🔍 Generador TDO (tdo_core/detection/opportunity_generator.py)

  • Creación de oportunidades de detección basadas en evidencia
  • Mapeo de técnicas MITRE ATT&CK
  • Evaluación de calidad con criterios de puntuación
  • Modo de depuración para análisis detallados

🌊 Sintetizador de flujos de ataque (tdo_core/flows/attack_flow_synthesizer.py)

  • Generación de flujos impulsada por LLM con respaldo de evidencia
  • Respaldo basado en reglas para flujos sencillos
  • Orden de los pasos con razonamiento explícito
  • Análisis de relaciones entre entidades

📝 Generador de informes (tdo_core/report/md_export.py)

  • Creación de informes Markdown legibles
  • Presentación de datos estructurados
  • Integración de todos los componentes de análisis

🎨 Gestión de prompts (tdo_core/llm/prompts.py)

  • Plantillas de prompts centralizadas
  • Optimización de la salida estructurada
  • Buenas prácticas para la interacción con LLM

Flujo de datos

root@kitploit:~
Document Input → Text Extraction → LLM Processing → Structured Output
     ↓              ↓                 ↓               ↓
   PDF/DOCX      Clean Text       Gemini API     JSON + Fallback
     ↓              ↓                 ↓               ↓
 Multi-format   Preprocessing    Pydantic Schema  Validation
     ↓              ↓                 ↓               ↓
File Support   Text Cleaning    Structured Data   CTI Graph
                                      ↓
                              Post-Processing
                                 ↓         ↓
                          Attack Flows  Detection Opps
                                 ↓         ↓
                            Markdown Report Export

🛠️ Configuración avanzada

Variables de entorno

VariableObligatoriaDescripciónEjemplo
GEMINI_API_KEY✅Clave de API de Google AIAIza...
GEMINI_MODEL✅Modelo Gemini a utilizargemini-2.5-flash-preview-05-20

Guía de selección de modelos

ModeloVelocidadCalidadCosteCaso de uso
gemini-2.5-flash-preview-05-20⚡ Rápido🎯 Buena💰 BajoProducción, procesamiento masivo
gemini-2.5-pro-preview-06-05🐌 Lento🏆 Excelente💸 AltoAnálisis complejo, investigación

🔧 Solución de problemas

Problemas comunes

Variables de entorno faltantes

root@kitploit:~
Error: Required environment variables missing: GEMINI_API_KEY, GEMINI_MODEL

Solución: crea un archivo .env con ambas variables obligatorias

Formato de archivo no compatible

root@kitploit:~
Skipping unsupported file: document.rtf

Solución: convierte el archivo a formato PDF, DOCX, TXT o MD

Errores de procesamiento del LLM

root@kitploit:~
Structured Gemini API error: ...

Soluciones:

  • Verifica la validez de la clave de API
  • Verifica la ortografía del nombre del modelo
  • Prueba primero con documentos más pequeños
  • Usa --verbose para obtener registros de error detallados

Problemas de análisis JSON

La herramienta gestiona automáticamente los problemas de análisis JSON mediante:

  • Salida estructurada como método principal
  • Respaldo de análisis manual
  • Reparación de JSON para respuestas truncadas
  • Recuperación de errores sin interrupciones

Optimización del rendimiento

  • Procesamiento en paralelo: usa la opción -j para varios archivos
  • Selección de modelos: usa modelos más rápidos para el procesamiento masivo
  • Modo silencioso: usa -q para scripts de automatización
  • Gestión de salidas: organiza los resultados con directorios de salida personalizados

Modo de depuración

root@kitploit:~
# Enable verbose logging
python tdo_bulk.py report.pdf -v

# Debug detection opportunities
python tdo_bulk.py report.pdf --opps --debug-opps

# Export detailed logs
python tdo_bulk.py report.pdf -v > processing.log 2>&1

📦 Dependencias

La herramienta requiere Python 3.9+ y estos paquetes clave:

  • google-generativeai: cliente de la API de Google AI (Gemini) con salida estructurada
  • PyMuPDF: extracción de texto PDF de alto rendimiento
  • python-docx: procesamiento de documentos de Microsoft Word
  • pandas: manipulación de datos y exportación a CSV
  • pydantic: validación de esquemas y salida estructurada
  • python-dotenv: gestión de variables de entorno
  • cleantext: utilidades de preprocesamiento de texto

🚧 Limitaciones

Esta versión independiente:

  • No incluye integración con Knowledge Graph ni Neo4j
  • No admite funciones de base de datos vectorial para la búsqueda por similitud
  • No ofrece capacidades de aumento de recuperación en tiempo real
  • Está simplificada en comparación con la plataforma TDO completa

No obstante, incluye todas las capacidades principales de extracción y análisis de CTI necesarias para la mayoría de los casos de uso.

🔄 Mejoras recientes

  • Configuración del entorno: migrado a la gestión de archivos .env con dotenv
  • Salida estructurada: análisis JSON 100 % fiable con la salida estructurada de Google Gemini
  • Esquemas mejorados: esquema integral de 12 tipos de entidades y 24 tipos de relaciones
  • Oportunidades de detección: generación de reglas de detección basadas en evidencia con evaluación
  • Mejoras en los flujos de ataque: mejorados con respaldo de evidencia y razonamiento explícito
  • Sin valores predeterminados hardcodeados: toda la configuración proviene de variables de entorno
  • Manejo de errores robusto: análisis de respaldo automático y recuperación de errores sin interrupciones

🔒 Consideraciones de seguridad

Protección de la clave de API

  • Nunca hagas commit de tu archivo .env - está excluido por .gitignore
  • Almacena GEMINI_API_KEY de forma segura mediante variables de entorno
  • Rota las claves de API periódicamente
  • Revisa SECURITY.md para obtener una guía de seguridad detallada

Privacidad de los datos

  • El texto de los documentos se envía a la API Gemini de Google para su procesamiento
  • Revisa las políticas de uso de datos de IA de Google antes de procesar documentos confidenciales
  • Los datos extraídos pueden contener información confidencial (IOC, nombres de organizaciones, rutas de archivos)
  • Revisa las salidas antes de compartirlas fuera de tu organización

Datos de salida

Los archivos JSON y Markdown extraídos pueden contener:

  • Direcciones IP y nombres de dominio (indicadores de infraestructura)
  • Hashes de archivos e indicadores técnicos
  • Información sobre organizaciones y objetivos
  • Datos detallados de actores de amenazas y campañas

Revisa siempre las salidas antes de compartirlas públicamente.

Notificación de problemas de seguridad

Notifica las vulnerabilidades de seguridad de forma responsable. Consulta SECURITY.md para obtener más detalles.

📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - consulta LICENSE para obtener más detalles.

🤝 Contribuciones

¡Las contribuciones son bienvenidas! Lee CONTRIBUTING.md para conocer las directrices.


¿Necesitas ayuda? Ejecuta python tdo_bulk.py --help para una referencia rápida o consulta la sección de solución de problemas anterior.

Descargar herramienta
filename
document_title
file_size_mb