¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
GoAround — Una herramienta que permite la generación de bypasses de AMSI y la ofuscación automática de scripts de PowerShell utilizando tres métodos diferentes de ofuscación. | Kitploit
Una herramienta que permite la generación de bypasses de AMSI y la ofuscación automática de scripts de PowerShell utilizando tres métodos diferentes de ofuscación.
Una herramienta que permite generar bypasses de AMSI y la ofuscación automática de scripts de PowerShell utilizando tres métodos de ofuscación diferentes. GoAround está licenciado bajo la licencia MIT. Consulte LICENSE para obtener más información.
Esta herramienta ha sido desarrollada para ayudar a los pentesters en sus tareas diarias de post-explotación y como proyecto de investigación. Cualquier uso malicioso de esta herramienta o su uso en sistemas de terceros sin el permiso correspondiente será responsabilidad exclusiva del usuario.
Instalación
Solo necesita descargar el código de Github y ejecutar la herramienta desde la línea de comandos de Windows o la consola de PowerShell.
Guía del usuario
Con GoAround puede hacer dos cosas diferentes:
Generar scripts de PowerShell con el código necesario para realizar un bypass de AMSI. El código generado puede ser ofuscado automáticamente.
Ofuscación automática de scripts de PowerShell, utilizando diferentes técnicas.
El usuario puede elegir entre dos tipos diferentes de bypass de AMSI y tres técnicas de ofuscación diferentes.
Cómo usarlo
Para poder usar esta herramienta es necesario tener instalado Python en la máquina. Las siguientes rutas deben agregarse a la variable de entorno PATH:
Donde todas las opciones entre corchetes son opcionales. Los valores de estas opciones son:
-m o --mode: la única opción obligatoria. Indica el modo de operación en el que debe ejecutarse la herramienta. Vaya a la sección Modos de operación para más información.
-t o --type: indica el tipo de bypass que se va a usar cuando el modo es bypass o el tipo de método de ofuscación cuando el modo es obfuscate. Consulte la sección Tipos de bypass para conocer los diferentes tipos de bypass y la sección Métodos de ofuscación para conocer los métodos de ofuscación disponibles.
-f o --obfuscation: cuando el modo de operación es bypass, esta opción se utiliza para seleccionar el tipo de ofuscación para el bypass. Esta opción no está disponible en el modo obfuscate, use "-t" o "--type" en su lugar. Para conocer los diferentes métodos de ofuscación, lea la sección Métodos de ofuscación.
-i o --input: solo se usa en el modo obfuscate. Permite al usuario seleccionar el archivo a ofuscar.
-o o --output: esta opción permite al usuario seleccionar el nombre del script generado. El nombre debe terminar en ".ps1". Por defecto, el nombre del archivo de salida será "output.ps1".
Además, también se admiten las siguientes opciones y deben ejecutarse solas (sin ninguna otra opción):
-h o --help: muestra al usuario la guía de uso de la herramienta.
-v o --version: muestra el número de versión de la herramienta.
Modos de operación
Hay dos modos de operación, bypass y obfuscate, y se seleccionan con la opción "-m" o "--mode":
bypass: para indicar que la herramienta debe ejecutarse en modo bypass. En este caso, se generará un archivo PS1 con el código del bypass de AMSI.
obfuscate: para indicar que la herramienta debe ejecutarse en modo ofuscación. En este caso, la herramienta ofuscará el archivo proporcionado por el usuario con la opción "-i" o "--input" (obligatoria en este modo de operación). Se generará un archivo PS1 con el código ofuscado. La ofuscación solo es funcional para scripts de PowerShell.
Tipos de bypass
En modo bypass (-m bypass), el tipo de bypass se puede indicar con la opción "-t" o "--type".
En este momento, estos son los tipos de bypass admitidos:
reflection: bypass de reflexión de Matt Graeber.
scan_buffer_laine: bypass de parche de AmsiScanBuffer de Paul Laîné.
Si no se especifica ningún tipo, se utilizará el de reflexión por defecto.
Métodos de ofuscación
En este momento, la herramienta admite tres técnicas diferentes de ofuscación de PowerShell.
Para seleccionar el tipo de ofuscación en modo bypass, se usa la opción "-f" o "--obfuscation" (si no se especifica, el bypass no se ofuscará). Para seleccionar el tipo de ofuscación en modo obfuscate, se usa la opción "-t" o "--type" (si no se especifica, se usará la técnica de concatenación).
Los nombres de los tipos de ofuscación son los siguientes:
mayus: cambiará el código de PowerShell usando la técnica de randomcase. Esto no afectará a las cadenas presentes en el código. Este método cambiará el hash del archivo.
concatenation: método usado por defecto en el modo obfuscate. Cambiará las cadenas presentes en el código por concatenación de cadenas más pequeñas. Las cadenas se dividirán aleatoriamente, por lo que cada vez el código será diferente para el mismo archivo de entrada.
insertion: cambiará las cadenas presentes en el código por combinaciones de cadena y variable. Por ejemplo, si el código tiene la cadena “amsiutils”, podría ser reemplazada por “am$var_tfm0”, donde var_tfm0 = “siutils”. Las cadenas se dividen aleatoriamente, por lo que cada vez el código será diferente para el mismo archivo de entrada. Las variables tendrán un nombre con el formato “var_tfm{número}”, por lo tanto, si el código original tiene variables con estos nombres, deben cambiarse antes de la fase de ofuscación.
Ejemplos
Aquí puede ver algunos ejemplos de uso:
Mostrar menú de ayuda
python main.py -h
python main.py --help
Mostrar número de versión de la herramienta
python main.py -v
python main.py --version
Generar bypass de reflexión ofuscado mediante inserción de variables