Quería ponerme a hacer un keylogger que enviase los datos desde la víctima hasta un cliente, la conexión iba a hacerla mediante sockets.
Sin embargo, he estado mirando posibles librerías que me permitiesen la captura de teclado y solo he visto PyHook y Win32Api pero ninguna compatible con sistemas Linux.
¿ Sabéis si existe alguna que me pueda ayudar a desarrollarlo ?
Gracias :)
Pykeylogger usa la libreria xlib creo, funciona en win y linux.
Putada, no tiene casi documentación y la poca que hay en inglés jodido xD. Pero bueno voy a seguir mirando xlib que tiene buena pinta.
Gracias risketo :)
Si haces un keylogger con Xlib por favor pasame algo de codigo o explicame como lo haces, porque yo estoy haciendo lo mismo pero en C++ y se algo de python, asi que es probable que me pueda servir.
Saludos ;D
Yo estoy intentando sacar algo de esto:
http://python-xlib.sourceforge.net/doc/html/python-xlib_toc.html#TOC15
Pero está demasiado incompleta.
:)
Yo también estoy interesado en este tema, pero yo no quiero los típicos keyloggers que luego están llenos de troyanos y *****.
A mi hace tiempo me dijeron que en GNU-Linux o en Windows había una manera de recoger lo que pulsamos en el teclado y que quedaba recogido en un archivo tipo .txt o .log, sin rollos de crear cuentas no-ip, infectar para espiar a nadie, etc.
Estuve hace tiempo buscando sobre esto y como hacer que tanto un sistema como otro, guarde lo que tecleamos, pero no conseguí hacer nada, solo con troyanos y keyloggers.
El caso es que pregunte en foros y nadie parece saber nada.
Yo ahora estoy liado con la selectividad,pero en cuanto acabe me pongo a buscar info :).
He estado husmeando en la libreria Xlib y hay cosas bastante interesantes para hacer con python, la librería toma el conjunto monitor,teclado,ratón y el resto de entradas como un servidor y te permite hacer cosas raras sincronizando con él.
Una de ellas es la posibilidad de hacer el conocido ratón loco, con el método warp_pointer:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from Xlib import display
import random
d = display.Display()
while True:
y = random.randint(100,200)
z = random.randint(100,200)
d.warp_pointer(z,y)
d.sync()
Y si esto se combina con la ejecución en background, puede ser bastante molesto ;-)
Si quieres mañana hablamos y a ver si logramos algo :).
Un saludo.