
Snort 3 IDS → IPS प्रयोगशाला Kali पर। कस्टम डिटेक्शन नियम + iptables प्रवर्तन ICMP रिकॉन, Nmap SYN स्कैन, Hydra FTP ब्रूट फोर्स, और vsftpd 2.3.4 बैकडोर (CVE-2011-2523) के विरुद्ध।
Snort 3 का एक पूर्ण-चक्र तैनाती, दोनों एक आक्रमण संसूचन प्रणाली (निष्क्रिय निगरानी) और एक आक्रमण निवारण प्रणाली (iptables के माध्यम से सक्रिय अवरोधन) के रूप में, जिसे काली लिनक्स पर तीन-मशीन आभासी नेटवर्क पर चार आक्रमण वैक्टरों के विरुद्ध मान्य किया गया है।
यह प्रयोगशाला संसूचन और निवारण के बीच परिचालनात्मक अंतर को साबित करती है, एक समान चार-वेक्टर आक्रमण श्रृंखला को दो बार चलाकर — पहली बार एक IDS के विरुद्ध जो लॉग करता है लेकिन अवरुद्ध नहीं कर सकता, दूसरी बार एक IDS + iptables IPS परत के विरुद्ध जो चुनिंदा रूप से आक्रमणों को गिराता है जबकि वैध ट्रैफिक को संरक्षित करता है।
| घटक | विवरण |
|---|---|
| विश्लेषक / राउटर | काली लिनक्स — 3 एडाप्टर: eth0 WAN (192.168.10.143, NAT), eth1 LAN1 (10.10.10.1, होस्ट-ओनली), eth2 LAN2 (192.168.50.1, होस्ट-ओनली) |
| हमलावर | काली लिनक्स — VMnet9 पर eth0 (10.10.10.10) — डिफ़ॉल्ट गेटवे 10.10.10.1 |
| लक्ष्य | Metasploitable 2 — VMnet10 पर eth0 (192.168.50.10) — डिफ़ॉल्ट गेटवे 192.168.50.1 |
| Snort संस्करण | Snort++ 3.12.1.0-0kali1 (विश्लेषक पर स्थापित) |
| आक्रमण उपकरण | Nmap 7.99, Hydra v9.6, Metasploit Framework (msfconsole) |
| वर्चुअलाइज़ेशन | VMware — VMnet9 = 10.10.10.0/24, VMnet10 = 192.168.50.0/24 (दोनों होस्ट-ओनली) |
हमलावर और Metasploitable के बीच सभी ट्रैफिक को विश्लेषक के माध्यम से बाध्य किया जाता है, जिससे यह निगरानी और प्रवर्तन दोनों के लिए प्राकृतिक चोकपॉइंट बन जाता है।
┌─────────────────────────┐
│ विश्लेषक / राउटर │
│ काली + Snort 3 │
│ │
हमलावर काली ──VMnet9──┤ eth1: 10.10.10.1 │
10.10.10.10 │ │
│ eth0: 192.168.10.143 ───┼──> WAN (NAT)
│ │
Metasploitable 2 ─VMnet10┤ eth2: 192.168.50.1 │
192.168.50.10 │ │
└─────────────────────────┘
इस ASCII स्केच को
screenshots/01-network-topology.pngसे बदलें जब आपके पास आकृति हो:टोपोलॉजी
प्रयोगशाला दो चरणों में निष्पादित होती है, प्रत्येक में एक समान चार-वेक्टर आक्रमण श्रृंखला:
pingnmap -sS (1000 पोर्ट)चरण 1 (IDS) विश्लेषक पर पाँच कस्टम नियमों के साथ निष्क्रिय रूप से Snort चलाता है — वास्तविक समय में अलर्ट देखें, पुष्टि करें कि शोषण फिर भी आगे बढ़ता है।
चरण 2 (IPS) Snort को सर्जिकल ड्रॉप नियमों का उपयोग करते हुए एक iptables प्रवर्तन परत के साथ जोड़ता है — पुष्टि करें कि आक्रमण अवरुद्ध होते हैं जबकि ICMP पिंग और वैध FTP लॉगिन कार्यात्मक रहते हैं।
MASQUERADE + FORWARD नियम जोड़ें ताकि विश्लेषक सबनेट के बीच और WAN तक रूट कर सके — scripts/router_config.sh देखें।scripts/ping_check.sh के साथ।Snort को काली पैकेज मैनेजर (sudo apt install snort -y) के माध्यम से स्थापित किया जाता है और /etc/snort/snort.conf में कॉन्फ़िगर किया जाता है:
HOME_NET = "10.10.10.0/24,192.168.50.0/24"
EXTERNAL_NET = "any"
ips = {
enable_builtin_rules = true,
include = "/etc/snort/rules/local.rules",
variables = default_variables
}
alert_fast = { file = true, packet = false }
HOME_NET दोनों आंतरिक सबनेट को कवर करता है ताकि Snort विश्लेषक पर सभी इंटर-सबनेट ट्रैफिक को निरीक्षण के योग्य समझे। alert_fast कॉम्पैक्ट एक-पंक्ति अलर्ट उत्पन्न करता है (प्रति-पैकेट लॉगिंग अत्यधिक वॉल्यूम उत्पन्न करेगी)।
कॉन्फ़िगरेशन सत्यापन:
sudo snort -T -c /etc/snort/snort.conf
# परिणाम: 652 नियम लोड (5 कस्टम टेक्स्ट + 647 बिल्ट-इन), 0 चेतावनी
/etc/snort/rules/local.rules में पाँच नियम (पूरी फ़ाइल scripts/local.rules में):
| SID | नाम | ट्रिगर |
|---|---|---|
| 1000001 | ICMP पिंग का पता चला | किसी भी दिशा में कोई भी ICMP ट्रैफिक — टोही पिंग को पकड़ता है |
| 1000002 | FTP कनेक्शन प्रयास | पोर्ट 21 पर कोई भी TCP कनेक्शन — वैध और ब्रूट फोर्स ट्रैफिक दोनों को पकड़ता है |
| 1000003 | संभावित Nmap SYN स्कैन | केवल SYN फ्लैग सेट वाले TCP पैकेट (flags:S) — हाफ-ओपन स्कैन का हस्ताक्षर |
| 1000004 | VSFTPD 2.3.4 बैकडोर प्रयास | FTP पोर्ट 21 पर content:":)" — CVE-2011-2523 का सटीक ट्रिगर स्ट्रिंग |
| 1000005 | संभावित Metasploit शेलकोड | `content:" |
Snort दोनों आंतरिक इंटरफेस पर निष्क्रिय मोड में चलता है:
sudo snort -c /etc/snort/snort.conf -i eth1 -i eth2 \
-A alert_fast -l /var/log/snort/
# दूसरे टर्मिनल में अलर्ट देखें:
sudo tail -f /var/log/snort/alert_fast.txt
स्टार्टअप आउटपुट pcap DAQ configured to passive की पुष्टि करता है — Snort हर पैकेट देखता है लेकिन उनमें से किसी को भी गिरा या संशोधित नहीं कर सकता।
हमलावर से scripts/attack_simulator.sh निष्पादित करने के बाद:
| आक्रमण | संसूचन | परिणाम |
|---|---|---|
| ICMP टोही | ✅ SID 1000001 — द्विदिश अलर्ट | पिंग पूर्ण हुआ |
| Nmap SYN स्कैन | ✅ SID 1000003 — <1 सेकंड में हजारों अलर्ट | 23 खुले पोर्ट गिने गए |
| Hydra FTP ब्रूट फोर्स | ✅ SID 1000002 — बार-बार FTP कनेक्शन अलर्ट | msfadmin:msfadmin क्रेडेंशियल क्रैक हुए |
| vsftpd 2.3.4 बैकडोर | ✅ SID 1000004 — :) सामग्री मिलान फायर हुआ | रूट Meterpreter शेल प्राप्त हुआ |
IDS ने सब कुछ पता लगाया और कुछ भी नहीं रोका। यह चरण 1 का केंद्रीय पाठ है: प्रवर्तन के बिना एक कार्यरत IDS एक अलार्म सिस्टम है, ताला नहीं। जब तक कोई मानव विश्लेषक अलर्ट पढ़ता है, हमलावर पहले ही रूट हो चुका होता है।
एक द्वितीयक अवलोकन: Snort के बिल्ट-इन नियम (116:408, 116:414) DHCP प्रसारण ट्रैफिक पर फायर करते हैं — दुर्भावनापूर्ण नहीं, लेकिन उत्पादन तैनाती में अलर्ट लॉग को कार्रवाई योग्य बनाए रखने के लिए उन्हें दमन नियमों की आवश्यकता होगी।
IPS परत को scripts/ips_setup.sh के साथ तैनात किया जाता है, जो:
-D) में Snort लॉन्च करता है