Crypters

13
CRYPTERS Clase 16 21-11-2013

description

Crypters

Transcript of Crypters

Page 1: Crypters

CRYPTERSClase 16

21-11-2013

Page 2: Crypters

CRYPTERS Para evadir la detección de malware por parte de los programas Antivirus,

en adelante AVs, se utilizan diferentes técnicas, una de ellas es el uso de 'crypters'. Éstos permiten cifrar cualquier archivo binario para hacerlo 'invisible' a los AVs.

Es cierto, como mencionaba Yago Jesús recientemente en su post que los 'crypters' tienen mala fama, pero también la tenían los exploits hace unos años y hoy en día están integrados en todo tipo de aplicativos de seguridad, como Metasploit por ejemplo. Obviamente los 'crypters' son usados por los delincuentes para evitar la detección de los AVs e infectar los ordenadores, llevando a cabo todo tipo de tropelías, pero también pueden ser utilizados, entre otros casos, en el contexto de una auditoría de seguridad.

Page 3: Crypters

CRYPTERS ¿Quién no se ha encontrado con detecciones de AVs en el transcurso de

una auditoría usando Metasploit u otras herramientas?

Especialmente en aquellos casos en los que se 'dropean' (vuelcan) binarios al disco. De hecho, metasploit cuenta con una gran variedad de técnicas de ofuscación cuyo objetivo es hacer indetectable el binario a los programas AV.

Page 4: Crypters

CRYPTERS

Las técnicas o herramientas que ofrece Metasploit Community para llevar a cabo las tareas de indetección son básicamente:

Utilizar plantillas de programas ejecutables conocidos (Calculadora de Windows, Notepad, etc.)

Codificar mediante múltiples 'pasadas' del algoritmo que más nos guste el código del archivo ejecutable, todo ello a través la herramienta msfencode.

Page 5: Crypters

CRYPTERS

Estas técnicas son muy efectivas con algunos AVs pero sobre otros no tienen ningún efecto. Por lo tanto, pueden servir en ciertos escenarios pero desde luego no sirven para evitar la detección de todos, o la mayor parte de los AVs.

En la versión Metasploit Pro se proporcionan además binarios firmados que aumentan el nivel de 'indetección'.

Page 6: Crypters

CRYPTERS

En la imagen puede verse un ejemplo de uso de msfencode combinado con msfpayload para tratar de evadir la detección por parte de los AVs del payload shell_reverse_tcp, en el que se utilizan 10 pasadas de la codificación shikata_ga_nai, la plantilla del ejecutable calc.exe y como resultado se genera el archivo outputfile.exe.

Page 7: Crypters

CRYPTERS

En definitiva, si queremos asegurarnos de volver 'indetectable' un determinado binario que es detectado por multiples AVs, necesitamos un 'crypter' indetectado o FUD (Full UnDetectable).

Page 8: Crypters

CRYTERS VS. PACKERS

Hay que puntualizar que en algunos entornos se habla indistintamente de 'crypters' y 'packers', pero en realidad son cosas distintas.

El objetivo de un packer es 'empaquetar' o 'comprimir' el archivo ejecutable. Sería como usar un ZIP pero sin perder la estructura de un archivo ejecutable PE (Portable Executable).

El objetivo del 'crypter' es 'cifrar' el ejecutable. Sería como usar PGP o TrueCrypt, pero sin perder la estructura PE.

Page 9: Crypters

PROGRAMAS ANTIVIRUS

En lo que sigue vamos a centrarnos en el explicar qué son y cómo funcionan los 'crypters', pero antes debemos entender de forma básica cómo funcionan los AVs. Éstos, son cada vez más sofisticados y utilizan todo tipo de técnicas para identificar el malware, entre estas técnicas destacan dos: las firmas binarias y las firmas heurísticas.

Page 10: Crypters

PROGRAMAS ANTIVIRUS

Las primeras buscan secuencias de bits características del malware previamente identificado. Es decir, buscan secuencias de bits, a modo de patrón, de aquel malware que haya pasado por el laboratorio de la empresa de AVs. Es decir, que en algún momento del tiempo, en la empresa de AV han recibido una muestra del malware para analizarlo y una vez identificado como malicioso han fijado o definido un patrón característico que constituye la firma binaria del mismo.

Page 11: Crypters

PROGRAMAS ANTIVIRUS

En definitiva, un malware totalmente nuevo, recién 'codeado', difícilmente será detectado por este tipo de firmas.

Para poder anticiparse y detectar malware que no haya sido analizado previamente, existen las denominadas firmas heurísticas. Básicamente lo que hacen es detectar elementos que típicamente forman parte de los programas maliciosos, como el uso de determinadas funciones, algoritmos de cifrado, etc.

Mediante estás técnicas, es posible detectar de forma anticipada malware 'nuevo', pero, además de ser más compleja su implementación y consumir más recursos del sistema que las firmas convencionales, también implican un mayor nivel de riesgo debido a la detección de falsos positivos.

Page 12: Crypters

ANÁLISIS O ESCANEO EN DISCO

Page 13: Crypters

ANÁLISIS O ESCANEO EN DISCO Las tareas de análisis o escaneo de los archivos binarios son realizadas por

los AVs a nivel de disco, no en la memoria RAM.

Cuando un AV nos indica que está escaneando la memoria, lo que está haciendo realmente es buscar el binario en disco que arrancó un determinado proceso que en ese momento está ejecutándose en la memoria RAM y una vez ha localizado el mismo, escanea dicho binario (en el disco) en busca de firmas de malware.

Así es como funcionan los AVs, escanean los archivos en el disco y los 'crypters' basan su existencia en este principio básico.