#JScript OBF #HTA Attack
یکی از رایجترین حملات, استفاده از فایل فرمت های Front-End هستش فایل فرمت هایی مانند sct-hta-js-xml و غیره اما یکی از چالش هایی که در تمام این فایل فرمت ها وجود دارد بحث شناسایی پترنی هستش که در خصوص initialize کردن یک #COM_Object برای اجرای پایلودهای پاورشی ایجاد میشود,

از این روی یکی از تکنیک های جالبی که میتوان استفاده کرد این است که ما مقادیر مربوط به مثلا نام #COM_Object هارا بصورت هگزادسیمال تعریف کرده و پروسه Initialize کردن آنرا بر بستر نام هایی انجام دهیم که بوصورت هگزادسیمال درون یک آرایه ریخته شده و سپس براساس موقعیت قرارگیری آنها در آرایه آنهارا فراخوانی کنیم,

این امر میتواند به بحث شناسایی نشدن پایلود کمک کند و البته اگر بیشتر به این موضوع پرداخته شود میتوان پایلود رو به Evasion شدن ۱۰۰٪ نزدیک نمود....

@Unk9vvN
#CVE-2025-30397 #JScript #UAF
تشریح اکسپلویتی برای مرورگر هایی که از موتور اجرایی JScript.dll استفاده میکنند مانند IE 11 ویندوز.

تکنیک اول: تعریف 16 بیت NOP برای ابتدای Shellcode اصلی، دوم تعریف Shellcode بصورت unescape.

تکنیک دوم: ایجاد یک حلقه for برای اجرای تکنیک Heap Spray در حافظه Heap برای ایجاد یک فضای مناسب که بتوان در ارجاع دوم Pointer، اقدام به بازنویسی Shellcode کرده برای اجرا.

یک Element از نوع iframe ساخته میشود، و src میشود به about:blank ، اینجا یک حافظه Heap رزرو خواهد شد.

به body آن sprayTarget وصل شده، و یک حلقه for ساخته شده و داخل اون try زده شده و درون اون contentWindow میاد یک کد JS رو در eval اجرا خواهد کرد.

در تابع eval یک کد JS که final درش هست که final حاوی shellcode بوده، اجرا میشود، همچنین در ادامه یک حلقه for دیگر تعریف شده که تگ div یک obj تعریف شده که با innerHTML یک Spray نیز اینجا انجام میشود.

در انتها دقت کنید، تگ object دوباره در victim تعریف شده و باز به body اتچ شده است، اینجا UAF رخ خواهد داد و شلکد قبلا نوشته شده اجرا میشود.

@Unk9vvN