Evasión de detección en tiempo real
Si en vez de pasarle un binario, lo que queremos es que ejecute un script de PowerShell por ejemplo, podremos hacerlo de tal forma que no salte el antivirus y poder crearnos nuestra reverse shell.
Si nos vamos a la suite de powersploit como hemos comentado en temas anteriores:
powersploitInfo:
> powersploit ~ PowerShell Post-Exploitation Framework
/usr/share/windows-resources/powersploit
├── AntivirusBypass
├── CodeExecution
├── Exfiltration
├── Mayhem
├── Persistence
├── PowerSploit.psd1
├── PowerSploit.psm1
├── Privesc
├── README.md
├── Recon
├── ScriptModification
└── TestsTendremos diferentes scripts que podremos encontrarnos en esa ruta que nos marca para poder realizar lo que comentaba anteriormente.
Pero el que nos interesa esta en Recon/Powervire.ps1 como vimos anteriormente en temas anteriores en Active Directory.
Vamos a encender nuestra maquina DC01 y ahora vamos a irnos a la maquina WS02 abriremos un PowerShell y ejecutaremos el siguiente comando para que coja el .ps1 y lo ejecute seguidamente.
Maquina atacante
Maquina victima
Info:
Vemos que nos pone que puede ser un malware por lo que nos lo esta bloqueando nuestro antivirus, ya que por lo menos el antivirus de Microsoft tiene un modulo llamado amsi el cual parchea esas firmas maliciosas y bloquea la ejecuccion o el binario que contiene dentro de ese modulo.
Para poder Bypassear este tipo de firmas y que el antivirus no lo detecte tendremos que estar muy al dia para poder ver las nuevas vulnerabilidades que puede salir para poder bypassear esto, ya que cuando salgan dichas vulnerabilidades Microsoft u otras empresas pondran el parche de las mismas, por lo que tendremos un tiempo reducido para aprovecharlas, pero hay una pagina con una tecnica que presento un investigador llamado Matt Graeber que es la siguiente:
URL = Pagina de Matt Graeber amsi Bypass
El investigador se dio cuenta de que si en el codigo a ejecutar en PowerShell contenia la palabra amsiInitFailed en true no cargaba el analizador de firmas de Windows Defender y no lo escaneaba, por lo que bypassearia esas confirmaciones de firmas del modulo de amsi.
Por lo que se podria ejecutar cualquier script sin que fuera detectado por el Windows Defender.
Es este codigo de aqui:
En versiones anteriores de Windows funciona, pero como esta vulnerabilidad salio muy famosa, ya esta bloqueado en versiones mas actuales, ya que si lo intentamos ejecutar pondria lo siguiente:
Pero vino otro investigador y dio la solucion de en vez de poner todo ese comando en texto plano, codificarlo en base64 de la siguiente forma:
Esto a dia de hoy funciona, en tal caso de que lo siguiera bloqueando se puede ofuscar un poco mas el codigo para poder bypassear dicha firma que se pueda ejecutar esto mismo.
Por ejemplo este otro codigo:
URL = GitHub del codigo
Y si ahora sin que nos de ningun error probamos a ejecutar de nuevo el siguiente comando:
Vemos que efectivamente nos deja y no nos bloquea absolutamente nada.
Por lo que vamos a probarlo de la siguiente forma:
Info:
Y por lo que vemos funciona correctamente la herramienta.
Tambien se descubrio que habia otra forma de poder evadir este tipo de amsi con las siguiente lienas:
Lo que esta haciendo aqui es forzar un error y esa variable se establecia en true quedando ese modulo desactivado, pero a dia de hoy ya te lo bloquea.
Pero llego otro investigador y creo una aplicacion que es la siguiente:
URL = amsi.fail Pagina
Lo que hace esto es que cada vez que le damos a generar nos genera el mismo comando anterior pero de forma ofuscada, pero va cambiando la forma de ofuscarlo cada vez que pulsamos, por lo que podremos bypassear esa firma de windows, por ejemplo si le damos una vez a generar a mi me genero este codigo:
Esto si lo ejecutamos no nos dara ningun error y abremos desactivado el modulo de amsi.
Last updated