Crea un keylogger avanzado en Python con código fuente

Crea un keylogger avanzado en Python con código fuente - Codelivly

Keylogging es la acción de capturar y grabar pulsaciones de teclas en un teclado. Un keylogger es un programa que captura y monitorea todos los keylogs. Los keyloggers pueden estar en forma de software integrado o descargarse directamente a un módulo de hardware.

Cree un registrador de teclas de Python que registre claves, recopile información de la computadora, información de la red, recupere el contenido del portapapeles, registre el micrófono del usuario y tome capturas de pantalla de la pantalla de una computadora.

Recomendaciones de proyectos

Se recomiendan conocimientos básicos de programación y fundamentos de Python. Conocer los conceptos comunes de programación, así como la sintaxis de python. El programa no depende de ningún sistema operativo específico. Se requerirán bibliotecas o módulos de terceros para agregar la funcionalidad de registro de teclas.

Características del registrador de teclas:

  • Guarda todas las teclas y caracteres especiales.
  • Obtiene información de la computadora (RAM, sistema operativo) e información de la red (dirección IP, dirección MAC)
  • Portapapeles
  • Captura de pantalla
  • ¿Quizás un micrófono?

Bibliotecas de Python

  • Claves de registro: Pynput.keyboard o pyHook
  • Archivo de registro: registro
  • Información informática: plataforma, psutil, os
  • Información de red: ifaddr
  • Portapapeles: win32clipboard
  • Captura de pantalla

Ataque dirigido – No se propaga a las masas, solo a las víctimas que selecciono.

Plataforma – Windowszz

Ejecutable

  • Usando un archivo .pyw
  • Intenta usar pyinstaller
  • Asistente de instalación para software falso
Índice
  1. Recomendaciones de proyectos
  • Primeros pasos: Python, Pycharm y módulos
  • Creación de archivos y adición de archivos
  • Claves de registro
  • Correo electrónico
  • información de la computadora
  • Portapapeles
  • Micrófono
  • Captura de pantalla
  • Construye el temporizador
  • CIFRADO DE ARCHIVOS
  • Ejecutable
  • Primeros pasos: Python, Pycharm y módulos

    Antes de comenzar a escribir código, es importante asegurarse de tener Python instalado y los módulos apropiados.

    La primera etapa: Vaya a https://www.python.org, navegue a la sección de descargas y descargue la última versión de python

    Segundo paso: Vaya a través del asistente de instalación y asegúrese de instalar pip y agregar python a la ruta

    Tercer paso: Vaya a https://www.jetbrains.com/pycharm/download/#section=windows, en Comunidad, elija la opción de descarga gratuita. Vaya a través del asistente de configuración utilizando las opciones predeterminadas.

    Etapa 4: Abra PyCharm una vez descargado y seleccione Crear nuevos proyectos.

    Paso 5: Ahora descargará todos los paquetes/módulos/dependencias para el proyecto. Hay varias formas de hacerlo, incluido el uso de la herramienta pip o la importación directa a través de PyCharm. Importaremos directamente todos los paquetes en Python (ya que a menudo los permisos y las rutas de los archivos pueden estropearse cuando se usa la herramienta pip).

    Para instalar un paquete a través de PyCharm, vaya a Archivo -> Configuración (CTRL+ALT+S).

    En Configuración, vaya a Proyecto: Nombre del proyecto y, a continuación, seleccione Intérprete del proyecto.

    En el intérprete del proyecto, haga clic en el ícono + para agregar un nuevo módulo

    Cuando haya hecho clic en el ícono +, se abrirá una nueva ventana llamada Paquetes disponibles. Podemos buscar cada módulo/paquete e instalarlo directamente en nuestro proyecto.

    Por ejemplo, para instalar el módulo de criptografía, simplemente busque "criptografía", haga clic en el
    paquete que dice criptografía, luego haga clic en instalar paquete y espere a que se instale.
    Una vez que el paquete se haya instalado correctamente, podemos pasar al siguiente módulo para instalar.
    Para este proyecto, instale todos los siguientes módulos (el nombre es exactamente el nombre del
    envoltura)

    • pywin32
    • pynput
    • espía
    • criptografía
    • peticiones
    • almohada
    • dispositivo de sonido

    Una vez que haya importado todos los módulos, salga de todas las ventanas de configuración y espere unos minutos para que se instale cada paquete.

    Ha instalado correctamente Python, PyCharm y todos los módulos necesarios.

    Creación de archivos y adición de archivos

    Para varias partes del keylogger, agregaremos datos a los archivos. Antes de agregar datos a los archivos, primero debemos crear variables con las extensiones apropiadas. Aquí están las variables que necesitará con las extensiones apropiadas.

    system_information = "system.txt"
    audio_information = "audio.wav"
    clipboard_information = "clipboard.txt"
    screenshot_information = "screenshot.png"
    keys_information = "key_log.txt

    También necesitaremos 3 archivos más para el cifrado, solo usé la sintaxis e_file_name para cada archivo.

    system_information_e="e_system.txt"
    clipboard_information_e="e_clipboard.txt"
    keys_information_e="e_keys_logged.txt"

    Para abrir y agregar archivos, use with open(file_path, "a") como f :

    Para escribir en el archivo, simplemente use el método f.write(data).

    Claves de registro

    Para registrar las claves usando python, usaremos el módulo pynput.

    Mod para instalar:

    from pynput.keyboard import Key, Listener

    Correo electrónico

    Para agregar la funcionalidad de mensajería, usaremos el módulo de mensajería.

    Módulos a instalar:

    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    from email.mime.base import MIMEBase
    from email import encoders
    import smtplib

    información de la computadora

    Para recopilar información de la computadora, utilizaremos módulos de socket y plataforma.

    Módulos a instalar:

    import socket
    import platform

    Ideas clave con zócalo:
    • El método hostname = socket.gethostname() obtiene el nombre de host
    • Para obtener la dirección IP interna, use el método socket.gethostbyname(hostname)

    Ideas clave con plataforma:
    • Para recibir información del procesador, utilice platform.processor() método
    • Para obtener información sobre el sistema y la versión, utilice platform.system() y plataforma.versión()
    • Para obtener información sobre la máquina, utilice el platform.machine() método

    Para obtener una dirección IP externa (pública), use api.ipify.org
    • Utilizar el get(‘https://api.ipify.org’).text para obtener una dirección IP externa

    Portapapeles

    Para obtener la información del portapapeles, usaremos el módulo win32clipboard, que es un submódulo de pywin32

    Mod para instalar:

    import win32clipboard 

    Ideas clave con win32clipboard:
    • Es posible que la persona no tenga datos que se puedan escribir en el portapapeles (puede que haya copiado una imagen), así que asegúrese de
    para usar un bloque de prueba, excepto en caso de que la información no se pueda copiar.
    • Para abrir el portapapeles, use el win32clipboard.OpenClipboard()
    • Para obtener información sobre el portapapeles, utilice win32clipboard.GetClipboardData()
    • Para cerrar el portapapeles, use el win32clipboard.CloseClipboard()

    Micrófono

    Para grabar con un micrófono usaremos el módulo de dispositivo de sonido y escribiremos en un archivo .wav usando el
    módulo scipy.io.wavefile.

    Módulos a instalar:

    from scipy.io.wavfile import write
    import sounddevice as sd
    

    Ideas clave con dispositivo de sonido:
    • Asegúrese de configurar la variable fs: fs = 44100
    • Asegúrese de agregar una variable de segundos: seconds = microphone_time

    Para guardar, utilice el siguiente código:
    myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
    sd.wait()

    • Para escribir la grabación en un archivo .wav, use el siguiente código: write(filepath, fs, myrecording)

    Captura de pantalla

    Para tomar una captura de pantalla, usaremos ImageGrab del módulo Pillow.

    Módulos a instalar:

    from multiprocessing import Process, freeze_support
    from PIL import ImageGrab

    Ideas clave con ImageGrab:
    • EL ImageGrab.grab() el método toma una captura de pantalla
    • Para guardar la imagen, utilice el image_variable.save() método

    Para asegurarse de que solo se tome una captura de pantalla a la vez, agregue freeze_support(). Utilice el siguiente código a continuación:

    if name == “main”:
    freeze_support()
    Process(target=screenshot).start()

    Construye el temporizador

    Para crear un temporizador que pase por una serie de iteraciones antes de que finalice el registrador de teclas, usaremos la función de temporizador.

    Utilice el siguiente proceso:

    1. Cree una variable de iteraciones y establezca su valor en cero (iteraciones = 0)

    2. Cree una variable end_iterations que defina una cantidad de iteraciones antes de finalizar el keylogger (end_iterations = 5)

    3. Obtenga la hora actual usando la función time.time(), configúrela igual a una variable (currentTime = time.time())

    4. Cree una variable time_iteration que recopile registros de teclas durante un cierto período de tiempo en segundos (time_iteration = 15)

    5. Obtenga el tiempo de apagado agregando la función time.time() + time_iteration para detener, configúrelo igual a una variable (stoppingTime = time.time() + time_iteration)

    6. mientras que las iteraciones son menores que (<) ending_iterations…

    7. Si la hora actual es mayor que (>) la hora de parada...

    • A. Tomar una captura de pantalla
    • b. Captura de pantalla de correo electrónico
    • contra Reunir contenido del portapapeles
    • d. Agregar 1 a la variable de iteraciones
    • mi. Obtener la nueva hora actual
    • F. Obtener un nuevo tiempo de inactividad

    CIFRADO DE ARCHIVOS

    Para cifrar archivos, utilizaremos el módulo cryptography.fernet.

    Módulo a importar:

    from cryptography.fernet import Fernet

    Puntos clave para el módulo de cifrado:
    • Use el siguiente tutorial
    Cómo cifrar cadenas y archivos en Python: https://www.youtube.com/watch?v=H8t4DJ3Tdrg

    Ejecutable

    Convertir nuestro registrador de teclas de Python en un ejecutable puede ser un poco complicado. Python no es muy bueno en
    convertir scripts y programas en ejecutables, ya que a menudo hay muchas dependencias
    (módulos) que necesitan ser descargados. Para convertir este keylogger en un ejecutable, recomiendo usar uno de dos programas... He incluido algunos tutoriales útiles que pueden ayudarlo a convertir sus programas de Python en ejecutables.

    Si quieres conocer otros artículos parecidos a Crea un keylogger avanzado en Python con código fuente puedes visitar la categoría Tutoriales.

    Deja un comentario

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

    Subir

    Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas