Охранное агентство и «новые» технологии

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



    Небольшое предисловие


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


    В доме есть гараж, ворота открываются с пультика и соответственно туда ставится машина. Если дом стоит под охраной, то открытие с пультика вызывает сработку "тревоги" на ворота и через 2-3 минуты приезд серьёзных ребят. Чтоб этого не было, нужно сначала снять охрану (открыть тамбур, приложить ключик, закрыть тамбур, опять сесть в машину) и потом уже открывать ворота. И как-то эта процедура немного напрягает, особенно зимой, да и вообще как-то теряется вся "магия".


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


    Зато прознал, что у нашего охранного агентства есть чудо приложение "Мобильная клавиатура Феникс". Приложение не именно их, но с ним они работают. С его помощью можно с телефона управлять сигнализацией, что уже более-менее возвращает радость от пользования всем этим.


    А теперь сама история


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


    Всё бы ничего, но при регистрации тебе выдаётся логин в виде трёх букв, например abb (инициалы), а пароль делается из четырёх последних цифр номера телефона (как сказал инженер — чтоб не забывали), то есть например 0808. Немного опешив от услышанного, спросил можно ли пароль задать другой, сказали что можно, но только цифры. Ну ок, задал себе нужный пароль и удалился тестировать как всё работает.



    В голове тем временем уже созрела идея — а не попробовать ли...


    Берём айфон подключаем его к маку, запускаем: rvictl -s iPhone_UDID, цепляемся к новому интерфейсу через Wireshark и глядим, как работает и что шлёт наше приложение. Можно брать и другие девайсы/инструменты, но у меня такие.



    Работает оно, оказывается, через wamp протокол — это по сути почти тот же вебсокет. Естественно ничего не шифруется и можно посмотреть, как именно шлются запросы и собственно их повторить.


    Теперь пытаемся воспроизвести полученные запросы. Всё это для быстроты тестов можно поставить расширение для хрома типа "Web Socket Client" и пробовать там.



    Убедившись, что всё работает именно так как ожидалось, быстренько пишем клиента например на node.


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


    Наш клиент будет довольно тупой, но тем не менее эффективный. Клиент перебирает все логины состоящие из 3-х букв. Если логин существует — стартует перебор пароля по нему, если нет — переходим к следующему. Пароль же перебирается в диапазоне от 0000 до 9999.


    Запускаем всё это и ждём. Логины перебрались довольно быстро (минут 10), получилось около 150 штук (сервисом не так чтоб много пользуются). Пароль к каждому логину находится примерно за 8 минут. Никаких ограничений на проверку в АПИ нет. Причём можно долбить многопоточно.


    Пароли подбирались в 100% случаях. При успешном подборе пароля АПИ выплёвывает такую информацию как: ФИО владельца, адреса (объектов может быть множество), некие токены (видимо для отправки пушей), ид сессии и так далее.


    Авторизовавшись, можно соответственно снять с охраны весь объект. Объекты сами по себе попадались довольно отдалённые от города. Попадись эта информация в руки "плохих парней", то вскрытие, как бы охраняемого объекта, прошла бы безо всяких проблем, а потом спокойно можно было бы поставить под охрану и никто ничего бы не заметил.


    Осознав, что и я сам являюсь клиентом этой конторы — стало немного не по себе.


    Радует одно, видимо какой-то всё-таки мониторинг у компании есть или может случайно заметили, но через некоторое время приложение перестало принимать пароли, и предложило обратиться в офис.


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


    К чему это всё? Может кому-то после этого захочется сделать свою систему немного побезопаснее, а кто-то, кто пользуется аналогичным сервисом со схожими паролями посмотрит на это с другой стороны и попросит принять меры. Такими вот нехитрыми действиями немного повысится уровень безопасности.


    Я специально не привожу тут названий и максимально обезличил все данные, дабы тот, кто узнает себя — сделал выводы :)


    P.S. Данная статья носит исключительно информационный характер, описанные здесь проблемы на момент публикации уже не актуальны — компания приняла меры.

    Поделиться публикацией
    Комментарии 11
      +1
      Ничто не вечно в подлунном мире, кроме раздолбайства сторожей.
        0
        Подруга работала в банке бухгалтером-кассиром, пароли от своих программ были вида 12345ЮН, где ЮН — юзер нейм, т.е. инициалы…
        так и живём…
          +1
          Не сочтите вопрос за нескромный, но всё-таки, что это был за банк?
          Ну так, на всякий случай, чтобы совершенно случайно, туда не зайти…
          0
          Помнится, открывал я ИП, и расчётный счёт в одном банке под названием А… д, выдали мне флэшку с ЭЦП, и паролем для личного кабинета. Пароль был тот, который я за пару часов до этого сам установил. На флэшке, естественно, была ещё и корзина с вирусом.

          Пообщался насчёт этого безобразия с админом банка. Поразмыслил, пообщался с директором филиала, ещё поразмыслил, закрыл счёт и ушёл в другой банк.
            0
            Это случаем не лучший корпоративный АД 2018?
              0

              Вы про рекламу Сбера? К счастью нет, это банк помельче. Я с тех пор его Арьергардом называю.

                0
                Т.е. у вас не ездят автобусы «Авангард — лучший корпоративный банк 2018»? Даже у нас ездят, а в Мск в аэроэкспрессе рекламу видел.

                Впрочем, как частный клиент я им доволен сильно больше, чем Сбером, Уралсибом, ВТБ, Балтийским и Таврическим вместе взятыми. Только стремление иногда снять за текущий опердень надо пресекать, да периодические «данные анкеты устарели, вы — террорист».
                  0

                  Может и ездят, я за рулём на боковины автобусов, похоже не гляжу.

          +1
          Берём айфон подключаем его к маку, запускаем: rvictl -s iPhone_UDID, цепляемся к новому интерфейсу через Wireshark и глядим, как работает и что шлёт наше приложение. Можно брать и другие девайсы/инструменты, но у меня такие.

          Уважаю тех маководов, что знают о том, что макос — это форк юникса. Хотя бы так. Но таких реально единицы :)

          А так — лучше ARP-атака, с чем прекрасно на винде справляется Nighthawk, гуглится по «arp nighthawk».
          Тогда бы кусочек статьи выглядел бы так — «берём айфон, смотрим ip, убираем айфон в сторонку, запускаем nighthawk...»

          Я использую nighthawk уже довольно давно — очень удобная вещь. Любой дивайс шлёт вам свои пакетики, будь то планшет, труба, смарт-тв или ip-телефон.
            0
            Таких примерно столько же, сколько разработчиков, пользующихся макбуками.
            Много.

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

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