1 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Информационный портал по безопасности

Содержание

Информационный портал по безопасности

  • Главная
  • Поиск
  • Контакты
  • RSS

Простейший кейлоггер и безопасность в KeePass

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

Пароли, без дополнительных мер защиты и правильной настройки KeePass, как оказалось, достаточно уязвимы.

Код кейлоггера помещен в цикл Timer, который обновляется каждые 10 ms. Используются модули: Windows и ClipBrd.

Программа Simple Logger выглядит так:

В окне -Keyboard- выводятся клавиши без учета регистра и языка ввода. Отображается символ, номер которого равен коду клавиши: chr(f). Можно доработать программу для корректного отображения всех символов, но это не требуется для настоящего исследования.

В окно -Clipboard- происходит копирование при изменении содержимого буфера.

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 сотрудников.

Лучший способ предотвратить запуск кейлоггера – заблокировать его еще до того, как он будет установлен. Для этого необходимо использовать хорошее антивирусное программное обеспечение.

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

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

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

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

Блокнот по-русски не понимает, но латинские символы читает: что здесь что – понятно и так

Аппаратные клавиатурные шпионы

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

Читать еще:  Нет звука в Яндекс.Браузере – как решить проблему?

Рис. 4 Возможные места аппаратного перехвата вводимой информации

1. Аппаратная закладка внутри клавиатуры

В любой клавиатуре обычно бывает много полостей, размер которых достаточен для размещения небольшой платы. Питание устройства и съем информации может производиться путем непосредственного подключения к печатной плате контроллера клавиатуры. Аппаратная закладка может быть установлена вручную или промышленным способом. Например, на сайте http://www.keyghost.com можно увидеть рекламу клавиатур со встроенным аппаратным кейлоггером.

Методика противодействия: вскрытие клавиатуры и ее проверка на предмет наличия посторонних электронных узлов с последующим пломбированием корпуса клавиатуры при помощи пломбира или стикера.

2. Считывание данных с кабеля клавиатуры бесконтактным методом

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

Методика противодействия: бесконтактное считывание наиболее эффективно в случае размещения датчика в непосредственной близости от кабеля клавиатуры (а еще лучше — вокруг этого кабеля), а потому при проверке рабочих мест необходимо убедиться в отсутствии посторонних предметов неизвестного назначения вблизи кабеля клавиатуры или непосредственно на нем.

3. Включение устройства в разрыв кабеля

Клавиатурные шпионы данного типа являются самыми распространенными и их легко как установить, так и обнаружить. Аппаратный кейлоггер выполняется в виде небольшого устройства, которое включается в PS/2- или USB-разъем компьютера, а клавиатура включается в разъем на корпусе кейлоггера. Для выполнения подобной операции не требуется никакой квалификации, причем подключение кейлоггера к USB-клавиатуре может производиться без выключения компьютера. Известен ряд серийно выпускаемых устройств, например KEYKatcher Hardware Keyloggers (http://www.keykatcher.com), который выпускается в двух видах — для PS/2- и USB-клавиатур. Другой пример — KeyGhost (http://www.keyghost.com).

Компьютер с установленным аппаратным кейлоггером KeyGhost

Аппаратный кейлоггер может выглядеть как фильтр помех или переходник. Устройство состоит из входных цепей, предназначенных для фильтрации помех и защиты устройства от перенапряжения, микроконтроллера с малым потреблением электроэнергии и Flash-памяти, предназначенной для хранения собираемой информации. Объем Flash-памяти варьируется от 32 Кбайт до десятков мегабайт; типичный объем — от 128 Кбайт до 2 Мбайт.

Рис. 5 Функциональная схема аппаратного кейлоггера

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

4. Аппаратная закладка внутри системного блока

Этот шпион не отличается по принципу действия от устройств типов 1 и 3, но размещается внутри системного блока. Установить его может только специалист, причем для этого потребуется вскрытие корпуса.

Методика противодействия: пломбирование системного корпуса при помощи стикеров. Перед пломбировкой необходимо исследовать содержимое системного блока и убедиться в отсутствии посторонних устройств (типовое место подключения — материнская плата; подключение производится параллельно разъему клавиатуры).

5. Съем информации на основании анализа акустических и электромагнитных излучений

Уловить электромагнитное излучение клавиатуры на расстоянии весьма сложно (хотя теоретически и возможно), но уловить акустические шумы — на порядок проще. Даже при разговоре по телефону иногда можно отчетливо услышать, как собеседник вводит информацию на клавиатуре. Исследования специалистов в области безопасности показывают, что каждая клавиша при нажатии производит специфический звук, позволяющий идентифицировать нажимаемые клавиши. Наиболее известная работа в этом направлении проведена учеными Калифорнийского университета в Беркли (подробнее см. http://zdnet.ru/?ID=498415), которые пришли к выводу, что по обычной звукозаписи можно распознавать от 60 до 96% вводимых символов. Без применения специализированных программ для анализа можно достаточно просто установить количество символов в набираемом пароле и наличие повторяющихся символов.

Методика противодействия: основной способ защиты от утечки информации путем анализа акустических сигналов — постоянный и планомерный инструктаж персонала.

Выводы

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

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

Работаем с пользовательским вводом

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

Читать еще:  Как добавить оперативную память самом

Для этого лучше всего подходит правило @font-face, которое позволяет подключить свой шрифт. А также инструкция unicode-range, которая позволяет сегментировать свой шрифт, явно указывая к каким unicode code point относиться тот или иной файл.

На практике, это обычно выглядит как разделение шрифта на несколько файлов, по языковому признаку (например latin, greek, cyrillic), чтобы клиент загрузил только ту часть шрифта, которая представлена на странице. Возможно вы встречались с таким подходом используя fonts.google.com:

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

Рассмотрим такой пример jsfiddle:

В данном случае U+0061 соответствует символу «A». При вводе символа мы получим GET запрос к c/d/keylogger/a.

Рассмотрим небольшой скрипт, который позволит сгенерировать шрифт для символов по словарю:

Такими правилами, мы создадим шрифт который будет логировать ввод пользователя на наш сервер. Данный подход тоже не идеален: запросы на символ приходят один раз на каждый символ. Другими словами, если пользователь введет «АА», мы получим один GET.

Клавиатурный шпион (кейлоггер)

Данный PS/2 кейлоггер является серийным изделием фирмы KeeLog, поэтому он на 100% рабочий и проверен временем и людьми.

Необходимый инструмент и детали

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

Список радиодеталей:
Микроконтроллер Atmel AT89C2051 (или AT89C1051, AT89C4051)
Микросхема EEPROM памяти AT24C512 (или аналог)
Кварцевый резонатор 12 МГц
Конденсатор 33пФ — 2 шт
Конденсатор 10мкФ
Резистор 10кОм
Миниатюрная кнопка

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

Сборка

Для начала, необходимо воспользоваться программатором и прошить микроконтроллер AT89C2051. Для этого, к проекту (см. внизу страницы) прилагается исходник ASM, а также BIN и HEX файлы.
Ниже представлена принципиальная схема кейлоггера:

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

После того, как все собрано, разрежьте обычный PS/2 кабель пополам и в разрыв кабеля припаяйте плату кейлоггера.

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

Режим записи данных

Аппаратный клавиатурный шпион полностью прозрачен для компьютера и не определяется какими-либо программами. Все нажатия клавиш клавиатуры записываются в энергонезависимую EEPROM память, размером 64 кБайта.

Режим чтения данных

Для того, чтобы прочитать записанные данные кейлоггера необходимо воспользоваться специальной программой — KeyGrab. Программа предназначена для считывания данных с кейлоггера и их анализа.

Итак, подключите шнур с кейлоггером, саму клавиатуру не подключайте. Запустите ПО KeyGrab. На кейлоггере нажмите кнопку. Повторное нажатие кнопки останавливает передачу данных.

Анализ данных

После загрузки данных в KeyGrab, программа обработает данные и представит их в удобочитаемом виде. Для поиска нужных данных, можно воспользоваться поиском.

1 Адрес события в EEPROM памяти кейлоггера
2 Клавиша
3 Событие — нажатие (Pressed) или отжатие (Released) клавиши
4 PS/2 скан-код клавиши
5 Последний записанный адрес памяти
6 Размер памяти кейлоггера в килобитах.

Последние нажатия клавиш отображаются вверху программы, т.е. чем ниже листаете, тем старее данные.

Скачать исходник ASM, прошивки BIN и HEX и программу KeyGrab вы можете ниже

Как написать вирус для андроид.

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

Как стать «хакером» андроида.

Да тут особо ничего мудрить не надо. Просто идем по шагам.
1. Устанавливаем java для разработчиков с офф сайта. (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2. Скачиваем android studio (http://developer.android.com/sdk/index.html#Other) Качаем полную рекомендованую. Сейчас мы не будем вдаваться в эти все подробности. Оно нам надо?
3. Запасаемся бубликами и пивом. Ведь сейчас придется все это поставить и настроить.
4. Тыкаем в основном далее, не вдумываясь что там написано. Незачем забивать голову
5. После чего как мы установили все это. Запускаем студию. Ищем сверху значек SDK Manager. Он где-то справа. Нажимаем, ставим везде галки, соглашаемся с условиями и нажимаем инсталл.
6. Опять грызем бублики и пьем великолепное пиво. Тут процесс по дольше, так как будут выкачиваться виртуалки и всяческие тулзы.
7. Ну вот собственно и все.

Как все начиналось?

Мы все поставили, теперь стоит и подумать, а как тут теперь вирус написать А для этого мы идем в File -> New -> New project. И тут нам предлогают придумать название проекта и домен сайта компании. Вводим что взбредится в голову. На основе этих данных генерируется package имя. Которое использоется как уникальный идентефикатор нашего APK. Жмем далее. Тут нам предлогают выбрать платфурму под наш проект. Ну тут мы выбираем только Phone. Остальное рассмотрим позже.

Читать еще:  Как полностью очистить браузер на телефоне Android

[ad name=»UMI 600×313″]

Далее. И теперь нам предлогают выбрать как будет выглядеть наше окошечко (Activity) стартовое, главное. Тут есть важная особенность. Чтобы запустить какой либо код сразу после установки, нужно чтобы было какой либо из окошек при старте. Поэтому выбираем любое кроме No Activity. Лучше всего выбрать Empty. Будет легче его вычищать, от ненужного мусора. Далее. Пишем название окошку и нажимаем Finish.

Пока файлы нового проекта индексируются и настраивается сборщик проекта.

Эй, ты слишком жырный!

Пробуем собрать проект наш. Build -> Generate signed apk.. И что мы видим? APK с 1 окошком и приложением которое ни чего не делает. Занимает 1 мегабайт. Надо с этим что-то делать, а именно отказывать от библиотек (AppCompat). Это красивая графика, которая нам не нужна. Переходи в файл MainActivity.java
Заменяем

Заходим в настройки проекта и во вкладке Dependes удаляем строку с AppCompat. Далее переходим к файлу values.xml и styles.xml. Удаляем их.
Заходим в androidManifest.xml и
меняем

Собираем наше приложение, ура! размер меньше 40 кб. Уже есть с чем работать.

Почему ты не прячешься?

Далее, нам нужно спрятать нашего зверька. Чтобы иконка не была видна в списке менеджера приложений. А так же надо закрыть наше приложение.
Вставляем после setContentView(R.layout.activity_main) Следующий код:

Этот код скроет нашу иконку с глаз И после всего этого пишем:

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

Тук, тук, открывайте, полиция!

Теперь мы должны сделать так, чтобы наш чудесный APK начал стучать в админку. Тут я уже полагаю, что админка где-то написана. И от нас требуется только стучать. Возьмем самый простой метод, он не будет работать корректно на андроидах выше 4.х. Но с чего-то надо же учиться. Я же не за вас работу делаю. Нам нужно создать сервис. Для этого мы создаем файл с новым class. (Правой тыкаем в проекте, на папку Java). Название класса пишем к примеру Network. Нажимаем окей. Удаляем все содержимое файла кроме первой строки где прописан package и заменяем на

Это код описывает класс сервиса, в котором при запуске, запускает таймер и каждые 10 секунд отправляет GET запрос на URL и запрашивает ответ. Но это не все. Этот код не будет работать если мы объявим наш сервис в манифесте и не дадим права выходить в интернет нашему приложению. Идем в манифест.

и в описание application

Осталось запустить наш сервис. Идем в MainActivity и перед finish() вставляем запуск сервиса

Финишная линия

Теперь у нас есть апк, который сам себя скрывает после запуска и запускает процес отстука в админ панель. Где написано // Обработка result : там происходит обработка ответа и команд админки. Не сложно, правда? Но пока мы пили пиво. Мы совсем забыли, что если телефон перезагрузят. То наше приложение уже ни когда не запустится. Для этого мы идем опять в манифест.
Добавляем права на запуск после ребута:

Добавляем обязательно обработчик в описание application

Теперь после перезапуска у нас вызовется класс Boot. И сейчас мы его создаим. Все делаем как я писал выше. Создали и удалили все кроме package.

[ad name=»Redmi»]

Конец, и пару слов.

Если есть вопросы, задавайте. В окончании у нас появился прям такой игрушечный бот (APK). Что послужит вам хорошей базой и внесет немного понимания, как это все работает. Спасибо за внимание. Надеюсь будет прододжение Сильно не пинайте, опыт первый, да и еще ночью пришлось писать. А вот критику хотелось бы услышать, чтобы след урок получился лучше.

За данный материал мы благодарны пользователю allmore из форума Damagelab

Итого

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

Ссылка на основную публикацию
Статьи c упоминанием слов:

Adblock
detector