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

    нет ничего надёжнее подкроватного локалхоста

    В связи с этим вопрос - а как получить домашний статический ip? Его у кого-нибудь дают?

    У нас только ipv6, и то за деньги!

      • 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 десятков лет назад, и много чего еще, когда была другая эпоха в соответствующей области.

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

      У меня статический белый ipv4 включен в тариф, но я и плачу почти 60 евро в месяц за гигабит.

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

        Всегда давали, а теперь - фигу. Физикам не дают у нас.

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

      У нас только ipv6, и то за деньги!

      а у нас только ipv4, ipv6 технологии не дошли.

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

        Так и у нас на Белтелекоме - только ipv4, пока ты не подключишь за доп бабло ipv6 статику.

        • Александр
          link
          fedilink
          arrow-up
          0
          ·
          3 years ago

          Мой провайдер

          Стоимость выделенного IP 140 руб./мес.

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

          так это роскошь, я те говорю!) ipv6 есть!)