
Amsi Bypass payload that works on Windwos 11
तकनीकी विवरण लेख में पाए जा सकते हैं: https://medium.com/@gustavshen/bypass-amsi-on-windows-11-75d231b2cac6
HRESULT AmsiOpenSession(
[in] HAMSICONTEXT amsiContext,
[out] HAMSISESSION *amsiSession
);
यह PowerShell स्क्रिप्ट AmsiOpenSession को पैच करके AMSI को बायपास करने के लिए उपयोग की जा सकती है। असेंबली कोड के अनुसार, यदि निम्नलिखित में से कोई भी शर्त पूरी होती है, तो फ़ंक्शन E_INVALIDARG त्रुटि के साथ बाहर निकल जाएगा।

यह स्क्रिप्ट RCX को 0 पर सेट करके AmsiOpenSession को पैच करती है।

AmsiOpenSession को पैच करना Assembly.Load() के लिए AMSI को बायपास नहीं कर सकता है
HRESULT AmsiScanBuffer(
[in] HAMSICONTEXT amsiContext,
[in] PVOID buffer,
[in] ULONG length,
[in] LPCWSTR contentName,
[in, optional] HAMSISESSION amsiSession,
[out] AMSI_RESULT *result
);
यह PowerShell स्क्रिप्ट AmsiScanBuffer को पैच करके AMSI को बायपास करने के लिए उपयोग की जा सकती है। यह स्क्रिप्ट RAX को E_INVALIDARG त्रुटि के मान पर सेट करके और तुरंत लौटकर AmsiScanBuffer को पैच करती है।

AmsiScanBuffer को पैच करना Assembly.Load() के लिए AMSI को बायपास कर सकता है

इस फ़ाइल में एक-लाइनर पेलोड हैं जिनका उपयोग वर्तमान PowerShell सत्र में किया जा सकता है और तुरंत AMSI को बायपास किया जा सकता है। हालाँकि, यह Assembly.Load() के लिए AMSI को बायपास नहीं कर सकता है।
विवरण इस फ़ाइल में पाए जा सकते हैं।