top of page

MITIGANDO KEYLOGGER DE UN PAYLOAD


Si bien hoy en día los antivirus actuales logran detectar los keylogger como programas maliciosos que tratan de robar información personal de los usuarios como puede ser: información de tarjetas de crédito, cuentas de correo con sus contraseñas, datos personales etc., existe la posibilidad que un ciberdelincuente logre infectar un equipo con un archivo que pase totalmente desapercibido por el antivirus. Para este propósito existen herramientas como Shellter que permite crear un archivo infectado con un payload que realiza una conexión remota inversa, es decir que la máquina infectada realiza la conexión hacia la máquina del atacante, de esta manera el atacante logra evadir el firewall para no ser bloqueado.

¿Sabes que es un keylogger? Un keylogger es una herramienta diseñada para capturar todas las pulsaciones de teclas de una computadora, ya sea a través de un programa de software o a través de un dispositivo de hardware. Esta actividad de grabación del teclado también se conoce como registro de teclas o registro de pulsaciones de teclas. Aunque los keyloggers no son ilegales, su uso a menudo está relacionado con operaciones maliciosas

El ciberdelincuente puede utilizar técnicas de ingeniería social (ej: phishing) para hacerle llegar a la víctima el archivo infectado. Una vez que la víctima descarga y abre el archivo infectado, el antivirus Defender de Windows es incapaz de detectarlo como malicioso y además de eso se realiza de manera automática la conexión remota inversa hacia la máquina del atacante.


Esto permite al ciberdelincuente tener una serie de posibilidades para extraer información de manera remota. El atacante podría cargar información en el equipo de la víctima, descargar información que se encuentra almacenada en su equipo y también utilizar un keylogger para capturar todas las pulsaciones del teclado. Todo esto debido a que el antivirus de Windows no pudo detectar el archivo infectado como archivo malicioso.


Existe una posibilidad también de que un ciberdelicuente cree un archivo supuestamente inofensivo utilizando conjuntamente con Shellter el programa llamado Luckystrike, este permite crear documentos de Excel con macros maliciosas (payloads creados con Shellter) que al ser abiertos y darles permisos de ejecución a las macros por parte del usuario hacen que automáticamente se realice una conexión remota, de esta manera se podría pasar desapercibido incluso por el antivirus Kasperksy que a mi parecer es el más efectivo para detectar este tipo de ataques. En fin existen una serie de posibilidades que un ciberdelincuente podría valerse a la hora de realizar un ataque, pero eso es tema para otro apartado para explicar como crearlos y realizar pruebas con los sistemas actuales como: Windows 10, Office 2016 y 2013.


Creación del archivo infectado

Para la creación de nuestro archivo infectado vamos a utilizar el programa Shellter, como habíamos mencionado anteriormente este nos permitirá utilizar cualquier archivo con extensión "exe" y a partir de este insertarle un payload, que es el que nos permitirá realizar la conexión remota inversa. A continuación se detalla con imágenes el proceso de generación.

Figura 1. Pantalla de Sheltter


- Escoger modo de operación automático


- Objetivo, en este parámetro ingresamos la ruta del archivo “.exe” a infectar

- Enable Stealth Mode, aquí ingresamos (Y) para crear el archivo que al momento de ser ejecutado se abra y ejecute automáticamente el payload insertado.


- Tipo de payload, escogemos “meterpreter/reverse_tcp", dentro de este payload tenemos la posibilidad de ejecutar una serie de comandos y entre ellos existen unos para poder capturar las pulsaciones de teclado. Más adelante se detalla

- Por último configuramos el puerto y la IP que estará en escucha.

Una vez creado el archivo es cuestión de mandarlo a la víctima para que al momento que lo ejecute poder obtener la conexión remota deseada. Pero antes de ello tendremos que poner en escucha la máquina atacante, para eso utilizaremos la herramienta de Metasploit.


Metasploit

Esta herramienta es un conjunto de programas (exploits) que está diseñado para explotar las vulnerabilidades de los equipos y muy utilizado para la seguridad informática.

Figura 2. Pantalla del metasploit


Dentro del Metasploit hay que configurar para que se encuentre en escucha a la petición que realice la víctima hacia la máquina atacante cuando ejecute el archivo infectado. A continuación se detalla con imágenes el proceso de configuración.

Con el comando show options podemos ver nuestra configuración

A partir de aquí si ejecutamos el comando exploit la máquina atacante estará lista para escuchar peticiones de la máquina víctima al momento que esta ejecute el archivo infectado, permitiéndonos obtener la conexión remota deseada.

Comprobando la conexión remota

Para comprobar que efectivamente nuestro archivo infectado nos da una conexión remota hacia la máquina del atacante voy a utilizar una máquina virtual con Windows 10 que tenga el firewall y el Defender activado.



Tras ejecutar el archivo infectado "calc.exe" podemos darnos cuenta en la siguiente imagen que obtenemos una sesión de meterpreter (shell). Esto quiere decir que el atacante ahora puede obtener información personal de la víctima si logra capturar las pulsaciones del teclado mediante un keylogger que el propio meterpreter nos brinda como una de las tantas posibilidades mediante comandos.

Con el comando "help" podemos listar todos los comando disponibles para ser ejecutados.

Como podemos ver en la imagen anterior hay dos comandos que nos permitirán obtener las pulsaciones de teclado de la máquina víctima. Estos comandos son "keyscan_start" que iniciará la captura de las pulsaciones de teclado y el comando "keyscan_dump" que nos visualizará las pulsaciones de teclado del equipo atacado. Ahora para probar que estos comandos funcionan realmente ejecutamos primeramente keyscan_start y en la máquina de Windows 10 intentamos ingresar a nuestro correo electrónico.


Después de esto ejecutamos en la máquina atacante el comando keyscan_dump para poder visualizar las pulsaciones de teclado de la víctima.

En la imagen se puede apreciar claramente que la víctima a ingresado al sitio web de hotmail.com desde su navegador, para después haber ingresado su correo electrónico y contraseña. De esta manera es como se ha obtenido los datos de usuario y contraseña de la víctima sin que la misma pueda ser consciente de lo que esta pasando.

Mitigando el Keylogger en Windows

Para poder mitigar o evitar que el keylogger de un payload pueda capturar las pulsaciones del teclado se puede instalar un antikeylogger, en el mercado existen algunos pero para probarlo voy a utilizar el "spyshelter" es de pago pero otorgan un demo de 14 días premiun.

Con el antikeylloger activado ejecuto en la sesión meterpreter obtenida nuevamente el comando"keyscan_start". El resultado es la siguiente advertencia:

Como se puede apreciar en la imagen el spyshelter me está indicando de que se está intentando grabar las entradas del teclado. Pero que tal si hago caso omiso de la advertencia y doy clic en permitir para ver en la sesión meterpreter de la máquina atacante que datos captura. Para eso en la máquina víctima abro un bloc de notas e ingreso cualquier dato y luego me dirijo a la máquina atacante. El resultado es el siguiente:


En la última imagen podemos observar que el spyshelter cifró las pulsaciones del teclado de la máquina víctima visualizándose una serie de números, por lo que para un atacante no le será posible leer los datos ingresados por parte del usuario víctima.


Esto sería una solución en Windows pero que hay para Linux, la verdad no he encontrado algún antikeylogger que pueda prevenir este ataque aunque probé si podía obtener una sesión meterpreter la cuál no fue posible. Lo que se pudo obtener es una shell bajo cualquier distribución de Ubuntu, lo único que necesité es generar el archivo infectado en shellter con el payload "shell/reverse_tcp" y obviamente el metasploit ponerle en escucha con el payload "windows/shell/reverse_tcp"

El resultado se podría decir que es sorpresivo ya que desde este momento Ubuntu podría verse vulnerado pero como la conexión es una shell y no una sesión meterpreter no puedo ejecutar los comandos keyscan_start y keyscan_dump para capturar las pulsaciones de teclado en todo caso se podría hacer una prueba con otros payloads que nos permitan ejecutar este tipo de comandos, pero eso sería asunto de tratar en otro apartado.


Conclusión

Como conclusión podríamos decir que si bien los antivirus son una herramienta de protección ante este tipo de ataques, existen maneras de poderlos burlar y pasar desapercibidos. Entonces no está demás tener instaladas este tipo de herramientas como los antikeylogger, ya que si tomamos en cuenta la falta de concienciación de seguridad por parte de los usuarios al no prevenir estaríamos poniendo en riesgo la seguridad de la información personal de un usuario o tal vez la información confidencial de una organización

Por otra parte el uso de Wine dentro de las distribuciones de Linux podrían poner en riesgo la información de los usuarios al verse vulnerados por este tipo de ataques y más aun sabiendo que en Linux no hay por defecto un antivirus que funcione en tiempo real y que pueda detectar estas amenazas.

Comments


bottom of page