Лаборатория информационной безопасности. Лаборатория информационной безопасности Пишем простой keylogger для windows на c
Кейлоггер по-домашнему. Пишем на C# кейлоггер, который не палится антивирусами
Содержание статьи
Ставим задачу
Мудрить не будем и ограничимся необходимым минимумом. Предположим, мы хотим заполучить пароль жертвы от ВК и мы можем ненадолго получить физический доступ к компьютеру. При этом:
- мы не беспокоим жертву лишними окнами, иконками в таскбаре, сообщениями об ошибках и подобным;
- мы имеем доступ к целевому компьютеру только однократно и на очень короткий срок;
- мы сможем забирать логи, находясь в той же локальной сети;
- антивирус должен молчать;
- файрвол не учитываем и предполагаем, что мы дадим ему разрешение вручную при подсадке кейлоггера;
- мы не будем пытаться скрывать процесс и только дадим ему неприметное название.
Еще жертва может пользоваться парольным менеджером, тогда в логе мы получим только Ctrl-C и Ctrl-V. На этот случай будем мониторить еще и содержимое буфера обмена.
Подробнее об атаках на парольные менеджеры читай в статье «Ищем слабые места современных менеджеров паролей».
Писать будем на C# в Visual Studio. Забегая вперед, скажу, что в результате у меня получилось две версии программы — одна работает через перехват WinAPI, другую я про себя называю «костыльной». Но эта менее красивая версия дает другие результаты при проверке антивирусами, поэтому расскажу и о ней.
Теория
Когда ты нажимаешь на кнопку, операционка посылает уведомления тем программам, которые хотят об этом узнать. Поэтому самый простой способ перехватить ввод с клавиатуры — это принимать сообщения о нажатиях клавиш. Если мы этого сделать не можем (например, функция SetWindowsHookEx запрещена антивирусом или еще чем-либо), можно тянуть сырой ввод и без нее. Есть такая функция — GetAsyncKeyState, которая принимает номер клавиши и позволяет узнать, зажата она или отжата в момент вызова. Собственно, алгоритм действий будет такой: раз в N мс опрашиваем все кнопки и узнаем их состояние, занося нажатые в специальный список. Затем список обрабатываем, учитывая состояние клавиши Caps Lock, Num Lock, Shift, Ctrl и так далее. Полученные данные будем записывать в файл.
Пишем код
Для начала откроем Visual Studio и создадим новый проект Windows Forms (.NET Framework). Почему именно Windows Forms? Если мы выберем обычное консольное приложение, то при каждом запуске будет создаваться некрасивое черное окошко, а ведь юзера мы договорились не беспокоить. Также, пока мы не создали форму (а создавать ее мы и не будем), никаких значков в таскбаре не появится — важная часть скрытой работы. Теперь удаляй автоматически созданный файл Form1.cs со всеми потрохами и открывай Program.cs.
Заглушка Main
Здесь нас уже поджидает шаблон программы, но он не будет работать просто так. Первым делом надо убрать строчки 10–12 и 16–18. Теперь меняем объявление метода со static void Main() на static void Main(String[] args) . Нужно это для того, чтобы мы могли определить свои аргументы при перезапуске.
Теперь добавим using System.IO; для работы с файлами, System.Runtime.InteropServices для работы с WinAPI и System.Threading для приостановки потока. Если ты не хочешь писать костыльный вариант, лучше пропусти этот раздел и сразу переходи к следующему.
Импортируем GetAsyncKeyState из user32.dll:
И добавляем собственно логирование нажатий, собирая их по десять штук, чтобы не делать слишком много дисковых операций:
Расшифровывать такой лог будет неудобно
Выглядит не очень красиво, а про читабельность вообще можно забыть. Во-первых, наш код тянет ввод не только с клавиатуры, но и с мыши (всякие LButton и RButton). Поэтому давай не будем записывать нажатие, если это не символьная клавиша. Заменим содержимое if в цикле на это:
После такого редактирования лог стал намного чище (см. рисунок).
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
10 лучших бесплатных кейлоггеров для ПК
Кейлоггер – разновидность ПО, которое применяется для отслеживания или логирования всех нажатий клавиш на клавиатуре. Пользователь электронного устройства может даже не подозревать, что любые клики и нажатия записываются, а кейлоггер-то запоминает абсолютно все – вплоть до переписок в соцсетях и чатах. Присутствие такой программы практически невозможно заметить, поскольку она функционирует в фоновом режиме, как составной элемент операционной системы.
Насколько это законно?
У многих подобные программы ассоциируются с незаконной деятельностью и вредоносным ПО. Но, как мы уже писали, несмотря на то, что кейлоггеры можно рассматривать как вторжение в частное пространство, все же это никоим образом не нарушает закон. Родители, к примеру, могут обзавестись таким ПО, чтобы защитить своих детей в интернете, – и выяснить, с кем они общаются в Facebook или Whatsapp. Приложение отслеживает данные на ПК, Mac, iPhone и других устройствах.
Работодатель, в свою очередь, может сделать вывод о том, чем занимаются его сотрудники во время работы. Система выдает детальные онлайн-отчеты о продуктивности персонала.
Еще одно возможное применение кейлоггера – для защиты настроек приватности, паролей и данных, которые могут утеряться, из-за багов в компьютере. Но, с другой стороны, злоумышленник с помощью кейлоггера может получить доступ к частной и конфиденциальной информации, что, конечно же, запрещено законом.
Возможности кейлоггеров, разработанных под Windows и macOS:
- Фиксируется время, которое ребенок или сотрудник проводит у монитора
- Составляется список часто используемых приложений и сайтов
- Отслеживается активность пользователей в онлайн-режиме
- Анализируется их продуктивность
- Высвечиваются контакты на телефоне, с которыми пользователь часто поддерживает связь (звонки, SMS, чаты, почта, skype).
- Отслеживается местонахождения телефона
- Ведется удаленный онлайн-мониторинг за ПК и телефоном
Существует множество разновидностей и версий подобных систем, поэтому выбирая кейлоггер, составьте список функций, которые не должны присутствовать в вашей программе. Так вы исключите все лишние варианты.
1. Kickidler | бесплатно/$9 | Win | Mac | Lin
В Kickidler функция кейлоггера интегрирована с записью видео, то есть можно посмотреть историю того, что было на экране пользователя, когда он набирал определенную комбинацию клавиш. Это дает наиболее полную информацию о действиях сотрудника. Также есть фильтр по ключевым словам и выгрузка истории нажатия клавиш в эксель.
Система собирает информацию обо всех нажатиях клавиш во всех программах:
- В электронной почте (в том числе веб-почте Mail.ru, Gmail.com, Yandex.ru и прочих),
- Социальных сетях (ВКонтакте, Одноклассники, Facebook и прочих)
- Мессенджерах (Skype, Viber, Telegram, ICQ, Lync и других)
- Офисных программах (Microsoft Office, или 1С)
Нажатые клавиши отображаются в режиме реального времени, или в виде отчета. Есть отчет об интенсивности нажатия клавиш, из чего можно узнать, например, печатал ли сотрудник или изредка нажимал на пробел.
Собранную информацию (текст, видео и все нарушения рабочего распорядка) можно просмотреть на единой временной шкале – что абсолютно точно позволит выяснить, чем занимался сотрудник в конкретный момент времени.
Для чего нужен кейлоггер:
- Предотвращение утечек информации (DLP – Data Leak Prevention)
- Контроль использования конфиденциальных данных (DLP – Data Loss Protection)
- Анализ эффективности работы при вводе текста с клавиатуры
Дополнительный функционал: контроль нарушений, запись видео, онлайн-мониторинг, учет эффективности использования рабочего времени.
Kickidler работает на компьютерах с любой операционной системой: Windows, Linux и Mac OS. Есть бесплатная версия программы – до 6 сотрудников.
2. Best Free Keylogger | бесплатно/$39 | Win
Best Free Keylogger – это мониторинговый инструмент для ПК, который совершенно незаметен во время работы. Это ПО отслеживает нажатия клавиш, чаты, активность в сети, URL, копируемые тексты, файлы и скриншоты. Одно из лучших решений для наблюдения за детьми, когда родителей нет дома.
- Запись нажатых клавиш
- Запись интернет-активности
- Логирование чатов и паролей
- Мониторинг буфера обмена
- Мониторинг приложений
- Скриншоты
- Email, FTP, LAN, USB
- Невидимый режим и защита паролей
- Незаметен на все 100%
- Мониторинг расписания
- Автоматическая очистка логов
3. Windows Keylogger | Бесплатно/USD49 | Win
Windows Keylogger присутствует на компьютерах тысяч пользователей по всему миру.
- Функция Easy Read позволяет быстро и просто просматривать нажатые клавиши
- Используется для мониторинга отдельных пользователей в отдельных приложениях
- Фильтр логов в расширенном поиске
- Установка даты для автоматического удаления
4. Spyrix Keylogger Free | Бесплатно | Win, Mac & Android
Spyrix Keylogger – бесплатное ПО для логирования клавиш, которое позволяет записывать и отслеживать каждое нажатие, инструмент способен сохранять скриншоты активных программ в установленные временные интервалы – то есть фиксируется все происходящее на экране.
- Удаленный мониторинг посредством безопасного веб-аккаунта
- Логирование нажатий клавиш
- Незаметен для антивирусов
- Запись разговора по микрофону (в Pro-версии, за $80)
- Запись видео веб-камеры – (в Pro-версии, за $80)
5. Kidlogger Free | Бесплатно | Win, Mac, Android & iOS
Функция родительского контроля позволяет защитить детей в киберпространстве. Вы можете узнать, с кем беседуют ваши дети по телефону или в сети, а руководитель компании с помощью такого ПО отслеживает активность сотрудников и тем самым дисциплинирует их. Это как личный автоматизированный дневник.
- Отслеживается местонахождение ноутбука или телефона посредством GPS
- Запись нажатий клавиш
- Сохранение скриншотов
- Отслеживание веб-истории
- Запись разговоров (для Windows)
- Тайм-трекинг
- Мониторинг чатов (Windows и MAC)
- Отслеживание местонахождения телефона (Android, iOS, BlackBerry, MAC OS X), координаты по GPS или WiFi
- SMS (Android, Nokia, BlackBerry). Отслеживаются все входящие/исходящие SMS-сообщения с номерами и именами.
6. Revealer Keylogger Free | Бесплатно | Win
Revealer Keylogger Free – эффективный кейлоггер под Windows. Программа активируется при запуске операционной системы, она скрыта от глаз пользователей и защищена паролем. Но основной инструментарий – скриншоты и уведомления на почту – в бесплатной версии недоступен. Также программа не фиксирует IP-адреса.
- Ведётся мониторинг переписки по Skype, Facebook, MSN, AOL, ICQ, AIM, GTalk и пр
- Инструмент Keystroke Recorder записывает текст, пароли и переписку
- Функция Password Protection не позволит сторонним людям получить доступ к программе
- Функция скриншотов (в Pro-версии за $50)
7. Refog Free Keylogger | Бесплатно | Win
Основное преимущество Refog Free Keylogger перед конкурентами в том, что это очень простая и удобная в использовании программа. У большинства шпионских разработок слишком много функций, и технически не подкованным людям сложно в них разобраться. Но эту программу очень легко настроить, к тому же она бесплатная. Список всего того, что перехватывается логируется и записывается, настолько большой, что нет смысла все это перечислять.
Вот лишь некоторые из функций:
- Записываются все нажатия клавиш, включая пароли
- Отправленные и полученные сообщения в чате
- Открытые веб-сайты
- Входы и выходы из системы
- Чаты в Skype и голосовые коммуникации
- Открываемые приложения и игры
- Скриншоты экрана
8. Ardamax Keylogger | $49 | Win
Ardamax Keylogger – небольшой, простой в использовании кейлоггер, который фиксирует любую активность пользователей и сохраняет данные в лог-файле. Лог-файл можно просмотреть в формате текстового документа или веб-страницы. Этот инструмент будете сообщать о любой активности на ПК в ваше отсутствие.
- Запись нажатых клавиш: под этим подразумевается учет всех нажатий, набранных паролей, в т.ч. скрытых символов
- История посещений сайтов. Фиксируются все открытые сайты во всех браузерах
- Запись веб-камеры. Периодически делаются скриншоты и сохраняются в логе
- Отправка логов на почту. Кейлоггер может в установленное время отсылать на почту записанные логи, что очень удобно для удаленного мониторинга
- Запись по микрофону. Запись голоса по микрофону с сжатием аудиофайла в режиме реального времени
- Визуальное наблюдение. Периодически делаются скриншоты, и файлы сохраняются в логе
- Мониторинг чатов. Ardamax Keylogger разработан для записи и мониторинга обоих участников разговора в таких чатах, как AIM, Windows Live Messenger, ICQ, Skype, Yahoo Messenger, Google Talk, Miranda и QiP
9. Actual Keylogger | $60 | Win
Actual Keylogger – программа, которая отслеживает активность на компьютере и позволяет узнать, что другие пользователи делают в ваше отсутствие. Это ПО мониторит открытые или закрытые программы, посещаемые веб-сайты и все нажатия клавиш, делает скриншоты и копирует контент в буфер.
- Информация о запущенных и закрытых приложениях
- Логирование нажатых клавиш
- Любая активность, связанная с печатью документов
- История веб-сайтов в браузерах
- Скриншоты экрана в установленное время
- Зашифрованные файлы любой активности
10. Iwantsoft Free Keylogger | Win
Iwantsoft Free Keylogger целенаправленно отслеживает любую активность на компьютере: фиксируются нажатия клавиш, контент в буфере системы, логируется активность в программах, отслеживается история сайтов в браузерах, есть функция скриншотов – чтобы сделать вывод о продуктивности сотрудников. Программа подходит для использования как на работе, так и дома. Родители с ее помощью могут узнать о потенциальных угрозах для своих детей, а для работодателей это возможность обезопасить себя от информационных утечек.
- Работа в фоновом режиме – кейлоггер все время остается невидимым для пользователей, и только установщик программы может нажать специальное сочетание клавиш и вписать пароль, чтобы кейлоггер вновь был заметен
- Фильтры и уведомления – блокируются все нежелательные приложения и сайты. Вы можете получать моментальные уведомления на почту, когда пользователь вписывает специфические ключевые фразы
Почему стоит установить программу-кейлоггер?
Компьютеры используются для развлечения, образования и коммуникации, но в руках злоумышленников они превращаются в опасный инструмент. Например, люди с недобрыми намерениями могут общаться с детьми в интернете.
В свою очередь, сотрудники компаний могут копировать секретную информацию, торговые секреты, ноу-хау, или же просто бездействовать в то время, когда от них ожидают напряженной работы. Кейлоггер своевременно сообщит обо всех этих событиях. В частности, такие программы очень удобны для отслеживания работы фрилансеров.
Рубрика «keylogger»
Keylogger для Windows с изменением прав в DACL
Здесь будет рассмотрено создание Keylogger на базе .Net C# с вызовами системных функций. Сами системные функции в кратце описываются, но лучше прочитать официальную документацию от Microsoft. Ссылка на репозиторий с рабочей сборкой приведена в конце, так же как и ссылка на доккументацию.
Что будет реализовано:
- Логирование ввода с клавиатуры.
- Логирование активного окна.
- Блокировка процесса от пользователя без привилегий администратора.
- Остановка процесса по сочетанию клавиш.
Security Week 35: перехват клавиатуры через WiFi, атака на банкоматы с помощью EMV-чипа, новый IoT-ботнет
Перехват клавиатурного ввода постепенно становится моей любимой категорией ИБ-новостей. Я уже писал о серии исследований компании Bastille Networks: эти ребята подробно изучили механизмы взаимодействия беспроводных мышей и клавиатур с приемниками и выяснили, что у ряда производителей дела с безопасностью обстоят не очень хорошо. Можно вспомнить еще более древнюю новость про перехват клавиатурного ввода с помощью анализа видеозаписи.
Нравятся мне они тем, что представляют собой (пока) теоретические исследования потенциальных угроз будущего. На практике пароли крадут кейлоггерами, делают это массово, но это другая тема. Новое исследование (новость и PDF) коллектива американских и китайских ученых показывает, как можно перехватывать клавиатурный ввод, имея доступ к низкоуровневым данным о работе Wi-Fi роутера.
Не, ну круто же, правда? Эксперты использовали обычный роутер TP-Link WR1043ND, а для перехвата требовалось, чтобы роутер работал в стандартах WiFi 802.11n/ac. Конечно, требовался доступ к роутеру, что, как мы знаем, достаточно легко обеспечить — из-за уязвимостей, или из-за неправильной конфигурации. Анализируя данные Channel State Information, они смогли отслеживать даже небольшие движения в зоне действия роутера. Все благодаря тому, что CSI содержит в себе данные о качестве передачи данных, которые обычно используются для одновременной работы нескольких антенн (MIMO), переключения на иные частотные диапазоны и изменения мощности радиосигнала.
Инсинуации под катом. Все выпуски дайджеста — тут.
Читать полностью »
Пишем клавиатурный шпион на Делфи 7
Это моя первая статья, потому не буду многословным и постараюсь как можно короче описать разработку клавиатурного шпиона на Делфи. Использовать мы будем функцию WinApi (getasynckeystate), осуществляющую глобальный перехват нажатия клавиш клавиатуры.
Описание: function GetAsyncKeyState(Key: Integer): Integer;
Опpеделяет состояние виpтуальной клавиши.
Параметры: Key: Код виpтуальной клавиши.
Возвращаемое значение: Если установлен стаpший байт, клавиша Key находится в нажатом положении, а если младший, то клавиша Key была нажата после пpедыдущего вызова функции.
Также нам понадобиться функция GetForegroundWindow — возвращает дескриптор приоритетного окна (окна, с которым пользователь в настоящее время работает). Система присваивает немного более высокий приоритет потоку, который создает приоритетное окно, чем тот, который она дает другим потокам.
Я думаю, этого достаточно для базового понимания того, как мы собираемся всё это дело реализовать. Преступим к созданию формы и написанию кода.
Начнём по порядку: открываем Делфи, заранее сохраняем наш проект, заходим в обработчик событий нашей формы вкладка Events и находим событие OnShow, два раза щёлкаем левой клавишей мыши на событие и пишем код.
Читать полностью »
Нестандартный топ событий в сфере IT-безопасности 2015
Вот и пришло время повторить упражнение, которое я первый раз выполнил ровно год назад. Тогда я взял 10 самых популярных новостей с нашего сайта Threatpost и попытался выяснить — почему именно они, собственно, привлекли внимание общественности — и специалистов, и обычных пользователей. Такой метод имеет очевидные недостатки — на популярность статей много что влияет, и совершенно не обязательно, что самые популярные новости об инцидентах в кибермире являются одновременно и самыми важными. Но есть и достоинства: событий в сфере информационной безопасности происходит огромное количество, и каждый участник их обсуждения, в зависимости от специализации и личных интересов, выберет свои «самые-самые». А тут — если и не самый объективный, то хотя бы независимый инструмент оценки.
В этом году подборка самых посещаемых новостей удачно делится на пять основных категорий:
— Низкотехнологичные угрозы для пользователей
— «Уязвимости в неожиданных местах»: безопасность «интернета вещей», домашних и промышленных сетевых устройств,
— Проблемы шифрования данных
— Громкие уязвимости в ключевых платформах и «хайтек» киберугроз — примеры самых продвинутых атак
— Рутинные, но опасные уязвимости в распространенном софте
На github появились исходники кейлогеров, работающих на GPU
На сервере github появились два проекта, использующие неожиданную уязвимость – возможность исполнения шпионящих за компьютером программ при помощи видеопроцессора. Уязвимость была впервые описана в исследовательской работе 2013 года под названием “Печатать можно, спрятаться нельзя: кейлогер на основе GPU”.
В работе исследователи описали принципиальную возможность изготовления программы, отслеживающей и записывающей нажатия клавиш при помощи GPU. Программа не использует типичные приёмы руткитов для встраивания в ядро системы. Вместо этого при помощи видеокарты информация о нажатиях собирается напрямую через DMA (прямой доступ к памяти).
И вот, пожалуйста – проекты Jellyfish rootkit и Demon keylogger доказывают на деле возможность такого подхода. Никак не модифицируя ядро системы, они работают за счёт видеокарты. Вот что пишет создатель проекта под ником x0r1:
Читать полностью »
Пишем простой Keylogger для Windows на C++
Решил написать программный логгер клавиатуры на C++ с использованием WinAPI. Не могу сказать, что преследовал какую-нибудь шпионскую цель, когда писал его, скорее знакомился с хуками на WinAPI. Так как получилось не так уж и плохо, а на Хабре нет статьи про программные логгеры, решил написать свою.
Читать полностью »
Кейлогер iOS 7
Проблема кейлогеров для мобильных приложений становится все заметнее в мире мобильных устройств. Уже достаточно давно стало известно, что джейлбрейкнутые IOS 7 девайсы могут быть уязвимы для кейлогеров, которые записывают и передают все ваши жесты и нажатия злоумышленникам. Теперь это касается и не взломанных IOS устройств.
Читать полностью »
Визуализация статистики использования компьютера с R
Думаю, многим интересно (хотя бы из любопытства), как именно они используют свой компьютер: самые нажимаемые кнопки, пройденное мышью расстояние, среднее время работы и другую информацию. В этой статье я расскажу один из вариантов того, как можно собрать такую информацию и затем представить её в виде интерактивных графиков. Все описанные действия производились на ноутбуке с ОС Debian Wheezy , Python 2.7.3 , R 2.15 .
Читать полностью »
Project Neptune: Keylogger для Script-kiddies
Привет, коллеги!
Мы все привыкли, что malware достаточно сложны с точки зрения разработки.
Поиск свежих уязвимостей и необходимость реализации новых эксплойтов отпугивает основную массу «script-kiddies». И такой расклад позволяет неплохо соблюдать «баланс сил». Разработкой malware и борьбой с ним занимаются достаточно квалифицированные люди.
Но «script-kiddies» все равно тянет к взлому. Им хочется ощутить себя «хацкерами» и навредить ближнему своему. Конечно, эта тенденция давно уже известна, и со времен выпуска сборников «все для хакера» принцип не изменился: лучший способ подсадить вирус — это дать пользователю «создатель вирусов».
Сегодня я хотел бы познакомить Вас с одним из представителей подобного ПО: Project Neptune. Это программа для создания кейлоггеров. Самое удивительное то, что она работает.
Читать полностью »