Эксплуатация концептуальных недостатков беспроводных сетей
Беспроводные сети окружают нас повсеместно, вокруг миллионы гаджетов, постоянно обменивающихся информацией сл Всемирной Паутиной. Как известно — информация правит миром, а значит рядом всегда может оказаться кто-то очень сильно интересующийся данными, что передают ваши беспроводные устройства.Это может быть как криминальный интерес, так и вполне законное исследование безопасности компании со всеми предварительными условиями. Для таких исследователей и написана эта коротенькая статья, потому как лишняя точка сбора информации во время пентеста не помешает.
1. Принципиальная небезопасность Wi-Fi сетей
Мало кто задумывается, но Wi-Fi сети небезопасны в самой своей основе, точнее имеется жуткий перекос баланса между безопасностью точки доступа и клиента беспроводных сетей. Много внимания уделено тому, чтобы никто посторонний не мог подключиться к точке доступа, созданы методы шифрования соединения, введены списки фильтрации по различным аппаратным параметрам, однако абсолютно ничего не сделано для защиты клиентских устройств от навязывания подключения к нежелательной точке доступа. В чем основная проблема клиентского подключения? В единственном достаточном авторизационном признаке подключения к известной клиенту точки доступа — SSID. Вот этот принципиальный недостаток мы и будем сегодня эксплуатировать.
2. Как навязать свою точку доступа «жертве»?
Здесь есть три пути в порядке уменьшения вовлеченности жертвы в процесс перехвата:
a) Открытая точка доступа
Самый примитивный вариант, расчитанный рядового хипстера, которому надоело сидеть через мобильный интернет и он решил поискать — где бы присосаться к халяве.Использование такого способа даст вам стабильный приток совершенно неинтересных пользователей, среди которых вряд ли будут сотрудники компании, тестированием безопасности которой вы занимаетесь.
b) Открытая точка с мульти-SSID (прошивки DD-WRT, например, умеют такие фокусы), в который забиты наиболее часто встречающиеся имена открытых точек доступа, типа asus, default, Dlink, Beeline_wifi_free и тому подобное.
Является вариацией предыдущей, с той лишь разницей, что появляется некоторая вероятность автоматического соединения устройства жертвы по старой памяти (как отмечалось ранее, совпадение запомненного клиентом SSID достаточное и единственное условие подключения к открытой точке). Охват немного вырос и уже появилась некоторая вероятность зацепить интересную клиентуру, но опять же — в случае реальной работы маловероятно
c) Использование KARMA.
Самое интересное, ради чего собственно и затевалась эта статья — это программное обеспечение идет в составе аппаратно-программного комплекса WiFi Pineapple, предназначенного для взлома и перехвата беспроводных сетей в полуавтоматическом режиме. К счастью прошивки оригинального устройства после определнного шаманства встают и на супердешевые роутеры, что в сочетании со стареньким нетбуком дает приличную станцию с высокой вероятностью перехвата клиентов беспроводных сетей. Как же работает эта (KARMA)? Каждое устройство-клиент в режиме ожидания постоянно рассылает так называемые маячки пытаясь обнаружить рядом одну из ранее запомненных беспроводных сетей. Устройство под управлением KARMA перехватывает эти маячки и представляется клиентам той точкой доступа, которую он ищет. При этом совершенно не важно, какие у запомненной устройством точки параметры безопасности, пароли и вид шифрования — подключение произойдет незаметно и по открытому каналу. Все это чудесная магия SSID и немного темного шаманства создателей такого замечательного продукта. Вероятность ассоциации жертвы с такой точкой доступа тем выше, чем лучше между ними прием, но она очень высока и ею подвержены все современные беспроводные устройства (хоть и говорится, дескать новые версии ОС Андроид и iOS лишены такого недостатка — исследования говорят об обратном).
3. Заключение — пожинаем плоды.
Как только клиент заскочил на вашу точку доступа и пошел через нее в Интернет — у вас открывается бездна возможностей по перехвату и краже данных, начиная от перехвата открытого траффика средствами tcpdump, dsniff и подобными, до перехвата защищенного ssl-траффика через sslstrip и использования метода подмены страниц.Конечно, нельзя расчитывать на 100% удачу — далеко не каждая «рыбалка» завершается результатом в виде готовых паролей или хотя бы хэшей, чаще всего вам будут попадаться access_token авторизации мобильных приложений через OAuth2.0. Способы эксплуатации этих данных в природе существуют, но это тема отдельного большого разговора.
Вменяемых способов защиты мало — отключение беспроводных сетей не предлагаю, но попадание в зону действия Karma можно определить по внезапному подключению вашего телефона к точке доступа, которой рядом как бы и нет, да и подключение безпарольное, а вы точно помните, что точка закрыта WPA2 шифрованием.
Для максимизации вероятности успеха «рыбалки» стоит сочетать все три способа приманки.