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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Portspoof — يحاكي المنافذ المفتوحة وتوقيعات الخدمة عبر جميع منافذ TCP البالغ عددها 65535 لإبطاء الاستطلاع، وإرباك الماسحات الضوئية، وإهدار موارد المهاجمين بخدمات مزيفة مقنعة والتصيد (tarpitting). | Kitploit
أدوات/GitHubGitHub/drk1wi/portspoof
أدوات دفاعيةالاستطلاعتحليل الثغرات الأمنيةالتهرب من IDS/IPSأمن الشبكاتالفريق الأحمر
GitHubdrk1wi/portspoof

Portspoof

يحاكي المنافذ المفتوحة وتوقيعات الخدمة عبر جميع منافذ TCP البالغ عددها 65535 لإبطاء الاستطلاع، وإرباك الماسحات الضوئية، وإهدار موارد المهاجمين بخدمات مزيفة مقنعة والتصيد (tarpitting).

عرض المستودع
2.4k179منذ 6 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

Portspoof

License Platform Build Status

Portspoof يحاكي المنافذ المفتوحة وتوقيعات الخدمات عبر جميع منافذ TCP الـ 65535، مما يحول مرحلة الاستطلاع من مسح سريع إلى عملية طويلة ومستهلكة للموارد. يرى الماسحون آلاف الخدمات المزيفة المقنعة، مما يجعل من غير العملي تحديد سطح الهجوم الحقيقي.

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

  • نظرة عامة
  • الميزات الرئيسية
  • كيف يعمل
  • نهج التصميم
  • التثبيت
  • الإعداد
  • الاستخدام
  • التعزيز باستخدام iptables
  • Portspoof Pro
  • المؤلفون والترخيص

نظرة عامة

الهدف الأساسي لـ Portspoof هو جعل الاستطلاع بطيئًا ومكلفًا وغير موثوق للمهاجمين. بدلاً من مسح Nmap قياسي مدته 5 ثوانٍ يرسم كل خدمة حقيقية على النظام، يرى المهاجم الذي يواجه Portspoof 65535 منفذًا مفتوحًا، كل منها يدير ما يبدو كخدمة مشروعة مختلفة. لا توجد طريقة سريعة لمعرفة أي منها حقيقي.

الميزات الرئيسية

  • جميع منافذ TCP الـ 65535 مفتوحة دائمًا: بدلاً من إبلاغ المهاجم بأن المنفذ مغلق (CLOSED) أو مصفى (FILTERED)، يقوم Portspoof بإرجاع SYN+ACK لكل محاولة اتصال.
  • محاكاة الخدمات: أكثر من 9000 توقيع خدمة ديناميكي يولّد من تعبيرات منتظمة. كل منفذ يستجيب للفحوصات بهوية خدمة مختلفة ومقنعة.
  • أنماط توصيل مختلطة: يحصل كل منفذ على ملف تعريف سلوكي مختلف عند بدء التشغيل (رسالة ترحيب فورية، استجابة متأخرة، أو صمت مع الاحتفاظ) مع أوقات احتفاظ موزعة عبر نطاق واسع. الكشف الكامل عن الإصدار (nmap -sV -p-) يتجاوز الحدود العملية بكثير.
  • دفاع هجومي: يمكن استخدامه كـ 'واجهة أمامية لإطار الاستغلال' لاستغلال الثغرات في أدوات المسح الخاصة بالمهاجم.
  • خفيف وآمن: يعمل في مساحة المستخدم (لا يتطلب صلاحيات الجذر)، يرتبط بـ منفذ TCP واحد فقط لكل نسخة قيد التشغيل، واستخدام هامشي لوحدة المعالجة المركزية والذاكرة.

كيف يعمل

1. هزيمة ماسحات المنافذ

مثال لمسح Nmap:

root@kitploit:~
$ nmap -p 1-20 target
Starting Nmap 7.80 ( https://nmap.org )
Nmap scan report for target
Host is up (0.00016s latency).
PORT   STATE SERVICE
1/tcp  open  tcpmux
2/tcp  open  compressnet
3/tcp  open  compressnet
4/tcp  open  unknown
5/tcp  open  rje
6/tcp  open  unknown
7/tcp  open  echo
8/tcp  open  unknown
9/tcp  open  discard
10/tcp open  unknown
11/tcp open  systat
12/tcp open  unknown
13/tcp open  daytime
14/tcp open  unknown
15/tcp open  netstat
16/tcp open  unknown
17/tcp open  qotd
18/tcp open  unknown
19/tcp open  chargen
20/tcp open  ftp-data

2. إرباك كشف الإصدار

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

مثال لمسح الإصدار (المنافذ 1–100):

root@kitploit:~
$ nmap -sV -p 1-100 target
Nmap scan report for target
Host is up (0.00016s latency).
PORT    STATE SERVICE            VERSION
1/tcp   open  tcpmux?
2/tcp   open  irc                ircu ircd
3/tcp   open  tcpwrapped
5/tcp   open  http               Polycom CMA Global Address Book (GAB) httpd
10/tcp  open  http               PGP Universal httpd
11/tcp  open  http               SnapStream Media Beyond TV PVR http config
12/tcp  open  pop3               Novell GroupWise pop3d
13/tcp  open  http               micro_httpd
15/tcp  open  ssh                OpenSSH r (protocol 8; NCSA GSSAPI authentication patch)
16/tcp  open  ftp                QMS/Minolta Magicolor 2200 DeskLaser printer ftpd
17/tcp  open  smtp               Network Box smtpd
21/tcp  open  ftp?
22/tcp  open  ssh                OpenSSH 8.9p1 Ubuntu 3ubuntu0.13 (Ubuntu Linux; protocol 2.0)
23/tcp  open  tcpwrapped
25/tcp  open  smtp?
27/tcp  open  http               BMC/Marimba Management http config
37/tcp  open  http               Indy httpd qlRKjiF
39/tcp  open  pop3
41/tcp  open  ftp                VSE ftpd WhH
43/tcp  open  imap               Scalix imapd 6
46/tcp  open  telnet             AXIS webcam telnetd 96747 (Linux)
49/tcp  open  smtp               Openwave Email Mx smtpd
50/tcp  open  http               3Ware web interface 3v (RAID storage)
51/tcp  open  ftp                WebStar 4dftp ...
53/tcp  open  tcpwrapped
55/tcp  open  webdav             Tonido WebDAV
56/tcp  open  tor-control        Tor control port (Authentication required)
59/tcp  open  irc                ircu ircd
60/tcp  open  rtsp               GStreamer rtspd
64/tcp  open  http               BaseHTTPServer CAxoE (Mercurial hg serve; Python LDkW)
66/tcp  open  telnet             Slirp PPP/SLIP-on-terminal emulator telnetd
70/tcp  open  smtp               qpsmtpd
71/tcp  open  smtp               Microsoft Exchange smtpd
73/tcp  open  http               Avaya IP Office VoIP PBX httpd
77/tcp  open  smtp               Zeus SMTPS smtpd
79/tcp  open  ftp                Sambar ftpd
80/tcp  open  tcpwrapped
81/tcp  open  imap-proxy         nginx imap proxy
82/tcp  open  ssh                (protocol 811)
83/tcp  open  http               peercast.org
88/tcp  open  csta               Alcatel OmniPCX Enterprise
90/tcp  open  http               WASD httpd
91/tcp  open  http               Fortinet FortiGate 50B firewall http config
93/tcp  open  imap               ModusMail imapd 4
98/tcp  open  ssh                Sysax Multi Server sshd 7 (protocol 940)
99/tcp  open  http               2Wire HomePortal http config 5473
100/tcp open  newacct?

النتيجة

تعني هذه التقنيات مجتمعة ما يلي:

  • لا توجد طريقة سريعة للتمييز بين الخدمات الحقيقية والمزيفة. يختلف التوقيت والسلوك ومحتوى الرسالة الترحيبية عبر نطاق المنافذ.
  • يستغرق المسح الكامل للإصدار (nmap -sV -p-) مع إعدادات الفخ الافتراضية أكثر من 10 ساعات ويولد مئات الميغابايت من البيانات المزيفة.
  • يستهلك ماسح المهاجم الوقت والخيوط على اتصالات لا تؤدي إلى أي شيء.

نهج التصميم

ترسل الخدمات الحقيقية (SSH، SMTP، FTP، HTTP) رسالة ترحيبية وتبقي الاتصال مفتوحًا، في انتظار إدخال العميل. المحاكاة المقنعة تعني فعل الشيء نفسه: قبول، إرسال، احتفاظ. لكن نموذج الخيط لكل عميل يستهلك الذاكرة ووحدة المعالجة المركزية في تبديل السياق، وعلى نطاق واسع ينفد موارد المدافع قبل نفاد صبر المهاجم. تصبح أداة الخداع ناقل هجوم رفض الخدمة الذاتي.

النهج: حلقة أحداث epoll أحادية الخيط. يتم تعيين وضع توصيل لكل منفذ عند بدء التشغيل: بعضها يدفع رسالة ترحيبية فورًا، والبعض الآخر ينتظر أن يرسل العميل بيانات قبل الرد، والبعض الآخر يبقى صامتًا. يتم توزيع أوقات الاحتفاظ عبر مراتب حجمية (عشرات الميلي ثوانٍ إلى دقائق) مع تشويش لكل اتصال، بحيث لا تعود الفحوصات المتكررة لنفس المنفذ بتوقيت متطابق.

هذا مهم لأنه بدونه، يمكن للمهاجم إرسال بيانات غير صالحة لكل منفذ وقياس توقيت الاستجابة: الخدمات الحقيقية تُغلق بسرعة (بروتوكول خاطئ)، بينما الفخ الساذج يحتفظ لثوانٍ. مع الأوضاع المختلطة والانتشار الزمني الواسع، تغلق آلاف المنافذ المزيفة أيضًا في نفس نطاق الخدمات الحقيقية. لا يوجد حد واضح للتصفية بناءً عليه.

يعمل الاقتصاد بسبب عدم التماثل:

  • تكلفة المدافع: ~1–2 كيلوبايت من ذاكرة النواة لكل اتصال خامل. حلقة epoll أحادية الخيط، لا يوجد حمل زائد لتبديل السياق. يمكن لنظام متواضع الاحتفاظ بـ 10k+ من الاتصالات المتزامنة دون عناء.
  • تكلفة المهاجم: الوقت والجهد. لا يخبرهم مسح المنافذ بأي شيء — كل منفذ مفتوح. للعثور على خدمات حقيقية، يحتاجون إلى كشف الإصدار عبر جميع المنافذ الـ 65535، ثم فحص على مستوى البروتوكول لأي شيء يبدو معقولاً. يصبح المسح الذي يستغرق 5 ثوانٍ أكثر من 10 ساعات من العمل النشط، والنتيجة لا تزال كومة قش، وينتقل معظم المهاجمين إلى هدف أسهل.

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

الإصدار 2.0 يستبدل سلوك الرسالة الترحيبية والإغلاق الأصلي الذي كان عرضة لتجاوز إغلاق الاتصال (انظر منشور مدونة Vicarius/Hored1971). محرك الفخ يحتفظ بجميع الاتصالات مفتوحة مع توقيت مختلط، مما يهزم تصفية إغلاق الاتصال، وبصمة التوقيت، وتحليل الرسالة الترحيبية، ونمذجة الأنماط الإحصائية.


التثبيت

المتطلبات الأساسية

تأكد من توفر مترجم C++ و CMake (الإصدار 3.10+).

البناء من المصدر

root@kitploit:~
mkdir build && cd build
cmake -DCMAKE_INSTALL_SYSCONFDIR=/etc .. 
make
sudo make install

الإعداد

يعمل Portspoof في مساحة المستخدم ولكنه يعتمد على قواعد جدار الحماية الخاصة بالنظام لاعتراض حركة المرور الموجهة إلى منافذ أخرى.

1. إعداد جدار الحماية (iptables)

أعد توجيه كل حركة مرور TCP الواردة (المنافذ 1-65535) إلى منفذ Portspoof (الافتراضي 4444).

Linux (iptables):

root@kitploit:~
# استبعد الخدمات الحقيقية أولاً، ثم أعد توجيه الباقي إلى Portspoof
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j RETURN
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -j REDIRECT --to-ports 4444

ملاحظة: استبدل eth0 بواجهة الشبكة الخاصة بك. أضف قاعدة RETURN لكل منفذ يدير خدمة حقيقية.

لجعل هذا دائمًا، يمكنك حفظ قواعد iptables الخاصة بك أو استخدام iptables-config المتوفر في دليل system_files.

2. بدء تشغيل النظام

يمكنك إضافة Portspoof إلى نصوص بدء التشغيل الخاصة بك باستخدام الأمثلة في system_files/init.d/.


الاستخدام

وضع محاكاة الخدمة (موصى به)

يولد هذا الوضع ويغذي ماسحات المنافذ بتوقيعات خدمة مزيفة.

root@kitploit:~
portspoof -c /etc/portspoof.conf -s /etc/portspoof_signatures -D

مع توقيتات فخ مخصصة (الاحتفاظ بكل اتصال بين 10 و 60 ثانية):

root@kitploit:~
portspoof -s /etc/portspoof_signatures -t 10 -T 60 -D

وضع المنفذ المفتوح

يقوم هذا الوضع ببساطة بإرجاع حالة OPEN لكل محاولة اتصال دون إرسال رسائل ترحيبية للخدمة. لا تزال الاتصالات محتجزة في الفخ.

root@kitploit:~
portspoof -D

وضع التشويش (Fuzzing)

يمكن استخدام Portspoof لتشويش أدوات المسح عن طريق إرسال حمولات عشوائية أو قائمة على قائمة كلمات.

تشويش باستخدام المولد الداخلي:

root@kitploit:~
# يولّد حمولات عشوائية بحجم عشوائي
portspoof -1 -v

تشويش باستخدام قائمة كلمات:

root@kitploit:~
portspoof -f payloads.txt -v

التعزيز باستخدام iptables

قاعدة REDIRECT الأساسية أعلاه تعمل، لكن الماسح العدواني لا يزال بإمكانه محاولة إغراق Portspoof بالاتصالات. تضيف مجموعة القواعد التالية تحديد المعدل والحظر التلقائي للمضيفين الذين يتجاوزون حد الاتصال. يتم استبعاد المنافذ التي تستضيف خدمات حقيقية (SSH في هذا المثال) من إعادة التوجيه ولكنها لا تزال محمية بقاعدة الحظر العالمية.

root@kitploit:~
# --- NAT: أعد توجيه كل شيء باستثناء الخدمات الحقيقية ---
# أضف قاعدة RETURN لكل منفذ تستخدمه بالفعل (SSH، HTTP، إلخ.)
iptables -t nat -A PREROUTING -p tcp --dport 22 -j RETURN
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 4444

# --- FILTER: دفاع متعمق ---

# اسمح بحلقة الاسترجاع (حرج: يمنع كسر الخدمات المحلية)
iptables -A INPUT -i lo -j ACCEPT

# إذا تم وضع علامة على عنوان IP هذا كمسيء، أسقط كل شيء (صامت، لا RST)
iptables -A INPUT -m recent --name PORTSCAN --rcheck --seconds 60 -j DROP

# حدد معدل SYNs الجديدة لكل عنوان IP مصدر
iptables -A INPUT -p tcp --syn -m hashlimit \
  --hashlimit-above 10/sec --hashlimit-burst 30 \
  --hashlimit-mode srcip --hashlimit-name syn_throttle -j DROP

# إذا احتفظ عنوان IP واحد بـ 100+ اتصال بـ portspoof، ضع علامة وأسقط
iptables -A INPUT -p tcp --syn --dport 4444 -m connlimit \
  --connlimit-above 100 --connlimit-mask 32 \
  -m recent --name PORTSCAN --set -j DROP

# اسمح بحركة المرور المنشأة والاتصالات الجديدة
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --syn -j ACCEPT
iptables -A INPUT -j DROP

للنشر عالي الحركة، قم بزيادة حجم قائمة xt_recent:

root@kitploit:~
echo "options xt_recent ip_list_tot=10000" > /etc/modprobe.d/xt_recent.conf

وضبط تتبع اتصالات النواة:

root@kitploit:~
sysctl -w net.netfilter.nf_conntrack_max=131072
sysctl -w net.core.somaxconn=4096

Portspoof Pro

Portspoof Pro يوسع نطاق الخداع من مضيف واحد إلى شبكة بأكملها. مستشعر واحد يحاكي شبكات /16 كاملة: آلاف عناوين IP، لكل منها خدمات فريدة عبر جميع المنافذ، مع الاحتفاظ بمحادثات متعددة الخطوات ذات حالة.

  • خداع على مستوى الشبكة. حوّل مساحة IP المظلمة والشبكات الفرعية غير المستخدمة إلى شبكة خداع نشطة. يقدم كل مضيف محاكى خدمات فريدة بشخصية مختلفة لكل عنوان IP مصدر. يؤدي الاحتجاز النشط إلى استنفاد تجمعات مآخذ المهاجم وتقييد الأدوات الآلية.
  • كشف المسح وبصمة الأدوات. يكتشف تقنيات المسح SYN، FIN، NULL، XMAS، ACK. يبصم Nmap و Masscan و ZMap والماسحات المخصصة. بيانات تليمترية منظمة بصيغة JSON مع تعيين MITRE ATT&CK، تُبث إلى SIEM الخاص بك.
  • نشر آمن للإنتاج. يعمل في بيئة معزولة إلى جانب حركة الإنتاج. توجه سياسات التوجيه حركة الخداع إلى المستشعر. لا نقاط تنصت داخلية، ولا خطر على أعباء العمل الحقيقية.
  • الامتثال خارج الصندوق. يدعم NIS2 و DORA و ISO 27001 و NIST CSF و CIS Controls.

portspoof.io


المؤلفون والترخيص

المؤلف: بيوتر دوشينسكي (@drk1wi)

الترخيص: رخصة جنو العمومية العامة الإصدار 2.0 (GPLv2). راجع ملف LICENSE للحصول على التفاصيل.

للتطبيقات التجارية المشروعة، يرجى الاتصال بالمؤلف لترتيبات الترخيص المناسبة.


الإبلاغ عن المشكلات

إذا واجهت أي أخطاء أو كانت لديك طلبات ميزات، فيرجى الإبلاغ عنها على متعقب مشكلات GitHub أو الاتصال بالمؤلف عبر البريد الإلكتروني على piotr [at] duszynski.eu.

تنزيل الأداة