«Узнаю! Узнаю брата Колю!» — реалии современной информационной безопасности в сфере беспроводных технологий

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



    Так, секундочку…

    ДАЖЕ НЕ ДУМАЙТЕ!

    Материал предоставлен исключительно в ознакомительных целях. За любые вами совершённые действия по прочтении данной статьи я ответственности не несу.
    Другое дело.

    «А что, собственно, случилось?»


    На днях я смастерил незамысловатый агрегат (что является по своей сути помесью powerbank-а и всем известной Orange Pi с интегрированным Wi-Fi модулем), при помощи которого давеча мною был поставлен эксперимент, задачей которого стал подсчёт количества граждан (а также их предупреждение о том, что им следует более серьёзно относиться к целости и сохранности своих данных), что совершено не пекутся о своей безопасности в сети. Суть его проста — на апельсин ставится OpenWrt с dnsmasq (последний настраивается таким образом, чтобы на любой DNS-запрос клиента поступал один и тот же ответ — в нём должен содержаться адрес локального шлюза, на котором крутится веб-сервер) и нехитрыми манипуляциями поднимается открытая Wi-Fi сеть, коей присваивается тот самый пресловутый SSID — «MT_FREE», после чего подсчитывается количество человек и их смартфонов (вкупе с другими устройствами), что подключились к данной сети.

    Заводим игрушку
    /etc/dnsmasq.conf


    address=/#/192.168.1.1


    /etc/config/uhttpd

    config uhttpd 'main'



    option error_page '/index.html'


    /etc/config/dhcp

    config dnsmasq



    option leasefile '/usr/share/dhcp/dhcp.leases'


    /usr/bin/honeypot

    ###
    ###  Скрипт предназначен для непрестанного
    ###  мониторинга состояния файлов
    ###  dhcp.leases и php.leases
    ###
    
    while :; do clear && echo -e "I'm $HOSTNAME!\\n`date +%H:%M:%S`\\n\\nDHCP leases: `wc -l /usr/share/dhcp/dhcp.leases`\\nPHP leases: `wc -l /usr/share/dhcp/php.leases`" && sleep 1; done

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

    Вот так это несусветное безобразие выглядит
    <?php
    
    shell_exec('echo `date +%H:%M:%S` New DHCP lease and user action! >> /usr/share/dhcp/php.leases');
    
    ?>

    Так-так! А что у нас там на вкусненькое?


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

    К точке доступа моей за сравнительно небольшой промежуток времени успело подключиться в общей сложности 95 устройств, из них:

    • 24 телефона типа «iPhone» (что примечательно — в их hostname-ах, как правило, содержатся имена владельцев)
    • 31 телефон под управлением «Android»
    • 1 «Windows Phone»
    • 1 «BlackBerry»
    • 10 «Redmi» от Xiaomi
    • 7 портативных персональных вычислительных машин типа «ноутбук»
    • Некоторое количество прочих устройств, поддерживающих возможность соединения по каналу Wi-Fi




    79% аппаратов подключились к точке доступа в автономном режиме, i.e. без участия человека. На кнопку «Войти в интернет» нажало лишь 20 человек (21% от общей суммы всех подключившихся устройств).

    Чем это чревато?
    Социальная инженерия — страшный зверь, которого рядовые граждане обычно упускают из виду. Этого нам и стоит опасаться.

    Как заметил пользователь shanker,
    Угрозы при автоматическом подключении:
    1. Атака типа Evilgrade
    2. Социальная инженерия и увод паролей (редирект на подконтрольный похожий сайт, но без HTTPS, или подмена на нелигитимный сертификат)
    3. Майнинг криптовалюты путём модернизации контента, выдаваемого в браузеры
    4. Эксплуатация уязвимостей в браузерах (путём инжекции эксплоитов в запрашиваемые страницы).

    Как себя обезопасить?
    Отключите автоподключение к Wi-Fi хотспотам и очистите список сохранённых в памяти устройства точек доступа.

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


    «Товарищи! Смотрите все! Любителя бьют!»
    Ввиду того, что в миру являюсь я семнадцатилетним вьюношем и в колледже обучаюсь, любая критика со стороны сообщества приветствуется. Ученье, как там говорится… Свет!

    Премного благодарен за уделённое внимание, amico! До новых встреч!
    Поделиться публикацией

    Комментарии 37

      +8

      Ну это всё ж тема из разряда фича, а не баг… Понятно, что каждый второй смартфон москвича подключится к Вашей MT_FREE.
      Суть статьи — раздел "Чем это чревато?" А там собссно вода. Хотело бы интересных примеров, что можно раздать "миру" по неосторожности. Ну исключая такие банальные вещи как паблик сетевые шары на ноуте в винде

        –2
        Навряд ли рядовой смартфон может «по неосторожности» раздать нечто большее, нежели чем те же сетевые шары, как Вы сказали. Социальная инженерия — да-да, чревато именно этим. И более, гм, боюсь, ничем (могу ошибаться).
          0
          Хотело бы интересных примеров, что можно раздать "миру" по неосторожности.

          Из очевидного — перехват незашифрованного трафика.

            +2
            Для этого rogue ap не нужен
              0
              Те кто могли — уже осознали, что через хот споты по http лазить нельзя.
                +1
                Через ТОР тоже! :)
                  0

                  Чем тор не угодил?

                    +2

                    Выходные ноды слушают.

                  +1

                  Вы все апликухи в своём смартфоне проверили на то как они лезут: http или https?
                  А если у сайта нет https версии, то Вы на него совсем не ходите?


                  В теории легко говорить "по http лазить нельзя", но на практике это зависит не от пользователя, а от владельца сайта или автора программы.

                    +1
                    У меня нет приложений на смартфоне, которые какую-то ценную инфу гоняют по инету.
                    Я вообще сичтаю идиотизмом на смартфоне хранить ценную инфу, в силу легкости ею завладеть.
                    Ну а приложения на мобилках оперирующие ценной инфой — вообще зло, ибо пишутся в основной массе криворукими идиотами.
                      0

                      И много вас таких?

                        0
                        5%?
                          0

                          Я бы сказал что Ваша слишком оптимистична.


                          А значит "перехват трафика" очень даже полезен для одним и опасен для других.


                          Мы же говорим не о сферическом пользователе в вакууме, а о реальном потоке граждан идущих мимо фальшивой вайфай-точки.

                0
                В теории, можно подменить сервер обновлений: смартфон при подключении к сети запросит информацию об обновлениях, получит положительный ответ, после чего скачает и установит вредоносное ПО. Разумеется, если при запросе обновлений не проверяется сертификат сервера, что маловероятно. Но есть же рутованые телефоны, мессенджеры. В теории, любое популярное ПО может самовольно скачивать и устанавливать обновления. Останется только настроить на своём девайсе роутинг того трафика, который отвечает за основной функционал и перехват запросов на обновление.

                Полагаю, тут владельцу девайса нужно выбрать точку, в которой люди будут находиться значительное время. Скажем, аудитория в ВУЗе. И можно просканить все попытки устройств получить обновления. Тогда эксперимент будет уже повеселее.
                +6
                Honeypot — это техника обнаружения вредоносной активности заключающая в себе создание подставного ресурса созданного исключительно для заманивания и идентификации вредителей.

                То что вы сделали называется rouge ap и ничего оригинального в этом, к сожалению, нет.
                  –1
                  А, быть может, и к счастью. Спасибо за комментарий!
                    +1
                    То что это в принципе возможно уже вызывает сожаление.
                  +5
                  Зачем надо было выделять «10 «Redmi» от Xiaomi» из группы «31 телефон под управлением «Android»»?
                    0

                    Согласен, тоже смутило это

                      +4
                      Наоборот же интересно, судя по новостям Xiaomi все больше захватывает рынок смартфонов. Любопытно было бы взглянуть на реальную статистику с улиц, в дикой природе, так сказать. Именно для этого как раз и можно использовать устройство, собранное автором.
                        0
                        Это скорее всего не выделение. Простой андроид в сеть даёт своё название как «android-*», а телефоны от xiaomi что-то похожее на «Redmi...»
                        image
                          0
                          И это не значит, что телефоны сяоми перестают быть смартами на андроид. Или автор не знает, что редми — это андроидный смарт?
                          0
                          Т.к. павербанк, судя по цвету, был любезно представлен /в образовательных целях/ именно ими. Возможно.
                          0
                          Статья затрагивает проблему конфликта законов и сетевой гигиены.
                          К примеру, я всегда использую на мобильных устройствах OVPN с опцией Seamless Tunnel, т.е. все, что может узнать точка доступа обо мне, это то, что мой смартфон установил соединение с каким-то сервером и обменивается с ним данными. Однако, этот подход блокирует мне возможность пользоваться «законными» открытыми сетями, где нужно сперва как-то что-то подтверждать, прежде чем доступ к интернету будет получен.
                            0
                            Недавно ставили какую-то приблуду, которая в фоне сама там «подтверждает», шоб рекламу в метро не смотреть. Не знаю, работает ли еще это.
                            А еще раньше я себе писал скрипт, который входил в вайфай макдаков автоматически. :)
                            0
                            Подставной ресурс, печальная реальность. Знакомо до боли. В « халявных « сетях приходиться защищаться VPN-ом.
                              0
                              Ну и в чём проблема-то? Ну подлючились они и что?
                                0
                                Как минимум человек может начать пользоваться такой сетью (даже не заметив этого) и владелец поддельной точки может без проблем перехватывать трафик пользователя.
                                  0
                                  Так https ведь.
                                    0

                                    Так MITM ведь.
                                    И вроде как оно не всегда так непреодолимо сложно, как кажется, например, если пользователь просто заходит на какие-то сайты, FTP, почтовые сервисы.
                                    Например, в фальшивой сети заворачивает пользователя вместо его любимого ресурса на подставной (фальшивый DNS в простом случае и привлечение маршрутизации в сложном).
                                    А дальше пересылаются на подставном сайте запросы на оригинал и ответы обратно.
                                    Или я что-то не учитываю?

                                      0
                                      Вы не учитываете защиту сертификатами и очень назойливые предупреждения браузеров.
                                        0

                                        Защита сертификатами и проч. как правило, помогает только на десктопе, поскольку там хорошо видно адрес (впрочем, не всегда, видел браузеры, где вместо адреса видно только название сайта).
                                        На мобильных устройствах, кои с большой вероятностью и могут попасть под ложную WiFi, часто адреса не видно совсем. И даже продвинутый пользователь не всегда имеет возможность без сложных действий этот адрес увидеть (видел много таких мобильных браузеров).
                                        И какой повод у вашего браузера будет предупреждать пользователя, если вы зайдете не на ozon.ru, а на blablabla.ru, легально зарегистрированный (на левое физическое лицо) с легально полученным под него сертификатом (аналогично адресу).
                                        Понятно, что атака пройдет не во всех случаях, но простых мобильных серферов вполне можно окучивать.
                                        Конечно, браузер может отловить перенаправление на другой адрес, но такое и на легальных сайтах встречается, а пользователи не всегда замечают даже заметное мелькание при перенаправлении на другую страницу.

                                0
                                Интересно наступит ли тот день когда в php файлах перестанут ставить
                                ?>
                                  0

                                  Настанет ли вообще тот день, когда вся конструкция <?php ?> (пережиток эпохи, когда PHP был шаблонизатором), окончательно останется исключительно в шаблонах.

                                  0
                                  По сути статьи выше сказали лучше меня, но, автор, кто так диаграммы красит? Где у вас граница между Андроидом и iOS? Что так ярко-красный, что так…
                                  А вообще, спасибо. Невольно задумываюсь, а нормально ли вообще, что идентификатор сети — это именно её имя (общедоступное), а не какая-то внутренняя характеристика… Впрочем, если её можно настраивать — ловушка остаётся (а если нельзя — то следующий вопрос будет «и как сделать одну и ту же сеть с разных источников?»), так что мысль не развиваю.
                                    +1

                                    Офф. Кого как, а меня порадовало, что парнишка читает Ильфа и Петрова.

                                      +1
                                      Угрозы при автоматическом подключении:
                                      1. Атака типа Evilgrade
                                      2. Социальная инженерия и увод паролей (редирект на подконтрольный похожий сайт, но без HTTPS, или подмена на нелигитимный сертификат)
                                      3. Майнинг криптовалюты путём модернизации контента, выдаваемого в браузеры
                                      4. Эксплуатация уязвимостей в браузерах (путём инжекции эксплоитов в запрашиваемые страницы).

                                      Насчёт статистики по устройствам. С выходом iOS 11 можно ожидать увеличения iPhone в таких статистиках.

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

                                      Самое читаемое