تحليل الهجوم UAC

مقدمة

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

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

ومع ذلك، فإن فائدة مباشرة من UAC هي حماية أو تنبيه المستخدم المسؤول ضد مكونات البرامج الخبيثة التي توفر الحق في تنفيذ السلوك. وأعتقد أنه هو في الواقع آلية الأمن UAC ماهرة جدا (إذا كان لنا أن ننسى دلل جانب مشكلة التحميل في كل مكان)، أي الذي يريد القول بأن الحاجة الوحيدة لإلقاء نظرة على بعض مجموعات البرمجيات الخبيثة المتقدمة أو Metasploit / الكوبالت الإضراب، الخ إطار مفتوح المصدر، والذي يتضمن آلية تجاوز UAC. أيضا، دعونا لا ننسى أن مايكروسوفت قد مصححة نقطة ضعف تجاوز الكثير، مثل استخدام WUSA ملف استخراج CAB إلى مسار معين. تحميل الجانب لا يمكن أن يتحقق إصلاح ذات مصداقية، إذا ما تحققت سوف تحسن كثيرا من أمن المستخدم النهائي.

في أي حال، UAC دائما ساخنة المناقشات، لذلك لن أتحدث عن ذلك. حفر دعونا حول هذه الثغرة ميزة "التوافق".

موارد

  • الالتفافية UAC (FuzzySec)
  • UACME (@ hFireF0X)
  • تجاوز ويندوز التحكم في حساب المستخدم (UAC) وسبل التخفيف (ParvezGHH)
  • Fileless "UAC الالتفافية عن طريق eventvwr.exe والتسجيل اختطاف (@ enigma0x3)
  • تجاوز UAC على ويندوز 10 باستخدام تنظيف القرص (@ enigma0x3)
  • التحكم في حساب تجاوز المستخدم (UAC) باستخدام TpmInit (Cneelis)
  • داخل ويندوز 7 التحكم في حساب المستخدم (مايكروسوفت شبكة التكنولوجيا)
  • التحكم في حساب داخل ويندوز فيستا العضو (مايكروسوفت شبكة التكنولوجيا)
  • التحكم في حساب المستخدم (MSDN)

الترقية التلقائية

الشيء الرئيسي هنا هو أن يفهم أنه عندما تبدأ العملية عادة، بدلا من امتيازات مرتفعة، عملية رمزية إدارة المستخدمين خلق محرومون من امتيازات معينة (على سبيل المثال: تشغيل كمسؤول ..). يمكننا التحقق بسهولة باستخدام GET-TokenPrivs أو سسنترنلس عملية اكسبلورر تفريغ امتيازات رمزية ذلك. يظهر قطة الشاشة التالية في "CMD.EXE" في حالتين، بداية العادي، بداية كمسؤول.

في جوهره ينتمي إلى مجموعة المسؤولين نفس الحقوق مع المستخدمين الآخرين إدارة أجهزة الكمبيوتر الخاصة بهم. الأمر كذلك، فما هو الفرق بين ارتفاع وانخفاض حقوق المستخدم امتياز المستخدم؟ العملية لا تزال بحاجة إلى ذكر الحق في تغيير هذا المنوال، اعتمادا على إعدادات UAC، يمكن أن يخطر متطلبات المستخدم / كلمة المرور.

ولكن من الضروري، بين اثنين من إعدادات UAC، واحدة منها هو الافتراضي إذا كان المستخدم ينتمي إلى مجموعة المسؤولين، ويندوز ترقية تلقائيا. ويمكن تحديد هذه الملفات الثنائية التي كتبها القائمة تفريغ لها، كما هو مبين أدناه.

وهناك طريقة بسيطة للبحث عن هذه الثنائيات وبشكل متكرر تفريغ سلسلة والبحث عن "autoElevate >  صحيح ". والمنطق هنا هو أن وقعت هذه الثنائيات من قبل مايكروسوفت، معتبرا مصدرها، والمستخدم هو المسؤول، ليست هناك حاجة للمطالبة هذا السلوك (وبعبارة أخرى، بل هو وظيفة توفر).

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

يظهر المثال التالي القضية المعروفة جيدا، والذي MMC لRSOP رفع، RSOP يحاولون تحويل سلامة عالية من الحمل "wbemcomn.dll" (= المسؤول).

والمفارقة هي أنه، بالنظر إلى الإخراج من مرشح، حيث هناك على الأقل ثلاثة 0days UAC أخرى (.. علامة). اذا كان هناك من يريد تقديم طلبات سحب لتجاوز UAC، ضرب نفسك!

يذكر الحق في تشغيل ملف

هل يمكن أن يكون التفكير، "هذه هي دلل في دليل آمن"! كما ناقشنا أعلاه، الملفات الثنائية، ولكن أيضا ترقية كائنات COM تلقائيا. واحد من هذه الكائنات COM مفيدة بشكل خاص بالنسبة لنا، IFileOperation هذا الكائن COM يحتوي على العديد من الطرق المفيدة، مثل كائنات نظام الملفات (الملفات والمجلدات) نسخ / نقل / إعادة تسمية / حذف.

تقليديا، المهاجم كتابة دلل instantiates IFileOperation COM الكائنات، وسيتم تنفيذ المهاجم سينتقل الملف إلى طريقة دليل المحمية (كما في المثال أعلاه C: \ ويندوز \ SYSTEM32 \ WBEM \ wbemcomn.dll). سيتم تلقائيا الحصول على حقن كائن COM DLL في سلامة التشغيل وسائل الاعلام من دليل عملية ذات مصداقية، وعادة "EXPLORER.EXE" (- >  fdwReason == DLL_PROCESS_ATTACH). أمثلة دلل الشفرة المصدرية

ومع ذلك، فإن حقيقة أن هناك وسيلة أكثر مرونة للحفاظ على طريقة IFileOperation، يتم حقن DLL في أي مكان من دون التسبب إنذار. تعتمد كائنات COM على API وضع عملية (PSAPI) للتعرف على العمليات التي تقوم بتشغيل. ومن المثير للاهتمام، PSAPI عملية حل الجاهزة للحصول على هذه المعلومات، ولكن يمكن للمهاجم الحصول على مقبض عملية الخاصة به وتغطية الجاهزة لخداع PSAPI، نتيجة أي كائن COM يمكن إنشاء مثيل من PID مزورة.

كتبت بوويرشيل POC (حفلة تنكرية-PEB) لتوضيح هذه النقطة. في المثال التالي، يتم المقنعة بوويرشيل كما المستكشف، سسنترنلس عملية اكسبلورر يبدو خدعوا.

دراسة حالة: winsxs، UAC 0day

في دراسة الحالة التالية، ونحن سوف ننظر في ويندوز بالتوازي (WinSxS) دلل مشكلة التحميل. قدم WinSxS كحل لمشكلة ما يسمى "الجحيم DLL" في ويندوز ME. في الأساس هو مشابه لذاكرة التخزين المؤقت للتجميع العمومي، عندما يتطلب ثنائي محددة الوصول إلى مكتبة، فإنه يمكن الرجوع إلى مستودع قائمتها، سيستمر نظام التشغيل من winsxs مجلد: ذات الصلة تحميل (C \ ويندوز \ WinSxS) من DLL.

لدراسة الحالة، فإننا سوف ننظر في الترقية التلقائية من الملفات الثنائية المساعدة عن بعد مايكروسوفت (C: \ ويندوز \ SYSTEM32 \ msra.exe). هنا يمكننا أن نرى محتويات الملفات الثنائية.

ملاحظة يتوقف جزئيا، هذه الجرثومة تحتاج الى بعض "Microsoft.Windows.Common-عناصر" نسخة من المكتبة. دعونا نرى ما يحدث عندما MSRA تنفيذ مراقبة العملية.

MSRA العثور على دليل يسمى "msra.exe.Local" عندما لا يمكن العثور على المجلد الذي كان يصل إلى "C: \ ويندوز \ WinSxS"، وتحميله في قائمة مكتبة المحدد. يمكنك استخدام قانونا المطورين مجلد dotlocal من أجل التصحيح. يمكنك تخمين عندما أنشأنا بنية الدليل التالي ما يحدث.

كثيرا * * فيس بالم، في هذه المرحلة نحتاج إلى القيام به هو إنشاء مجلد الحمولة هناك DLL MSRA وتنفيذ سطر الأوامر، من أجل التجاوز UAC لاستخدام الكائنات IFileOperation COM. انها التبسيط بعض الشيء، لأن حمولة من بعض دلل دلل يمكن توجيهها للتصدير، ولكن تحصل على هذه الفكرة. اذا كان هناك من يريد تقديم طلبات سحب لتجاوز UAC، ضرب نفسك!

WinSxS اختيار كدراسة حالة، لأنه عندما تبدأ لرؤية الملفات الثنائية الترقية التلقائية، سترى حرفيا المشكلة. أوصى قراءة موضوع KernelMode.

دراسة حالة: صافي خطفها OLE32.DLL = >  الالتفافية UAC

لأن هذا النوع من تجاوز UAC لديها العديد من أجزاء متحركة (مع مرتفعة COM)، أنا خلق إطار PowerShell لمعالجة جميع الأعمال القذرة. الالتفافية UAC لديها العديد من مكونات مختلفة: (1) حفلة تنكرية-PEB غير مسؤولة عن التعامل مع هذه العملية من الخداع، (2) استدعاء-IFileOperation يتعرض أسلوب كائن IFileOperation COM لبوويرشيل، سيتم حفظ (3) ينبعث-يامابيكو حمولة دلل على القرص.

في دراسة الحالة الأخيرة، وجدت UAC بسيط نسبيا "0day"، أردت أن تجد شيئا لا تتطلب مني لتحديث يامابيكو، والتي ستعمل على X32 / إلى x64 Win7 و-Win10. وأخيرا، أنا حل سلوك تحميل إساءة برنامج .NET Framework. هناك العديد من الطرق لتحريك سلوك تحميل الخطأ، ولكن سوف نستخدم MMC التجاوز UAC (* .msc).

التنميط MMC:

دعونا نرى ما يحدث عند بدء تشغيل "الوسائط المتعددة GPEDIT.MSC" رصد عملية ما (مرشح: سطر الأوامر له "الوسائط المتعددة"، لم يتم العثور على اسم ومسار هناك "دلل"). لقطة تظهر أدناه نتائج فوز 10 ويندوز 7.

WIN7

Win10

هناك نوعان من إصدارات نظام التشغيل بعض الإدخالات رهيبة! ومع ذلك، القادة الحمقى وتتجاهل تلك الإدخالات التي لا تداخل، وتركنا "MFC42LOC.DLL" و "OLE32.DLL". تحتاج MFC42LOC بعض مزيد من التحقيق، لقد رأيت ذلك عدة مرات، ولكن لا يبدو أن نلعب بشكل جيد. من ناحية أخرى، أثبتت OLE32 أن يكون خيارا مناسبا.

اختطاف OLE32:

والمشكلة التي تحتاج إلى حل و، يتم تحميل DLL الواضح من دليل مختلفة، مسح وجيزة من مجلد النسخة الافتراضية. NET إلى إيجاد OLE32. يمكننا استخدام الأمر بوويرشيل التالية للحصول على هذا الإصدار.

السؤال الذي يطرح نفسه هو آخر، يامابيكو دلل بالوكالة في تجاوز-UAC مفتوح بوويرشيل، بوويرشيل نفسها يمكن أن يسبب هذا الخطأ خطأ في تحميل مما تسبب في شل لانهائية للملوثات العضوية الثابتة ... لتجنب هذا السلوك، لدينا لاختبار لدينا دلل حمولة تحميل وحذفها، لذلك تنفيذها مرة واحدة فقط!

تنفيذ الالتفافية UAC:

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

"UacMethodNetOle32" { # الهجين طريقة MMC: MMC some.msc - >  Microsoft.NET \ الإطار \ .. \ OLE32.DLL # يعمل على إلى x64 / x32 يمكنها Win7 و-Win10 (غير المصلحة) إذا ($ OSMajorMinor -lt 6.1) { صدى " نظام التشغيل الخاص بك لا يدعم هذا الأسلوب!` ن " عودة } # انتحال EXPLORER.EXE صدى "` ن انتحال شخصية EXPLORER.EXE! " المهزلة-PEB -BinPath "C: \ ويندوز \ EXPLORER.EXE" إذا ($ DllPath) { صدى "< > > استخدام دلل وكيل مخصصة .. " صدى " دلل مسار: $ DllPath" } {شيء آخر # كتابة Yamabiko.dll إلى القرص صدى "< > > اسقاط دلل الوكيل .. " ينبعث-يامابيكو } النسخة # الحصول الافتراضية. NET $ Net_Version = :: GetExecutingAssembly (). ImageRuntimeVersion # احصل على عدد من العمليات بوويرشيل $ PS_InitCount = @ (GET-عملية -Name بوويرشيل) .Count # كشف وجوه IFileOperation COM استدعاء-IFileOperation # استغلال المنطق صدى "< > > أداء مرتفعة العملية IFileOperation :: MoveItem .. " # X32 / إلى x64. NET مجلد إذا ($ x64) و { $ IFileOperation.MoveItem ($ DllPath، $ ($ الحياة الفطرية: SYSTEMROOT + '\ Microsoft.NET \ Framework64 \' + $ Net_Version + '\')، "OLE32.DLL") } {شيء آخر $ IFileOperation.MoveItem ($ DllPath، $ ($ الحياة الفطرية: SYSTEMROOT + '\ Microsoft.NET \ الإطار \' + $ Net_Version + '\')، "OLE32.DLL") } $ IFileOperation.PerformOperations () صدى "` ن تنفيذ الوسائط المتعددة .. " IEX $ ($ الحياة الفطرية: SYSTEMROOT + '\ SYSTEM32 \ MMC.EXE GPEDIT.MSC') # نقل يامابيكو إلى تمة بعد أن الأحمال لتجنب قذائف اللانهائية! بينما ($ صحيح) { $ PS_Count = @ (GET-عملية -Name بوويرشيل) .Count إذا ($ PS_Count -gt $ PS_InitCount) { محاولة { # X32 / إلى x64. NET foler إذا ($ x64) و { $ IFileOperation.MoveItem ($ ($ الحياة الفطرية: SYSTEMROOT + '\ Microsoft.NET \ Framework64 \' + $ Net_Version + '\ OLE32.DLL)، $ ($ الحياة الفطرية: درجة الحرارة +' \ ')،' OLE32.DLL " ) } {شيء آخر $ IFileOperation.MoveItem ($ ($ الحياة الفطرية: SYSTEMROOT + '\ Microsoft.NET \ الإطار \' + $ Net_Version + '\ OLE32.DLL)، $ ($ الحياة الفطرية: درجة الحرارة +' \ ')،' OLE32.DLL " ) } $ IFileOperation.PerformOperations () استراحة } {اقبض # أحيانا IFileOperation يطرح استثناء # عندما أعدم مرتين على التوالي، إعادة تشغيل فقط .. } } } # النظيفة المتابعة صدى " UAC قطعة أثرية: $ ($ الحياة الفطرية: درجة الحرارة + '\ OLE32.DLL')` ن " }

نهاية القضية، الصورة ادناه يوضح تجاوز على ويندوز 8 (x64) و ويندوز 10 (X32) من.

و Win8 إلى x64

Win10 بسرعة x32

من ناحية أخرى، وهذا هو آلية استمرار جيدة. DLL OLE32 حذف مغلفة في المجلد .NET Framework و خطة لاستخدام أي شيء. NET تشغيل عند بدء التشغيل / الخمول.

ملخص

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

* الأصل: fuzzysecurity Mottoin الترجمة المنشورة

المادة الأصلية، الكاتب: سام، مستنسخة من: HTTP: //www.mottoin.com/article/system/90755.html

النسخة الرسمية من المجلد 12017 الكلية الوطنية الأسئلة امتحان القبول وأجوبة

تخمين ما هي الأحذية سخونة؟ ! ظهرت 2018SS كوبنهاغن أسبوع الموضة في الأحذية الأعلى 20 في شارع القدم اطلاق النار طبعة خاصة!

الرقم الرسمي مرسيدس-بنز الفئة- S الداخلية سراح! 14 أبريل الحلقة

"الورقة الخضراء" كسر مائة مليون! أوسكار أيضا أعجب أصدقاء الحارة جمهور صرخة: ما وأوصي فيلم جيد

MobSF: الأمن موبايل الآلي إطار اختبار

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

تباع Zotye SR7-GAL طبعة خاصة 36666600، أو كيف ترون؟

ممن لهم مضيفا أفراد الأسرة الجديد! أعلن مسؤول أن يانغ زي تشنغ كاي يصبح المتحدث باسم جديد

ولد المغنية A-لين غنى "أكثر من قصة حزينة حزينة،" أصدقاء أغنية: الجملة الأولى تصرخ بصوت عال

صناعة الانترنت ليست مجرد شبكة: شبكة هي الأساس، والنظام الأساسي هو المفتاح

حصريا 2017 كلية امتحان القبول الأسئلة تعليقات

سكودا كودي سينانياكي التكوين المفصلة يأتي!