
CVE-2024-4577 की पहचान और प्रतिक्रिया के लिए पुनरुत्पादनीय SOC लैब
HTSOC एक Security Operations Center प्रणाली है जिसे lab वातावरण में स्वयं निर्मित किया गया है। यह प्रणाली log संग्रहण, Splunk द्वारा पहचान, TheHive द्वारा alert/case प्रबंधन, Cortex द्वारा Observable विश्लेषण, MISP या VirusTotal के साथ IOC खोज, और फिर n8n तथा Telegram के माध्यम से सूचना समन्वय को जोड़ती है।
CVE-2024-4577 केवल एक use case है जिसका उपयोग बहु-स्तरीय पहचान क्षमता को सत्यापित करने के लिए किया गया है; पूरी परियोजना किसी एक CVE तक सीमित नहीं है।
यह प्रणाली एक पूर्ण SOC प्रक्रिया का अनुकरण करती है:
flowchart LR
K[Kali या परीक्षण स्रोत] --> W[Windows/XAMPP + Apache/PHP-CGI]
L[Linux endpoint] --> F[Universal Forwarder]
W --> A[Apache access/error log]
W --> S[Windows Security + Sysmon]
A --> F
S --> F
F --> SP[Splunk]
L --> F
SP -->|Alert webhook| TH[TheHive]
TH -->|Alert + Observable| N[n8n]
N --> T[Telegram]
N -->|Analyzer जिसे analyst चुनता है| C[Cortex]
C --> M[MISP]
C --> V[VirusTotal]
M --> N
V --> N
N --> Tउपरोक्त पते केवल lab के लिए हैं। पुनः तैनाती करते समय, उन्हें पर्यावरण चर से बदलें और सेवाओं को इंटरनेट पर expose न करें।
Splunk प्रणाली का detection केंद्र है। खोजें brute force login, संदिग्ध NTLM network logon, उच्च-अनुमति समूह परिवर्तन, SMB के माध्यम से lateral movement, नई Windows service निर्माण, एन्कोडेड PowerShell और PHP-CGI argument injection को कवर करती हैं।
TheHive Splunk से alert प्राप्त करता है, severity/source/title प्रदर्शित करता है, Observable संग्रहीत करता है और analyst को alert को case में बदलने की अनुमति देता है। Cortex TheHive से Observable प्राप्त करके analyzer चलाता है। MISP और VirusTotal दो समानांतर विश्लेषण विकल्प हैं, अनुक्रमिक रूप से चलाना अनिवार्य नहीं है।
n8n TheHive से webhook प्राप्त करता है और प्रारंभिक SOC alert Telegram पर भेजता है। जब analyst किसी Observable पर क्लिक करता है, तभी n8n callback संसाधित करता है, analyzer निर्धारित करता है, Cortex job बनाता है, report की प्रतीक्षा करता है और परिणाम Telegram पर भेजता है। update_id, callback_query_id, suppression और job ID तंत्र दोहराव से बचने में मदद करते हैं।
Log उत्पन्न होता है
→ Universal Forwarder
→ Splunk search/correlation
→ TheHive alert
→ n8n webhook
→ Telegram SOC Alert
Analyst Telegram पर Observable पर क्लिक करता है
→ Telegram callback
→ n8n तुरंत callback का उत्तर देता है
→ TheHive से Observable पुनः प्राप्त करता है
→ Observable प्रकार और analyzer की जाँच करता है
→ Cortex job बनाता है
→ n8n प्रतीक्षा करता है और report प्राप्त करता है
→ Telegram परिणाम भेजता है
n8n alert आने पर सभी Observable स्वचालित रूप से नहीं चलाता। Analyzer केवल तभी चलता है जब analyst उसे चुनता है, जिससे लागत कम होती है, दोहराव वाली सूचनाएँ घटती हैं और जांच पर नियंत्रण बना रहता है।
आधारभूत पहचान config/splunk/core-savedsearches.conf में स्थित हैं, साथ में वैध गतिविधि को बाहर करने वाले lookup भी हैं:
इस use case की दो परतें हैं:
Sigma प्रारूप में rule metadata detections/sigma/cve-2024-4577-php-cgi-argument-injection.yml पर स्थित है। Splunk में निष्पादित होने वाली खोज config/splunk/install-cve-detections.ps1 पर स्थित है।
config/
├── forwarder/ Windows और Linux input/output कॉन्फ़िगरेशन
├── misp/ आंतरिक खोज के लिए अनुकरणित IOC
├── n8n/ TheHive–Telegram–Cortex workflow टेम्पलेट
├── splunk/ saved search, lookup और correlation स्क्रिप्ट
└── sysmon/ Windows telemetry कॉन्फ़िगरेशन
deploy/ secret-रहित Docker Compose टेम्पलेट
detections/
└── sigma/ vendor-स्वतंत्र rule metadata
scripts/
├── splunk/ API के माध्यम से search अद्यतन
├── validation/ readiness जाँच
└── windows/ lab लक्ष्य मशीन के लिए telemetry स्थापना
docs/ संचालन दस्तावेज़ और Telegram callback
स्रोत और लाइव सिस्टम के बीच तुलना सिस्टम सूची में स्थित है। secret-रहित वास्तविक n8n workflow manifest config/n8n/live-workflow-manifest.json पर स्थित है; छोटा आयात टेम्पलेट फ़ाइल सुरक्षित रूप से नया lab बनाने के लिए अलग रखी गई है।
cp deploy/docker-compose.soc.example.yml deploy/docker-compose.yml
cp .env.example .env
# secret manager या स्थानीय .env फ़ाइल से secret भरें।
docker compose -f deploy/docker-compose.yml config
docker compose -f deploy/docker-compose.yml up -d
docker compose -f deploy/docker-compose.yml ps
Compose टेम्पलेट TheHive, Cortex, MISP, Cassandra, Elasticsearch, MinIO, Redis और MISP modules को तैनात करता है। n8n वर्तमान में host service के रूप में संचालित है और workflow कॉन्फ़िगरेशन config/n8n/ पर स्थित है।
# Windows lab पर PowerShell Administrator
.\scripts\windows\install-lab-telemetry.ps1
# Splunk मशीन पर, पासवर्ड को source code में न लिखें
$env:SPLUNK_PASSWORD = '<local-secret>'
.\config\splunk\install-cve-detections.ps1
python .\scripts\splunk\update-correlation-searches.py
# Readiness जाँच
.\scripts\validation\check-system-readiness.ps1
Callback विवरण docs/telegram-callback-setup.md में स्थित है।
नीचे से ऊपर के क्रम में परीक्षण करें:
Lab में उपयोग किए जाने वाले मीट्रिक: घटना से Splunk पहचान तक MTTD, alert से Telegram सूचना तक MTTN, alert प्राप्ति से triage/case बंद होने तक MTTR, False Positive Rate और Duplicate rate।
| घटक | भूमिका | संदर्भ पता |
|---|
| Kali | अधिकृत परीक्षण traffic उत्पन्न करने का स्रोत | 192.168.10.132 |
| Windows/XAMPP | Apache/PHP-CGI और Sysmon लक्ष्य मशीन | 192.168.10.130:8080 |
| Splunk | संग्रहण, खोज, correlation और alert | 192.168.10.128 |
| TheHive | alert, case और Observable प्रबंधन | 192.168.10.133:9000 |
| Cortex | analyzer चलाना | 192.168.10.133:9001 |
| MISP | आंतरिक IOC भंडार | 192.168.10.133:443 |
| n8n | webhook/callback स्वचालन | 192.168.10.133:5678 |
| पहचान | मुख्य डेटा | लक्ष्य |
|---|
| Brute Force Login | Windows Event ID 4625 | समय-सीमा में कई असफल लॉगिन प्रयास |
| Suspicious NTLM Logon | Windows Event ID 4624 | असामान्य NTLM का उपयोग करने वाला network logon type 3 |
| Privileged Group Change | Event ID 4732/4728/4756 | उच्च-अनुमति समूह में खाता जोड़ना |
| Lateral Movement SMB | Event ID 4624 | एक स्रोत द्वारा कई होस्ट तक असामान्य पहुँच |
| New Windows Service | Event ID 7045 | allowlist के बाहर नई service निर्माण |
| Encoded PowerShell | Event ID 4688 | PowerShell जो -enc या -EncodedCommand का उपयोग करता है |