18
octubre
2006

Modificando malware para hacerlo indetectable

incluimos un cambio de sexo en pocos segundos
A raíz de la entrada anterior algunos me habéis preguntado como es posible que aprovechen cualquier antivirus para hacer indetectable una muestra. Evidentemente queda fuera de la temática de este blog, y por descontado de Hispasec, dar ideas en ese sentido, pero si puedo comentar las cosas más extendidas y conocidas por todos, lo que nos puede dar una idea de porque hay tal proliferación de malware en la actualidad y de los problemas de las soluciones basadas exclusivamente en firmas.


Básicamente el uso de los antivirus es como herramienta de ensayo y error, van realizando modificaciones en el malware hasta dar con una versión que no es detectada por el antivirus, de modo que ninguna firma es capaz de identificarlo. Si es una creación nueva o tiene el código fuente del bicho en cuestión las opciones de modificar el binario final son mayores, sino también hay formas bastante sencillas de conseguirlo modificando el binario directamente.


Contrariamente a lo que la mayoría de personas cree, la modificación de un malware, como por ejemplo un troyano, no requiere conocimientos de programación, incluso muchas veces se hace a golpe de ratón dando algunos clicks. El caso más habitual es el uso de empaquetadores o packers, como compresores o cifrados de binarios. Básicamente es una utilidad donde eliges un binario (el troyano) y te devuelve otro binario modificado (compactado, cifrado, incrustado en otro ejecutable, etc). A efectos prácticos el binario resultante tendrá un aspecto "exterior" diferente al original, pero a nivel funcional se comportará igual. Si el motor antivirus no reconoce ese método de empaquetamiento no podrá desenmascarlo y detectarlo en base a las firma con la que reconocía al troyano original.


Otro método también muy extendido es modificar directamente el binario, para lo que es necesario detectar que porción del código es la reconocida por la firma del antivirus. Hay formas de hacerlo manualmente, pero también han desarrollado pequeñas utilidades que van realizando modificaciones de forma automática y comprobando por ensayo y error contra el antivirus hasta que devuelve las posiciones exactas que han de modificar. Dependiendo de lo que haya modificar requerirá desensamblar y modificar algunas instrucciones para evitar "estropear" el troyano o, en algunos casos, directamente se podrá modificar con un editor hexadecimal.


Este tipo de prácticas es una plaga en la actualidad, de hecho una gran parte de las variantes que surgen son modificaciones más o menos burdas de un espécimen original.


La buena noticia es que este tipo de prácticas masivas no tienen en cuenta la evolución de las soluciones antivirus, y cada vez más los atacantes se llevan sorpresas al ver que su versión recien modificada termina siendo cazada y reconocida por los antivirus de los usuarios que utilizan técnicas más avanzadas o complementarias a las firmas, como por ejemplo el análisis del comportamiento. Estos antivirus a su vez recolectan y envían las muestras sospechosas a los laboratorios para generar firmas específicas.


Este tipo de detecciones no las pueden comprobar con motores antivirus llamados a través de línea de comandos (que es lo que suelen hacer en los tests de ensayo-error), sino que requiere que la solución antivirus esté totalmente instalada en el equipo y ejecutar la variante del troyano en el mismo. Sin duda se les complica el invento, lo que son buenas noticias para el resto de nosotros.


No obstante aun hay mucho antivirus que básicamente depende de las firmas tradicionales, y este tipo de prácticas sigue siendo efectiva contra ellos.


Para terminar vamos con un ejemplo práctico, lo suficientemente simple y absurdo como para ver lo débil que puede resultar una firma y, al mismo tiempo, que NO sirva de pista para que cualquiera pueda imitarlo con un malware auténtico. Para ello vamos a aprovechar el anzuelo.com de la entrada anterior.


Siguiendo las instrucciones de la entrada anterior llegamos hasta el desensamblado del código, y lo que vamos a hacer es modificar un sólo byte, en concreto el que se encuentra en la dirección 118h que contiene el valor 6F (instrucción DB 6F) que modificaremos por 61 (instrucción DB 61). Para ello ejecutamos el comando -a 118. A continuación introduciremos la instrucción: DB 61, pulsamos intro, aparecerá la línea 119, pulsamos intro de nuevo.



Con ésto lo que hemos hecho es simplemente cambiar una "o" (código ASCII 111, 6F en hexadecimal) por una "a" (código ASCII 97, 61 en hexadecimal). De manera que habremos "cambiado el sexo" (o al menos creado un conflicto de identidad sexual o género) a nuestro ejecutable, en vez de decir "Soy un com infectado!!" ahora dirá "Soy un com infectada!!".


Para escribir en disco esta modificación vamos a dar unos comandos más a debug. Comando -n anzuelo2.com, comando -w, comando -q. Con esto habremos creado en el mismo directorio un nuevo archivo anzuelo2.com que recoge los cambios realizados. Para hacer la prueba puedes ejecutar anzuelo2.com.



Si pasamos anzuelo2.com por los motores antivirus de McAfee o TrendMicro, y a diferencia del anzuelo.com original, veremos que ya no es detectado. Son más permisivos con el sexo femenino ;)







Enviado por bquintero a las 02:18 | Enlace permanente | Comentarios (9) | Trackbacks (0)
Comentarios
Re: Modificando malware para hacerlo indetectable

"pero también han desarrollado pequeñas utilidades que van realizando modificaciones de forma automática y comprobando por ensayo y error contra el antivirus hasta que devuelve las posiciones exactas que han de modificar"

una consulta, cual es o como se llama ese tipo de herramientas?? nunca habia escuchado de ella...

Posted by: bkral at octubre 19,2006 21:16
Re: Modificando malware para hacerlo indetectable

una consulta, cual es o como se llama ese tipo de herramientas?? nunca habia escuchado de ella...

Cada cual le pone el nombre que le parece, normalmente la gente se la programa para uso propio, pero buscando por foros underground puedes encontrar alguna pública que te de una pista de como funcionan.

No puedo poner aquí en el blog referencias directas o URLs a material que se considere malware (por razones obvias), pero te puedo dar la nomenclatura con que algunos antivirus detectan alguna de estas herramientas públicas con cierta solera, es pista más que suficiente si estás interesado en encontrarlas y ver como trabajan (supongo que tu interés e intenciones son legítimas):

AntiVir TR/Virtl.Avpsof.1
Avast Win32:Trojan-gen. {VC}
BitDefender Virtool.Avpsof.A
Ewido Not-A-Virus.VirTool.Win32.Avpsof
Fortinet Dial/Avpsof
Kaspersky VirTool.Win32.Avpsof
McAfee potentially unwanted program Tool-AVPOffset
NOD32 Win32/Avpsof.A
Panda VirTool/AvpOffset
TheHacker Trojan/Avpsof
UNA VirTool.Win32.Avpsof.DE29
VBA32 VirTool.Win32.Avpsof

Posted by: bquintero at octubre 19,2006 22:24
Re: Modificando malware para hacerlo indetectable

gracias, tenia pensado en programarlo pero luego recorde que generalmente los AVP detectan mas de una "firma" en los archivos... por lo que hacer este programa de cero resultaria demasiado complicado. el interes que tengo es netamente educacional, digamos que tengo una especie de "duelo" con el administrador de mi universidad, es increible lo que he logrado aprender en dos meses de tira y afloja.
gracias nuevamente!

Posted by: Bkral at octubre 23,2006 22:03
nesecito su ayuda

en los ultimas semanas e estado trabajando en como crear un viros potente para eliminar y formatear el disco duro de mis enemigos de muerte pero todavia no se como terminar el virus si me pudieran enviar instrucciones para mejorarlo les agradeserie

POSDAta solo lo utilizare las veces q sea nesesario no lo mal utilizare
porfavor es urgente

Posted by: CARLOS at abril 26,2007 02:54
nesecito su ayuda

en los ultimas semanas e estado trabajando en como crear un viros potente para eliminar y formatear el disco duro de mis enemigos de muerte pero todavia no se como terminar el virus si me pudieran enviar instrucciones para mejorarlo les agradeserie

POSDAta solo lo utilizare las veces q sea nesesario no lo mal utilizare
porfavor es urgente

Posted by: CARLOS at abril 26,2007 02:54
Re: Modificando malware para hacerlo indetectable

como mi virus indetectable contra todos los antivirus mas que todo contra el nod32 ayudememe quiero hacerlo muchas gracias

Posted by: ernesto at julio 18,2008 22:08
Re: Modificando malware para hacerlo indetectable

necesito el codigo de para hacer un virus que no lo detecte un antivirus

Posted by: eslayer at octubre 13,2008 19:50
Re: Modificando malware para hacerlo indetectable

Cada cual le pone el nombre que le parece, normalmente la gente se la programa para uso propio, pero buscando por foros underground puedes encontrar alguna pública que te de una pista de como funcionan.

Posted by: pdf at agosto 29,2009 17:55
Re: Modificando malware para hacerlo indetectable

Cada cual le pone el nombre que le parece, normalmente la gente se la programa para uso propio, pero buscando por foros underground puedes encontrar alguna pública que te de una pista de como funcionan.

Posted by: Pdf search engine at septiembre 21,2009 21:11
Trackbacks
Por favor envía los trackbacks a: http://blog.hispasec.nospam/laboratorio/166/tbZ3ping
Reemplazando "nospam" por "com"
No hay trackbacks.
Enviar un comentario