سيقوم هذا المقال بشرح كيفية الحصول على شيل عكسي “reverse shell” من خلال إستغلال ثغرة MS15-100. هذه الثغرة يمكن تعريفها بأنها ثغرة لتنفيذ كود برمجي عن بعد في برنامج Windows Media Center . هذه الثغرة بسبب أن ملفات Media Center link لاتعالج بشكل صحيح. يمكننا إنشاء ملف خاص Media center link وتشغليه بإستخدام برنامج Windows Media Center لإمكانية تنفيذ الكود والتي ستعطي المهاجم الكود العكسي.

حسب Microsoft فإن هذه الثغرة تسمح لتنفيذ الكود عن بعد اذا قام برنامج WMC بفتح الملف (Media Center link (.mcl الذي يشير الى الكود الخبيث. الأن المهاجم الذي إستغل هذه الثغرة سيحصل على نفس صلاحيات المستخدم الحالي. المستخدمين الذين يملكون صلاحيات محددة سوف يتأثرون بشكل أقل مقارنا بالأشخاص الذين يعملون بصلاحيات المدير الكاملة.

التثبيت


سنحتاج الى البرامج وأنظمة التشغيل التالية:

  • Virtualbox
  • Kali Linux running inside the virtualbox
  • Windows 7 machine running inside the virtualbox

نظام Kali و Windows 7 متصلان بـ “Host Only Adapter”

 إختبار الثغرة


 

لإختبار الثغرة قم بفتح Notepad على جهاز الويندوز وقم بكتابة التالي

<application run=”c:\windows\system32\calc.exe”>

قم بحفظه بلاحقة “mcl.” ,والتي تمثل ملف Media Center Link.

1

 

 

لأولائك الكسالى فقد تم وضع سكريبت بايثون على موقع expoilt-db , لإنشاء ملف POC فقط بتشغيل هذا السكريبت.

هذه الشرح التالي:

سكريبت البايثون موجود في الرابط التالي:

/www.exploit-db.com/exploits/38151

يمكننا تنفيذ هذا السكريبت لتوليد ملف “Music.mcl” . يحتوي نفس محتويات الملف التي كتبناها في Notepad.

 

2

الأن سنقوم بتنفيذ هذا الملف. يجب أن نرى الحاسبة تظهر لنا.

3

الحصول على الشيل


لنبدأ بالحديث عن الإستغلال, قالت Microsoft: ” لإستغلال هذه الثغرة, يجب على المهاجم جذب المستخدم لتنصيب ملف “mcl.” على الجهاز. الكود الخبيث المرتبط بهذا الملف سوف يكون قابلا للتنفيذ من مكان المهاجم”.

 

لنقدم هذه الخطوات من أجل إستغلال ناجح لهذه الثغرة:

  1. يجب القيام بإنشاء الملف التنفيذي الخبيث من قبل المهاجم.
  2. وضع الملف للتحميل عبر ملف mcl الخبيث بوضعه بمسار UNC.
  3. إنشاء ملف “mcl.” الخبيث وإرساله الى الضحية.
  4. تنصيب listener.
  5. الحصول على الشيل حالما يفتح الضحية ملف “mcl.”.

وبالتالي يجب أولا إنشاء الملف الخبيث على جهاز الضحية وبعدها جعله متوفرا في مسار UNC لتمكين ملف mcl الخبيث من تحميله وإعطائنا الشيل العكسي حالما يتم تنفيذه.

ملاحظة: تم إنشاء الملف الخبيث الذي سوف يعطينا الشيل العكسي تم إنشاؤه بإستخدام حمولة

“msfvenom’s “windows/shell_reverse_tcp  و433 كـ listening port.

قمت أيضا بإنشاء SMB share على جهازي الذي سيستخدم للهجوم.

وهذه أخر ملف “exploit.mcl” الذي سوف يمرر للضحية.

4

يجب أن نمرر هذا الملف exploit.mcl الى الضحية ونقنعه بطريقة ما بالقيام بفتحه.

تنصيب Netcat listener على المنفذ 443 بما أن الحمولة أنشأت بواسطة هذا المنفذ.

5

بعد الإنتهاء من كل شئ سنفتح ملف exploit.mcl كما هو موضح

6

يجب أن نحصل على الشيل العكسي على جهاز الويندوز كما هو موضح.

1

الشيل الذي حصلنا عليه سيملك نفس صلاحيات المستخدم الداخل حاليا وفي حالتي سيكون “المدير”.

بدلا من Netcat يمكننا إستخدام اي listener من إختيارك. اذا كنت من محبي Metasploit فهذه الخطوات لك.

1

إذا كنت قلق من نقل النص بوضوح بالنسبة لـ Netcat, يمكنك إستخدام ncat listen.

1

للقيام بالعملية كاملة بشكل أتوماتيكي, قامت Metasploit بإصدار نموذج لها وستكون متاحة عبر الروابط التالية.

www.exploit-db.com/exploits/38195/

www.rapid7.com/db/modules/exploit/windows/fileformat/ms15_100_mcl_exe

 

ترجمة لمقال : (Exploiting MS15-100 Vulnerability (CVE-2015-2509 لصاحبها Srinivas.