
Funzione C# di Azure con un trigger HTTP che genera frammenti PowerShell offuscati che rompono o disabilitano AMSI per il processo corrente.
Originariamente una Funzione Azure in C# (successivamente portata in JS) con un trigger HTTP che genera snippet PowerShell offuscati che rompono o disabilitano AMSI per il processo corrente. Gli snippet vengono selezionati casualmente da un piccolo pool di tecniche/variazioni prima di essere offuscati. Ogni snippet viene offuscato al runtime/richiesta in modo che nessun output generato condivida le stesse firme.
Visita https://amsi.fail/ per una demo funzionante!
Come spiegato da f-secure in uno dei loro eccellenti post sul blog:
AMSI è un'interfaccia su cui le applicazioni o i servizi (inclusi quelli di terze parti) sono in grado di scansionare il contenuto di uno script per rilevare usi malevoli. Se una firma nello script viene registrata dal provider del servizio antimalware AMSI (Windows Defender per impostazione predefinita), verrà bloccata. Per mettere ciò in contesto, considera i seguenti passaggi che PowerShell esegue per integrarsi con AMSI:
Poiché AMSI si basa sul caricamento all'interno del processo che esegue lo script effettivo, le tecniche per rompere o applicare patch a funzioni specifiche all'interno di amsi.dll sono ben note.