Предисловие


Данный текст это, в первую очередь, предостережение для системных администраторов и простых пользователей. Внезапно для меня, выяснилось, что относительно известная программа для удаленного администрирования «LiteManager» (далее LM) сама по себе, без модификаций и каких-либо изменений, представляет собой backdoor для любого компьютера, где она установлена. То есть, если на ПК установлен LM и используется соединение по ID (без IP адреса), то, с очень высокой, почти 100%, долей вероятности, к этому ПК можно получить неправомерный удаленный доступ совершенно постороннему пользователю, приложив при этом минимум усилий, не обладая при этом какими-то специальными навыками взлома. Описание технологии «взлома» и работающий пример с исходным кодом ниже.


Я программист в небольшой компании, наш софт не связан с сетевыми технологиями, однако, иногда сотрудникам нужен удаленный доступ к рабочим ПК. По разным причинам, выбор пал на LM, который бесплатен для 30 сотрудников. Помимо прямых соединений в локальной сети (а-ля Radmin), LM позволяет работать и без указания IP-адреса удаленного компьютера, по ID, через сервера Компании (ха-ха) или пользовательские сервера, которые может развернуть любой желающий, при условии наличия внешнего IP адреса (на первый взгляд, похоже на TeamViewer, но это только на первый).


Как устроена сеть NOIP серверов LM


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


Соединение по ID, в программах такого рода, позволяет осуществлять связь, даже если удаленный (и/или локальный) компьютер находится за NAT. Вы указываете ID и пароль удаленного компьютера, жмете OK и получаете полный контроль над машиной. При этом, и компьютер администратора (далее Viewer) и удаленный ПК (далее Server, да, в терминологии LM именно так, не путайте с LM NOIP сервером, т.е. роутером) используют только исходящие соединения до роутера.


И вот здесь начинается самое интересное. Ниже описание с официального сайта.



С официального сайта

Уловили суть? Чтобы использовать личный NOIP роутер и бесплатную версию, нужно открыть этот роутер для всех. Казалось бы, что в этом плохого? Для ответа на этот вопрос, разберемся с общей схемой NOIP роутеров LM.


У них есть один, так называемый, «Главный сервер», который координирует остальные открытые роутеры, через которые и гонит весь трафик, в т.ч. и коммерческих пользователей. Это отслеживается любой программой мониторинга TCP соединений — сначала запрос к главному серверу, потом — работа через случайный (или не случайный, в зависимости от настроек).



Схема серверов LM

Цимес в том, что для работы по ID не обязательно развертывать личный NOIP сервер, мы, кстати, свой сервер не устанавливали. Все работает «из коробки» за счет наличия уже имеющихся бесплатных открытых NOIP роутеров, коих уже несколько десятков, их список доступен прямо из Viewer. Программа сама выбирает какой-то сервер (он может быть каждый раз разный) и трафик идет через него. Таким образом, очевидно, Компания решила сотворить некое подобие торрент-треккера, сэкономив на трафике и серверах.


Глобальная уязвимость


Но, как показала практика, эта идея красива лишь в виде идеи. По факту, через совершенно случайные сервера, принадлежащие случайным людям, происходит проксирование трафика, включая и пароли доступа к удаленным ПК, конечно же, а не новую серию «Звездных войн», как в случае с торрентом.


Да, естественно, трафик зашифрован.



С официального сайта

RSA 2048, AES 256, все дела. Шифруется только канал Server <=> Viewer, хотя, даже если бы шифровались каналы Serve <=> NOIP и Viewer <=> NOIP, это ничего бы не изменило кардинально. Однако, никакой проверки подлинности сервера в программе и в помине нет! Да если бы даже такая проверка была, из практики работы с RDP, могу ответственно заявить, что мало кто обращает внимание на предупреждение о том, что не удается проверить подлинность удаленного компьютера.



Предупреждение по версии RDP

Но, повторюсь, даже такой проверки там нет. И тут мне на ум приходит аббревиатура MITM. Атака «человек посередине». Практически сразу стало понятно, что поиски дыры завершены.


Даже после беглого изучения трафика Wireshark’ом и просмотра модулей программы под отладчиком, стало понятно, что это оно.


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


Но LM предоставляет, прошу прощения за еще один восклицательный знак, эту инфраструктуру любому желающему, при этом, как они любят повторять на своем сайте — бесплатно! Устанавливай открытый LM роутер и «слушай» весь трафик, который через него идет. Эдакая рыбалка ID и паролей доступа к удаленным машинам. Осталось только перехватить трафик и расшифровать его.


В итоге, у нас глобальная, архитектурная уязвимость всей инфраструктуры LM. Намерено это было сделано или ввиду отсутствия элементарных знаний в области сетевой безопасности? Вопрос открытый.


Перехват трафика


К данной статье прилагается полностью работающий пример программы, с исходным кодом, которая умеет перехватывать практически все ID и пароли соединений, проходящих через LMNOIP роутер. Единственное требование — внешний IP адрес.



LMSoulCry.exe

LMSoulCry нужно ставить в сети перед LM NOIP роутером.


LM NOIP роутер устроен таким образом, что при запуске, он обращается к Глобальному серверу LM, видимо, для регистрации. Глобальный сервер, в свою очередь, пытается установить обратное TCP соединение к этому роутеру. Если это удается, то роутер можно перевести в бесплатный режим и пользоваться, т.е. он открыт для всех.


Нам необходимо сделать так, чтобы входящие TCP соединения принимала наша LMSoulCry (она их, в свою очередь, будет перенаправлять на LM роутер). А исходящие соединения LM роутер будет отсылать самостоятельно прямиком на Глобальный сервер, без нашего участия.


Вот типовая схема настройки. У вашего ПК внешний IP адрес. Устанавливаем виртуальную машину для запуска на ней LM NOIP роутера. Подключаем ее через встроенный NAT адаптер (он есть в VMWare) к вашему основному ПК. Настраиваем интернет на виртуальной машине (зачастую, ничего настраивать не надо, все само работает). Запускаем на физическом компьютере, с внешним IP, LMSoulCry.exe и указываем в ней внутренний адрес виртуальной машины. Далее, включаем LMSoulCry и стартуем LM NOIP роутер (который на виртуальной машине). Случайные пользователи не заставят себя долго ждать.


Если внешний IP адрес не у вашего ПК, а у маршрутизатора, то нужно, всего-навсего, указать port-forwarding в настройках этого самого маршрутизатора.


Если нет внешнего IP адреса, то на практике ничего не проверишь.


Реализация MITM


Что касается реализации MITM, там все банально. LM использует MS Crypto API, это еще больше упрощает дело подмены ключей. Исходный код LMSoulCry щедро снабжен комментариями, переносить его в статью смысла не вижу.


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


Данный пример, также, без труда можно расширить для перехвата чего угодно, из того что пропускает через себя LM. Так как трафик фактически ничем не защищен со стороны NOIP. 


Тут, что называется, надо не говорить, а показывать.


Крик души, лирика и выводы


После обнаружения данной уязвимости разработчикам LM было направлено письмо. На которое так и не был получен ответ.



Ответственные

Возможно, вам ответят. Попытайте счастье.


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


Зато у меня есть уверенность, что профессиональные хакеры уже очень и очень давно в курсе про данную «архитектурную особенность» этого ПО и давно ее используют в своих целях.


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


Да, я могу понять и простить Компанию, когда с ее серверов утекают персональные данные. Когда находят какую-то редкую уязвимость и хитро эксплуатируют ее. Но, когда уже более 5 лет предлагается, извините за выражение, лохотрон, причем массовый, — тут нет прощения и понимания. Надеюсь, хотя бы эта статья возымеет силу.


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


Всем, кого беда миновала, настоятельно рекомендую «keep your eyes open», а также помнить про высказывание о бесплатном сыре и мышеловке.


> Github

Поделиться с друзьями
-->

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


  1. dmbarsukov
    02.05.2017 12:21

    Удалить или отключить noIP доступ к машинам без удаления LM не получится?
    Если вы не пользуетесь noIP — то к машинам на которых установлены клиенты все равно можно получить доступ без проверки логина и пароля?


    1. LMSoulCry
      02.05.2017 13:13

      Если соединение по ID не используется вообще, вроде бы, бояться не чего.
      Если соединение по ID используется, но не через свой NOID сервер, а через случайный (думаю не ошибусь, если это большинство случаев, в том числе и мой) — уязвимость есть. Более того, если злоумышленнику заранее известен конкретный ID, то получить пароль дело нескольким минут.


  1. skyblade
    02.05.2017 13:20

    Какие есть бесплатные альтернативы LM? Мы его так долго и мучительно выбирали из кучи всяких других решений, в каждом из которых чего-нибудь не хватало :(


    1. AcidVenom
      02.05.2017 13:25
      +2

      Статический IP и поднятый VPN? Почти бесплатно, ~1200-1500р в год.


    1. Nikobraz
      02.05.2017 13:46

      LM вполне себе хорош, если не пользоваться NOIP который сам по себе дыра, как и прочие TeamViewer, Ammyy и т.д.
      Статический IP, VPN, да хотя бы повесить на нестандартный порт с port-knocking и fail2ban.


      1. Germanets
        02.05.2017 14:01

        если не пользоваться NOIP который сам по себе дыра, как и прочие TeamViewer, Ammyy и т.д.
        — а можно уточнить — TeamViewer и Ammyy имеют такие же уязвимости? или вы всё-таки что-то другое имели ввиду?


        1. Nikobraz
          02.05.2017 14:03

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


          1. Germanets
            02.05.2017 14:09

            То есть у TeamViewer и Ammyy инфраструктура также собирается из числа желающих клиентов, либо всё-таки она находится под их контролем?


            1. Nikobraz
              02.05.2017 14:14

              Под их, но сути особо не меняет. Я вот только не понимаю, что мешало авторам LM сделать также. Наличие удаленного доступа само по себе дыра.


      1. VJean
        02.05.2017 14:46

        Ammyy

        Этого трояна еще надо постараться скачать…


        1. Nikobraz
          02.05.2017 15:17
          +1

          Некоторые 1С франчи до сих пор им пользуются. Приходится объяснять, что мы бы им с радостью дали доступ, но эту дрянь нынче даже не скачать.


    1. AlekseyPolyakov
      09.05.2017 13:48

      1. https://www.nomachine.com/ Free Remote Desktop — для использования нужен прямой сетевой доступ, nat перепрыгивать не умеет. Проект живой и развивающийся, но продукт сырой. Он больше предназначен для индивидуального доступа на компьютер. Чтобы перепрыгивать nat, можно использовать в связке c VPN. Работает на Windows и Linux.
      2. VNC(прямой сетевой доступ) + репитер(помогает перепрыгнуть nat) — сам VNC работает в большей или меньшей степени в зависимости от реализации, репитер как бы работает, но таким образом, что им тяжело и неприятно пользоваться. Здесь упоминали https://habrahabr.ru/post/142870/ Работает на Windows и Linux.


  1. vesper-bot
    02.05.2017 15:11

    По-хорошему, подобная система должна изначально проектироваться так, чтобы учесть риск роутера-MitM. То есть, роутер должен максимум помогать определить порт для UDP hole punching (и помочь его выполнить пирам), а также держать на себе какую-то часть метаданных по поводу «клиент ID xxxx находится на IP yyyy порт zzzz», по которому роутер может дернуть клиента, когда к нему пытается соединиться другой клиент. А сам трафик должен ходить по UDP между пирами, и всё, причем handshake+PFS должны проходить мимо роутера. По возможности, естественно. Если используется TCP, то роутер должен просто гонять трафик без изменений с одного сокета на другой, при этом опять-таки клиенты должны иметь возможность выполнить PFS-согласование. Тогда никакая прослушка не должна будет позволить выцепить пароли из трафика, пойманного на роутере.


    1. vesper-bot
      02.05.2017 15:18

      Из статьи, кстати, следует, что PFS у LM присутствует. Тогда где дыра? В его реализации, что ли?

      Я вижу такое приложение как: На каждом клиенте Для каждого клиента выпускается сертификат с его ID, который используется для установки PFS-соединения отдельно с роутером для того, чтобы к нему мог хоть кто-то присоединиться, и отдельно с viewer'ом после того, как роутер эти два компа связал, и ДО того, как viewer будет передавать пароль для подключения. В этом случае трафик между пирами хотя и ходит через роутер, но роутер его расшифровать не может, так как не может вычислить сеансовый ключ Диффи-Хеллмана, ибо не имеет ни одного закрытого ключа. И насколько в итоге LM от этого «идеала» отличается? (За то, что схема идеальна, все-таки не поручусь — маловато я знаю в криптографии)


      1. LMSoulCry
        02.05.2017 15:36

        Тут такие соображения:
        а) В удаленном администрировании сертификаты используются не так часто, бывает просто некогда их прописывать, экспортировать-импортировать. Это касается, в том числе, таких грандов, как RDP.
        Либо на неправильный сертификат или его отсутствие попросту не обращают внимания. То есть это далеко не HTTPS в его идеальном виде.
        б) LM использует не DH, а RSA. Хотя, в данном примере это не делает абсолютно никакой погоды.
        в) При такой схеме, как в LM почти наверняка можно будет пропатчить роутер каким-то образом, чтобы он был как родной. Единственный выход это полноценная проверка подлинности уленной стороны, но тут мы возвращаемся к п. А.


        1. vesper-bot
          02.05.2017 18:12

          С RDP отдельная проблема, но все равно, при установке RDP-сервера (точнее винды) сертификат генерируется автоматически, и технически при подключениях после первого ты имеешь на руках thumbprint того сертификата и можешь его использовать в качестве проверки, а оно это или нет.
          Насчет RSA — а как именно? Если использовать RSA для согласования сессионного ключа по методам PFS, то имхо этого хватит. На этапе установления соединения шифровать данные до сервера, потом только до клиента, в итоге через сервер пойдет шифрованный трафик. И тогда отпадает необходимость проверять именно роутер. Проверять сервер все равно придется.


  1. DenisYahnovec
    02.05.2017 15:40
    -5

    Фактически реализована подмена сервера, с перехватом трафика, явно написано специально под взлом программы LiteManager.

    Сейчас могу рекомендовать перейти на Авторизацию WinNT или включить разрешение/уведомления на подключения.
    Всем рекомендую использовать свой личный NOIP.

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


    1. Sergey-S-Kovalev
      02.05.2017 16:45
      +2

      А зачем нам ваш личный NOIP? Пароли коллекционируете?

      | Сейчас могу рекомендовать перейти на Авторизацию WinNT
      Теперь вы хотите логины и хэши паролей от корпоративной сети? Просто прелестно. Может вам сразу корпоративный трукей с сертификатом выслать?


      1. DenisYahnovec
        02.05.2017 17:20

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


  1. DenisYahnovec
    02.05.2017 16:02
    -11

    Хочу так же напомнить что за взлом в Интернете есть статья.


    1. akirsanov
      02.05.2017 16:31
      +5

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


      1. DenisYahnovec
        02.05.2017 17:25
        -2

        Запустить перехват паролей у меня не удалось
        Поправки в программу будут внесены все равно уже сегодня же.

        Статья грозит не за нахождение а за использование этих уязвимостей.


        1. Nikobraz
          02.05.2017 17:40

          Не забудьте пожалуйста сделать галочку, чтобы полностью отключить noip функционал.
          На вашем месте было бы логично поднимать свой сервер и брать небольшую копеечку(как это уже вы придумаете, там подписка или отдельная лицензия), но и обеспечивать достойный уровень приватности. Мне нравится ваш продукт, но и безопасностью сети обеспокоен.


          1. DenisYahnovec
            02.05.2017 18:00

            Согласен с Вами, хочется сделать что-то хорошее и недорогое, Безопасность для нас на первом месте.


    1. Sergey-S-Kovalev
      02.05.2017 16:40
      +1

      По моему отличный пример, почему за support@ должен скрываться сервисдеск, а не конкретный сотрудник.
      Про@#ал письмо, компания понесла репутационные потери, сколько денег прибылей упущено так вообще не сосчитать %)


    1. onyxmaster
      03.05.2017 08:04

      Жаль что нет статьи за некомпетентность в Интернете :)


  1. DenisYahnovec
    03.05.2017 09:25
    +2

    Программа обновлена до версии 4.8.3 в процесс авторизации внесены изменения, с учетом данного вида угроз.

    Спасибо Всем, извините за неудобства.


    1. dmbarsukov
      03.05.2017 10:36
      +3

      вот за диалог и скоростное закрытие проблем и любим правильных разработчиков. Еще бы на support@ вовремя удалось ответить, и тогда бы тема не выплыла на хабр.


      1. DenisYahnovec
        03.05.2017 11:57
        -3

        мы не получали сообщений на support@,
        Все это похоже на информационную атаку на LiteManager,


        1. LMSoulCry
          03.05.2017 14:18
          +4

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


  1. sergio_deschino
    03.05.2017 11:15

    Я так понял, что если поднять свой "роутер" и ходить через него, то никто ничего не перехватил бы?


    1. DenisYahnovec
      03.05.2017 11:55

      Да, если свой NOIP то да все в порядке.


  1. kirillaristov
    03.05.2017 11:44
    +1

    Об ошибках правописания и выборе.
    Интересно, когда айтишник замечает на официальном сайте it-продукта грамматические ошибки и опечатки в описаниях, проводит ли он параллели с качеством продукта? Могут ли ошибки повлиять на выбор?


    1. DenisYahnovec
      03.05.2017 11:58
      -3

      сообщайте обо всех ошибках, мы поправим.


      1. VJean
        03.05.2017 12:57
        -2

        Неплохо устроились…
        Вы еще сорцы опубликуйте, чтобы сообщество ошибки исправило.


      1. hdfan2
        04.05.2017 06:10
        +2

        Как минимум, поправьте все «что бы», уже будет существенно лучше.


  1. JTProg
    03.05.2017 14:08

    Прямо напрягся после прочтения. Компания не большая — 35 человек. На TeamViewer вряд ли дадут денег, а в LM меня привлекал функционал. Теперь снова надо выбирать новый продукт для удаленного администрирования как внутри, так и снаружи.


  1. LMSoulCry
    03.05.2017 14:15
    +2

    По информации с официального сайта:

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


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


    1. DenisYahnovec
      03.05.2017 14:21
      -4

      Если честно Вы очень подозрительная/странная личность)
      Взломом занимались профессионалы, а сейчас Вы пишите явно какие то глупости…


      1. hdfan2
        04.05.2017 06:16
        +3

        Если бы LMSoulCry был «подозрительной/странной личностью», фиг с два вы бы тут про него услышали. Он просто написал бы эксплойт и драл бы ваших пользователей. Он вам помочь пытается, а вы его обвиняете хрен знает в чём. Совковый «сервис» в его типичном проявлении. «Клиент всегда не прав». Лучше бы связались с ним, попросили помощи в тестировании исправления, дали бы какой-нибудь бонус — и человек бы написал тут про вас (заслуженно, заметьте), какие вы хорошие и правильные. Могли бы ещё и пропиариться. Но у вас (не вас лично, а вашей компании в целом) на это ума не хватает.


  1. ilyakos
    03.05.2017 14:18

    А про TeamViewer что-то такое слышно?


  1. Baton34
    03.05.2017 14:18

    Давно юзаю этот продукт для поддержки родственников, но noip никогда не пользовал т.к. через чужой паранойя не позволяла, а linux-версии noip-сервера нет, чтоб поставить на машину которая в сети 24/7.


  1. AlekseyPolyakov
    09.05.2017 03:18

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

    От себя хочу добавить, что по умолчанию LM сервер не использует соединение по ID, кроме того включение запроса подтверждения подключения исключает возможность попасть на компьютер зная IP, ID, пароль и даже при включенной авторизации по ID.

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

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


    1. grumbler66rus
      09.05.2017 22:14

      Автор статьи указал в ней, что честно пытался сообщить об уязвимости, но не получил ответ.


      1. AlekseyPolyakov
        09.05.2017 23:17
        +1

        Мне ни о чем не говорит реплика о том, что ответ не был получен. Это эмоции. Конкретной информации на эту тему не приведено, а именно: когда отправлено, за какое время ответа не последовало, в каком тоне было написано письмо. Здесь в целом немало эмоций, что вредит всеобщему пониманию вопроса.

        Я формирую свое понимание вопроса из ответов на некоторые конкретные вопросы:
        1.Каково процентное соотношение пользователей использующих в работе ID и общего числа пользователей LM?
        2.Уязвима ли дефолтная инсталляция LM сервер?
        3.По какой причине разработчики не отреагировали и так ли это на самом деле?
        4.Для чего и кому нужно публиковать софт для эксплуатации уязвимости в молодой, но уже массовой системе?
        5.Кто в первую очередь пострадает в результате публикации софта?


        1. UnknownQq
          10.05.2017 08:04

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

          И да, не в защиту, но… сделать софт, зная общий принцип — дело техники.


          1. AlekseyPolyakov
            10.05.2017 09:47

            Согласен, ситуация не однозначная. На часть вопросов нельзя однозначно ответить. Было бы хорошо, если бы разработчики LM прокомментировали вопросы №1 и 3.


            1. lvx
              10.05.2017 11:05

              По поводу 3 пункта разработчик уже отписывался тут.


              1. AlekseyPolyakov
                10.05.2017 12:01
                +1

                Спасибо.
                LMSoulCry, могли бы вы прокомментировать вопрос №3 и показать скрин письма на support@litemanager.com с датой и временем отправки? Хочется понять куда на само деле делось это письмо, если вы отправили, а разработчики его не получили и было ли оно. К просьбе прошу отнестись с понимаем, уверен, интересно будет не только мне.


        1. LMSoulCry
          10.05.2017 14:53

          1.Каково процентное соотношение пользователей использующих в работе ID и общего числа пользователей LM?
          Спросите у разработчиков.
          2.Уязвима ли дефолтная инсталляция LM сервер?
          Уязвима, если использовать ID. Внимательно почитайте статью. Причём, уязвима до сих пор, никто закрывать уязвимость не собирается. Предлагается обновить версию софта.
          3.По какой причине разработчики не отреагировали и так ли это на самом деле?
          4.Для чего и кому нужно публиковать софт для эксплуатации уязвимости в молодой, но уже массовой системе?
          5.Кто в первую очередь пострадает в результате публикации софта?
          Ответы на эти вопросы не имеют смысла, как и сами вопросы. Софт далеко не молодой.


    1. LMSoulCry
      10.05.2017 14:52

      Здесь есть два ответа: этичекий и технический.

      1. Этический. Да, определённые сомнения у меня были, стоит ли писать статью или нет, с рабочим примером. Реакция разработчиков показала, что я был полностью прав, опубликовав уязвимость. Эту дыру в безопасности, никто не собирается править. Да, выпустили апдейт, который якобы не уязвим, об этом я напишу в следующем пункте. Но все предыдущие версии как были уязвимы, так и остались.И это после публикации на самом известном техническом ресурсе страны. Сколько времени уйдёт на обновление у всех пользователей? Думаю что не один год.

      2. Технический. Перечитайте статью и посмотрите пример. Уязвима архитектура целиком. В примере только конкретный образец, показывающий общий принцип. Компания разработчик не собирается менять этот принцип, судя по всему. А значит уязвимость никуда не делась. Соединения как шли через посторонние сервера, так и идут, а это значит, что трафик можно подделать, это только вопрос реализации. Злоумышленник может что угодно делать с NOIP роутером и viewer, в том числе, подкладывать и перехватывать любые пароли или их хэши. При такой архитектуре даже полноценный SSL не спасёт в большинстве случаев, это все описано в статье.

      Уверен, что ребята сделают работу над ошибками и продукт продолжит развиваться.
      10 дней прошло, программа все ещё уязвима, если её не обновить. Ребята подставляют всех своих пользователей.


      1. lvx
        10.05.2017 15:23

        Но все предыдущие версии как были уязвимы, так и остались.

        Поясните, пожалуйста, чего именно вы ожидали от разработчиков по поводу уже выпущенных и установленных версий?


        1. LMSoulCry
          10.05.2017 15:34

          Как минимум, прекращение практики отправки трафика через сторонние сервера и перевод на свои или проверенные. Это в их силах, но это не сделано.


      1. AlekseyPolyakov
        10.05.2017 23:37

        Спасибо за ответ! То что вы пишите интересно, понятно и убедительно. И все же я прошу вас окончательно прояснить ситуацию с письмом, я об этом писал выше.
        Кому это интересно, прошу это обозначить комментарием ниже или плюсом.


        1. LMSoulCry
          11.05.2017 00:27

          Вы ждёте оригинал письма? Его не будет, неужели это не понятно из содержания статьи? Называть самостоятельно и публично компанию и имена после публикации данного материала было бы верхом глупости с моей стороны. Выступать в роли правдоруба с помесью Жанны Д'Арк я не собираюсь, это не по адресу. Устраивать тут Дом2 — зачем.


          1. AlekseyPolyakov
            11.05.2017 01:33

            Я понимаю ситуацию и не стараюсь получить информацию для вашей идентификации (уверен, что идентифицироваться вам ни к чему). Но разработчики говорят, что они не получали письмо. После публикации статьи они предприняли попытку, что-то поправить, как-то отреагировали и выглядит это, не смотря на частичное решение, адекватно. Непонятно почему они не сделали это после вашего письма. Им точно не нужны были эти глобальные проблемы. Если вы показать не можете, то основная причина публикации, отсутствие своевременной реакции со стороны разработчиков на проблему, останется не раскрытой. Нам остается только догадываться, что на самом деле было причиной публикации (напрашивается более одного варианта) и верить\не верить на слово вам и им. Как я понимаю инцидент не исчерпана. Буду наблюдать не то с интересом, не то с грустью за развитием событий. Спасибо за ответ.


  1. grumbler66rus
    09.05.2017 22:18

    Мне не хочется тратить время на анализ кода, поэтому просто спрашиваю:
    неужели в протоколе входа по ID в litemanager не используется CRAM? Это ведь самый простой и наиболее быстрый способ сокрытия пароля от MiTM!


    1. LMSoulCry
      10.05.2017 14:55

      неужели в протоколе входа по ID в litemanager не используется CRAM? Это ведь самый простой и наиболее быстрый способ сокрытия пароля от MiTM!
      Даже если что-то в этом духе использовалось бы, это только немного усложнит жизнь злоумышленникам. viewer, очевидно же, можно модифицировать таким образом, чтобы он отправлял заранее перехваченный хэш. Да, это не так удобно как пароль, но все равно, к безопасности не имеет никакого отношения.


      1. grumbler66rus
        10.05.2017 15:52

        Никаких «что-то в этом духе». CRAM — это стандартный метод, исключающий перехват пароля. Метод как раз и передаёт хэш в открытом виде, и основан на допущении, что вычислить пароль из хеша невозможно за то время, пока пароль актуален. При правильной реализации CRAM пересылать перехваченный хэш бессмысленно.


      1. grumbler66rus
        10.05.2017 15:56

        Если вы не в курсе, поясняю: первая буква аббревиатуры CRAM — Challenge — генерируется сервером на случайной основе и должен быть непредсказуем. Перехватывать однократно используемое значение бессмысленно, это просто лишнее действие в брутфорсе.


        1. LMSoulCry
          11.05.2017 00:32

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


          1. grumbler66rus
            11.05.2017 07:30
            +1

            Да хоть заперехватывайтесь. Повторяю:

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

            Поясняю. Алгоритм должен быть таким, чтобы за время составления вашей таблицы пароль успел устареть. Например, 200 лет. Ещё учтите объём таблицы. 2^512 степени значений вас хранить не напряжёт? А искать по ним?


            1. LMSoulCry
              11.05.2017 18:44

              Ответ прост — атака на слабый пароль. А, уверяю, слабых паролей 3/4 из всех. Допустим, есть слабый пароль «igor12345». Пробовать подобрать его по сети даже со словарями безнадёжно. Ну какая там будет скорость подбора, 10 паролей в минуту, в лучшем случае. Да и в логах подбор паролей будет виден, да и защита может сработать.
              А если хэш (пусть даже не MD5, а HMAC-MD5) в наших руках? Современный софт, который использует CUDA подбирает около миллиарда хэшей в секунду на домашнем компьютере (сам ужаснулся этой цифре, последний раз интересовался лет 10 назад, цифры были другие). Теперь подключим словари со слабыми паролями. Также есть сервисы по подбору паролей, у которых в распоряжении целые кластеры и фермы. Безусловно, если пароль «aLkdh-65?65#$532MbdhrJ», то задача не решаема.


              1. grumbler66rus
                11.05.2017 22:24

                А если хэш (пусть даже не MD5,
                а SHA-512.
                MD5 ныне официально признан слабым.

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


  1. SmileyK
    10.05.2017 14:53

    Я изначально к примеру не ставил noip сервер, хотя потребность имеется, но так же паранойя и планировали использовать только через свой noip