Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
network-security-snort — مختبر Snort 3 IDS → IPS على Kali. قواعد كشف مخصصة + إنفاذ iptables ضد استطلاع ICMP، وفحوصات Nmap SYN، وهجمات Hydra لتخمين كلمات مرور FTP، والباب الخلفي vsftpd 2.3.4 (CVE-2011-2523). | Kitploit
أدوات/GitHubGitHub/taisa456/network-security-snort
أدوات دفاعيةتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSأمن الشبكاتاختبار الاختراقكشف التسللالتعلم والتعليممختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubtaisa456/network-security-snort

network-security-snort

مختبر Snort 3 IDS → IPS على Kali. قواعد كشف مخصصة + إنفاذ iptables ضد استطلاع ICMP، وفحوصات Nmap SYN، وهجمات Hydra لتخمين كلمات مرور FTP، والباب الخلفي vsftpd 2.3.4 (CVE-2011-2523).

عرض المستودع
منذ 3 أشهرلم تتم المراجعة بعد

مختبر نشر Snort IDS/IPS

نشر متكامل لـ Snort 3 بصفته نظامًا لكشف التسلل (مراقبة سلبية) ونظامًا لمنع التسلل (حظر نشط عبر iptables)، تم التحقق منه مقابل أربعة نواقل هجوم عبر شبكة افتراضية من ثلاث آلات على Kali Linux.

يُثبت المختبر الفارق التشغيلي بين الكشف والمنع عبر تشغيل سلسلة هجوم متطابقة من أربعة نواقل مرتين — الأولى ضد IDS يسجّل لكنه لا يستطيع الحظر، والثانية ضد طبقة IPS مكوّنة من IDS + iptables تُسقط الهجمات بشكل انتقائي مع الحفاظ على حركة المرور المشروعة.


جدول المحتويات

  • بيئة المختبر
  • طوبولوجيا الشبكة
  • المنهجية
  • إعداد Snort
  • قواعد الكشف المخصصة
  • المرحلة 1 — وضع IDS
  • المرحلة 2 — وضع IPS
  • IDS مقابل IPS — النتائج جنبًا إلى جنب
  • المناقشة
  • ملاحظة حول البنية
  • بنية المستودع
  • إعادة إنتاج المختبر
  • إخلاء المسؤولية الأخلاقي
  • الترخيص

بيئة المختبر

المكوّنالتفاصيل
المحلّل / الموجّهKali Linux — 3 محولات: eth0 WAN (192.168.10.143، NAT)، eth1 LAN1 (10.10.10.1، للمضيف فقط)، eth2 LAN2 (192.168.50.1، للمضيف فقط)
المهاجمKali Linux — eth0 على VMnet9 (10.10.10.10) — البوابة الافتراضية 10.10.10.1
الهدفMetasploitable 2 — eth0 على VMnet10 (192.168.50.10) — البوابة الافتراضية 192.168.50.1
إصدار SnortSnort++ 3.12.1.0-0kali1 (مثبّت على المحلّل)
أدوات الهجومNmap 7.99، Hydra v9.6، إطار عمل Metasploit (msfconsole)
الافتراضيةVMware — VMnet9 = 10.10.10.0/24، VMnet10 = 192.168.50.0/24 (كلاهما للمضيف فقط)

طوبولوجيا الشبكة

تُجبر كل حركة المرور بين المهاجم وMetasploitable على المرور عبر المحلّل، ما يجعله نقطة الاختناق الطبيعية للمراقبة والتنفيذ على حد سواء.

root@kitploit:~
                           ┌─────────────────────────┐
                           │   Analyzer / Router     │
                           │   Kali + Snort 3        │
                           │                         │
   Attacker Kali ──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 بمجرد وضع الشكل في مكانه: Topology


المنهجية

ينفّذ المختبر على مرحلتين مع سلسلة هجوم متطابقة من أربعة نواقل في كل منهما:

  1. استطلاع ICMP — ping لاكتشاف المضيف
  2. مسح Nmap SYN — nmap -sS لتعداد المنافذ (1000 منفذ)
  3. هجوم القوة العمياء على FTP عبر Hydra — هجوم بيانات اعتماد ضد خدمة vsftpd
  4. الباب الخلفي vsftpd 2.3.4 — استغلال Metasploit لـ CVE-2011-2523

المرحلة 1 (IDS) تشغّل Snort بشكل سلبي على المحلّل مع خمس قواعد مخصصة — لاحظ التنبيهات في الوقت الفعلي، وتأكد من أن الاستغلال يستمر على أي حال.

المرحلة 2 (IPS) تقترن Snort بطبقة تنفيذ iptables باستخدام قواعد إسقاط جراحية — تأكد من أن الهجمات محظورة بينما تبقى إمكانية ping عبر ICMP وتسجيل الدخول المشروع إلى FTP فعّالة.

الإعداد قبل النشر

  1. اضبط المحلّل بثلاث بطاقات شبكة في VMware (اثنتان للمضيف فقط، وواحدة NAT/موصّلة).
  2. فعّل إعادة توجيه IP وأضف قواعد MASQUERADE + FORWARD بحيث يوجّه المحلّل الحركة بين الشبكات الفرعية وإلى الشبكة الخارجية WAN — انظر scripts/router_config.sh.
  3. تحقق من الاتصال من طرف لطرف من كل آلة افتراضية باستخدام scripts/ping_check.sh قبل تثبيت Snort.

إعداد Snort

يُثبَّت Snort عبر مدير حزم Kali (sudo apt install snort -y) ويُضبط في /etc/snort/snort.conf:

root@kitploit:~
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 تنبيهات مدمجة من سطر واحد (التسجيل لكل حزمة من شأنه توليد حجم هائل).

التحقق من الإعداد:

root@kitploit:~
sudo snort -T -c /etc/snort/snort.conf
# Result: 652 rules loaded (5 custom text + 647 built-in), 0 warnings

قواعد الكشف المخصصة

خمس قواعد في /etc/snort/rules/local.rules (الملف الكامل في scripts/local.rules):


المرحلة 1 — وضع IDS

يعمل Snort في الوضع السلبي على كلتا الواجهتين الداخليتين:

root@kitploit:~
sudo snort -c /etc/snort/snort.conf -i eth1 -i eth2 \
    -A alert_fast -l /var/log/snort/

# Watch alerts in a second terminal:
sudo tail -f /var/log/snort/alert_fast.txt

يؤكد مخرج بدء التشغيل أن pcap DAQ configured to passive — يرى Snort كل حزمة لكنه لا يمكنه إسقاط أي منها أو تعديلها.

نتائج IDS

بعد تنفيذ scripts/attack_simulator.sh من المهاجم:

اكتشف IDS كل شيء ولم يوقف شيئًا. هذه هي الرسالة الجوهرية للمرحلة 1: IDS يعمل دون طبقة تنفيذ هو نظام إنذار، لا قفل. وبحلول الوقت الذي يقرأ فيه المحلل البشري التنبيهات، يكون المهاجم قد أصبح root بالفعل.

ملاحظة ثانوية: قواعد Snort المدمجة (116:408، 116:414) تُطلق على حركة بث DHCP — ليست خبيثة، لكن في نشر إنتاجي ستحتاج إلى قواعد كبت للحفاظ على سجل التنبيهات قابلًا للاستخدام.


المرحلة 2 — وضع IPS

تُنشر طبقة IPS عبر scripts/ips_setup.sh، والتي:

  1. تمسح قواعد iptables الحالية
  2. تعيد تفعيل إعادة توجيه IP وتعيد تطبيق التوجيه الأساسي
  3. تطبّق أربع قواعد إسقاط جراحية تستهدف تواقيع هجوم محددة
  4. تشغّل Snort في وضع الخفيّة (-D) لمواصلة التسجيل

قواعد iptables

نتائج IPS

أُعيد تشغيل سكربت الهجوم نفسه من المهاجم:

الحفاظ على حركة المرور العادية

أكّد فحصان يدويان التنفيذ الانتقائي:

  • ping -c 4 192.168.50.10 → 4 حزم مرسلة، 4 مستلمة، فقدان 0%
  • ftp 192.168.50.10 ببيانات msfadmin:msfadmin → 220 (vsFTPd 2.3.4) … 230 Login successful

إثبات كمّي من عدّادات حزم iptables أثناء التشغيل: قُبلت 2051 حزمة، وأُسقطت 12 حزمة بقاعدة connlimit الخاصة بـ FTP، وقُبلت 808 حزم ICMP — تنفيذ انتقائي بالأرقام.

استمرار تسجيل Snort

حتى في وضع IPS، واصل Snort إطلاق تنبيهات SID 1000002 / 1000003 على الحزم التي وصلت إلى نقطة الفحص السلبي الخاصة به قبل أن تُسقط iptables الحزم اللاحقة — ما يعني أن iptables توفّر التنفيذ بينما يوفّر Snort تسجيل التدقيق، إذ يعملان معًا.


IDS مقابل IPS — النتائج جنبًا إلى جنب


المناقشة

هل تم كشف جميع الهجمات المحاكاة في وضع IDS؟

نعم — كل واحد من SIDs 1000001–1000004 أُطلق بشكل صحيح أثناء محاكاة الهجوم:

  • ICMP ping (1000001) — تنبيهات ثنائية الاتجاه لكل echo/رد.
  • مسح Nmap SYN (1000003) — فيض من التنبيهات خلال أجزاء من الثانية، مع عشوائية مميزة في منافذ المصدر.
  • هجوم القوة العمياء على FTP (1000002) — سجل تدقيق نظيف لمحاولات اتصال Hydra المتوازية بطوابع زمنية دقيقة.
  • الباب الخلفي vsftpd (1000004) — تطابق المحتوى :) التقط تسلسل بايتات الاستغلال الدقيق.

لكن الكشف لا يعني المنع. فتح استغلال vsftpd شل Meterpreter بصلاحيات root بينما كانت كل التنبيهات تُطلق. محلل SOC يراقب IDS في الوقت الفعلي كان سيرى الاختراق — لكن مع كون المهاجم root بالفعل خلال ثوانٍ، لا يكفي التنبيه وحده. وهذا هو الجوهر التشغيلي لوجود IPS.

ما مدى فعالية IPS في حظر الهجمات دون كسر حركة المرور العادية؟

حقّق التنفيذ تخفيفًا كاملًا للهجمات دون أي تأثير ملحوظ على حركة المرور المشروعة. تأتي الفعالية من التصميم الجراحي للقواعد — كل قاعدة iptables تستهدف توقيعًا سلوكيًا، لا بروتوكولًا واسعًا:

  • تحديد معدل SYN يكسر نمط الفيضان لمسوحات المنافذ دون التأثير على المصافحات العادية.
  • connlimit لكل مصدر يحظر التوازي لأدوات القوة العمياء دون كسر FTP أحادي الجلسة.
  • مطابقة STRING تُسقط حمولة الاستغلال الدقيقة دون تصفية حركة تسجيل الدخول المشروعة إلى FTP.

قيد معترف به: يُسمح بـ ICMP بالكامل، ما يعني أن المهاجم ما زال يستطيع التأكد من أن Metasploitable حيّة عبر ping. في بيئة أعلى أمانًا سيُقيَّد هذا بمعدل معين أو يُقتصر على مصادر موثوقة. في هذا المختبر، ICMP هي الآلية الأساسية للتحقق من الاتصال، لذلك تبقى مفتوحة.

آلة Snort مخصصة مقابل إضافة pfSense/OPNsense

يستخدم هذا المختبر آلة Snort مخصصة. بالمقارنة مع تشغيل Snort كإضافة داخل جهاز جدار ناري مثل pfSense أو OPNsense:

مزايا النهج المخصص:

  • عزل الأداء — وحدة معالجة وذاكرة كاملة متاحة حصريًا لفحص الحزم؛ دون منافسة مع التوجيه أو DHCP أو VPN أو DNS.
  • مرونة التموضع — يمكن أن يوضع IDS/IPS في الخط المباشر، أو على منفذ SPAN/النسخ المتطابق، أو عند حدود قطاع داخلي لمراقبة حركة المرور الشرقية-الغربية التي لا تصل أبدًا إلى جدار الحماية المحيطي.
  • تحكم كامل في الإعداد — كل معالج مسبق، وإعداد DAQ، ومكوّن إخراج، وجدول تحديث قواعد قابل للضبط عبر CLI. يعرض pfSense مجموعة فرعية فقط عبر واجهته الرسومية.
  • المرونة في مواجهة الأعطال — يمكن لآلة IDS/IPS أن تتعطل بشكل مفتوح أو مغلق (fail-open / fail-closed) بشكل مستقل عن الموجّه. في pfSense، يؤدي تعطل Snort إلى إسقاط التوجيه والكشف معًا في آن واحد.

المقايضات:

  • منحنى تعلم أكثر حدة — يتطلب إتقان CLI وإدارة مباشرة لمجموعة القواعد.
  • عبء صيانة — تحديثات القواعد، وترقيات الإصدارات، وتدوير السجلات، كلها يدوية.

Snort المخصص هو الخيار الصحيح لبيئات المؤسسات التي تحتاج الأداء والتموضع والتخصيص. نهج إضافة pfSense/OPNsense أكثر منطقية لبيئات الأعمال الصغيرة أو المختبرات المنزلية التي تضع سهولة الاستخدام في الأولوية.


ملاحظة حول البنية

المرحلة 2 هي تقنيًا Snort سلبي + تنفيذ عبر iptables، وليست Snort تعمل في وضع inline حقيقي — Snort نفسه يسجّل فقط (pcap DAQ configured to passive)، بينما يقوم iptables بعملية الإسقاط بناءً على حدود المعدل ومطابقات السلاسل وعدّادات الاتصالات.

هذا نمط نشر مشروع وشائع (وهكذا تعمل العديد من حزم IDS/IPS القائمة على Linux في العالم الحقيقي). ستكون الخطوة التالية الطبيعية ترحيل المرحلة 2 إلى إعداد inline حقيقي باستخدام snort --daq nfq (أو afpacket في وضع inline) مع إجراءَي القاعدة reject / drop في Snort، بحيث يقوم Snort نفسه بعملية الإسقاط بناءً على مطابقة تواقيع كاملة بدلًا من تفويض ذلك إلى iptables.


بنية المستودع

root@kitploit:~
snort-ids-ips-lab/
├── README.md                       ← this file
├── report/
│   ├── Snort-IDS-IPS-Report.pdf    ← full lab report
│   └── Snort-IDS-IPS-Report.docx   ← editable source
├── scripts/
│   ├── router_config.sh            ← IP forwarding + iptables routing
│   ├── ping_check.sh               ← connectivity verification
│   ├── attack_simulator.sh         ← 4-vector attack chain
│   ├── ips_setup.sh                ← IPS iptables rules + Snort daemon
│   └── local.rules                 ← 5 custom Snort rules (SID 1000001-1000005)
├── screenshots/                    ← report figures
├── .gitignore
└── LICENSE

إعادة إنتاج المختبر

⚠️ للاستخدام المخبري فقط. تشغّل هذه السكربتات استغلالات حقيقية وأدوات قوة عمياء ضد هدف هشّ عن قصد. لا تشغّلها ضد أي نظام لا تملكه ولديك إذن كتابي صريح لاختباره.

  1. أنشئ ثلاث آلات افتراضية في VMware وفق الطوبولوجيا أعلاه (VMnet9 وVMnet10 كشبكتين للمضيف فقط).
  2. على المحلّل: شغّل scripts/router_config.sh، ثم scripts/ping_check.sh لتأكيد الاتصال الكامل.
  3. ثبّت Snort 3 على المحلّل:
    root@kitploit:~
    sudo apt update && sudo apt install snort -y
    
  4. ضع scripts/local.rules في /etc/snort/rules/local.rules واضبط HOME_NET = "10.10.10.0/24,192.168.50.0/24" في /etc/snort/snort.conf.
  5. تحقق: sudo snort -T -c /etc/snort/snort.conf — توقّع تحميل 652 قاعدة و0 تحذيرات.
  6. المرحلة 1 — IDS:
    root@kitploit:~
    sudo snort -c /etc/snort/snort.conf -i eth1 -i eth2 -A alert_fast -l /var/log/snort/
    # In another terminal:
    sudo tail -f /var/log/snort/alert_fast.txt
    
    على المهاجم: sudo ./scripts/attack_simulator.sh — لاحظ إطلاق التنبيهات وشل Meterpreter.

إخلاء المسؤولية الأخلاقي

جميع الأنشطة الموثّقة في هذا المستودع أُجريت حصريًا داخل بيئة مختبر افتراضية معزولة ذاتيًا على VMware لأغراض تعليمية أكاديمية خاضعة للإشراف. لم تُستهدف أو تُمسح أو تتأثر أي أنظمة خارجية أو إنتاجية أو حقيقية بأي شكل. Metasploitable 2 آلة افتراضية هشّة عن قصد مصممة خصيصًا للتدريب الأمني.

يجب عدم استخدام هذه المادة لإعادة تنفيذ هذه الأنشطة ضد أي نظام حقيقي دون إذن كتابي صريح من مالك النظام. يُعد مسح المنافذ غير المصرح به، أو هجمات بيانات الاعتماد، أو استغلال خدمات الشبكة، أمرًا غير قانوني في معظم الدول.


الترخيص

MIT — انظر LICENSE. تقرير المختبر نفسه مُقدَّم كمرجع تعليمي.

تنزيل الأداة
SIDالاسمالمشغِّل
1000001تم اكتشاف ICMP Pingأي حركة ICMP في أي اتجاه — تلتقط pings الاستطلاعية
1000002محاولة اتصال FTPأي اتصال TCP إلى المنفذ 21 — تلتقط حركة المرور المشروعة وهجمات القوة العمياء
1000003احتمال مسح Nmap SYNحزم TCP مع ضبط علم SYN فقط (flags:S) — بصمة المسح نصف المفتوح
1000004محاولة الباب الخلفي VSFTPD 2.3.4content:":)" على منفذ FTP 21 — سلسلة الإطلاق الدقيقة لـ CVE-2011-2523
1000005احتمالية شيل كود Metasploit`content:"
الهجومالكشفالنتيجة
استطلاع ICMP✅ SID 1000001 — تنبيهات ثنائية الاتجاهاكتمل ping
مسح Nmap SYN✅ SID 1000003 — آلاف التنبيهات في أقل من ثانية واحدةتم تعداد 23 منفذًا مفتوحًا
هجوم القوة العمياء على FTP عبر Hydra✅ SID 1000002 — تنبيهات متكررة لاتصالات FTPتم كسر بيانات الاعتماد msfadmin:msfadmin
الباب الخلفي vsftpd 2.3.4✅ SID 1000004 — تطابق المحتوى :) أطلق التنبيهتم الحصول على شل Meterpreter بصلاحيات root
القاعدةما تقوم به
ACCEPT icmpتسمح صراحةً بكل حركة ICMP — تحافظ على فحوصات الاتصال
DROP tcp dpt:21 STRING ":)"تُسقط الحزم التي تحتوي مشغّل الباب الخلفي vsftpd 2.3.4 على المنفذ 21
ACCEPT tcp --syn -m limit --limit 10/s --limit-burst 20تسمح بمصافحات TCP العادية ضمن حد المعدل
DROP tcp --syn (بعد الحد)تُسقط فيضانات SYN التي تتجاوز 10/ثانية — تُفشل مسوحات Nmap SYN
DROP tcp dpt:21 -m connlimit --connlimit-above 5 --connlimit-mask 32تحظر أكثر من 5 اتصالات FTP متزامنة لكل مصدر — تُفشل تزامن Hydra
ACCEPT eth1→eth0, ACCEPT eth2→eth0توجيه صادر طبيعي
ACCEPT -m conntrack --ctstate RELATED,ESTABLISHEDحافظ للحالة — يحافظ على الجلسات القائمة
الهجومنتيجة المرحلة 2
استطلاع ICMP✅ مسموح (عن قصد)
مسح Nmap SYN❌ محظور — 1000 filtered tcp ports (no-response)، استغرق المسح 21.71 ثانية بدلًا من أقل من ثانية واحدة
هجوم القوة العمياء على FTP عبر Hydra❌ محظور — all children were disabled due too many connection errors — 0 valid password found
الباب الخلفي vsftpd❌ محظور — Rex::ConnectionTimeout — Exploit completed, but no session was created
الهجوم / حركة المرورالمرحلة 1 (IDS فقط)المرحلة 2 (IDS + iptables IPS)
ICMP pingتم الكشف ✅مسموح ✅ (عن قصد)
مسح Nmap SYNتم الكشف — تم العثور على 23 منفذًا مفتوحًامحظور — 1000 مفلتر
هجوم القوة العمياء على FTP عبر Hydraتم الكشف — تم كسر msfadmin:msfadminمحظور — لم يُعثر على أي كلمة مرور
استغلال vsftpd 2.3.4تم الكشف — شل Meterpreter بصلاحيات rootمحظور — انتهت مهلة الاتصال
تسجيل دخول FTP مشروعلا ينطبقتم الحفاظ عليه (230 Login successful)
  • المرحلة 2 — IPS: على المحلّل، شغّل sudo ./scripts/ips_setup.sh، ثم أعد تشغيل سلسلة الهجوم على المهاجم. تأكد من الحظر، ثم اختبر يدويًا:
    root@kitploit:~
    ping -c 4 192.168.50.10        # should succeed
    ftp 192.168.50.10              # msfadmin / msfadmin — should succeed