Anteriormente habíamos concluido la función del Keylogger, para capturar el texto, distinguiendo de la ventana activa, capturando su Handler o identificador de ventana. Ahora incorporaremos una función que nos permita almacenar lo que Keylogger, cada cierto tiempo.
Para evitar que el texto sea completamente legible, por cualquier usuario, definiremos una función que nos permita codificar el texto, mediante la operación lógica XOR y una combinación de números aleatorios, que en realidad no son aleatorios, como ya muchos sabrán. En Delphi, podemos utilizar la función RandSeed, con la cual podemos inicializar, la generación de números aleatorios, de tal forma que podemos volver a inicializar nuevamente al momento de decodificar el texto.
Imagen 1: Función para codificar el texto.
Después de definir la función, definimos un Timer, con el cual, estableceremos el tiempo, bajo el cual el malware, almacenara los logs. Para pasar un poco mas desapercibidos, utilizaremos una técnica de esteganografia, muy fácil, pero que ayudara a pasar los registros de manera desapercibida, el cual consiste en colocar una extensión diferente a un txt. Puedes usar la que mas se te antoje, en mi caso utilizare la extension .dll.
Imagen 2: Procedimiento para almacenar el fichero.
Al momento de definir el nombre del archivo, yo opte por crearlo, utilizando la combinación de la hora, minutos,segundos y mili segundos, del sistema, almacenando los logs, en la misma ruta donde se almacena el malware. Luego de esto, al compilar de nuevo el malware, se puede apreciar los logs, guardados, con la extension definida, y con el texto no legible.
Imagen 3: Logs generados por el malware.
Con esto, tenemos ya una función completa del malware, incorporaremos mas funciones, mas adelante y veremos posteriormente analizaremos las técnicas para poder analizar el malware.
Saludos.
Lexer Pars.
No hay comentarios:
Publicar un comentario