19 agosto 2013

Modding 'Crypters': el arte de la evasión

En el primer post de esta serie vimos en qué consisten los 'crypters'. En el segundo post  profundizamos en su funcionamiento y en el tercer post analizamos un elemento esencial, el 'stub'. En este cuarto post vamos a comenzar a estudiar las técnicas empleadas en la localización de firmas y evasión de Antivirus, en adelante AVs.

Medellín, Colombia
19 de julio
10:03 a.m.


Luis se levantó y se sentó frente a su computadora. Se puso los auriculares, y arrancó su playlist favorita de 'reggaeton'. Chequeó su consola de 'Cybergate', un RAT (Remote Administration Tool) o 'troyano' muy popular, y comprobó el log. La cosa había ido bien, 7 nuevas víctimas, sonrió. Ni siquiera sabía cuantas víctimas tenía ya, calculaba que unas 150 aproximadamente. La última campaña de pesca, como él llamaba a sus operaciones de obtención de víctimas, había sido un éxito. Había 'bindeado' (unido, juntado) el server de su troyano con un instalador de Office 2010, pero en el nombre puso 'Office-2012-all-languages-INSTALLER.exe'. También lo 'bindeó' con un video del último éxito de Shakira y un video porno. Creó unos archivos torrent y los subió a 'The Pirate Bay', después se pasó por youtube, buscó algunos vídeos recientes sobre la instalación de Office y Shakira y posteó algunos comentarios en los que incluyó los enlaces a sus ejecutables. Un par de días después ya tenía casi sus 150 víctimas.

Luis no era un chico muy popular en las escuela, más bien lo consideraban un bicho raro y obviamente las chicas no le hacían mucho caso, la mayoría de ellas solo tenían ojos para Juan, un cachitas que apuntaba a estrella de fútbol. Le constaba que a él le gustaba María y que ella le correspondía, poniéndole ojitos y contoneándose cuando pasaba por delante suyo. Pero por lo que se comentaba en la escuela, no habían ido más allá. 


Luis buscó entre sus víctimas y localizó la computadora que andaba buscando, busco la opción de 'Remote Tools' y pulsó 'Webcam Capture', al cabo de unos segundos, la imagen apareció y allí estaba ella, María, sobre su cama escuchando música.  Apuesto a que escucha 'Juanes', pensó. Conectó el audio remoto y efectivamente, comenzó a escuchar a 'Juanes', sonrió. Ese 'cachitas' de Juan va detrás de ella todo el día, pensó, pero aquí el único que ha visto a María como a él le gustaría he sido yo, y sonrió de nuevo. A continuación, buscó en su escritorio la carpeta con los archivos utilizados en su última campaña de pesca. Localizó el server y lo subió a su web de 'scanner on-line' favorita. Al cabo de unos instantes, apareció el resultado. Maldición, espetó. El informe indicaba que su server era detectado por cinco AVs. 

La cosa se ponía 'chunga', se le había quemado más rápido de lo previsto y eso que no se lo había pasado a nadie ni lo había publicado en los foros, lo había usado de forma privada. Es lo malo de las campañas de pesca de 'arrastre', pensó, se consiguen muchas víctimas pero siempre hay algún capullo que sospecha y envía alguna muestra a alguna empres de AVs o a Virustotal y a partir de ahí, empiezan las detecciones.

- Necesito una solución urgentemente o perderé un buen montón de víctimas, comentó. Chequeó el Messenger y vio que 'DiabloNet' estaba on-line.

- Estassss??, escribió
- ke pasa brother!
- necesito ayuda urgente
- ke necesitas?
- me detectaron el crypter, barias detecciones, me dejas uno FUD?
- hermano siempre igual, pero luego me los quemas
- te prometo que solo lo usaré para reemplazar mis servers, no para enviarlo de pesca
- OK, pero me debes uno y rapidito que ultimamente te estas columpiando
- vale colega lo prometo, me pongo ahora mismo con ello

'DiabloNet' le envió el enlace a un crypter FUD por email, lo descargó, lo descomprimió con la contraseña que siempre utilizaban y FUDeo su server de 'Cybergate' con el nuevo 'crypter'. Verificó que estaba indetectado y rápidamente se puso a reemplazar el server de sus víctimas online para no perderlas. Cuando terminó, busco la carpeta 'Modding' en su escritorio y empezó a trabajar en el crypter que le había prometido a 'DiabloNet'

Preparando el Modding


Para 'modear' un 'stub' determinado lo que se suele hacer en primer lugar es aplicar el 'crypter' a un ejecutable ligero para poder comprobar de forma rápida si éste funciona a medida que se van alterando los offsets. Puede hacerse con el 'notepad' o la 'calculadora de Windows', pero es más práctico utilizar unos ejecutables especiales denominados 'anotadores de offsets' o 'bolita' (ya que muchos de estos anotadores tienen forma circular). Estos archivos simplemente muestran o anotan en un archivo de texto el nombre del propio ejecutable. Esto resulta muy útil en el proceso que a continuación se explicará, dado que permite localizar, entre muchas variantes, cuál es el ejecutable funcional.

Antes comenzar el proceso de 'modding', es necesario escanear el ejecutable cifrado o el 'stub' mediante un scanner on-line para saber cuantas detecciones tiene. Lo ideal es empezar con un 'stub original', es decir, que no haya sido 'modeado' con anterioridad. Seguramente, tendrá más detecciones que un 'stub' retocado y reciente, pero es mucho mejor modear desde cero, desde el original, ya que es un ejecutable mucho más estándar y más fácil de 'modear'. Uno retocado puede contener un montón de 'retoques' del anterior 'modder' que pueden hacerlo realmente complicado de manejar. Una vez se obtiene el informe del scanner on-line, hay que comenzar el proceso por algún AVs en particular, generalmente por uno que tengamos a mano, o con el que se tenga mucha experiencia o que consideremos relativamente sencillo. Obviamente algunos AV son muy sencillos de 'modear', sus firmas no son complejas y salen con cierta facilidad con la técnicas básicas, como 'DSPLIT/AVFUCKER', que explicaremos próximamente.

Instalación de Antivirus

Para cada AV que detecte el 'stub' habrá que aplicar el proceso de 'modding' y eso implica que tendremos que disponer de múltiples AVs en nuestro ordenador. Una cosa es segura, la mayor parte de los AV no va a permitir que haya otro AVs instalado en la máquina y por tanto nos obligará a desinstalarlos. Una opción es instalar y desinstalar cada AVs para cada proceso de 'modding' que se desee abordar, lo cual es un poco pesado ya que implica, además del tiempo de instalación y desinstalación, reiniciar el ordenador en varias ocasiones. Otra opción es utilizar, siempre que existan, las versiones 'portables' y/o versiones 'command line' de los diferentes AVs. Además de estas opciones, si disponemos de software de virtualización (y suficiente potencia en el ordenador para moverlo con soltura) podemos utilizar los 'snapshots' para tener diferentes antivirus instalados en cada 'snapshot', pero en cualquier caso tendremos que instalar y desinstalar cada AVs al menos una vez.



Por último, una opción muy interesante es utilizar un programa que nos permita gestionar copias de seguridad del registro, como por ejemplo 'Registry Workshop'. Mediante este programa podemos 'engañar' a los AV y que piensen que están ellos 'solitos'. El procedimiento es sencillo. Se instala el programa, y se hace un 'backup' del estado del registro del ordenador sin ningún AV instalado, podríamos llamarlo 'backup-sin-AV'. Se instala un AV y se hace un backup que podríamos llamar 'backup-AV-1'. A continuación, se restaura el 'backup-sin-AV'. Al instalar el siguiente AV, éste no localizará ningún AV instalado puesto que hemos restaurado un backup anterior a la instalación del AV-1. Instalado el AV-2, haremos un backup, al que llamaremos 'backup-AV-2' y así sucesivamente. La cuestión es que todos los AV estarán instalados juntos, y cada vez que queramos utilizar uno de ellos tendremos que restaurar el backup correspondiente.
necesario disponer de dichos AVs en el ordenador.

A partir de este punto tenemos todo listo para comenzar a localizar firmas mediante la técnica 'DSPLIT/AVFUCKER', que comenzaremos a explicar en el próximo post.


Artículo cortesía de Abraham Pasamar

7 comments :

Abraham Pasamar dijo...

Hola, lo siento, parece que hay un gazapo en el penúltimo párrafo, aunque no es muy grave y puede seguirse el post sin muchos problemas. Ya lo he corregido, y espero a que lo actualicen.

iblancasa dijo...

No había leído estos posts hasta hoy.
Muy interesantes.
Gracias.

María García dijo...

La cosa se va poniendo cada vez más interesante...con trama semi-policíaca incluida. Esto ya parece "Hacker Épico". Por cierto: que mi tocaya debería tener tapada la webcam, como hago yo, y no ser tan confiada.

Lo que no he entendido muy bien es cuál es el papel de los anotadores. Porque imagino que la manera de modearlos no tiene por qué ser la misma que para el stub. Pero supongo que eso se explicará en el próximo episodio. Estoy ya deseando ver en qué queda la cosa.

Abraham Pasamar dijo...

Me alegro de que te gusten los post. Sí, lo de los anotadores se explicará más adelante con más detalle, pero es cierto que al principio dispista un poco. Lo que se modea es UNICAMENTE el stub, pero si tocas por ejemplo un offset de stub y quieres ver si funciona has de "juntarlo" con un ejecutable cifrado para ver el resultado, ya que un stub por si mismo no es funcional, necesita de ese malware cifrado para descifrarlo y ejecutarlo en memoria. En lugar de usar un malware en el proceso de modding se usa un anotador. Si el stub ha quedado funcional y ejecuta el anatodor es muy visible, pues funciona como una ventana de MessageBox, mostrandose en pantalla con un mensaje y uno se evita que el malware se ejecute en la maquina cada vez que se ejecuta un stub para probarlo.

María García dijo...

Ah, sí. Ha quedado clarísimo. Muchas gracias. :-)

Dany dijo...

Muy interesante y entretenida la entrada Abraham Pasamar
Saludos desde UDtools :)

Jose Luis dijo...

Enhorabuena Abraham, la serie de artículos sobre crypters no pueden ser más explicativos. Con ganas de leer el siguiente.



Saludos.