Пользователь
0,0
рейтинг
2 июня 2014 в 19:16

Разработка → Wi-Fi сети: проникновение и защита. 1) Матчасть



Синоптики предсказывают, что к 2016 году наступит второй ледниковый период трафик в беспроводных сетях на 10% превзойдёт трафик в проводном Ethernet. При этом от года в год частных точек доступа становится примерно на 20% больше.

При таком тренде не может не радовать то, что 80% владельцев сетей не меняют пароли доступа по умолчанию. В их число входят и сети компаний.

Этим циклом статей я хочу собрать воедино описания существующих технологии защит, их проблемы и способы обхода, таким образом, что в конце читатель сам сможет сказать, как сделать свою сеть непробиваемой, и даже наглядно продемонстрировать проблемы на примере незадачливого соседа (do not try this at home, kids). Практическая сторона взлома будет освещена с помощью Kali Linux (бывший Backtrack 5) в следующих частях.

Статья по мере написания выросла с 5 страниц до 40, поэтому я решил разбить её на части. Этот цикл — не просто инструкция, как нужно и не нужно делать, а подробное объяснение причин для этого. Ну, а кто хочет инструкций — они такие:
Используйте WPA2-PSK-CCMP с паролем от 12 символов a-z (2000+ лет перебора на ATI-кластере). Измените имя сети по умолчанию на нечто уникальное (защита от rainbow-таблиц). Отключите WPS (достаточно перебрать 10000 комбинаций PIN). Не полагайтесь на MAC-фильтрацию и скрытие SSID.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора

Но сначала — матчасть.

Передайте мне сахар


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

Как понять, кто может отдать команду, а кто нет? Первое, что приходит в голову — по паролю. Пусть каждый клиент перед тем, как передать новую команду, передаст некий пароль. Таким образом, вы будете выполнять только команды, которые сопровождались корректным паролем. Остальные — фтопку.

Именно так работает базовая авторизация HTTP (Auth Basic):

AuthType Basic
AuthName "My super secret zone!"
AuthUserFile /home/.htpasswd
Require valid-user 



После успешной авторизации браузер просто-напросто будет передавать определённый заголовок при каждом запросе в закрытую зону:
Authorization: Basic YWRtaW46cGFzcw==

То есть исходное:
echo -n 'admin:pass' | base64
# YWRtaW46cGFzcw==

У данного подхода есть один большой недостаток — так как пароль (или логин-пароль, что по сути просто две части того же пароля) передаётся по каналу «как есть» — кто угодно может встрять между вами и клиентом и получить ваш пароль на блюдечке. А затем использовать его и распоряжаться вами, как угодно!

Для предотвращения подобного безобразия можно прибегнуть к хитрости: использовать какой-либо двухсторонний алгоритм шифрования, где закрытым ключом будет как раз наш пароль, и явно его никогда не передавать. Однако проблемы это не решит — достаточно один раз узнать пароль и можно будет расшифровать любые данные, переданные в прошлом и будущем, плюс шифровать собственные и успешно маскироваться под клиента. А учитывая то, что пароль предназначен для человека, а люди склонны использовать далеко не весь набор из 256 байт в каждом символе, да и символов этих обычно около 6-8… в общем, комсомол не одобрит.

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


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

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

Именно такая схема с временным ключом (сеансовый ключ, session key или ticket) в разных вариациях и используется сегодня во многих системах — в том числе SSL/TLS и стандартах защиты беспроводных сетей, о которых будет идти речь.

План атаки


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

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

Но это в идеальном мире…

Механизмы защиты Wi-Fi


Технологии создаются людьми и почти во всех из них есть ошибки, иногда достаточно критические, чтобы обойти любую самую хорошую в теории защиту. Ниже мы пробежимся по списку существующих механизмов защиты передачи данных по радиоканалу (то есть не затрагивая SSL, VPN и другие более высокоуровневые способы).

OPEN



OPEN — это отсутствие всякой защиты. Точка доступа и клиент никак не маскируют передачу данных. Почти любой беспроводной адаптер в любом ноутбуке с Linux может быть установлен в режим прослушки, когда вместо отбрасывания пакетов, предназначенных не ему, он будет их фиксировать и передавать в ОС, где их можно спокойно просматривать. Кто у нас там полез в Твиттер?

Именно по такому принципу работают проводные сети — в них нет встроенной защиты и «врезавшись» в неё или просто подключившись к хабу/свичу сетевой адаптер будет получать пакеты всех находящихся в этом сегменте сети устройств в открытом виде. Однако с беспроводной сетью «врезаться» можно из любого места — 10-20-50 метров и больше, причём расстояние зависит не только от мощности вашего передатчика, но и от длины антенны хакера. Поэтому открытая передача данных по беспроводной сети гораздо более опасна.

В этом цикле статей такой тип сети не рассматривается, так как взламывать тут нечего. Если вам нужно пользоваться открытой сетью в кафе или аэропорту — используйте VPN (избегая PPTP) и SSL (https://, но при этом поставьте HTTPS Everywhere, или параноидально следите, чтобы из адресной строки «внезапно» не исчез замок, если кто включит sslstrip — что, впрочем, переданных паролей уже не спасёт), и даже всё вместе. Тогда ваших котиков никто не увидит.

WEP



WEP — первый стандарт защиты Wi-Fi. Расшифровывается как Wired Equivalent Privacy («эквивалент защиты проводных сетей»), но на деле он даёт намного меньше защиты, чем эти самые проводные сети, так как имеет множество огрехов и взламывается множеством разных способов, что из-за расстояния, покрываемого передатчиком, делает данные более уязвимыми. Его нужно избегать почти так же, как и открытых сетей — безопасность он обеспечивает только на короткое время, спустя которое любую передачу можно полностью раскрыть вне зависимости от сложности пароля. Ситуация усугубляется тем, что пароли в WEP — это либо 40, либо 104 бита, что есть крайне короткая комбинация и подобрать её можно за секунды (это без учёта ошибок в самом шифровании).

WEP был придуман в конце 90-х, что его оправдывает, а вот тех, кто им до сих пор пользуется — нет. Я до сих пор на 10-20 WPA-сетей стабильно нахожу хотя бы одну WEP-сеть.

На практике существовало несколько алгоритмов шифровки передаваемых данных — Neesus, MD5, Apple — но все они так или иначе небезопасны. Особенно примечателен первый, эффективная длина которого — 21 бит (~5 символов).

Основная проблема WEP — в фундаментальной ошибке проектирования. Как было проиллюстрировано в начале — шифрование потока делается с помощью временного ключа. WEP фактически передаёт несколько байт этого самого ключа вместе с каждым пакетом данных. Таким образом, вне зависимости от сложности ключа раскрыть любую передачу можно просто имея достаточное число перехваченных пакетов (несколько десятков тысяч, что довольно мало для активно использующейся сети).

К слову, в 2004 IEEE объявили WEP устаревшим из-за того, что стандарт «не выполнил поставленные перед собой цели [обеспечения безопасности беспроводных сетей]».

Про атаки на WEP будет сказано в третьей части. Скорее всего в этом цикле про WEP не будет, так как статьи и так получились очень большие, а распространённость WEP стабильно снижается. Кому надо — легко может найти руководства на других ресурсах.

WPA и WPA2



WPA — второе поколение, пришедшее на смену WEP. Расшифровывается как Wi-Fi Protected Access. Качественно иной уровень защиты благодаря принятию во внимание ошибок WEP. Длина пароля — произвольная, от 8 до 63 байт, что сильно затрудняет его подбор (сравните с 3, 6 и 15 байтами в WEP).

Стандарт поддерживает различные алгоритмы шифрования передаваемых данных после рукопожатия: TKIP и CCMP. Первый — нечто вроде мостика между WEP и WPA, который был придуман на то время, пока IEEE были заняты созданием полноценного алгоритма CCMP. TKIP так же, как и WEP, страдает от некоторых типов атак, и в целом не безопасен. Сейчас используется редко (хотя почему вообще ещё применяется — мне не понятно) и в целом использование WPA с TKIP почти то же, что и использование простого WEP.

Одна из занятных особенностей TKIP — в возможности так называемой Michael-атаки. Для быстрого залатывания некоторых особо критичных дыр в WEP в TKIP было введено правило, что точка доступа обязана блокировать все коммуникации через себя (то есть «засыпать») на 60 секунд, если обнаруживается атака на подбор ключа (описана во второй части). Michael-атака — простая передача «испорченных» пакетов для полного отключения всей сети. Причём в отличии от обычного DDoS тут достаточно всего двух (двух) пакетов для гарантированного выведения сети из строя на одну минуту.


WPA отличается от WEP и тем, что шифрует данные каждого клиента по отдельности. После рукопожатия генерируется временный ключ — PTK — который используется для кодирования передачи этого клиента, но никакого другого. Поэтому даже если вы проникли в сеть, то прочитать пакеты других клиентов вы сможете только, когда перехватите их рукопожатия — каждого по отдельности. Демонстрация этого с помощью Wireshark будет в третьей части.

Кроме разных алгоритмов шифрования, WPA(2) поддерживают два разных режима начальной аутентификации (проверки пароля для доступа клиента к сети) — PSK и Enterprise. PSK (иногда его называют WPA Personal) — вход по единому паролю, который вводит клиент при подключении. Это просто и удобно, но в случае больших компаний может быть проблемой — допустим, у вас ушёл сотрудник и чтобы он не мог больше получить доступ к сети приходится применять способ из «Людей в чёрном» менять пароль для всей сети и уведомлять об этом других сотрудников. Enterprise снимает эту проблему благодаря наличию множества ключей, хранящихся на отдельном сервере — RADIUS. Кроме того, Enterprise стандартизирует сам процесс аутентификации в протоколе EAP (Extensible Authentication Protocol), что позволяет написать собственный велосипед алгоритм. Короче, одни плюшки для больших дядей.

В этом цикле будет подробно разобрана атака на WPA(2)-PSK, так как Enterprise — это совсем другая история, так как используется только в больших компаниях.

WPS/QSS



WPS, он же Qikk aSS QSS — интересная технология, которая позволяет нам вообще не думать о пароле, а просто добавить воды нажать на кнопку и тут же подключиться к сети. По сути это «легальный» метод обхода защиты по паролю вообще, но удивительно то, что он получил широкое распространение при очень серьёзном просчёте в самой системе допуска — это спустя годы после печального опыта с WEP.

WPS позволяет клиенту подключиться к точке доступа по 8-символьному коду, состоящему из цифр (PIN). Однако из-за ошибки в стандарте нужно угадать лишь 4 из них. Таким образом, достаточно всего-навсего 10000 попыток подбора и вне зависимости от сложности пароля для доступа к беспроводной сети вы автоматически получаете этот доступ, а с ним в придачу — и этот самый пароль как он есть.

Учитывая, что это взаимодействие происходит до любых проверок безопасности, в секунду можно отправлять по 10-50 запросов на вход через WPS, и через 3-15 часов (иногда больше, иногда меньше) вы получите ключи от рая.

Когда данная уязвимость была раскрыта производители стали внедрять ограничение на число попыток входа (rate limit), после превышения которого точка доступа автоматически на какое-то время отключает WPS — однако до сих пор таких устройств не больше половины от уже выпущенных без этой защиты. Даже больше — временное отключение кардинально ничего не меняет, так как при одной попытке входа в минуту нам понадобится всего 10000/60/24 = 6,94 дней. А PIN обычно отыскивается раньше, чем проходится весь цикл.

Хочу ещё раз обратить ваше внимание, что при включенном WPS ваш пароль будет неминуемо раскрыт вне зависимости от своей сложности. Поэтому если вам вообще нужен WPS — включайте его только когда производится подключение к сети, а в остальное время держите этот бекдор выключенным.

Атака на WPS будет рассмотрена во второй части.

p.s: так как тема очень обширная, в материал могли закрасться ошибки и неточности. Вместо криков «автор ничего не понимает» лучше использовать комментарии и ЛС. Это будет только приветствоваться.

Оглавление:
1) Матчасть
2) Kali. Скрытие SSID. MAC-фильтрация. WPS
3) WPA. OpenCL/CUDA. Статистика подбора
Павел @ProgerXP
карма
121,7
рейтинг 0,0
Пользователь
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (76)

  • +2
    Спасибо. Побежал смотреть в роутер — включен ли WPS.
    • +2
      Да поставтье вы уже DD/OpenWRT. В стоковых прошивках можно встретить, например, торчащий наружу UPNP и прочие фейспалмы
      • +4
        Да вот, к большому сожалению, процессоры во многих дешевых роутерах не способны быстро пропускать трафик без Hardware NAT (особенно, если в сети провайдера используется L2TP), а он реализован настолько костыльно, что никакие нормальные проекты не хотят его включать в том виде, в каком он есть сейчас.

        Так что тут следует покупать относительно мощный роутер, который может NATить до 800мбит/с в hardware-режиме, или до 200-250 в software, т.к. 200-250 вполне достаточно, если у вас 100мбит/с канал.

        Вообще, я очень хорошего мнения об OpenWRT. Они смогли не только сделать качественную «прошивку» с хорошим интерфейсом (как консольным, так и web), который и новичкам подходит, и продвинутым пользователям, но еще и сделали вокруг всего этого инфраструктуру: отличная переделка buildroot со множеством включенных пакетов, репозитории уже собранных пакетов, менеджер пакетов, поддержка многих архитектур.

        ProgerXP, начало очень хорошее. Было бы вообще отлично, если бы вы статью еще и на английский перевели.
        • 0
          Было бы вообще отлично, если бы вы статью еще и на английский перевели.

          Перевести не сложно, но уж на английском-то материалов должно быть достаточно. Разве нет?
          • 0
            К сожалению, нет. По крайней мере, я не смог найти что-то стоящего как на русском, так и на английском, года два-три назад. А про правильную настройку WPA Enterprise вообще мало информации, и не совсем понятно, в чем его отличие от чистого 802.1x.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Я, наоборот, только OpenWRT вылечил постоянные повисания Asus RT-N10. До этого и перепрошивать разными заводскими пытался и в сервис носить — ничего не помогало.
  • +6
    Автор, для нетерпеливых параноиков скажите сразу: WPA2-PSK + AES с несловарным рандомным паролем сломать можно насколько сложно?

    Если серьёзно, спасибо! Читается легко и интересно, давно искал обобщённый, чуть более расширенный, чем в «инструкциях по взлому», материал на данную тему.
    • +14
      WPA2-PSK + AES с несловарным рандомным паролем сломать можно насколько сложно?

      Всё зависит от длины пароля и это будет очень наглядно показано в следующих частях. Аж крышу снесёт.
      • –1
        За статью благодарю, с нетерпением жду подробностей, ибо очень хочется сноса крыши!!!

        Зная все особенности и уязвимости являюсь «параноиком» :) и использую только 63 байтный PSK с WPA2 CCMP (AES), и обязательно отключаю WPS. Генерирую PSK вот этим чудным инструментом www.elfqrin.com/pwgen.php

        p.s: вот небольшая выдержка из стандарта по поводу длинны и состава PSK:
        802.11-2012, секция M4.1:
        Keys derived from the pass phrase provide relatively low levels of security, especially with keys generated form short passwords, since they are subject to dictionary attack. Use of the key hash is recommended only where it is impractical to make use of a stronger form of user authentication. A key generated from a passphrase of less than about 20 characters is unlikely to deter attacks.
        • 0
          Хм, интересно, что понимается под «A key generated from a passphrase of less than about 20 characters is unlikely to deter attacks». Допустим у 8 ATI-карт скорость перебора 1.5 млн п/с, 20 символов a-z это 26^20 / 1500000 / 3600 / 24 / 365 = 421278304059052 лет перебора. 16 символов — 921882777 лет. Bruteforce бессмыслен.

          • 0
            Брутфорс да, но там ведь сказано про возможность атаки по словарю. Вы же сами наверняка знаете как большинство выбирает пароли, вот именно об этом в тексте и речь. Т.е. имеется ввиду конкретная ситуация, если дословно — использование в качестве ключа фраз, короче 20 символов, не безопасно.
            p.s: ну а про использование различных дат, которые «никто не знает» :) думаю и говорить не стоит.
    • 0
      Считается, что пароль вида «c1sx15Gz» будет взломать легче, чем «CharlieSierraRay15GOLF» из за длины.

      Но по последним сводкам, один черт, WPA2 уже не считается надежным протоколом. Недавно тут-же на хабре читал, что кто-то нашел уязвимость.
      • +1
        Я думаю вы все же говорите про WPA с TKIP. Про уязвимость в CCMP/AES мне ничего не известно. Есть пруф?
      • 0
        Да, в WPA2 нашли какой-то теоретичекий баг, но там столько «но» и столько различных факторов, что даже 8-ми символьный пароль типа «hN3_h5wR» сломать будет не реально, т.к. такие пароль ломаются только прямым перебором и для этого нужны очень большие вычислительные мощности.

        Если у Вас домашний роутер, то ломать его кластером стоимостью в десятки (или даже сотни) тысяч долларов чтобы просто попользовать «нахаляву» Ваш Internet никто не будет. Не льстите себе :) Злодей просто найдёт по соседству другую, менее защищенную, сеть и подключится к ней. По крайней мере я, в своё время, делал именно так ;-) хоть и владел собственным ATI-кластером.

        Если стоит вопрос защиты WI-FI сети офиса, то к WPA2 добавляется дополнительно RADIUS-сервер для авторизации и защита сети от взлома увеличивается ещё на несколько порядков.

        Хочу ещё добавить, что защита офисной сети — задача ресурсоёмкая и затратная. Если вы боитесь взломов/проникновений, то будьте готовы потратить денежки, и тогда никакой школьник с BackTrack/Kali Вас не вскроет, хотя даже с WPA2 взломать будет практически не реально.
  • +19
    Внимательные читатели, конечно, заметили, что как бы мы не хитрили — от передачи пароли и временного ключа в открытой или хэшированной форме нам никуда не деться.

    Деться: временный ключ мы шифруем алгоритмом с открытым ключом.

    • +2
      За видео спасибо, разъяснение просто класс.
      • +9
        Кстати, это только что нагугленное мной видео, оказывается, перевел и озвучил freetonik (пост) Как тесен мир интернет…
        • +18
          Меня раньше немного пугал этот факт. А теперь кажется, что это круто.
    • –1
      Промахнулся с веткой. habrahabr.ru/post/224955/#comment_7649723
    • +4
      Прекрасный пример с цветами. На редкость наглядно.
  • –5
    Ключевая фраза: «временного ключа в открытой или хэшированной форме». Это как раз то, о чём говорится в видео. Проблема в том, что:
    Поэтому хакер знает всё то же, что и сервер, и клиент, и может водить обоих за нос, пока не истечёт срок действия временного ключа.


    Всё, что знает клиент и точка доступа на момент передачи PMK — знает и хакер. Соответственно, перехватив рукопожатие мы получаем 100% данных, которыми обладали клиент и сервер. Смысл шифрования пароля при передачи — затруднить его подбор (так как нужно угадать, какая исходная строка соответствует хэшу). Но от передачи этого пароля, хоть в открытой, хоть в «закрытой» форме — никуда не деться. Иначе как вы авторизуетесь?

    • +6
      Хэш-функция и асимметричный шифр — не одно и то же. Я бы сказал, что разница как между шахматами и Скайримом. И то и другое игра (математическая функция), но человек, который путает эти вещи… Рановато, я считаю, Вам учить людей матчасти в области криптографии.
      Всё, что знает клиент и точка доступа на момент передачи PMK — знает и хакер. Соответственно, перехватив рукопожатие мы получаем 100% данных, которыми обладали клиент и сервер.

      Посмотрите, пожалуйста, видео еще раз :)
    • 0
      Возможно уже поздно отвечаю, т.к. во всём уже разобрались, но…
      Ещё можно передавать пароль в зашифрованном виде. Т.е. сначала происходит генерация/обмен сессионных ключей, а потом на них уже шифруется пароль и всё, что надо для авторизации. Генерироваться ключи могут с помощью алгоритма Диффи-Хелмана (как в видео выше). Или, например, ключи генерируются локально клиентом и передаваться серверу зашифрованными на его сертификате.
      В таком случает хакер не может локально (записав хэндшейк) перебирать пароль, т.к. у него нет возможности проверять гипотезы о том правилен ли предположенный им пароль (в отличие от хэшированного пароля, когда хакер может расчитывать хэши от разных паролей и сравнить их с перехваченным).
      Такой подход используется очень часто. Например те же почтовые протоколы часто используют авторизацию клиента plaintext паролем, но внутри SSL канала. PPTP-EAP, на сколько я помню, тоже поддерживает такой режим работы, когда авторизация клиента происходит уже после установления SSL соединения. SSTP только так и работает.
      Правда это всё хорошо работает только если есть возможность одну сторону (обычно сервер) изначально авторизовать. Иначе хакер сможет представиться клиенту сервером и узнать его пароль.
  • 0
    Не совсем про свой wifi, но хотелось бы заметить — люди, пользуйтесь исключительно vpn поверх публичных wifi точек.
    • 0
      В третьей части будет очень интересный раздел с прослушкой через Wireshark — тут каждый убедится, насколько всё элементарно просматривается, если нет ни VPN, ни SSL.
  • 0
    для атаки на WPS нужно угадать всего 4 символа


    Как минимум 7, разве нет? 8 контрольная сумма
    ну и плюс по ответам M1M2M3M4 — возможность отслеживать, верна ли половинка пароля
    • +3
      4 — говоря условно. PIN состоит из 7 цифр + одна цифра для контрольной суммы, то есть 10^7 комбинаций. Авторизация по WPS проходит в несколько этапов: в частности там есть пакеты M4 и M6, которые отправляет базовая станция в ответ на правильную последовательность. При неправильной отправляется EAP-NACK.

      Смысл в том, что если PIN разбить на две части: цифры 0-3 (считая слева) и 4-6 (справа), то при ошибке в левой части точка доступа отправит EAP-NACK сразу после получения M4, а если была ошибка в правой части — то после M6. Таким образом вместо одного большого пространства значений 10^7 мы получаем два по 10^4 и 10^3, и, понятно, что 10^7 <> 10^4+10^3. В итоге достаточно протестировать 11 000 комбинаций (больше 4-х цифр на тысячу) вместо 10 000 000.

      Этакая разновидность timing attack. Исследование описано тут.

      Хотя при этом мне всё равно не понятно, почему даже при задуманных 10^7 никто не добавил в протокол или прошивку защиту от банального перебора. Значений-то сравнительно мало.
    • +1
      Как вариант — можете ознакомится с статей на хабре, где расписано как описание алгоритма, так и реализация его взлома. Будет как некое дополнение к комментарию ниже.
  • 0
    Благодарю за интересную статью. С нетерпением жду 2-ую и 3-ую часть.
  • 0
    Одним глазом читал статью, другим правил конфиг hostapd. Запретил TKIP, спасибо за указание на уязвимость. Жду продолжение дабы подправить чего еще.
  • +1
    Не полагайтесь на MAC-фильтрацию и скрытие BSSID.

    А это как? Как бы скрыть BSSID — это как отключить питание точки. Защита серьезная.
    • +1
      Лишняя «B». Имелось в виду отключение рассылки маячков с SSID (SSID broadcast).
      • 0
        ESSID называется.
    • 0
      По факту скрытая SSID означает, что вместо имени сети в broadcast сообщениях стоит пустое поле, при актуальной длине. Так что получается условное сокрытие.

      Возможен вариант когда broadcast сообщения не передаются, но в этому случае никто не гарантирует что ваше любимое устройство подключится к сети или же не потеряет её после пробуждения.
      • +1
        А это и не нужно. Устройство если не получит маячок с нужным SSID все равно отправит запрос на авторизацию и точка доступа ответит. Отследить это можно просто следя за каналом.
        • 0
          Да, злоумышленники так и поступят. От такой защиты больше вреда для себя, чем пользы.
  • +1
    А что плохого будет, если взломают wifi? Если я могу безопасно работать на вайфае в кафе и аэропорту, то чем эта ситуация отличается от «взломанного wifi» в компании?

    То есть я понимаю, что, засранец, будет интернетом пользоваться на халяву. А ещё?

    Ах, вы хотели сказать, что в компании используется http для авторизации, mysql голой задницей без пароля в локалку смотрит, а финансовые документы расшарены гостем по SMB?

    Я думаю, у этой компании проблемы будут, даже если у них будет Очень Безопасное Подключение к wifi.
    • 0
      То есть я понимаю, что, засранец, будет интернетом пользоваться на халяву.
      — Если вы — не компания, то этого более чем достаточно, например.
      • +1
        Ну, нашёл, да выкинул. В чём проблема-то? А если не наглеет, так и пусть сидит. Может, у человека интернетов совсем нету.
        • 0
          Спасибо, похоже это я вашим интернетом в поездках пользуюсь (подпираю WPS PIN) :)
          • +1
            У меня cyta'вский wifi. Я не менял дефолтный пароль, зная, что есть генератор оных. Видел, кто-то там подключался. Пока ютуб не начал лагать из-за сожранной полосы, было пофигу. Ну юзают и юзают. Залагало — отключил, ибо меру знать надо.

            В Питере я вообще просто гостевой канал на несколько мегабит открыл — не жалко.
            • 0
              Вообще, если бы все не жались и делились вайфаем — давно наступило бы счастье :) никакой мобильный интернет бы не был нужен в большей частии мест, да и домашний во многих случаях тоже.
              • 0
                это должно быть как принцип вардрайверов — оставаться незаметным и не ложить чужой вайфай торрентами. тогда жертва не будет искать пути повышения защиты и все остануться счастливы.
                окончательное счастье — в mesh сетях)
                • +1
                  Я держу открытый вайфай для соседских телефонов и жертвой себя не считаю :)
            • +3
              Я не совсем в курсе российских законов, но интересно, что будет, если через вашу точку совершат какое-то кибер-преступление?
              • 0
                Да кто в России руководствуется законами? Кто поближе, тот и ответственный.
              • 0
                По большому счету, ничего чрезвычайно плохого. Ну, т.е, компьютер и роутер у вас в любом случае изымут, но вас не осудят. У знакомого был открытый socks5 прокси на роутере (разумеется, на нестандартном и высоком порту), через его канал кого-то то ли взломали, то ли написали что-то «нехорошее». Забрали компьютеры на несколько недель, потом отдали.
                • 0
                  Забрали компьютеры на несколько недель, потом отдали.

                  В каком состоянии? :)
                  • 0
                    В таком же, какое и было до изъятия, насколько я знаю.
        • +4
          А не стрёмно оказаться крайним, если «бедный человек без интернетов» будет через Ваш канал что-то взламывать или постить что-то что настолько не понравится большим чиновникам что они дадут силовикам команду «фас»? Не знаю, как на западе, но у нас точно никто в этой ситуации не будет разбираться с Вашим открытым вайфаем — повесят всё на Вас.
          • 0
            У меня раньше тоже был открытый вайфай, со всеми соседями перезнакомился таким образом (сниффил cookie от вконтакта и mail.ru, подставлял, узнавал имя/фамилию, писал им об этом). Сейчас же, если буду делать открытую сеть, буду пускать весь трафик через Tor, скорее всего.
    • +3
      А потом всплывает очередной heartbleed, подмена dhcp сервера и прочие MitM-атаки. Нет уж, ребята. Нечего делать посторонним в моей среде.
      • +1
        WPA никак от heartbleed на интернет-сервере не поможет.
        • +1
          С такой постановкой вопроса, конечно, не поможет. Но, предположим, мы все из себя секьюрные, и даже используем сплошной openvpn поверх физической сети. А в один прекрасный день появляется уязвимость, которая позволяет прослушать и этот трафик. А любой уже имеет к нему доступ, т.к. физический сегмент сети у нас уже общедоступен. Как говорится, безопасность лишней не бывает, тем более в данном конкретном случае она «стоит» значительно дешевле, чем даже использовать vpn/ipsec поверх физической сети для всех хостов.
  • +1
    Лет пять назад была популярна «рыбалка», перехват чужого траффика со спутника. В основном все гонялись за дистрибутивами софта и фильмами. Я за музыкой, здорово расширил коллекцию самыми невероятными записями. Возможно ли подобное для вайфая?
    • 0
      Только для открытых сетей. У остальных трафик шифруется. Если известен ключ, можно и расшифровать (об этом и написано в статье). Но при наличии ключа проще подключиться и самому скачать, что нужно.
  • 0
    Именно по такому принципу работают проводные сети — в них нет встроенной защиты и «врезавшись» в неё или просто подключившись к хабу/свичу сетевой адаптер будет получать пакеты всех находящихся в этом сегменте сети устройств в открытом виде.


    Я не согласен!!!
    Оставьте только хаб, коммутаторы как раз и решили проблему единой среды передачи данных

    • 0
      Про ARP-спуфинг слышали? Не все коммутаторы, есть и такие, которые при переполнении таблицы MAC адресов начинают вести себя как хабы, т.е. оправлять фреймы на все порты сразу. А еще есть зеркалирование у управляемых коммутаторов, но тогда для начала их надо взломать.
      • 0
        Как то не увязывается с данным высказыванием.
        просто подключившись к хабу/свичу сетевой адаптер будет получать пакеты всех находящихся в этом сегменте сети

        Всё же коммутатор, отправляет фрэймы в нужный интерфейс, если нету воздействия из вне.
        А вещание в радио среде, не позволяет выборочно отправлять фрэймы конкретному получателю.
        • 0
          Речь именно про ARP-флуд, после которого многие свичи некоторое время рассылают все пакеты по всем портам. Его достаточно для ARP poisoning. А так да, свич куда безопаснее хаба.
          • +2
            Неправильно понимаете.

            1) ARP poisoning нужен, чтобы хосты решили, что их default gateway — не тот, что на сетевом оборудовании, а ноутбук атакующего. В результате тот ноутбук будет пропускать через себя весь трафик до попавшегося клиента с возможностью MITM.
            2) То, что вы описываете, это просто вал любых пакетов с разными src mac (например, средствами macof). При этом не удастся пропускать через себя трафик, но вот послушать часть трафика между другими портами при некотором везении удастся.
            3) Для свитчей нехарактерно превращаться в хабы при переполнении CAM таблицы. Это было бы нелогично — если некуда записать новую запись (кончились банки), то зачем вообще флашить содержимое таблицы? Просто новые маки не будут запоминаться, а старые, пока пакеты с тех адресов видятся хотя бы раз за aging time, никуда не денутся.
  • +14
    Неужели кто-то прочитал «это» первый раз?
    Статей полно, и лет им соответственно. Сам статью на эту тему писал, ей года 3 уже, она не актуальна. Просто забавляют комментираии вида — «вау, автор, спасибо не знал», «вау, автор, как мне обезопасить себя?» и тд.

    Перебирал уже тьму пасов на вай-фае, и могу сказать, что весь упор словарей на подборе идет на 8 символов. Достаточно придумать 12 символьную ерунду, не имеющую смысла, и считай, ты в замке.

    ВПС защита ужасна, созданая для домозяек с нажатием 1 кнопки, это очевидно, пользоваться ей не советую, решето, взлом это вопрос времени. Ривером хакают только соседей, потому что очень мало дураков будут ломать из кафе 8+ часов какого-нибудь Ваню.

    Полный брутфорс пароля возможен, но более 10 символов заставляют взломщика поискать другую точку.

    Это все теория, повторюсь, копал я там глубоко, и как любой взлом, это просто вопрос времени и ценности. Если вопрос о конторе и последующем пентесте, то ваш cap файл может попасть на нехилую ферму, где ваши 12 символов вскроют как орех.

    Однако, если вы живете в 12 этажке, не в самом глухом лесу, и не у моря, то вам нечего бояться, «халявщиков» можно отогнать использую что-то отличное от godlovesex, и они пойдут искать счастья в другом месте.
    • +1
      Плюсанул, т.к. выше написал почти такой же комментарий :)

      Тема Wi-Fi настолько заезжена, что уже даже юные индусы пачками вываливают «видео-уроки» о «взломе wi-fi» и самое забавное, что действительно есть к ним комменты типа «Вау, круто!»
    • +1
      А на случай, если кто-то читает действительно в первый раз, да еще и с английским у него все хорошо, есть еще вот такая замечательная вещь www.cbtnuggets.com/it-training-videos/course/penetration-testing-with-linux-tools
      Там и про wifi, и еще куча всего полезного.
  • +1
    Надеюсь, что в статье про WPS будет что-то кроме того, что было в этих статьях:
    habrahabr.ru/company/xakep/blog/143834/
    habrahabr.ru/post/151688/
    А пока это только давно известная теория, как написано в комментарии чуть выше.
    • +1
      Весь материал статей так или иначе известная теория. Задача — именно собрать ее вместе с последовательными объяснениями проблем и защит.
  • 0
    используйте VPN (избегая PPTP)

    Тема PPTP не раскрыта.
  • +1
    Вторая часть будет опубликована завтра.
  • 0
    Вторая часть: habrahabr.ru/post/225483/
  • +1
    Вечер добрый господа, еще немного информации про радиус, мен ин зе мидл, хендшейк итд…
    Возможно будет полезным.
  • 0
    Спасибо огромное за столь интересную статью. Читал просто взахлёб, всё очень наглядно и кратко (без лишней воды) расписано. И Kali Linux интересная разработка, уже пошёл качать.
  • 0
    Опубликована третья часть: habrahabr.ru/post/226431/
  • 0
    Какие Хабы? Из какого питомника мамонтов беруться такие врезки?
    Положа руку на сердце — хоть кто-нибудь из читателей видел хаб за последние 5 лет в рабочем состоянии, обслуживающий сеть?
    • 0
      Я видел. Собственноручно его отключал в прошлом году.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.