#Obfuscation #Shellcode on Exploit
نمونه ای از روش های مبهم سازی پایلود پاورشلی بر بستر یک آسیب پذیری که بر روی زبان جاوا اسکریپت طراحی شده است,

نکته این تصویر این است که درک کردن آسیب پذیری ها و اکسپلویت نویسی برای آنها فقط لازمه یک نفوذ موفق نیست بلکه در خصوص تکنیک های #RedTeam ها هم میبایست یک هکر آگاه باشه تا بتونه Detection ها Logger ها و دیگر مکانیزم های نظارتی رو به اشتباه محاسباتی دچار کنه...

البته مدل های ٍمبهم سازی میتونه بر بستر زبان اسمبلی هم باشه مانند استفاده از الگوریتم های پالیمورفیسم, متامورفیسم , میمیمورفیسم و غیره.....

https://www.defcon.org/images/defcon-17/dc-17-presentations/defcon-17-sean_taylor-binary_obfuscation.pdf
@Unk9vvN
#Kernel_Land #Privilege #Shellcode (Win7)
یکی از روش های ایجاد یک پروسس با سطح دسترسی SYSTEM در سیستم عامل ویندوز ۷ اینه که با استفاده از explore کردن KPRC یا Kernel Processor Control بیایم و ProcbData رو که موقعیتش در ntdll!_KPCR+0x120 هست رو پیمایش کنیم و در موقعیت ProcbData+0x004 مقدار CurrentThread رو بدست بیاریم,

mov eax, [fs:eax + 0x124]

در مرحله بعد از ساختار _KTHREAD مقدار ApcState که در موقعیت +0x040 قرار داره رو هم بدست آورده و explore کنیم, در جریان explore کردن _KAPC_STATE در موقعیت +0x010 ما مقدار کرنل پروسس رو میتونیم در EAX برای ۳۲ بیت و RAX در ۶۴ بیت ذخیره کنیم,

mov eax, [eax + 0x50]

در مرحله بعد میبایست UniqueProcessId مربوط به پروسسی که میخوایم ارتقاء بدیم رو با استفاده از تابع PsGetCurrentProcess بدست بیاریم, در نهایت هم از ساختمان EPROCESS میبایست موقعتی که توکن ها در آنها لحاظ میشوند رو بدست آورده و با استفاده از Flink که مربوط به اشاره گر پروسس قبل و بعد است رو بکار گرفته و یک توکن سیستمی رو پیدا و با توکن CurrentThread خودمون جا به جا کنیم...

@Unk9vvN