Un keylogger es un programa que se encarga de guardar todo lo que se entra por teclado, incluyendo contraseñas, emails, usuarios, etc. Se suelen incluir en los troyanos para ampliar la utilidad de estos. También se busca que pasen desapercibidos para que, en un momento dado, el atacante pueda recibir la información obtenida.

¿Cómo atacan?

Este tipo de software se expande, sobre todo, por Internet, normalmente como parte de un troyano. Los troyanos son programas que se hacen pasar por herramientas útiles. Sin embargo, en realidad, incluyen malware que se instala en su equipo sin que lo sepa. Una vez instalados, un troyano-espía buscará archivos o datos específicos en la máquina. El tipo de información que se busca varía según los intereses de los atacantes. Una vez que se encuentra la información deseada, el troyano-espía puede copiar los archivos y enviar los datos a un servidor remoto donde el atacante puede recuperarlos.

Nomenclatura:

Trojan-Spy.Win64.KeyLogger.A

Código en C#

Para trabajar con un keylogger debemos conocer qué es hook(gancho). Un hook es un mecanismo mediante el cual una aplicación puede interceptar eventos, como mensajes, acciones del mouse y pulsaciones de teclas. Ahora una función que intercepta un tipo particular de eventos es un procedimiento de hook.

En nuestro caso nosotros vamos a utilizar la variable WH_KEYBOARD_LL = 13. la cual Microsoft dice que: Instala un procedimiento de hook que supervisa los eventos de entrada de teclado de bajo nivel.

Para poder capturar todos los eventos de pulsaciones de teclado que ocurren en el sistema operativo, necesitamos Win32. Win32 es un conjunto de APIs (Interfaz de programación de aplicaciones) disponibles para los sistemas operativos Microsoft Windows. Esta consiste en un conjunto de funciones que se exponen a las aplicaciones a través de DLLs(Biblioteca de enlace dinámico). Las principales DLL que forman Win32 son kernel32.dll, user32.dll and gdi32.dll.

Conclusión

Los keyloggers no se crearon inicialmente para robar información personal. De hecho, los softwares de supervisión son legales y se pueden adquirir en Internet. Las empresas los utilizan para controlar a los empleados. Sin embargo, estos malware son extremadamente eficaces ya que son fáciles de programar y con mecanismo de ofuscación pueden pasar desapercibidos. En el siguiente enlace puedes encontrar el código del malware que es capaz de guardar todas las pulsaciones del teclado de la víctima, así como una captura de pantalla, luego toda la información la envía a un correo electrónico:

https://drive.google.com/drive/folders/1tuwJrLlT16SL72JC-sDQOB5MprivscHX?usp=sharing