martes, 12 de enero de 2016

Desarrollando un malware (persistencia y copiarse a si mismo)

Adentrándonos al tema de desarrollo de malware, un comportamiento usual en el malware es copiarse a si mismo, la razón puede variar, como lo puede ser simplemente alojar el malware en una ubicación poco común o que el usuario no frecuente, con el fin de no ser percibido. También puede ser objeto de propagación en dispositivos, para lograr una mayor de infección de dispositivos.      

Con Delphi, podemos lograrlo de la siguiente manera:

 Imagen 1: Código para copiar el malware y ocultar directorio.

Con el código anterior garantizamos que el fichero es almacenado en un directorio oculto, para que no pueda ser percibido por el usuario, aunque aun no hemos ocultado el malware como tal, ya que eso lo veremos mas adelante. Cabe mencionar que la ruta definida es una ruta muy fácil de ubicar, sin embargo, mucho malware, busca hospedarse en appdata, system32,Windows, etc. 

Para que el malware sea persisten podemos crear un servicio que se inicie cada vez que arranque el ordenador. En este caso escribiremos en el registro de Windows con el fin de de lograr dicha persistencia. Puedes escribir ya sea en HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER.
La diferencia de estos radica en los privilegios que se necesita para escribir en cada uno, asi como el comportamiento que genera para el malware.

HKEY_LOCAL_MACHINE: Necesita privilegios de administrador en el equipo local, y los efectos sobre el malware, es que permitirá que cada vez que inicien sesión en el equipo, el malware se ejecutara independientemente del usuario.

HKEY_CURRENT_USER: No requiere privilegios de administrador, pero, el comportamiento del malware sera diferente, pues este únicamente se ejecutara cada vez que inicie sesión el usuario que ejecuto el malware. Si se inicia sesión con otra cuenta de un usuario diferente el malware no se ejecutara.

Con ambas opciones se puede lograr persistencia, Nosotros utilizaremos HKEY_CURRENT_USER.

Imagen 2: Definiendo un procedimiento para escribir en el registro de Windows.

Estas son unas técnicas básicas utilizadas en la creación de malware, mas adelante veremos otras técnicas utilizadas y como detectar las amenazas en el caso que tu antimalware no los detecte.

Saludos.

No hay comentarios:

Publicar un comentario