¿Cómo crear malware? (parte 1)

La creación de todo tipo de malware (virus, troyanos, backdoors, etc) es uno de los tópicos más interesantes para las personas que recién se adentran en el mundo de la seguridad informática.

Quizás, porque saca a flor de piel toda nuestra personalidad destructiva, o porque se vuelve muy apasionante conocer cuáles son las técnicas que se utilizan para crear este tipo de software, que evoluciona constantemente.

En esta serie de artículos vamos a hablar acerca de cómo crear pequeños y efectivos malwares, dejando de lado cualquier técnica complicada y por demás confusa.

Analizaremos también cuáles son los métodos más efectivos para evitar protecciones antimalware (comunmente conocidos como ‘antivirus’).

Entorno de pruebas

El entorno sobre el cual vamos a trabajar (salvo que se indique lo contrario) es Windows XP Professional SP3. Es importante aclarar esto porque, en diferentes sistemas operativos, podríamos tener diferentes resultados. Muchos de los cuales analizaremos más adelante.

Para la mayoría de nuestras pruebas, vamos a utilizar el servicio online “VirusTotal” (www.virustotal.com) que va a permitirnos verificar rápidamente nuestros archivos creados. Este servicio utiliza cerca de 40 motores de antivirus diferentes para analizar nuestros archivos, y nos brinda un reporte de qué cantidad de productos detectan a nuestro ‘ejemplar’ como una amenaza.

Según su propio sitio web: “VirusTotal es un servicio gratuito que analiza archivos y URLs sospechosas facilitando la rápida detección de virus, gusanos, troyanos y todo tipo de malware.”

Desde el sitio web principal es posibe descargar un “uploader” que va a facilitarnos la tarea de subir los archivos que busquemos verificar.
Enlace: www.virustotal.com/documentation/desktop-applications

Importante!
Para todas las pruebas realizadas a continuación (salvo que se indique lo contrario) se ha deshabilitado la protección en tiempo real del software antimalware. Eso es para evitar que, constantemente, sean eliminados los archivos que vamos creando.

Primera prueba: Tini Backdoor

Muy probablemente, el backdoor más famoso de todos. Por su simplicidad y por estar disponible para descarga directa. (http://ntsecurity.nu/toolbox/tini)

También se encuentra disponible dentro del ToolPack de seguridad en:
www.portantier.com/proyectos/toolpack

Al subir el archivo ‘tini’ a VirusTotal, podemos ver que 39 de 42 motores antivirus lo han detectado como ‘malware’ (92.85% dek total).

Nota
Debido a la forma en la que trabajan los motores de antivirus utilizados en VirusTotal, es posible que los tres motores que no hayan detectado a ‘tini’ en ese entorno sí sean capaces de hacerlo en un entorno normal (con el software instalado en una PC y analizando en tiempo real el comportamiento del backdoor)

Una de las cosas que intentaremos hacer a través de estos artículos es buscar el menor porcentaje de detección posible.

Si ejecutamos el software ‘tini.exe’, veremos que lo único que hace es abrir el puerto 7777 y esperar a que alguien se conecta a través de la herramienta ‘telnet’ o alguna similar, de la siguiente forma:

telnet 192.168.0.105 7777

Una vez hecho esto, tendremos una línea de comandos en el sistema infectado.

Debido a que el funcionamiento de este software es tan sencillo, podemos utilizar un editor hexadecimal para modificar uno de sus parámetros y ‘crear’ un nuevo malware.

Verdaderamente, lo único que vamos a hacer es modificar el puerto en el que este backdoor espera recibir conexiones.

Para esto, podemos utilizar el software ‘hexedit’ (también incluído en el ToolPack) o cualquier otro editor hexadecimal.

Una vez abierto el archivo, vamos a buscar la cadena ‘1e61′ (que es el número 7777 en hexadecimal) y la vamos a reemplazar por la cadena ’04c5’ (que es el número 1221 en hexadecimal)

Hecho esto, guardamos el archivo y lo ejecutamos para probarlo. Si todo sale bien, el software debería funcionar correctamente, pero escuchando en el puerto TCP/1221 en lugar del puerto TCP/7777.
(para verificar esto, podemos utilizar el comando ‘netstat -an’)

Realizada esta pequeña modificación, subimos nuevamente el archivo a VirusTotal y podemos observar que ahora es solamente detectado por 32 de 42 motores! (76.19%). Es muchísimo cambio para haber hecho tan poco!!!

Ese es uno de los principales problemas de la detección de malware a través de firmas. Es posible lograr que un antivirus no pueda reconocer un archivo simplemente haciéndole alguna mínima modificación.

Como explicamos antes, es posible que algunos de esos motores aún sean capaces de detectar a la nueva versión del ‘tini’ si es que se encuentran instalados en la estación de trabajo y con todas sus funcionalidades habilitadas, pero esto sirve para darnos una idea de qué tan vulnerables puede ser las soluciones antimalware.

En la próxima entrega

Esto ha sido todo por hoy. En la próxima entrega analizaremos otras técnicas de ocultamiento, así como también métodos simples para la creación de malware.

Hasta la próxima!


Fabian Portantier
Coordinador Carrera Seguridad Informática
www.portantier.com

twitter: @portantier

Mail: seguridadinformatica@educacionit.com.ar
Web: www.educacionit.com.ar/carrera-seguridad-informatica

5 comentarios en “¿Cómo crear malware? (parte 1)

  1. buenas tardes , antes que nada felicitaciones y posteriormente quiero especializarme en seguridad informatica donde puedo accudir por una especializacion avanzada de esto con software confiables y poder tener la posibilidad de desarrollar malware potentes para entrar y acabar con los firewall empresariales

  2. Hola, estoy por terminar una carrera terciaria “Tecnico Superior en Informatica Aplicada” y necesito presentar un proyecto final.
    Tenia la idea de hacer un Espia para android, simplemente algo que pudiera campturar los sms, conversaciones de WP controlar la camar. eso basicamente despues le ire agregando prestaciones mas o menos complejas. El tema es que nunca programe para android, aunque eso no seria el problema mi pregunta radica es donde buscar informacion o como hacer para poder acceder al dispositivo espiado y poder controlarlo. si alguien me puede tirar una punto yo me encargo de investigar y empaparme en el tema.
    Desde ya muchas gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *