Эксперимент: как похитить личные данные при помощи бесплатного Wi-Fi. Простой способ украсть cookie Работа с системой

Многие пользователи и не догадываются, что заполняя логин и пароль при регистрации или авторизации на закрытом Интернет-ресурсе и нажимая ENTER, эти данные легко могут перехватить. Очень часто они передаются по сети не в защищенном виде. Поэтому если сайт, на котором вы пытаетесь авторизоваться, использует HTTP протокол, то очень просто выполнить захват этого трафика, проанализировать его с помощью Wireshark и далее с помощью специальных фильтров и программ найти и расшифровать пароль.

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

Шаг 1. Устанавливаем и запускаем Wireshark для захвата трафика

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

Захват трафика начался.

Шаг 2. Фильтрация захваченного POST трафика

Открываем браузер и пытаемся авторизоваться на каком-либо ресурсе с помощью логина и пароля. По завершению процесса авторизации и открытия сайта мы останавливаем захват трафика в Wireshark. Далее открываем анализатор протоколов и видим большое количество пакетов. Именно на этом этапе большинство ИТ-специалистов сдаются, так как не знают, что делать дальше. Но мы знаем и нас интересуют конкретные пакеты, которые содержат POST данные, которые формируются на нашей локальной машине при заполнении формы на экране и отправляются на удаленные сервер при нажатии кнопки «Вход» или «Авторизация» в браузере.

Вводим в окне специальный фильтр для отображения захваченных пакетов: http. request. method == “ POST”

И видим вместо тысячи пакетов, всего один с искомыми нами данными.

Шаг 3. Находим логин и пароль пользователя

Быстрый клик правой кнопки мыши и выбираем из меню пункт Follow TCP Steam


После этого в новом окне появится текст, который в коде восстанавливает содержимое страницы. Найдем поля «password» и «user», которые соответствуют паролю и имени пользователя. В некоторых случаях оба поля будут легко читаемы и даже не зашифрованы, но если мы пытаемся захватить трафик при обращении к очень известным ресурсам типа: Mail.ru, Facebook, Вконтакте и т.д., то пароль будет закодирован:

HTTP/1.1 302 Found

Server: Apache/2.2.15 (CentOS)

X-Powered-By: PHP/5.3.3

P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"

Set-Cookie: password=; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/

Location: loggedin.php

Content-Length: 0

Connection: close

Content-Type: text/html; charset=UTF-8

Таким образом, в нашем случае:

Имя пользователя: networkguru

Пароль:

Шаг 4. Определение типа кодирования для расшифровки пароля

Заходим, например, на сайт http://www.onlinehashcrack.com/hash-identification.php#res и вводим наш пароль в окно для идентификации. Мне выдан был список протоколов кодирования в порядке приоритета:

Шаг 5. Расшифровка пароля пользователя

На данном этапе можем воспользоваться утилитой hashcat:

~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt

На выходе мы получили расшифрованным пароль: simplepassword

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

  • Протокол POP и фильтр выглядит следующим образом: pop.request.command == "USER" || pop.request.command == "PASS"
  • Протокол IMAP и фильтр будет: imap.request contains "login"
  • Протокол SMTP и потребуется ввод следующего фильтра: smtp.req.command == "AUTH"

и более серьезные утилиты для расшифровки протокола кодирования.

Шаг 6. Что делать, если трафик зашифрован и используется HTTPS?

Для ответа на этот вопрос есть несколько вариантов.

Вариант 1. Подключиться в разрыв соединения между пользователем и сервером и захватить трафик в момент установления соединения (SSL Handshake). В момент установки соединения можно перехватить сеансовый ключ.

Вариант 2. Вы можете расшифровать трафик HTTPS, используя файл журнала сеансовых ключей, записываемый Firefox или Chrome. Для этого браузер должен быть настроен на запись этих ключей шифрования в файл журнала (пример на базе FireFox), и вы должны получить этот файл журнала. По сути, необходимо похитить файл с ключом сессии с жесткого диска другого пользователя (что является незаконным). Ну а далее захватить трафик и применить полученный ключ для его расшифровки.

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

После получения ключей по варианту 1 или 2 необходимо прописать их в WireShark:

  1. Идем в меню Edit - Preferences - Protocols - SSL.
  2. Ставим флаг «Reassemble SSL records spanning multiple TCP segments».
  3. «RSA keys list» и нажимаем Edit.
  4. Вводим данные во все поля и прописываем путь в файлу с ключом

WireShark может расшифровывать пакеты, которые зашифрованы с использованием алгоритма RSA. В случае если используются алгоритмы DHE/ECDHE, FS, ECC, сниффер нам не помощник.

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

БОНУС

ВИДЕО: Wireshark Packet Sniffing Usernames, Passwords, and Web Pages

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

Интерфейс программы Intercepter
Основной функционал

  • Перехват сообщений мессенджеров.
  • Перехват кукис файлов и паролей.
  • Перехват активности (страницы, файлы, данные).
  • Возможность подмены скачивания файлов, добавляя вредоносные файлы. Можно использовать совместно с другими утилитами.
  • Подмена сертификатов Https на Http.
Режимы работы
Messengers Mode – позволяет проверять переписку, которая была отправлена в незашифрованном виде. Применялась для перехвата сообщений в таких мессенджерах ICQ, AIM, JABBER сообщений.

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

Password Mode – режим для работы с куки файлами. Таким образом, можно получить доступы к посещаемым файлам жертвы.

Scan mode – основной режим для тестирования. Для начала сканирования необходимо нажать правой кнопкой мыши Smart Scan. После сканирования в окне будут отображаться все участники сети, их операционная система и другие параметры.

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

Если в сети нас интересует целенаправленная атака, то после сканирования необходимо добавить целевой IP в Nat с помощью команды (Add to Nat). В другом окне можно будет провести другие атаки.

Nat Mode. Основной режим, который позволяет проводить ряд атак по ARP. Это основное окно, которое позволяет проводить целенаправленные атаки.

DHCP mode. Это режим, который позволяет поднять свой DHCP сервер для реализации атак DHCP по середине.

Некоторые виды атак, которые можно проводить
Подмена сайта

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

Подмена сайта

Пример для VK.com

Выбираем MiTM атаку

Изменяем правило для иньекции
В результате жертва открывает фейковый сайт при запросе vk.com. И в режиме паролей должен быть логин и пароль жертвы:

Чтобы провести целенаправленную атаку необходимо выбрать жертву из списку и добавить ее в таргет. Это можно сделать с помощью правой кнопкой мыши.

Добавления MiTm атаки
Теперь можно в режиме Ressurection Mode восстановить разные данные из трафика.

Файлы и информация жертвы посредством MiTm атаки
Подмена трафика

Указание настроек
После этого у жертвы будет меняться запрос "trust" на "loser".

Дополнительно можно убить кукис-файлы, чтобы жертва вышла со всех аккаунтов и повторно авторизовалась. Это позволит перехватить логины и пароли.

Уничтожение кукис файлов

Как увидеть потенциального сниферра в сети с помощью Intercepter?

С помощью опции Promisc Detection можно обнаружить устройство, которое ведет сканирование в локальной сети. После сканирование в графе status будет «Sniffer». Это первый способ, которые позволяет определить сканирование в локальной сети.

Обнаружение Sniffer
Устройство SDR HackRF


HackRF
SDR - это своеобразный радиоприемник, который позволяет работать с разными радиочастотными параметрами. Таким образом, можно перехватывать сигнал Wi-Fi, GSM, LTE и т.д.

HackRF - это полноценное SDR-устройство за 300 долларов. Автор проекта Майкл Оссман разрабатывает успешные устройства в этом направлении. Ранее был разработан и успешно реализован Bluetooth-снифер Ubertooth. HackRF успешный проект, который собрал более 600 тысяч на Kickstarter. Уже было реализовано 500 таких устройств для бета-тестирования.

HackRF работает в диапазоне частот от 30 МГц до 6 ГГц. Частота дискретизации составляет 20 МГц, что позволяет перехватывать сигналы Wi-FI и LTE сетей.

Как обезопасить себя на локальном уровне?

Для начала воспользуемся софтом SoftPerfect WiFi Guard. Есть портативная версия, которая занимает не более 4 мб. Она позволяет сканировать вашу сеть и отображать, какие устройства в ней отображены. В ней есть настройки, которые позволяют выбрать сетевую карту и максимальное количество сканируемых устройств. Дополнительно можно выставить интервал сканирования.


Интерфейс программы SoftPerfect WiFi Guard
После сканирования программа присылает уведомления, сколько есть неизвестный устройств. Это позволяет нам добавлять и отмечать доверенных пользователей и заметить, если кто-то подключился и начинает прослушивать трафик. Уведомления будут приходить после каждого интервала сканирования. Это позволяет отключить определенного мошенника на уроне роутера, если есть подозрительные действия.


Настройки программы SoftPerfect WiFi Guard


Возможность добавления комментариев для пользователей


Окно уведомления незнакомых девайсов после каждого заданного интервала сканирования

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

Задумывались ли вы когда-нибудь о том, как на некоторых Web-узлах происходит персонификация посетителей? Это может выражаться, например, в запоминании содержимого "тележки" (если этот узел предназначен для продажи товаров) или в способе заполнения полей какой-нибудь формы. В протоколе HTTP, лежащем в основе функционирования World Wide Web, нет средств, позволяющих отслеживать события от одного посещения узла к другому, поэтому для возможности хранения таких "состояний" было разработано специальное дополнение. Этот механизм, описанный в документе RFC 2109, обеспечивает вставку в передаваемые запросы и ответы HTTP специальных фрагментов данных cookie, позволяющих Web-узлам отслеживать своих посетителей.

Данные cookie могут запоминаться на время сеанса связи (per session ), оставаясь в оперативной памяти в течение одного сеанса и удаляясь при закрытии браузера, или даже после истечения заданного промежутка времени. В других случаях они бывают постоянными (persistent ), оставаясь на жестком диске пользователя в виде текстового файла. Обычно они хранятся в каталоге Cookies (%windir% \Cookies - в Win9x и %userprofile%\Cookies - в NT/2000). Нетрудно догадаться, что после захвата файлов cookie в Internet взломщик может выдавать себя за пользователя данного компьютера, или собирать содержащуюся в этих файлах важную информацию. Прочитав следующие разделы, вы поймете, насколько просто это сделать.

Перехват файлов cookie

Самый прямой способ заключается в перехвате файлов cookie при их передаче по сети. Затем перехваченные данные можно использовать при входе на соответствующий сервер. Такую задачу можно решить с помощью любой утилиты перехвата пакетов, однако одной из лучших является программа Лаврентия Никулы (Laurentiu Nicula ) SpyNet/PeepNet . В состав SpyNet входят две утилиты, которые работают в комплексе. Программа CaptureNet выполняет захват самого пакета и сохраняет его на диске, а утилита PeepNet открывает этот файл и преобразует его в читабельный формат. Следующий пример является фрагментом восстановленного программой PeepNet сеанса связи, во время которого файл cookie служит для аутентификации и управления доступом к просматриваемым страницам (для сохранения анонимности имена изменены).

GET http://www.victim.net/images/logo.gif HTTP/1.0 Accept: */* Referrer: http://www.victim.net/ Host: www.victim.net Cookie: jrunsessionid=96114024278141622; cuid=TORPM!ZXTFRLRlpWTVFISEblahblah

В приведенном примере виден фрагмент cookie, помещенный в поступающий на сервер запрос HTTP. Наиболее важным является поле cuid= , в котором задается уникальный идентификатор, используемый при аутентификации пользователя на узле www.victim.net. Допустим, что после этого взломщик посетил узел victim.net, получил собственный идентификатор и файл cookie (предполагается, что узел помещает данные cookie не в виртуальную память, а записывает их на жесткий диск). Тогда взломщик может открыть свой собственный файл cookie и заменить в нем идентификатор поля cuid=, взяв его из перехваченного пакета. В этом случае при входе на сервер victim.net он будет восприниматься как пользователь, чьи данные cookie были перехвачены.

Способность программы PeepNet воспроизводить весь сеанс связи или его фрагмент значительно облегчает реализацию атак этого типа. С помощью кнопки Go get it! можно повторно извлечь страницы, которые просматривались пользователем, используя его данные cookie, перехваченные ранее программой CaptureNet. В диалоговом окне утилиты PeepNet можно увидеть информацию о чьих-то выполненных распоряжениях. При этом для аутентификации используются данные cookie, перехваченные программой CaptureNet. Обратите внимание на фрейм, расположенный в нижнем правом углу диалогового окна с данными сеанса связи, и на строку, которая следует за строкой Cookie:. Это данные cookie, используемые при аутентификации.

Это довольно ловкий трюк. Кроме того, утилита CaptureNet может предоставить полную запись трафика в расшифрованном виде, что практически равносильно возможностям утилит профессионального класса, таких как Sniffer Pro компании Network Associates, Inc. Однако утилита SpyNet еще лучше - ее можно получить бесплатно!

Контрмеры

Следует остерегаться узлов, на которых файлы cookie применяются для аутентификации и хранения важных идентификационных данных. Одним из инструментов, помогающих в обеспечении защиты, является программа Cookie Pal компании Kookaburra Software, которую можно найти на Web-узле http://www.kburra.com/cpal.html . Этот программный продукт можно настроить так, чтобы для пользователя генерировались предупреждающие сообщения о попытках Web-узла воспользоваться механизмом cookie. При этом можно "заглянуть за кулисы" и решить, следует ли разрешать выполнение этих действий. В Internet Explorer имеется встроенный механизм поддержки файлов cookie. Чтобы активизировать его, запустите аплет Internet Options панели управления, перейдите во вкладку Security, выберите элемент Internet Zone, установите режим Custom Level и для постоянных и временных данных cookie установите переключатель в положение Prompt. Настройка использования файлов cookie в браузере Netscape выполняется с помощью команды Edit › Preferences › Advanced и установки режима Warn me before accepting a cookie или Disable cookies (рис. 16.3). Принимая файл cookie, нужно проверить, записался ли он на диск, и узнать, собирает ли Web-узел информацию о пользователях.

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

Авторы предпочли бы полностью отказаться от файлов cookie, если бы многие часто посещаемые Web-узлы не требовали этого режима. Например, для популярной во всем мире службы Hotmail компании Microsoft наличие файлов cookie обязательно для регистрации. Поскольку эта служба в процессе аутентификации задействует несколько различных серверов, то добавить их в зону надежных узлов не так-то просто (этот процесс описан в разделе "Разумное Использование Зон Безопасности: Общее Решение Проблемы Элементов Activex"). В этом случае поможет обозначение *.hotmail.com. Файлы cookie - далеко не идеальное решение проблемы неполноты протокола HTML, однако альтернативные подходы, по-видимому, еще хуже (например, добавление к адресу URL идентификатора, который может храниться на proxy-серверах). Пока не появится идея получше, единственным выходом остается контроль над файлами cookie с помощью перечисленных выше методов.

Захват файлов cookie через URL

Представим себе нечто ужасное: пользователи Internet Explorer щелкают на специально сконструированных гиперссылках и становятся потенциальными жертвами, рискуя, что их файлы cookie будут перехвачены. Беннет Хазельтон (Bennett Haselton ) и Джеми Маккарти (Jamie McCarthy ) из тинейджерской организации Peacefire, ратующей за свободу общения через Internet, опубликовали сценарий, воплощающий эту идею в жизнь. Этот сценарий извлекает файлы cookie с клиентского компьютера, если его пользователь щелкает на ссылке, содержащейся на этой странице. В результате содержимое файла cookie становится доступным для операторов Web-узла.

Эту возможность можно использовать в неблаговидных целях, внедряя дескрипторы IFRAME в HTML-код Web-страницы, электронного сообщения в формате HTML или сообщения из группы новостей. В следующем примере, предложенном консультантом по вопросам безопасности Ричардом М. Смитом, демонстрируется возможность использования дескрипторов IFRAME совместно с утилитой, разработанной организацией Peacefire.