Вредоносное программное обеспечение

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

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

Догадки

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

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

Есть версия для Windows, Unix систем и для андроид.

Рассматривать будем для Windows так как это самая популярная система и здесь программа самая продвинутая.

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

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

Программа имеет возможность устраивать различные Mitm атаки на WiFi сети.

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

Снифферы

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

(ваш компьютер) -> (соседний компьютер) -> (компьютер со сниффером) -> (удаленный компьютер)
Стандартный пакет попутешествует из "вашего компьютера" через сеть. Он пройдет через каждый компьютер в сети, начиная с "соседнего ", через "компьютер со сниффером" и заканчивая "удаленным ". Каждая машина должна игнорировать пакет если он не предназначен для ее IP адреса. Тем не менее, машина со Сниффером игнорирует эти правила и принимает ЛЮБОЙ пакет, который через нее проходит. Сниффер также известен как сетевой анализатор. Нет реального различия между сетевым анализатором и сниффером, но компании по безопасности и Федеральное правительство предпочитают второе название поскольку оно звучит более угрожающе.

Какой это тип Атаки?

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

Достоинства

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

Типы Снифферов:

Наиболее популярный тип Снифферов использует кратковременный забор информации и работает в небольших сетях. Причина этого кроется в том, что невозможно поставить сниффер, который бы постоянно отслеживал пакеты и при этом не сильно использовал мощность центрального процессора. Чрезмерная загрузка центрального процессора и файловой системы являются единственным путем обнаружения снифферов. Эти снифферы осуществляют быстрый и кратковременный забор информации, чтобы утилиты, подобные РS и IFCONFIG не смогли обнаружить их. Если Вы обнаружили что загрузка центрального процессора была выше нормального, или, каждый день, Вы теряете еще один мег. дискового пространства, и это ничем не может быть объяснено, - это указывает на присутствие сниффера.

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

Следующий тип снифферов записывает только первые Х байтов пакета (X определенное число), чтобы захватить имя/пароль. Другой метод заключается в захвате целого сеанса, и "вырубания" ключа. Более продвинутые типы снифферов поддержит оба метода. Выбор типа сниффера зависит от возможностей сети, хакера и желаемого конечного результата.

Популярные Снифферы

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

TCPdump: Очень знаменитый сниффер. Считается, профессиональным административным средством.

ADMsniff: известная, очень квалифицированная группа хакеров ADM написала хорошийсниффер.

Linsniffer: известныйсниффер разработанный для платформы Linux.

Esniff: Это хорошо известныйсниффер.

Sunsniff: этот сниффер сделан под платформу SunOS. Возможно один из наиболее известных снифферов т.к. был сделан почти десять лет назад.
Solsniffer: сниффер для Solaris. Это - просто модификация Sunsniff разработанная, для компиляции на платформу Solaris.

Есть много хороших снифферов подобно Snort, которые умеют работать на многочисленных платформах.

Обнаружение и Предотвращение атаки

Если необходимо проверить сеть на наличие снифферов, следующие программы могут сильно в этом помочь. Первая программа которая вам поможет - promisc.c, написаная на С. Когда она скомпилируется, она проверит локальную машину с любым типом карты NICs. Следующая программа тоже на Сneped.c, умеет делать дистанционные проверки на любые типы снифферов, но она компилируется только под Linux. Для поиска вручную, следует набрать команду 'ifconfig -', и посмотреть все сетевые интерфейсы, которые будут носить флаг PROMISC. Не так давно комманда L0pht выпустила бета-версию программы AntiSniff<http://www.l0pht.com/antisniff/> под Win9*,. Под NT сущетвует рабочая версия. Также L0pht выложили исходный код своей программы для Linux. Так же подойдет neped.cкоторый обладает таким же типом поиска. Все эти инструменты предназначены для дистанционного обнаружения снифферов как на удаленных хостах, так и в пределах подсети. Эти программы зарекомендовали себя как отличные средства обнаружения и зачастую очень надежные для предотвращения несанкционированного сниффинга, так же хорошим средством защиты от снифферов является криптография, так как даже если на компьютер был установлен сниффер, полученная информация не принесет злоумышленнику никакой выгоды.

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

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

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

Клавиатурные шпионы - это программа для скрытной записи информации о нажимаемых пользователем клавишах. У термина «клавиатурный шпион» есть ряд синонимов: KeyboardLogger, KeyLogger, кейлоггер; реже встречается термины "снупер", "snoop", "snooper" (от англ. snoop - буквально "человек, вечно сующий нос в чужие дела")

Как правило, современные клавиатурные шпионы не просто записывает коды вводимых клавиш - он "привязывает" клавиатурный ввод к текущему окну и элементу ввода. Кроме того, многие клавиатурные шпионы отслеживают список запущенных приложений, умеют делать "снимки" экрана по заданному расписанию или событию, шпионить за содержимым буфера обмена и решать ряд задач, нацеленных на скрытное слежение за пользователем. Записываемая информация сохраняется на диске и большинство современных клавиатурных шпионов могут формировать различные отчеты, могут передавать их по электронной почте или http/ftp протоколу. Кроме того, ряд современных клавиатурных шпионов пользуются RootKit технологиями для маскировки следов своего присутствия в системе.

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

Перед описанием основных принципов работы клавиатурного шпиона необходимо рассмотреть модель аппаратного ввода системы Windows.

Рисунок 1. Модель аппаратного ввода системы Windows

 

При возникновении неких событии ввода (нажатии клавиш, перемещении мыши) события обрабатываются соответствующим драйвером и помещается в системную очередь аппаратного ввода. В системе имеется особый поток необработанного ввода, называемый RIT (RawInputThread), который извлекает события из системной очереди и преобразует их в сообщения. Полученные сообщения помещаются в конец очереди виртуального ввода одного из потоков (виртуальная очередь потока называется VIQ – VirtualizedInputQueue-). При этом RIT сам выясняет, в очередь какого конкретно потока необходимо поместить событие. Для событий мыши поток определяется поиском окна, над которым расположен курсор мыши. Клавиатурные события отправляются только одному потоку – так называемому активному потоку (т.е. потоку, которому принадлежит окно, с которым работает пользователь). На самом деле это не совсем так - в частности, на рисунке 1 показан поток A, не имеющий очереди виртуального ввода. В данном случае получатся, что потоки A и B совместно используют одну очередь виртуального ввода. Это достигается при помощи вызова API функции AttachThreadInput, которая позволяет одному потоку подключиться к очереди виртуального ввода другого потока.

Следует отметить, что поток необработанного ввода отвечает за обработку специальных сочетаний клавиш, в частности Alt+Tab и Ctrl+Alt+Del.

Слежение за клавиатурным вводом при помощи ловушек

Данная методика является классической для клавиатурных шпионов. Суть метода состоит в применении механизма ловушек (hook) операционной системы. Ловушки позволяют наблюдать за сообщениями, которые обрабатываются окнами других программ. Установка и удаление ловушек производится при помощи хорошо документированных функций API библиотеки user32.dll (функция SetWindowsHookEx позволяет установить ловушку, UnhookWindowsHookEx - снять ее). При установке ловушки указывается тип сообщений, для которых должен вызываться обработчик ловушки. В частности, есть два специальных типа ловушки WH_KEYBOARD и WH_MOUSE - для регистрации событий клавиатуры и мыши соответственно. Ловушка может быть установлена для заданного потока и для всех потоков системы. Ловушка для всех потоков системы очень удобна для построения клавиатурного шпиона.

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

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

Слежение за клавиатурным вводом при помощи опросаклавиатуры

Данная методика основана на периодическом опросе состояния клавиатуры. Для опроса состояния клавиш в системе предусмотрена специальная функция GetKeyboardState, возвращающая массив из 255 байт, в котором каждый байт содержит состояние определенной клавиши на клавиатуре. Данный метод уже не требует внедрения DLL в GUI процессы и в результате шпион менее заметен.

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

Недостатком клавиатурных шпионов такого типа является необходимость периодического опроса состояния клавиатуры с достаточно высокой скоростью, не менее 10-20 опросов в секунду.

 

Слежение за клавиатурным вводом при помощи перехвата API функций

 

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

Простейшим способом может быть перехват функций GetMessage, PeekMessage и TranslateMessage библиотеки User32, что позволит вести мониторинг всех сообщений, получаемых GUI приложениями.

Клавиатурный шпион на базе драйвера

 

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

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

 

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

• Установка устройства слежения в разрыв кабеля клавиатуры (например, устройство может быть выполнено в виде переходника PS/2);

• Встраивание устройства слежения в клавиатуру;

• Считывание данных путем регистрации ПЭМИН (побочных электромагнитных излучений и наводок);

• Визуальное наблюдение за клавиатурой

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

В настоящее время сотни клавиатурных шпионов, рассмотрим в качестве примера достаточно распространенную коммерческую программу ActualSpy(http://www.actualspy.ru). Данная программа может регистрировать клавиатурный ввод (с регистрацией заголовка окна и имени программы), снимать скриншоты экрана по расписанию, регистрировать запуск/остановку программ, следить за буфером обмена, принтером, создаваемыми пользователем файлами. Кроме того, в программе реализовано слежение за Интернет-соединениями и посещаемыми сайтами. ActualSpyвыбран в качестве примера

 

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

В качестве других примеров могут выступить SpyAgent (http://www.spytech-web.com), ActMon (http://www.actmon.com), SpyBuddy (http://www.actmon.com), PC ActivityMonitor (http://www.keyloggers.com), KGB Spy (http://www.refog.ru/)…. Этот список можно продолжать очень долго, однако в большинстве случаев современные клавиатурные шпионы имеют примерно одинаковую базовую функциональность и различаются сервисными функциями и качеством маскировки в системе.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: