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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Potato — استغلال تصعيد الامتيازات المحلية في Windows باستخدام انتحال NBNS، ووكيل WPAD مزيف، وترحيل NTLM من HTTP إلى SMB للحصول على وصول NT AUTHORITY\SYSTEM. | Kitploit
أدوات/GitHubGitHub/foxglovesec/potato
تصعيد الامتيازاتالاستغلالالحركة الجانبيةما بعد الاستغلالأمن الشبكاتاختبار الاختراقالمصادقةالفريق الأحمر
GitHubfoxglovesec/potato

Potato

استغلال تصعيد الامتيازات المحلية في Windows باستخدام انتحال NBNS، ووكيل WPAD مزيف، وترحيل NTLM من HTTP إلى SMB للحصول على وصول NT AUTHORITY\SYSTEM.

عرض المستودع
745168منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

#Potato تصعيد الصلاحيات على Windows 7,8,10, Server 2008, Server 2012

###كيف يعمل يستغل Potato مشكلات معروفة في Windows للحصول على تصعيد الصلاحيات المحلية، وتحديدًا NTLM relay (تحديدًا HTTP->SMB relay) وانتحال NBNS.

باستخدام التقنيات الموضحة أدناه، يمكن لمستخدم غير متمتع بالصلاحيات الحصول على وصول بمستوى "NT AUTHORITY\SYSYTEM" إلى مضيف Windows في الإعدادات الافتراضية.

يتكون الاستغلال من 3 أجزاء رئيسية، وكلها قابلة للتكوين إلى حد ما عبر مفاتيح سطر الأوامر:

#####1. مُنتحِل NBNS المحلي NBNS هو بروتوكول UDP بثّي لتحليل الأسماء يُستخدم عادةً في بيئات Windows. في اختبار الاختراق، غالبًا ما نلتقط حركة مرور الشبكة ونستجيب لاستعلامات NBNS المرصودة على شبكة محلية. لأغراض تصعيد الصلاحيات، لا يمكننا افتراض أننا قادرون على التقاط حركة مرور الشبكة، فكيف يمكننا تحقيق انتحال NBNS؟

إذا تمكّنا من معرفة مسبقًا المضيف الذي سترسل إليه آلة الهدف (في هذه الحالة هدفنا هو 127.0.0.1) استعلام NBNS، يمكننا صياغة استجابة وإغراق المضيف الهدف باستجابات NBNS (بما أنه بروتوكول UDP). إحدى التعقيدات هي أن حقلًا بحجم 2 بايت في حزمة NBNS، وهو TXID، يجب أن يتطابق في الطلب والاستجابة. يمكننا التغلب على ذلك عبر الإغراق السريع والتكرار على جميع القيم الممكنة البالغ عددها 65536.

ماذا لو كان المضيف الذي نحاول انتحاله يمتلك سجل DNS بالفعل؟ حسنًا، يمكننا إجبار عمليات بحث DNS على الفشل بطريقة طريفة. باستخدام تقنية تُسمى "استنفاد المنافذ" (port exhaustion) نرتبط بكل منفذ UDP على حدة. عند محاولة إجراء بحث DNS سيفشل لأنه لن يكون هناك منفذ مصدر متاح لوصول رد DNS.

في الاختبار، أثبتت هذه التقنية فعاليتها بنسبة 100%.

#####2. خادم وكيل WPAD المزيّف مع القدرة على انتحال استجابات NBNS، يمكننا توجيه مُنتحِل NBNS الخاص بنا إلى 127.0.0.1. نُغرق آلة الهدف (آلتنا نفسها) بحزم استجابة NBNS للمضيف "WPAD"، أو "WPAD.DOMAIN.TLD"، ونقول إن مضيف WPAD يمتلك عنوان IP 127.0.0.1.

في الوقت نفسه، نشغّل خادم HTTP محليًا على 127.0.0.1. عندما يستقبل طلبًا لـ "http://wpad/wpad.dat"، يستجيب بشيء مثل ما يلي:

root@kitploit:~
FindProxyForURL(url,host){
	if (dnsDomainIs(host, "localhost")) return "DIRECT";
	return "PROXY 127.0.0.1:80";}

سيؤدي هذا إلى إعادة توجيه كل حركة مرور HTTP على الهدف عبر خادمنا العامل على 127.0.0.1.

ومن المثير للاهتمام أن هذا الهجوم، حتى عند تنفيذه من مستخدم منخفض الصلاحيات، سيؤثر على جميع مستخدمي الجهاز. ويشمل ذلك المسؤولين وحسابات النظام. راجع لقطتي الشاشة "egoldstein_spoofing.png" و"dade_spoofed.png" للحصول على مثال.

#####3. HTTP -> SMB NTLM Relay مع تدفق كل حركة مرور HTTP الآن عبر خادم نتحكم به، يمكننا القيام بأشياء مثل طلب مصادقة NTLM...

في استغلال Potato، تُعاد توجيه جميع الطلبات عبر إعادة توجيه 302 إلى "http://localhost/GETHASHESxxxxx"، حيث xxxxx هو معرّف فريد ما. تستجيب الطلبات إلى "http://localhost/GETHASHESxxxxx" بطلب 401 لمصادقة NTLM.

تُمرَّر بيانات اعتماد NTLM إلى مستمع SMB المحلي لإنشاء خدمة نظام جديدة تشغّل أمرًا يحدده المستخدم. سيعمل هذا الأمر بصلاحية "NT AUTHORITY\SYSTEM".

###استخدام الاستغلال الاستخدام حاليًا يعتمد على نظام التشغيل.

كما أنه غير مستقر بعض الشيء أحيانًا، بسبب الغرائب في كيفية تعامل Windows مع إعدادات الوكيل وملف WPAD. غالبًا عندما لا يعمل الاستغلال، يُطلب تركه قيد التشغيل والانتظار. عندما يكون لدى Windows بالفعل إدخال مخزّن مؤقتًا لـ WPAD، أو يسمح بالوصول المباشر إلى الإنترنت لأنه لم يُعثر على WPAD، فقد يستغرق تحديثه من 30 إلى 60 دقيقة. من الضروري ترك الاستغلال قيد التشغيل ومحاولة تشغيله مرة أخرى لاحقًا، بعد انقضاء هذه المدة.

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

#####Windows 7 - راجع https://www.youtube.com/watch?v=Nd6f5P3LSNM يمكن استغلال Windows 7 بشكل موثوق إلى حد ما عبر آلية تحديث Windows Defender.

يحتوي Potato.exe على شيفرة لتشغيل هذا تلقائيًا. ما عليك سوى تشغيل ما يلي: Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true

سيؤدي هذا إلى تشغيل مُنتحِل NBNS، وانتحال "WPAD" إلى 127.0.0.1، ثم التحقق من تحديثات Windows Defender.

إذا كانت شبكتك تحتوي بالفعل على إدخال DNS لـ "WPAD"، يمكنك تجربة "-disable_exhaust false". يجب أن يؤدي هذا إلى فشل بحث DNS وأن يتراجع إلى NBNS. اختبرنا هذا بضع مرات ونجح الأمر.

#####Windows Server 2008 - راجع https://www.youtube.com/watch?v=z_IGPWgL5SY بما أن Windows Server لا يأتي مع Defender، نحتاج إلى طريقة بديلة. بدلًا من ذلك سنتحقق ببساطة من تحديثات Windows. التحفظ الآخر هو أنه، على نطاقي على الأقل، أراد Server 2K8 استخدام WPAD.DOMAIN.TLD بدلًا من WPAD فقط. فيما يلي مثال على الاستخدام:

Potato.exe -ip <local ip> -cmd <command to run> -disable_exhaust true -disable_defender true --spoof_host WPAD.EMC.LOCAL

بعد نجاح تشغيل هذا، تحقق ببساطة من تحديثات Windows. إذا لم يُشغَّل، انتظر حوالي 30 دقيقة مع ترك الاستغلال قيد التشغيل وتحقق مرة أخرى. إذا لم ينجح الأمر بعد ذلك، جرّب تنزيل تحديث فعليًا.

إذا كانت شبكتك تحتوي بالفعل على إدخال DNS لـ "WPAD"، يمكنك تجربة "-disable_exhaust false". يجب أن يؤدي هذا إلى فشل بحث DNS وأن يتراجع إلى NBNS. اختبرنا هذا بضع مرات ونجح الأمر.

#####Windows 8/10/Server 2012 - راجع https://www.youtube.com/watch?v=Kan58VeYpb8 في أحدث إصدارات Windows، يبدو أن Windows Update قد لا يحترم بعد الآن إعدادات الوكيل المعيّنة في "Internet Options"، أو يتحقق من WPAD. بدلًا من ذلك تُتحكَّم إعدادات الوكيل الخاصة بـ Windows Update باستخدام "netsh winhttp proxy..."

بدلًا من ذلك، في هذه الإصدارات، نعتمد على ميزة أحدث في Windows، وهي "التحديث التلقائي للشهادات غير الموثوقة". يمكن العثور على التفاصيل في https://support.microsoft.com/en-us/kb/2677070 و https://technet.microsoft.com/en-us/library/dn265983.aspx

من مقالة technet: "تتضمن أنظمة التشغيل Windows Server 2012 R2 وWindows Server 2012 وWindows 8.1 وWindows 8 آلية تحديث تلقائي تنزّل قوائم ثقة الشهادات (CTLs) على أساس يومي."

يبدو أن هذا الجزء من Windows لا يزال يستخدم WPAD، حتى عندما يكون إعداد وكيل winhttp معيّنًا على direct.

في هذه الحالة يكون استخدام Potato كما يلي: Potato.exe -ip <local ip> -cmd <cmd to run> -disable_exhaust true -disable_defender true

في هذه المرحلة، ستحتاج إلى الانتظار حتى 24 ساعة أو إيجاد طريقة أخرى لتشغيل هذا التحديث.

إذا كانت شبكتك تحتوي بالفعل على إدخال DNS لـ "WPAD"، يمكنك تجربة "-disable_exhaust false". يجب أن يؤدي هذا إلى فشل بحث DNS وأن يتراجع إلى NBNS. اختبرنا هذا بضع مرات ونجح الأمر.

###التخفيف

يجب أن يؤدي تمكين "Extended Protection for Authentication" في Windows إلى إيقاف هجمات NTLM relay.

قد يخفف SMB Signing أيضًا من هذا النوع من الهجمات، لكن هذا سيتطلب بعض البحث الإضافي من جانبي للتأكد.

###انتحال NBNS خارج البثّ باستخدام تقنية انتحال NBNS نفسها المستخدمة في استغلال Potato، يمكننا تنفيذ انتحال NBNS ضد أي مضيف يمكننا التحدث إليه عبر UDP 137. نحتاج ببساطة إلى إرسال حزم UDP بسرعة كافية للتسلل برد صالح قبل انتهاء مهلة طلب NBNS.

يمكن مشاهدة فيديو توضيحي لهذا على https://www.youtube.com/watch?v=Mzn7ozkyG5g

مختبر العرض التوضيحي لديه الإعداد التالي:

جدار حماية PFSense 10.0.0.0/24 -> شبكة الشركة 10.0.1.0 /24 -> شبكة الخوادم

من شبكة الشركة، سنهاجم آلة على شبكة الخوادم.

الاستخدام: python Responder.py –I eth0 –spoof <target>:<spoof address>:<spoof host>

تنزيل الأداة