Как сделать клавиатурного шпиона

Обновлено: 04.07.2024

Как создать кейлоггер? Этот вопрос возникает у тех, кто вдруг решил немного побыть хакером. Ведь кейлоггер — это не совсем «правильная» штука, хотя и не является ни вирусом, ни трояном, ни руткитом.

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

Что такое кейлоггер

Кейлоггер относят к классу «spyware» — программ-шпионов, которые выполняют свои шпионские задачи и следят за действиями ничего не подозревающих пользователей. Те , кто знает о кейлоггерах , очень часто их недо оценивают и не считают настоящей угрозой, хотя в умелых руках этот инструмент может «наворотить» дел и передать своему создателю необходимую ему информацию, которую вводят пользователи.

Современные кейлоггеры могут не только записывать все нажатия с клавиатуры, но и привязывать нажатия к сервисам или к конкретному окну, с которого нужно получить данные. Например, можно шпионить за клавиатурой только тогда, когда открыто окно входа в Фейсбук или ВК.

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

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

Какими бывают кейлоггеры

  1. Простой стандартный способ. Установить соответствующий хук, например , WH_Keyboard или WH_Journalrecord , и использовать соответствующий механизм, например , Win32API. Суть этого способа сводится к тому, что хуки будут считывать информацию непосредственно с системных процессов, перехватывая нажатия абсолютно всех клавиш клавиатуры. Это самый простой вид ловушки, которы й не требует больших программистских знаний ; создать такой кейлоггер можно за пару минут. Однако такие шпионы достаточно легко обнаруживаются в системе , и самый главный их недостаток заключается в том , что они записывают абсолютно все нажатия клавиш. А это значит, что нужно будет выделить среди всех нажатий нужную информацию. Если «шпионить» за одним компьютером, то это полбеды, но если компьютеров несколько десятков или сотен, то накапливаются огромные объемы информации о нажатии клавиш на всех компьютерах.

  2. Опрос состояния клавиатуры с какой-либо периодичностью. Это тоже довольно простой метод реализации кейлоггера, который часто используется уже готовыми программами-шпионами. Он тяжелее распознается в системе и обладает те ми же недостатками , что и первый способ. Суть этого кейлоггера в том, чтобы «опрашивать» клавиатуру о ее состояни и ( нажата или не нажата клавиша) со скоростью 10-25 опросов в секунду.

  3. Кейлоггер на основе драйвера. Этот способ несколько сложнее, чем первые два, однако он является наиболее эффективным, незаметным и управляемым. При такой реализации пишется собственный драйвер-шпион для клавиатуры и подменяется на стандартный. Либо устанавливается дополнительный драйвер-фильтр, который отслеживает необходимые нажатия клавиатуры. Например, нужно отследить, что нажимает пользователь, когда открыто окно входа в соцсеть или окно онлайн-оплаты.

  4. Кейлоггер-руткит. Это профессиональный вид кейлоггеров, который используется редко, но имеет самые высокие показатели в незаметности. Он выстраивается на уровне ядра процессора за счет перехвата процесса обмена информацией между драйвером клавиатуры и процессора. Этот вид кейлоггеров способен перехватывать работу даже экранной клавиатуры. Ни один из выш ео писанных способов не может это го делать, поэтому экранная клавиатура считается отличным средством защиты от клавиатурного шпионажа. А такой кейлоггер мониторит даже экран.

  5. Физические устройства. Как ни странно, но следить за клавиатурой можно не только программными методами, но и аппаратными устройствами. Такие устр ой ства не распознаются никакими антивирусами или другими программными методами и отлично выполняют свою функцию. Главный недостаток в том, что их установка требует физического контакта с устройством, за которым необходимо следить. Такой кейлоггер может быть реализован в виде USB-флешки или карты памяти, в виде небольшого устройства, которое внедряют в место «разрыва» кабеля, в штекер клавиатуры или в саму клавиатуру и др.

Как распространяются кейлоггеры

  • при открытии файла электронного письма, которое вам прислали незнакомы е ( или знакомые) люди;

  • при посещении сомнительных сайтов, где может быть установлен скрипт, запускающий автоматическую установку кейлоггера на устройство;

  • когда на устройстве уже есть вредоносная программа, которая самостоятельно устанавливает другие программы;

  • при скачивании сомнительных программ или драйверов с сомнительных сайтов;

  • когда незнакомый вам сайт просит обновить какую-то программу, установленную на вашем компьютере;

  • и др.

Кейлоггер: создать или использовать готовый

  • The Rat! — работает на уровне аппаратного ядра, поэтому вообще незаметен для защитных программ;

  • Elite Keylogger — работает на уровне системных драйверов, поэтому также остается очень незаметным, способен перехватывать не только нажатия клавиатуры, но и снимки с веб-камеры;

  • All-in-one Keylogger — работает на уровне системных AppData-директ о рий, поэтому недоступен пользователям для обнаружения, но со временем может быть обнаружен программами безопасности;

  • Spytech SpyAgent — работает на уровне системных файлов, поэтому рано или поздно будет обнаружен антивирусами, но обладает широким функционалом, например , способен перехватывать видео с камеры и звук с микрофона;

  • Spyrix Personal Monitor — многофункциональный кейлоггер со средней скрытностью, может быть использован в частном порядке, когда его обнаружение не критично, например, когда нужно проследить за своими детьми, братьями, сестрами и т. д.

  • и др.

Как создать свой собственный кейлоггер

Заключение

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

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Пишем кейлогер с помощью Python

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

Второе важное достоинство – универсальность и «всеядность». Во-первых, программы на Python могут работать с любой операционной системой. Это делает его универсальным как для пользовательских задач, приложений в гаджетах, системных задач в серверах и массивах данных и так далее. Во многом благодаря этому Python и набрал свою популярность. Более того, в отличие от своего предшественника С, Пайтон занимает равное количество ресурсов памяти, а потому является по-настоящему легко переносимым кодом.

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

Но есть и недостатки так?

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

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

Перед созданием кейлогера мы должны сделать gmail почту и включить там эту функцию:

Приступаем к написанию!

Работать наш кейлогер будет через gmail и для начала вам нужно установить модуль PyWinhook, pyinstaller, smtplib и email, после этого мы импортируем остальные нужные библиотеки, а PyWinhook как pyHook.

pip install нужныйпакет

Функция отправки email

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

Класс Keylogger

В нем будет путь к файлу с логами и максимальное количество символов для отправки:

Скрытый запуск

Напишем функцию с помощью которой наш кейлогер сможет запускаться скрыто при помощи библиотеки threading:

Добавление в автозагрузку

Функция которая будет добавлять наш exe в реестр:

Параметры для открытия файлов

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

Добавим кнопкам названия

Проще говоря, если айди клавиши 13, значит ее зовут ENTER ну и так далее:

Инициализируем переменные

Эта функция будет инициализировать переменные для будущего использования в sending_procedure

Записываем собранные клавиши в файл

Запрещаем множественные копии кейлогера

Проще говоря, это сделано для того, что бы на компьютере не смогли быть запущены сразу 2 наших кейлогера:

Функция OnKeyboardEvent

Данная функция запускает KeyFilters и после и sending_procedure, что позволяет нам делать лог клавиш и отправлять его на почту:

Скрытие консоли кейлогера

Используя модуль win32gui мы указали что видимость окна будет равна 0:

Функция запуска кейлогера

У вас наверняка возник вопрос как собрать это все в exe, для этого мы напишем скрипт, который будет запускать нам pyinstaller.

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

Обо всем этом вам расскажу только я на канале @cybersecs

Админ сайта. Публикует интересные статьи с других ресурсов, либо их переводы. Если есть настроение, бывает, что пишет и что-то своё.

Пациент, укольчик. Фреймворк для автоматизации поиска SQL инъекций на Python

Пациент, укольчик. Фреймворк для автоматизации поиска SQL инъекций на Python

В этой статье мы объясним, что такое SQL-инъекция, опишем некоторые распространенные примеры, объясним, как найти и.

Учимся писать JS снифер. Теория и практика для самых маленьких. Часть 2

Учимся писать JS снифер. Теория и практика для самых маленьких. Часть 2

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

Пишем снифер формы для самых маленьких

Пишем снифер формы для самых маленьких

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

Брутим майнеры. Взлом майнинговых ферм. Часть 2

Брутим майнеры. Взлом майнинговых ферм. Часть 2

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

Умный DDoS. Нагружаем защищенные таргеты без всяких ботнетов

Умный DDoS. Нагружаем защищенные таргеты без всяких ботнетов

Python в ИБ. Часть 10. Многопоточный сканер портов

Python в ИБ. Часть 10. Многопоточный сканер портов

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

Стеганография 2020: вещь в себе. Прячем иголку в стоге сена.

Стеганография 2020: вещь в себе. Прячем иголку в стоге сена.

В наше время шифрование является краеугольным камнем цифровой безопасности и использование его стойких методов отличный.

Пишем свой фреймворк. Упрощаем работу с Metasploit и Aircrack-ng. Python + Bash

Пишем свой фреймворк. Упрощаем работу с Metasploit и Aircrack-ng. Python + Bash

Если вам доводилось использовать Metasploit и Aircrack-ng, то вы наверняка задумывались о том, что неплохо было бы.

Пишем RAT (remote administration tool) на C. Часть 1

Пишем RAT (remote administration tool) на C. Часть 1

Эту статью можно назвать ремейком одной из наших прошлых публикаций, в которой мы разбирали RAT на Python. Возможно, вы.

Python в ИБ. Часть 4. Создаём продвинутый TCP-сервер

Python в ИБ. Часть 4. Создаём продвинутый TCP-сервер

Этот урок будет посвящён созданию более продвинутого и функционального TCP-сервера. Создание базового сервера было в.

Обход антивирусов на Python для самых маленьких

Обход антивирусов на Python для самых маленьких

Python в ИБ. Часть 1. Работаем с сетевыми сервисами

Python в ИБ. Часть 1. Работаем с сетевыми сервисами

Для чего годен Python? Для всего что угодно. Данный язык нашёл активное применение в различных хакерских (ИБ) сферах.

написать кейлоггер своими руками

Кодировки->Кодировки->Кириллица->ОЕМ 855 (ОЕМ 866)

кейлоггер в блокноте

Как написать кейлоггер: поехали

Перед тем, как кейлоггер заработает, от вас понадобится несколько движений:

  • создать папку для хранения введённых паролей и логинов
  • создать тело кейлоггера

Готовим хранилище для вводимого

Здесь всё просто: вам нужен кратчайший путь (но он может быть абсолютно любым, в том числе сетевым). У меня это корень диска С. Здесь создаётся папка logs. Здесь вы будете искать обычный файл logs.txt (его создаст уже сам кейлоггер).

папка logs с информацией по паролям

украденный пароль

Напишем кейлоггер своими руками: сам код

кейлоггер требует пароль от google

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

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

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

Некоторые кейлоггеры могут делать скриншоты и запускаться одновременно с системой. В рамках данного урока мы не будем зацикливаться на дополнительных опциях кейлоггера.

Для установки этого модуля, нужно ввести в терминале « pip install pynput »:

установка модуля pynput

Он уже у меня установлен, так что логи будут отличаться. Вам не нужно ничего настраивать.

Итак, приступим к написанию программы. Как обычно, начинаем с импортирования библиотеки. Код будет выглядеть как « import pynput ». Эта библиотека позволяет нам следить за мышью и клавиатурой:

import pynput

Нас интересует только нажатия клавиш с клавиатуры, поэтому мы дополняем код библиотеки «pynput» значением «keyboard», через символ точки:

значение keyboard

Далее объявляем переменную «keyboard_listener», которая будет равняться библиотеке «pynput», имея функцию «keyboard», и создаем экземпляр объекта «Listener ()». После этого нужно указать функцию обратного вызова, которая будет выполняться при каждом нажатии клавиш. В скобках пишем функцию «on_press», и назовем ее как: «process_key_press»:

process_key_press

Выше по коду объявляем новую функцию «process_key_press», и она будет использовать переменную «key», которая будет отображать нажатие клавиш. И далее выведем на экран эту переменную: «print(key)»:

def process_key_press

Итак, в нашем коде мы создали «keyboard_listener», но не запустили его. Чтобы запустить эту конструкцию, нам нужно добавить ключевое слово «with», для того, чтобы взаимодействовать с «listener», на клавиатуре.

По-большому счету ключевое слово «with», используется для взаимодействия с неконтролируемыми потоками данных или использованием ключевого слова «with». Запускаем «keyboard.listener»:

with keybpard_listener

Такие примеры можно встретить в документации. Напомню, что ссылку я Вам давал выше.

Теперь наш кейлоггер готов. Он прост, но в тоже время готов к использованию.

Протестируем его, запустив файл через терминал:

Как видим, все прекрасно работает. Все будет фиксироваться, даже специальные символы на клавиатуре:

Читайте также: