Los scripts en hacking ético son fundamentales para entender a los ciberdelincuentes y protegernos de ellos. En este caso, vamos a ver un capturador de teclas que se suele utilizar para extraer información personal y sensible. Los usos legales de este tipo de herramientas pueden ser la supervisión de los hijos por parte de los padres, o en las empresas para asegurarse de que sus trabajadores son eficientes.
En cualquier caso, es obvio las implicaciones éticas que ello puede acarrear por una mala utilización y la necesidad de un uso responsable de este tipo de herramientas.
Este pequeño programa a modo de ejemplo lo vamos a realizar en lenguaje de programación Python y para ello vamos a trabajar con la librería «pynput». Si no la tienes por defecto en tu equipo, que es lo normal, antes hay que instalarla:
«pip install pynput»
Y además importar los módulos necesarios: «from pynput.keyboard import Key, Listener»
Para ello creamos un fichero donde vamos a ir guardando la teclas que pulsamos en nuestro ordenador.
Así creamos nuestro módulo que «escucha» las teclas que vamos pulsando con nuestro script ejecutándose mientras estamos haciendo cosas. Él mismo a modo de ejemplo es creado con fines de aprendizaje y comprensión. Su mal uso puede llevar a problemas de privacidad y cuestiones legales graves.
Aquí tienes el posible código:
Te puede ocurrir que de primeras al intentar ejecutar el código tengas protegido tu equipo para poder usar «pynput», como así pasa con mi Mac, que de primeras da este error:
«This process is not trusted! Input event monitoring will not be possible until it is added to accessibility clients.»
Para ello antes tienes que ir a Preferencias y en Privacidad dar acceso total a las funciones de asistencia y desbloqueando el candado que aparece en la parte inferior derecha de la ventana correspondiente.
Aquí tienes lo que he pulsado en mi consola a bote pronto:
Y a continuación el resultado en el fichero txt que he creado en el programa para que se quedasen almacenadas las teclas que pulsé anteriormente. Con el comando «cat» de UNIX podemos ver el contenido de dicho fichero:
Sencillo verdad. Sí, así es … pero bueno nuestro capturador de teclas, conocido comúnmente como KeyLogger() puede mejorarse por ejemplo ocultando la ventana de la consola, pero aquí ya entramos en terrenos pantanosos …
También es importante en nuestro caso poder detectar un keylogger que se esté ejecutando en nuestro equipo de forma maliciosa y por supuesto neutralizarlo.
Detectar estos registradores de teclas no siempre es fácil para encontrarlos y además hay que tener en cuenta que están diseñados para estar ocultos y tratar ser invisibles al usuario. Lo mejor para saber de ellos si tenemos sospechas es ver que procesos se están ejecutando en nuestro equipo con sus IDs (PIDs) con la librería «psutil» en el caso de utilizar Python:
«import psutil»
Para eliminar los procesos en Python usar las librerías «os» y «signal» con la función «kill».
Un mundo apasionante y peligroso que nos afecta a todos, y que debemos de conocer de una manera o de otra para poder estar alerta ante un posible ataque a los nuestros, tanto en casa como en el trabajo.
La ventaja de usar el lenguaje de programación #python radica en su simplicidad y la gran cantidad de librerías que soporta para hacer mucho más sencilla nuestra tarea.