Evasion de Antivirus mediante FatRat

Algo que en ciertas ocasiones nos complica la intrusión hacia algún sistema informático son las soluciones de seguridad con las que cuenta este sistema, con esto me refiero a los AV’s, ya que al momento de que se ingrese algún tipo de malware al equipo, el AV lo categoriza como amenaza y lo coloca en cuarentena o se deshace de él, asi como los Firewalls evitan que se ejecuten ciertos exploits que lancemos hacia el sistema objetivo, etc (En el caso de Windows no es tan efectivo). Sin embargo, habrá veces en las que estas soluciones de seguridad no resulten del todo efectivas, ya que se puede crear malware o backdoors indetectables de distintas formas.

Entre las distintas herramientas que se encuentran para conseguir hacer Bypass de AV, nos encontramos con “The FatRat”, esta nos permite hacer FUDDING, o generar payloads (malware) que no son detectados por la mayoría de las protecciones Antivirus. Su uso es bastante simple, además que puede crear backdoors para distintas plataformas (Windows, Android, Linux, etc.) 

Cabe destacar que “The RatFat” no es una herramienta que ya venga incluida en las distros para pentesting, por lo que habrá que descargarla e instalarla por nuestra cuenta, se puede conseguir aquí: https://github.com/Screetsec/TheFatRat

Bockdooring de Windows y Bypass de UAC.

Una vez iniciado, se van a checar ciertas dependencias para que FatRat funcione bien:

1
Imagen 1.1: Checking de las Dependencias.

NOTA: La demostración del uso de esta herramienta se lleva a cabo en Parrot 3.1, por lo que es recomendable instalarlo ahí o en las versiones más nuevas de las distros para pentesting (Kali, BlackArch, Back Box, etc)  puedes descargar Parrot desde aquí:  

https://www.parrotsec.org/download.fx

 

Al terminar la revisión de la existencia de las dependencias, nos aparecerá un aviso diciéndonos que no subamos a VirusTotal las muestras de malware que hagamos, presionamos cualquier tecla para continuar:

2
Imagen 1.2: Advertencia sobre VirusTotal

Ya iniciado, veremos el menú principal de la Herramienta, en donde se enumeran las múltiples funciones con las que cuenta para crear payloads y backdoors no detectables.

3
Imagen 1.4: Menú principal de “The FatRat”

En Donde:

  • CREATE BACKDOOR WITH MSFVENOM: Compilará un ejecutable mediante el uso de msfvenom (una herramienta perteneciente al framework de Metasploit)
  • CREATE FUD 100% BACKDOOR (SLOW BUT POWERFULL): Creará un programa en C que tendrá una posibilidad más grande de hacer Bypass a la mayoría de los AV, el hacer este ejecutable tomará alrededor de 5 min.
  • CREATE FUD BACKDOOR WITH AVOID 1.2: Creara un payload de Metasploit de tipo “AutoRun” que resultará indetectable para los AV´s dentro de esta función, podemos encontrar múltiples opciones de cifrado para evasión de AV.
  • CREATE FUD BACKDOOR WITH BACKDOOR-FACTORY: Se compilara un simple Backdoor ejecutable (no es muy recomendable).
  • BACKDOORING ORIGINAL APK FILES: Se tomará una APK ya existente y se le hará la inserción de un payload de Metasploit, para infectar la App y comprometer un dispositivo Android.
  • CREATE FUD BACKDOOR WITH PwdWind: Con esta función podemos crear payloads con diferentes formadas de codificación, en las que siempre estará involucrado powershell (Habrá payloads más eficientes que otros para hacer evasión de AV).

Para esta demostración se usará  la sexta opción del menú (CREATE FUD BACKDOOR WITH PwdWind):

4

Imagen 1.5: Menú de la función 6

Simplemente ingresando el número correspondiente, al hacerlo se mostrará la descripción de esta función, asi como los 2 parámetros de configuracion que se usarán (LHOST, LPORT y el nombre de archivo de salida “output”), donde LHOST, será el host (Nosotros) que estará a la escucha de las sesiones meterpreter que se activen, esto lo configuraremos con un handler más adelante. LPORT, que será el puerto que se configurará en el payload (Algún puerto nuestro) 7777 en este caso, y name for output files, que será “ExitosJuanga”, al finalizar aparecerá el tipo de payload que estará dentro del programa compilado, para este ejemplo escogeremos el “windows/meterpreter/reverse_tcp” el cual hará que se ejecute un shell inversa hacia nosotros en Metasploit:

5

6

7

Imagen 1.6, 1.7 y 1.8: Proceso de compilado de payload malicioso.

Al terminar de compilarse el, nos indicará el directorio donde se encuentra el payload malicioso, el cual tendrá que ejecutarse en la maquina víctima, en este ejemplo será una un Windows 8.1 virtualizado que estará en el mismo segmento de red que la maquina víctima. Ahora antes de hacerlo llegar hacia la maquina víctima, configuraremos algunas cosas en Metasploit para que funcionen en conjunto con el payload que generamos, para esto abriremos una nueva terminal y ejecutaremos “msfconsole” para inicializar la consola del framework
Dentro configuraremos un handler y un payload, el primero lo que hará será estar a la escucha de otros exploits que se lancen o ejecuten fuera del framework. El segundo lo que hará será establecer la conexión y abrir un canal de comunicación con el otro payload al momento de que este se ejecute en la maquina víctima, por lo que las variables de configuracion (LHOST y LPORT) tendrán que coincidir con las que se ingresaron en el primer payload (Éxitos Juanga).

8

Imagen 1.9: Configuracion de handler y payload en Metasploit.

Ya configurado esto, lo hacemos llegar la maquina víctima para dejarlo listo para ejecutarlo, al hacer eso el payload que configuramos en Metasploit establecerá una conexión con el que está en la maquina víctima, arrojándonos una sesion meterpreter con una shell inversa.

Antes de continuar, haremos un escaneo de este file para saber qué tan desapercibido puede pasar ante los Antivirus y demás soluciones de seguridad, lo subiremos a una paina donde hay más de 30 Antivirus distintos que analizarán este archivo. El sitio web don se hará esto es www.nodistribute.com, en donde podemos subir nuestras muestras de malware sin que sean distribuidas posteriormente.

Al terminar el escaneo, los resultados son los siguientes. Donde nos indica que solo fue detectado por 10 de 35 software de protección distintos:

19

20

21

Imagen 1.9, 2.0 y 2.1: Resultados arrojados por www.nodistribute.com

Ahora que sabemos esto, haremos llegar el file al equipo víctima y volvemos a Metasploit, en donde ejecutaremos “exploit” para iniciar el handler y el payload para que estén a la escucha de los demás exploits que se ejecuten fuera del framework, en este caso nuestro payload que al ejecutarse en la maquina victima nos arrojará un shell inversa en el puerto y host que configuramos en Metasploit:

9

Imagen 2.2: Payload en maquina victima.

10

Imagen 2.3: Sesion meterpreter obtenida al ejecutar el payload malicioso.

Al momento de la ejecución se creará la sesion meterpreter # 1 en el equipo ajeno, sobre el cual podremos ejecutar ciertos comandos. Algo que cabe destacar es que cuando realizamos intrusiones habrá ocasiones en las que solo podremos hacer pocas cosas, ya que es como si fuésemos otro usuario local, y no administradores, un limitante es el UAC (User Access Control) que es una medida de seguridad que se implementa en Windows, y nos restringe el acceso a ciertas partes del sistema o llevar a cabo ciertas acciones. ¿Cómo nos deshacemos de esto?

Haremos uso de un poco de Powershell para hacer bypass de esto, y conseguir permisos de carácter administrativo o máxima autoridad, a esto se le conoce como escalada de privilegios, y es algo que vemos a detalle en nuestros cursos. En la shell de meterpreter ejecutamos el comando “getuid” para saber a qué categoría de usuario pertenecemos, en donde nos dirá el nombre del usuario o host, lo que quiere decir  que funcionamos como un usuario local más:

11

Imagen 2.4: Tipo de usuario.

Sabiendo esto, mostraremos la lista de procesos que corren actualmente en el sistema ajeno, esto lo hacemos con el comando “ps”:

Viendo el listado, aparece una categoría llamada “NT/AUTHORITY SYSTEM”, sobre la cual corren procesos de carácter administrativo, por lo que migraremos el proceso donde nos encontramos hacia uno de esta categoría, utilizando el comando “migrate” y escogiendo el PID del proceso, que es el número que aparece en la primer columna del lado izquierdo de la lista, en este caso migrare hacia el 2904, en donde corre “SearchIndexer.exe”:

12

Imagen 2.5: Migración a proceso con carácter administrativo.

Terminado esto, ahora haremos un backgrounding de la sesion actual, para dejarla corriendo en segundo plano y regresar a Metasploit, esto se hace con el comando background, al volver a Metasploit, utilizaremos un exploit que hará bypass del UAC,  ejecutamos “use exploit/windows/local/ask” y después “show options” para ver las opciones de configuracion de este módulo, en donde encontraremos a SESSION y TECHNIQUE, donde colocaremos la sesion actual de meterpreter y la técnica que utilizaremos en este caso PSH ya que la de EXE está por default y no es recomendable usarla:

13

Imagen 2.6: Uso de exploit con Powershell para hacer bypass al UAC.

Estableceremos los parámetros de configuracion en este módulo con:

  • set SESSION 1: Que es la sesion actual sobre la que se ejecutará el exploit.
  • set TECHNIQUE PSH: Que será la técnica que usaremos para el bypass del UAC, en este caso Powershell.
  • exploit: Para correr el modulo:

13

Imagen 2.6: Configuracion de exploit.

Ya ejecutado, con éxito hicimos el bypass y se abrirá otra sesion meterpreter (la 2) sobre la cual se obtuvo carácter administrativo sobre el sistema:

15

Imagen 2.7: Exploit lanzado con éxito y obtención de  una nueva sesion meterpreter con privilegios administrativos en la maquina víctima.

Una forma de saber los privilegios con los que contamos sobre un sistema, se puede conseguir con el comando “getprivs” que recopilará información acerca de los procesos dentro de nuestra sesion meterpreter, también  si sobre esta sesion se ejecuta de nuevo el comando “getuid” aparecerá en el server name “NT/AUTHORITY SYSTEM”:

16

Imagen 2.8: Privilegios habilitados para esta sesion meterpreter.

Asi como también podemos ver las sesiones meterpreter existentes con el comando “sessions -l”, desde la consola de Metasploit, en donde veremos una sin privilegios en windows y otra ya con carácter administrativo sobre el sistema:

17

Imagen 2.9: Sesiones meterpreter activas.

Si decidimos interactuar con la sesion 1, mediante el comando “sessions -i 1”  y ejecutamos el comando “getprivs”, veremos que en esta primer sesion obtenida existen menos privilegios que en la número 2:

18

Imagen 3.0: Privilegios habilitados para la primer sesion meterpreter obtenida.

Como se vio en esta demostración, se peuden crear ciertos tipos de payloads que pasaran desapercibidos ente la mayoria de los sistemas de proteccion de ciertos equipos, asi como tambien conseguir la escalada de privilegios para poder realizar mas acciones o llevar a cabo un mayor numero de tareas sobre el sistema comprometido.

-Mk Nv

Todo el conetenido de este escrito fue hecho con fines educativos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *