20 октября 2023 года администратор jabber.ru (xmpp.ru) сообщил о выявлении атаки по расшифровке трафика пользователей (MITM), проводимой в течение нескольких месяцев в сетях немецких хостинг-провайдеров Hetzner и Linode. На этих IT-ресурсах размещён сервер проекта и вспомогательные VPS-окружения. Атака была организована через перенаправление трафика на транзитный узел, подменяющий TLS-сертификат для XMPP-соединений, шифруемых с использованием расширения STARTTLS.

Неизвестные участники этой атаки выпустили отдельный SSL сертификат и проксировали коннекты к TCP:5222.

Согласно данным OpenNET, атака была обнаружена из-за ошибки её организаторов, которые не успели продлить TLS-сертификат, используемый для подмены.

16 октября администратор jabber.ru при попытке подключения к сервису получил сообщение об ошибке из-за истечения срока действия сертификата, но размещённый на сервере сертификат не был просрочен. В итоге выяснилось, что получаемый клиентом сертификат отличается от сертификата, отправляемого сервером.

Первый поддельный TLS-сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.ru.

Вначале у администрации jabber.ru возникло предположение о компрометации сервера проекта и выполнении подмены на его стороне. Но проведённый аудит не выявил никаких следов взлома. При этом в логе на сервере было замечено кратковременное выключение и включение сетевого интерфейса (NIC Link is Down/NIC Link is Up), которое было произведено 18 июля в 12:58 и могло свидетельствовать о манипуляциях с подключением сервера к коммутатору. Примечательно, что два поддельных TLS-сертификата были сгенерированы за несколько минут до этого - 18 июля в 12:49 и 12:38.

Кроме того, подмена производилась не только в сети провайдера Hetzner, в котором размещён основной сервер, но и в сети провайдера Linode, в котором размещались VPS-окружения со вспомогательными прокси, перенаправляющими трафик с других адресов. Косвенным путём было выяснено, что трафик на 5222 сетевой порт (XMPP STARTTLS) в сетях обоих провайдеров перенаправляется через дополнительный хост, что дало основание полагать, что атака произведена лицом, имеющим доступ к инфраструктуре провайдеров.

Теоретически подмена могла производиться с 18 апреля (дата создания первого поддельного сертификата для jabber.ru), но подтверждённые случаи подмены сертификата зафиксированы только с 21 июля по 19 октября, всё это время шифрованный обмен данными с jabber.ru и xmpp.ru можно считать скомпрометированным.

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

Командой проекта предполагается, что атака могла быть совершена с ведома провайдеров по требованию правоохранительных органов, в результате взлома инфраструктур обоих провайдеров или сотрудником, имевшим доступ к обоим провайдерам. Имея возможность перехвата и модификации XMPP-трафика, атакующий мог получить доступ ко всем связанным с учётными записями данным, таким как хранимая на сервере история обмена сообщениями, а также мог отправлять сообщения от чужого имени и вносить изменения в чужие сообщения. Сообщения, отправленные с использованием сквозного шифрования (OMEMO, OTR или PGP), можно считать не скомпрометированными, если ключи шифрования подтверждены пользователями на обеих сторонах соединения.

Пользователям jabber.ru рекомендуется сменить пароли доступа и проверить ключи OMEMO и PGP в своих PEP-хранилищах на предмет возможной подмены.

<<<

    • JamesHolden
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

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

      Тут дело не в DNS, я же про ip адрес пишу, а не про url!

      Мне нужен такой ip адрес, чтобы я имел доступ с внешки к ресурсам на домашнем серваке. В нашей реальности, это требует либо услуги провайдера “статический ipv4” либо “статический ipv6”.

      Статическость здесь вторична, но таковы наборы услуг. Никто не дает динамические белые ip на дом!

      • ThePlayerZero
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        DDNS позволяет

        имел доступ с внешки к ресурсам на домашнем серваке

        при этом без

        либо услуги провайдера «статический ipv4» либо «статический ipv6».

      • ThePlayerZero
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        работает оно так: ты заходишь на свой сервак всегда по одному и тому же URL, который резолвится в тот айпи, который пров давал твоему серваку последний раз

        поэтому и Dynamic DNS

        а сервак сам сообщает сервису DDNS свой текущий айпишник

        я так на свой домашний роутер asus заходил из любой караганды, (белого, постоянного айпи не было)

      • ThePlayerZero
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Статическость здесь вторична, но таковы наборы услуг. Никто не дает динамические белые ip на дом!

        я не понимаю, о чём ты говоришь

        задача “зайти из любой точки мира на подкроватный сервак” решаема, дополнительных услуг от провайдера не требуется

        • JamesHolden
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Да что ты мне детсадовские вещи объясняешь.

          Я тебе еще раз говорю. Провайдеры дают СЕРЫЙ ip. Ты НЕ МОЖЕШЬ на него зайти никак, порты закрыты провайдером! DNS тут ну вообще не причем.

          Ничего твой DDNS тут не даст, потому что порты закрыты, понимаешь?

          Поэтому нужна услуга “статический ip”, потому что она предполагает не только статику, но и БЕЛЫЙ ip, на котором не будут закрыты порты.

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

          • ThePlayerZero
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

            я знаю лишь то, что твоя задача решаема, именно в такой формулировке

            чтобы я имел доступ с внешки к ресурсам на домашнем серваке.

            и именно с таким ограничением

            дополнительных услуг от провайдера не требуется

            • JamesHolden
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              Как конкретно ты предлагаешь решить это?

              • ThePlayerZero
                link
                fedilink
                arrow-up
                0
                ·
                3 years ago

                VPN тебе нужен

                какой именно vpn – точно не скажу пока, вон сосиска что-то уже принёс (ZeroTier)

                и я выше тоже писал про Hamachi – это софт для установления туннелей, между серыми айпи тоже, любые наты пробивает

                • JamesHolden
                  link
                  fedilink
                  arrow-up
                  0
                  ·
                  3 years ago

                  Я лично не вижу смысла в сочетании “личный сервер” - “стремный сторонний сервис”. Со сторонним сервисом, я просто сейчас на VPS сервере размещаю что мне надо, и тогда не надо подкроватный и не нужны все эти извращения.

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

                  И несколько лет назад еще это просто решалось - была услуга белого ipv4 адреса. А сейчас ipv6 только, что в принципе тоже решает проблему, но доступ тогда из сети ipv4-only не получить.

        • cocuckaOP
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Он говорит про серый ip за натом у прова. От такого только reverse tunnel поможет.

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

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

          • JamesHolden
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

            Нет, ну так речь о том - что у провайдера можно и белый адрес купить, но у нас только ipv6 сейчас для физлиц.

            • cocuckaOP
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              Брать плату за IPv6 – жлобство.

              Если тебе надо просто заходить на домашний комп и прочие устройства отовсюду, то можно ZeroTier сеть настроить.

              • JamesHolden
                link
                fedilink
                arrow-up
                0
                ·
                3 years ago

                то можно ZeroTier сеть настроить

                Нифига не могу понять что это и как оно работает.

          • ThePlayerZero
            link
            fedilink
            arrow-up
            0
            ·
            3 years ago

            да и нат спокойно пробивается, в наше время каждый школьник слово Hamachi знал

            • cocuckaOP
              link
              fedilink
              arrow-up
              0
              ·
              3 years ago

              Пробивается-то, пробивается, но вот захостить сервис на своём домене не выйдет

      • ThePlayerZero
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Никто не дает динамические белые ip на дом!

        ты изначально писал про статический, а не белость/серость

        именно в этом контексте отвечал про DDNS

        у меня был именно динамический белый ip на дом, такое бывает… твой кейс другой действительно

        окей, теперь по-крайней мере условия задачи понятны +/-

        • JamesHolden
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          у меня был

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