Script de #HackingÉtico para registrar en un fichero las teclas que se están pulsando en tu ordenador mediante Python

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.

pablogarguez

@pablogarguez es actualmente #Investigador y Profesor Titular de Ingeniería Informática de la Escuela Politécnica en la Universidad de Extremadura en Cáceres. Ha sido Director General de Agenda Digital de la Consejería de Economía, Ciencia y Agenda Digital de la Junta de Extremadura, desde septiembre de 2019 a agosto de 2023. Fue Director de la Escuela Politécnica de Cáceres (School of Technology) de la Universidad de Extremadura durante 3 años (2017-2019), con titulaciones de grado, máster y doctorado en los campos de Ingeniería Civil, Edificación, Informática y Telecomunicaciones. Su trayectoria docente comienza en 1997 básicamente en asignaturas de Programación y de Bases de Datos. Su actividad investigadora se ha centrado en el Reconocimiento de Patrones y la Ciberseguridad. Fruto de esta labor de investigación, resaltar que es coautor de más de veinte artículos publicados en revistas internacionales indexadas en JCR, con un índice H de 12 en cuanto a las citas conseguidas por estos artículos. Actualmente tiene 3 sexenios de investigación a nivel nacional, y el último de ellos es un sexenio vivo (activo). También posee un sexenio de transferencia en la única convocatoria abierta hasta ahora por el Ministerio (2019).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *