#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
#CrowdStrike #Kernel Mode #Binary #Vulnerabilities
آسیب پذیری NULL Pointer Dereference در Driver سنسور Falcon که در خصوص پیاده سازی مدل های هوش مصنوعی تشخیص رفتار های مخرب در سیستم عامل را انجام داده و فرایند پاسخ به حادثه در لحظه رو اعمال خواهد کرد، آسیب پذیر بوده و با نام CSAgent.sys فعالیت میکرده است.

اما جزئیات آسیب پذیری: اول اینکه یک Driver سطح هسته سیستم عامل در زمان Boot سیستم عامل نصب و راه اندازی میشوند. دوم Driver امکان ارتباط مستقیم با سخت افزار داشته و میتواند منابع سیستم عامل و دسترسی به حافظه محافظ شده را نیز دارا باشد. سوم یک Driver سطح هسته میتواند بر رفتار اصلی سیستم عامل تاثیر بگذارد.

این Driver ها در Windows Hardware Lab Kit امضای دیجیتالی مایکروسافت رو برای فعالیت در سیستم عامل دریافت میکنند که Driver نرم افزار Falcon نیز از آن جمله است.

فرایند بررسی و اعطای مجوز به Driver ها توسط مایکروسافت، یک فرایند زمانبر است لذا CS رویکردی با نام RRC ایجاد کرده تا سریعا محتواهای واکنش سریع خود را در قالب یک بروز رسانی پیکربندی محتوا انجام داده و Driver را بصورت پویا Load نماید.

@Unk9vvN