14.01.2013

Исследование безопасности сети при помощи смартфона. Часть 2: Перехват сессии и arp-спуфинг

image

В прошлый раз мы рассмотрели сканеры уязвимостей, используемые в смартфонах. В этой статье мы поговорим о других способах проникновения в сеть: Wi-Fi сниффинг, перехват сессии (hijacking) и ARP-спуфинг.

Автор: Кен Вестин (Ken Westin)

В прошлый раз мы рассмотрели сканеры уязвимостей, используемые в смартфонах. В этой статье мы поговорим о других способах проникновения в сеть: Wi-Fi сниффинг, перехват сессии (hijacking) и ARP-спуфинг.

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

Перехват сессии и arp-спуфинг

Возможно, вы знакомы с утилитой FireSheep. Этот плагин для браузера Firefox позволяет перехватывать сессии таких популярных сайтов, как Facebook и Twitter. После появления плагина вышеперечисленные сайты реализовали полное шифрование данных, а не только при проверке логина и пароля. Для смартфонов с ОС Андроид существует похожее приложение DroidSheep, которое требует root-доступ на мобильном телефоне (см. первую часть статьи). DroidSheep может работать в нескольких режимах, и когда оно подключено к сети, то использует ARP-спуфинг для перехвата сессий.

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

В режиме “Generic mode” DroidSheep собирает данные сессий всех возможных сервисов, а не только с сайтов Twitter или Facebook. В моем случае удалось перехватить данные с учетных записей WordPress, Facebook, Twitter and Trimet.org.

Более изощренный способ перехвата используется в приложении Network Spoofer, которое позволяет изменять передаваемый трафик. При первом запуске приложение качает огромный файл размером 600 МБ, являющийся образом Debian-дистрибутива, который содержит прокси-сервер Squid и другие инструменты для изменения картинок и выполнения других задач. К примеру, Network Spoofer позволяет перенаправлять трафик на определенный сайт, изменять параметры картинок и модифицировать поисковые запросы.

Network Spoofer лучше всего работает в незащищенной сети (open network), хотя в сетях защищенных при помощи WPA/WPA2 также может перехватывать данные, но при этом возможно замедление или выход из строя сети. Приложение совместимо с большинством смартфонов (хотя и не со всеми). Я проводил тестирование на Nexus One и Galaxy S, все прошло успешно.

Wi-Fi сниффинг

Network Spoofer также позволяет перенаправлять весь трафик сети через смартфон, а затем эти данные могут быть записаны при помощи сниффера. Одно из лучших приложений для решения этой задачи - Shark for root (если не считать надоедливой рекламы). В связке с arp-спуфингом проблема остается той же: вполне вероятно замедление или выход из строя сети.

Более предпочтительный способ сниффинга трафика – создание на смартфоне хот-спота Wi-Fi. Смартфоны с root-доступом позволяют создавать ad-hoc хот-спот. Создав открытый хот-спот, имя которого схоже с именем офисного хот-спота или же просто хот-спот с гостевой учетной записью (к примеру «Acme-Guest»), вы сможете перехватывать трафик пользователей, подключившихся к вашему телефону.

Как упоминалось выше, одной из лучших программ для сниффинга трафика является Shark for root, которая записывает весь трафик в pcap-файл на SD-карту вашего телефона. Для чтения таких файлов используется приложение Shark Reader, хотя вы также можете скопировать лог к себе на компьютер и просмотреть при помощи программы Wireshark или более функциональных приложений.

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

comments powered by Disqus