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-хранилищах на предмет возможной подмены.

<<<

  • 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

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