Как настроить смартфоны и ПК. Информационный портал

Программы keylogger. Лучший клавиатурный шпион

Как узнать, чем занимается на компьютере ваш ребенок или сотрудник? Какие сайты посещает, с кем общается, что и кому пишет?

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

Шпионское ПО для компьютера не нужно путать с троянским: первое является абсолютно легитимным и устанавливается с ведома администратора, второе - попадает на ПК нелегально и ведет скрытую вредоносную деятельность.

Хотя использовать легитимные программы слежения могут и злоумышленники.

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

Обзор и сравнение пяти популярных программ-шпионов

NeoSpy

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

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

Процессы программы не отображаются в диспетчере задач Windows и диспетчерах задач сторонних производителей.

Функциональные возможности NeoSpy довольно широки и программа может использоваться как в качестве домашнего слежения, так и в офисах для контроля сотрудников.

Программа шпион распространяется в трех версиях по условно-бесплатной лицензии. Цена составляет 820-1990 рублей, но может работать и бесплатно (даже в скрытом режиме) с ограничениями при просмотре отчетов.

Что может NeoSpy:

  • вести мониторинг клавиатуры;
  • следить за посещением сайтов;
  • показывать в реальном времени экран пользователя через интернет с другого компьютера или с планшета;
  • делать скриншоты экрана и сохранять снимки с веб-камеры;
  • контролировать системные события (включение, выключение, простои в работе компьютера, подключение съемных носителей);
  • перехватывать содержимое буфера обмена;
  • Следить за использованием Интернет-мессенджеров, записывать звонки по Skype;
  • перехватывать данные, отправляемые на печать и копируемые на внешние носители;
  • вести статистику работы за компьютером;
  • отправлять координаты ноутбука (вычисляются по Wi-Fi).

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

Real Spy Monitor

Следующий шпион - Real Spy Monitor. Эта англоязычная программа обладает не только функциями слежения, но и может блокировать определенные действия на компьютере. Поэтому ее часто используют как средство родительского контроля.

Для каждой учетной записи в настройках Real Spy Monitor можно создать свою политику запретов, например, на посещение определенных сайтов.

К сожалению, из-за отсутствия англоязычного интерфейса, разобраться с работой Real Spy Monitor сложнее, несмотря на графические миниатюры к кнопкам.

Программа также платная. Лицензия стоит от $39.95.

Возможности Real Spy Monitor:

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

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

Actual Spy

Actual Spy разработчики позиционируют как кейлоггер (клавиатурный шпион), хотя программа умеет больше, чем просто записывать нажатия клавиш.

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

При установке Actual Spy создает ярлык в меню Пуск, поэтому может быть замечен пользователем. Запуск тоже происходит открыто - для сокрытия окна программы необходимо нажимать определенные клавиши.

Возможности Actual Spy мало чем отличаются от возможностей конкурентов. Из недостатков пользователи отметили то, что он корректно записывает нажатия клавиш только в английской раскладке.

SpyGo

SpyGo - шпионский комплект для домашнего использования. Может использоваться и в офисах для контроля сотрудников.

Для начала мониторинга достаточно нажать в SpyGo кнопку «Старт».

SpyGo распространяется по условно-бесплатной лицензии и стоит 990-2990 рублей в зависимости от набора функций.

В пробных версиях продолжительность мониторинга ограничена 20 минутами в день, а также недоступна отправка отчетов на электронную почту и по FTP.

Основные возможности SpyGo:

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

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

Snitch

Snitch - название этой программы переводится, как «стукач», причем очень недоброжелательно настроенный к пользователю. Snitch шпионит за действиями на компьютере. Работает скрыто, не требует сложных настроек и мало влияет на быстродействие системы.

Программа выпускается в единственной версии.

Возможности и особенности Snitch:

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

Из недостатков можно заметить конфликты с антивирусами

Как обнаружить шпиона на компьютере?

Найти программу-шпион на компьютере, которая внешне никак себя не проявляет, сложно, но можно.

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

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

Тогда ваша переписка и пароли не попадут в чужие руки.

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

Пароли

Elite Keylogger работает в режиме низкоуровневого драйвера и стартует раньше системы Windows, что позволяет узнать пароли и логины. Пожалуйста, обратите внимание что версия для Mac не может записывать пароли OS X для входа в систему.

Запись чатов и почты

Elite Keylogger для Windows записывает переписку и мгновенные сообщения из множества различных клиентов, включая MSN, AOL, ICQ, AIM, GTalk, Skype. Elite Keylogger для Mac может с обеих сторон записывать переписку из программ Skype, Viber, iChat/Messages и Adium, а также исходящую электронную почту.

Сетевой кейлоггер

Elite Keylogger - идеальное решение для удалённого наблюдения за компьютером. Достаточно лишь один раз его установить - и отчеты будут приходить к вам по электронной почте, либо загружаться на FTP-сервер. Это делает данную утилиту идеальной для компаний, в которых требуется наблюдение за компьютерами сотрудником. Это приложение абсолютно невидимо и не может быть обнаружено антивирусным или антишпионским программным обеспечением (при условии правильной установки).

Лучший перехват сайтов

Elite Keylogger – одна из лучших программ-шпионов, благодаря его способности записывать посещения веб-сайтов у ВСЕХ популярных браузеров. Он полностью захватывает адреса сайтов в Internet Explorer, Firefox, Safari, Opera, Google Chrome и других браузерах. Каждый адрес веб-сайта заносится в лог, наряду с отметкой о времени посещения – в результате вы можете запросто отслеживать интернет-активность ваших детей, чтобы убедиться, что они в безопасности.

Дружественный интерфейс

Им так легко пользоваться. Установка быстрая и безболезненная даже для новичков. Для тех, кому это нужно, Elite Keylogger предоставляет более продвинутые опции, например, удалённую установку или предварительную конфигурацию. Достаточно лишь установить – и вы сможете настроить и активировать его за считанные минуты. Просто укажите, каким образом вы бы хотели получать логи – и вам больше не нужно будет даже притрагиваться к интерфейсу администратора программы-шпиона, ведь теперь она будет делать всё автоматически!

Множество вариантов отправки отчетов

Elite Keylogger предоставляет множество возможностей получения отчетов. Они могут быть присланы вам по электронной почте, загружены на FTP, переданы на другой компьютер в локальной сети, либо скрыто скопированы на USB-накопитель. Нет никаких ограничений по размеру логов, предназначенных для передачи.

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

В программе NeoSpy функция клавиатурного шпиона по-умолчанию включена, в этом режиме программа записывает текст, комбинации горячих клавиш и пароли, набранные на клавиатуре. Управление настройками кейлоггера находится в меню "Настройки слежения" - "Запись логов" - "Клавиатура". Вы можете выбрать один из двух режимов работы программы: стандартный и альтернативный. Рекомендуется в 99% случаев использовать стандартный вариант, но в случае конфликта с вашим антивирусным программным обеспечением вы можете включить альтернативный режим.

Настройка клавиатурного шпиона


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


Пример работы кейлоггера

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

Хакерский мир можно условно разделить на три группы атакующих:


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#:


1. 2. 3. public static extern int GetAsyncKeyState(Int32 i);

Вы можете изучить больше про фунцию GetAsyncKeyState на MSDN :


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


1. while (true) 2. { 3. Thread.Sleep(100); 4. for (Int32 i = 0; i < 255; i++) 5. { 6. int state = GetAsyncKeyState(i); 7. if (state == 1 || state == -32767) 8. { 9. Console.WriteLine((Keys)i); 10. 11. } 12. } 13. }

Что здесь происходит? Этот цикл будет опрашивать каждые 100 мс каждую из клавиш для определения ее состояния. Если одна из них нажата (или была нажата), сообщение об этом будет выведено на консоль. В реальной жизни эти данные буферизируются и отправляются злоумышленнику.


Умный кейлогер

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


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


Вторая версия кода:


1. while (true) 2. { 3. IntPtr handle = GetForegroundWindow(); 4. if (GetWindowText(handle, buff, chars) > 0) 5. { 6. string line = buff.ToString(); 7. if (line.Contains("Gmail")|| line.Contains("Facebook - Log In or Sign Up ")) 8. { 9. //проверка клавиатуры 10. } 11. } 12. Thread.Sleep(100); 13. }

Этот фрагмент будет выявлять активное окно каждые 100мс. Делается это с помощью функции GetForegroundWindow (больше информации на MSDN). Заголовок страницы хранится в переменной buff, если в ней содержится gmail или facebook, то вызывается фрагмент сканирования клавиатуры.


Этим мы обеспечили сканирование клавиатуры только когда открыто окно браузера на сайтах facebook и gmail.


Еще более умный кейлогер


Давайте предположим, что злоумышленник смог получить данные кодом, на подобии нашего. Так же предположим, что он достаточно амбициозен и смог заразить десятки или сотни тысяч машин. Результат: огромный файл с гигабайтами текста, в которых нужную информацию еще нужно найти. Самое время познакомиться с регулярными выражениями или regex. Это что-то на подобии мини языка для составления неких шаблонов и сканирования текста на соответствие заданным шаблонам. Вы можете узнать больше здесь.


Для упрощения, я сразу приведу готовые выражения, которые соответствуют именам логина и паролям:


1. //Ищем почтовый адрес 2. ^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$ 3. 4. 5. //Ищем пароль 6. (?=^.{6,}$)(?=.*\d)(?=.*)

Эти выражения здесь как подсказка тому, что можно сделать используя их. С помощью регулярных выражений можно искать (т найти!) любые конструкции, которые имеют определенный и неизменный формат, например, номера паспортов, кредитных карт, учетные записи и даже пароли.
Действительно, регулярные выражения не самый читаемый вид кода, но они одни из лучших друзей программиста, если есть задачи парсинга текста. В языках Java, C#, JavaScript и других популярных уже есть готовые функции, в которые вы можете передать обычные регулярные выражения.


Для C# это выглядит так:


1. Regex re = new Regex(@"^[\w!#$%&"*+\-/=?\^_`{|}~]+(\.[\w!#$%&"*+\-/=?\^_`{|}~]+)*@((([\-\w]+\.)+{2,4})|(({1,3}\.){3}{1,3}))$"); 2. Regex re2 = new Regex(@"(?=^.{6,}$)(?=.*\d)(?=.*)"); 3. string email = "[email protected]"; 4. string pass = "abcde3FG"; 5. Match result = re.Match(email); 6. Match result2 = re2.Match(pass);

Где первое выражение (re) будет соответствовать любой электронной почте, а второе (re2) любой цифро буквенной конструкции больше 6 символов.


Бесплатно и полностью не обнаружим


В своем примере я использовал Visual Studio – вы можете использовать свое любимое окружение – для создания такого кейлогера за 30 минут.
Если бы я был реальным злоумышленником, то я бы целился на какую-то реальную цель (банковские сайты, соцсети, тп) и видоизменил код для соответствия этим целям. Конечно, также, я запустил бы фишинговую кампанию с электронными письмами с нашей программой, под видом обычного счета или другого вложения.


Остался один вопрос: действительно такое ПО будет не обнаруживаемым для защитных программ?


Я скомпилировал мой код и проверил exe файл на сайте Virustotal. Это веб-инструмент, который вычисляет хеш файла, который вы загрузили и ищет его в базе данных известных вирусов. Сюрприз! Естественно ничего не нашлось.



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


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


В следующих статья я покажу, как сделать действительно не обнаружимую версию такого ПО.

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

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

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

//Сравниваем текущие состояние клавиш for f:= 0 to 255 do if a[f] <> GetAsyncKeyState(f) then begin //Реакция на отжатие клавиши if KeePass.Checked and (GetAsyncKeyState(f) = 0) then Memo1.Caption:= Memo1.Caption + chr(f); //Реакция на нажатие клавиши if not KeePass.Checked and (GetAsyncKeyState(f) <> 0) then Memo1.Caption:= Memo1.Caption + chr(f); end; //Сохраняем в массив текущее состояние клавиш for f:= 0 to 255 do a[f] := GetAsyncKeyState(f); //Запись при изменении в буфере обмена if s <> Clipboard.AsText then begin s:= Clipboard.AsText; Memo2.Caption:= Memo2.Caption + s + " "; end;
Программа Simple Logger выглядит так:

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

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

Слабые места KeePass и их устранение

1. Ввод основного пароля

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

Для устранения проблемы необходимо включить настройку Безопасности «Вводить основной пароль в защищенном режиме (подобно UAC в Windows Vista и выше)». Этот режим не позволяет логгеру получить доступ к клавиатуре. Кроме того, в нем невозможно сделать скриншот для определения расположения Ключевого файла.

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

2. Буфер обмена

Simple Logger реагирует на изменение буфера обмена с частотой 100 раз в секунду. Таким образом, попадание пароля в буфер и его последующее удаление через несколько секунд не дает защиты в данном случае.

Для устранения этой проблемы можно использовать Автонабор.

3. Автонабор

Реакция на автонабор KeePass происходит на отжимание клавиши, а не нажатие. Это позволяет получить защиту от некоторых кейлоггеров. Для обхода этого в Simple Logger есть дополнительная настройка: «KeePass Auto-Type». Если она включена, то логгер срабатывает на отжимание клавиши.

При автонаборе через KeePass: MyLoginName LongPassword123

В Simple Logger появится запись:

Simple Logger ни как не учитывает сочетания клавиш. Как видите, клавиша Shift отобразилась в виде спецсимвола (похожего на «+») и «?». Shift отпускается как до, так и после заглавной буквы. Тем не менее, этого достаточно, чтобы понять пароль.

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

Simple Logger на Двойное усложнение автонабора отреагирует следующим образом:

  • Вставка из буфера обмена «Ctrl + V» отобразилась как «V◄?»;
  • Стрелка влево – «%» (код клавиши и символ #37);
  • Стрелка вправо – «"» (код клавиши и символ #39).
Можно написать небольшой алгоритм и восстановить правильный пароль, используя данные из обоих окон. Эта настройка усложняет работу кейлоггера, но не гарантирует защиты – при желании пароль легко восстанавливается.

От кейлоггера, который «заточен» под KeePass, могут помочь дополнительные средства защиты.

4. Дополнительные средства защиты

В некоторых программных комплексах есть такие возможности как:
  • Защита ввода данных с аппаратной клавиатуры;
  • Защищённый браузер.
При включении защиты ввода данных с аппаратной клавиатуры Simple Logger уже не может получить данные при автонаборе KeePass, если они вводятся в браузере в форму для пароля. В этом случае слабым местом будет работа через буфер обмена.

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

Вместо заключения

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

Я тестировал последнюю версию KeePass 2.36 в среде Windows 8.1. Справедливости ради надо отметить, что данная проблема не является только проблемой KeePass. Есть множество других хранителей паролей с большей или меньшей степенью надежности, но это тема уже другого исследования.

Ссылки

  1. Simple Logger на GitHub
    //Кому не страшно, в архиве «SimpleLogger_for_Win64.7z» можно найти exe-шник. Программа не позволяет вести полноценный кейлоггинг, предназначена для исследования безопасности и ознакомительных целей.
UPD (27.07.2017)

Плагин для браузера

Как заметил пользователь dartraiden , можно использовать модуль KeePassHttp совместно с дополнением для браузера PassIFox или ChromeIPass . Этот плагин (по заявлению разработчика) обеспечивает безопасное экспонирование записей KeePass через HTTP.

Данная связка позволяет автоматически заполнять логин и пароль в браузере, когда KeePass разблокирован. Simple Logger ни как не реагирует в данном случае.

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

Создание нового мастер пароля

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

В этом случае Simple Logger перехватывает вводимый в KeePass мастер пароль.

Не помогает и виртуальная экранная клавиатура от известного производителя, которая, как и автонабор KeePass, работает по событию на отжимание клавиши.

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

Другие средства атаки

Как первым заметил пользователь qw1 , если система, на которой установлен KeePass, скомпрометирована, то могут использоваться друге средства атаки, помимо кейлоггера. В этом случае перечень действий по противодействию атаке будет зависеть от конкретной ситуации.

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

Лучшие статьи по теме