Понимание атак «человек посередине» — часть 3: перехват сеанса

Опубликовано: 9 Апреля, 2023

Введение

В первых двух статьях этой серии об атаках «человек посередине» мы рассмотрели отравление кэша ARP и спуфинг DNS. Как мы продемонстрировали на этих примерах, атаки MITM невероятно эффективны, и их становится все труднее обнаружить. В третьей части этой статьи мы рассмотрим перехват сеанса, который ничем не отличается. Как и в предыдущих двух статьях, я опишу теорию, лежащую в основе перехвата сеанса, продемонстрирую эту технику на практике и обсужу советы по обнаружению и предотвращению.

Перехват сеанса

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

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

Изображение 23541
Рисунок 1: Обычный сеанс

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

Изображение 23542
Рисунок 2: Перехват сеанса

Теперь, когда у нас есть немного теории в книгах, давайте углубимся в практический пример.

Кража печенья с хомяком и хорьком

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

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

Кроме того, вы можете загрузить и использовать Backtrack 4. BT4 — это дистрибутив Linux live-CD, разработанный специально для взлома и тестирования на проникновение, который поставляется с множеством предустановленных и предварительно скомпилированных инструментов, два из которых — Hamster/Ferret. Вы можете скачать BT4 отсюда. Затем вы найдете Hamster в папке /pentest/sniffers/hamster. Примеры скриншотов, используемые в остальной части этого руководства, взяты из BT4.

Первым шагом в этой форме перехвата сеанса является захват трафика пользователя-жертвы, когда он просматривает Facebook. Этот трафик на самом деле может быть перехвачен с помощью любого приложения для перехвата пакетов, такого как TCPDump или Wireshark, но для перехвата правильных пакетов вам потребуется использовать такой метод, как отравление кэша ARP (обсуждается в первой статье этой серии).

Изображение 23543
Рисунок 3. Захват трафика пользователя, просматривающего Gmail

После того, как вы перехватили трафик пользователя-жертвы, просматривающего Gmail, вам нужно будет сохранить захваченный файл в каталоге Hamster. Для целей этого примера мы назвали наш файл жертва_gmail.pcap. Когда этот файл будет на месте, мы будем использовать Ferret для его обработки. Это можно сделать, перейдя в папку Hamster и выполнив команду ferret -r жертва_gmail.pcap. Ferret обработает файл и создаст файл hamster.txt, который может использоваться Hamster для фактического захвата сеанса.

Изображение 23544
Рисунок 4: Обработка файла захвата с помощью Ferret

Когда наши HTTP-данные перехвачены и подготовлены к использованию, мы можем использовать Hamster для фактического выполнения атаки. Сам Hamster фактически работает как прокси, который предоставляет интерфейс для просмотра и использования украденных файлов cookie сеанса. Чтобы запустить прокси-сервер Hamster, вы можете просто запустить Hamster без параметров командной строки.

Изображение 23545
Рисунок 5: Запуск Хомяка

После выполнения вам нужно будет открыть браузер и настроить его параметры прокси-сервера, чтобы они соответствовали тем, которые были предоставлены вам выводом Hamster. По умолчанию это означает, что вы должны настроить параметры прокси-сервера для использования локального адреса обратной связи 127.0.0.1 на порту 1234. Вы можете получить доступ к этим настройкам в Internet Explorer, выбрав «Инструменты», «Свойства обозревателя», «Подключения», «Параметры локальной сети» и установив флажок в поле Использовать прокси-сервер для вашей локальной сети.

Изображение 23546
Рисунок 6: Настройка параметров прокси для использования с Hamster

Теперь, когда настройки прокси-сервера применены, вы можете получить доступ к консоли Hamster в своем браузере, перейдя по адресу http://hamster. Hamster будет использовать файл, созданный Ferret, для создания списка IP-адресов, для которых была перехвачена информация о сеансе, и отображения этих IP-адресов в правой панели браузера. Наш файл, который мы создали, содержит только один IP-адрес жертвы, поэтому, если мы нажмем, левая панель будет заполнена сеансами, доступными для захвата.

Изображение 23547
Рисунок 7: Графический интерфейс Hamster

Мы видим, что facebook.com указан в списке, и если вы нажмете на эту ссылку, вам будет приятно увидеть новое окно, в котором вы вошли в учетную запись Facebook жертвы!

Изображение 23548
Рисунок 8: Аккаунт Gmail успешно взломан!

Защита от перехвата сеанса

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

  • Сохраните онлайн-банкинг для дома. Вероятность того, что кто-то перехватит ваш трафик в вашей домашней сети, намного меньше, чем в вашей рабочей сети. Это не потому, что ваш домашний компьютер более безопасен (скажем прямо, он, вероятно, менее безопасен), но простой факт заключается в том, что если у вас есть только один или два компьютера дома, больше всего вам нужно беспокоиться с точки зрения перехвата сеанса, если ваш 14-летний сын начинает смотреть видео о взломе на YouTube. В корпоративной сети вы не знаете, что происходит дальше по коридору или в филиале на расстоянии 200 миль, поэтому количество потенциальных источников атак увеличивается. Одной из самых больших целей для перехвата сеанса является онлайн-банкинг, но этот принцип применим ко всему.
  • Будьте бдительны. Умные злоумышленники не оставят никаких доказательств того, что они были в одной из ваших защищенных учетных записей, но даже самые опытные хакеры допускают ошибки. Знание того, когда вы вошли в сеансовые службы, может помочь вам определить, не ходит ли кто-то еще в вашей тени. Обращайте внимание на вещи, которые кажутся неуместными, и обращайте внимание на поля «Время последнего входа», чтобы убедиться, что все совпадает.
  • Защитите свои внутренние машины. Опять же, подобные атаки чаще всего выполняются внутри сети. Если ваши сетевые устройства защищены, то меньше шансов, что эти скомпрометированные хосты будут использованы для запуска атаки с перехватом сеанса.

Заворачивать

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

  • Понимание атак «человек посередине» — часть 4: перехват SSL