
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 لتجاوز AMSI عن طريق تصحيح (Patching) الدالة AmsiOpenSession. وفقًا لأكواد التجميع، إذا تحقق أي من الشروط التالية، فستخرج الدالة بخطأ E_INVALIDARG.

يقوم هذا السكربت بتصحيح (Patch) الدالة AmsiOpenSession عن طريق تعيين قيمة RCX إلى 0.

تصحيح (Patching) الدالة AmsiOpenSession لا يمكنه تجاوز AMSI عند استخدام Assembly.Load()
HRESULT AmsiScanBuffer(
[in] HAMSICONTEXT amsiContext,
[in] PVOID buffer,
[in] ULONG length,
[in] LPCWSTR contentName,
[in, optional] HAMSISESSION amsiSession,
[out] AMSI_RESULT *result
);
يمكن استخدام هذا السكربت بلغة PowerShell لتجاوز AMSI عن طريق تصحيح (Patching) الدالة AmsiScanBuffer. يقوم السكربت بتصحيح الدالة AmsiScanBuffer عن طريق تعيين قيمة RAX إلى قيمة الخطأ E_INVALIDARG والعودة فورًا.

تصحيح (Patching) الدالة AmsiScanBuffer يمكنه تجاوز AMSI عند استخدام Assembly.Load()

يحتوي هذا الملف على حمولات (payloads) من سطر واحد يمكن استخدامها في جلسة PowerShell الحالية لتجاوز AMSI فورًا. ومع ذلك، لا يمكنها تجاوز AMSI عند استخدام Assembly.Load().
يمكن العثور على التفاصيل في هذا الملف.