Администратор Jabber-сервера jabber.ru (xmpp.ru) выявил атаку по расшифровке трафика пользователей (MITM), проводимую на протяжении от 90 дней до 6 месяцев в сетях немецких хостинг-провайдеров Hetzner и Linode, в которых размещён сервер проекта и вспомогательные VPS-окружения. Атака организована через перенаправление трафика на транзитный узел, подменяющий TLS-сертификат для XMPP-соединений, шифруемых с использование расширения STARTTLS.
Атака была замечена из-за ошибки её организаторов, которые не успели продлить TLS-сертификат, используемый для подмены. 16 октября администратор jabber.ru при попытке подключения к сервису получил сообщение об ошибке из-за истечения срока действия сертификата, но размещённый на сервере сертификат не был просрочен. В итоге выяснилось, что получаемый клиентом сертификат отличается от сертификата, отправляемого сервером. Первый поддельный TLS-сертификат был получен 18 апреля 2023 года через сервис Let’s Encrypt, в котором атакующий, имея возможность перехватить трафик, смог подтвердить доступ к сайтам jabber.ru и xmpp.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, наблюдается и ныне, но сертификат теперь не подменяется.
Комментарии
Израильтяне, больше некому.
Это какой-то позор тогда. Либо то была разовая акция и организаторы уже получили что хотели, либо это какие-то мамкины хакеры, а не серьезная структура. И, да, администраторы всю дорогу могли сравнить сертификаты которые они заливали на сервер и те, которые они получают в клиенте, что также говорит о невысоком уровне организации безопасности в проекте. В общем, кто тридцать лет спустя ещё пользуется аськой и её блудными детьми и верит в какую-то безопасность - сам себе злобный Буратино.
Да фигня это все, обычная заказуха от сборщиков рекламной бигдаты. Еще год назад заметил, пишкшь корешу в вацапе "куплю наверна дрозофил" и через полддня тебе на обычном компе и в смартфоне с одинаковым почтовым акком завалят все рекламой этих дрозофил:))
Каждый день/час/минуту сравнивать сертификат СС сервера и сертификат получаемый клиентом?
Вообще-то это CA дает тебе гарантию(денежную), чтобы как раз не делать такие проверки.
Другими словами теперь нет доверия ко всем корневым центрам сертификации, т.к по факту туда может прийти майор и они склепают сертификат какой скажут
Да причем тут центры сертификации, сервак свой надо блюсти, а не держать в неметчине где любой тех поддержка придет шнур выдернет на время.
Притом, что центр сертификации дает тебе гарантию, чтосертификат не будет подделан.
А что или кто помешает прийти и выдернуть шнур в любой другой стране?
Да ничто, кроме репутации владельца ЦОДа, влияющей на его бизнес. Вот только если тебя объявили изгоем - то репутацию события с тобой никому не портят, наоборот - тебя начинают жрать все кому не лень. Понимать надо глубину нюансов капиталистического мира.
Почему-то вспоминается ВВП с его бессмертным "Замучаетесь пыль глотать"...
Ну так если тебя объявили изгоем, то и твоим цодам уже как-то побоку до репутации, всё равно ведь придут, т.к. идти некуда. Так что тут зрен редьки не слаще. А если и глотать пыль, то хоть делать это дешевле, а то все дь свои цоды ещё ценники взвентили - всё равно ведь идти некуда.
Эээ... зарубежные спецслужбы придут в российский ЦОД на российской территории? У вас все хорошо с головой?
Я не говорил что зарубежные и что прям физически придут. Вон вертолёты за деньги перегоняют, а кому-то шнурок переткнуть и включить на соседнем интерфейсе неразборчивый режим всего-навсего сделать.
В случае использования буржуинских же блобов — *виртуально* вполне могут.
Есть
подозрениеуверенность, что все давнослитопередано кому надо. Все зависит только от конкретной юрисдикциии длины рук. Поэтому лучше иметь свой личный центр сертификации... да, есть неудобства, но хотите - как хотите.И переставит в "левый" порт. Вот первая же мысль была - а какого хрена сервера для jabber.RU хостились не внутри России, в нынешнее-то непростое время? Для кого блин ЦОДы строили, кому местных провайдеров услуг хостинга и виртуализации мало?
Там есть и другого интересного.
Попробуйте пожалуйста сформулировать свою мысль более внятно и развернуто.
Имелось в виду оригинальное описание инцидента.
Если ваша организация предоставляет инфраструктуру связи, то да. Каким-нибудь скриптом раз в 5 минут. Проверка сертификата в том же скрипте - лишняя пара строчек. Уверен, что теперь её туда добавят.
А это тут причем? Провайдер позволил весь трафик на домен завернуть через сторонний сервер. Думаете он простейшую проверку центра сертификации не пройдёт? К провайдеру - да, доверие подорвет, к организатору сервиса за криворукость - тоже. Центр сертификации ничего криминального не сделал.
Цс выпустил сертификат на домен тому, кому домен не принадлежит. Т.е. система проверки владельца кривая, либо проверки не было вовсе. В обоих вариантах виноват цс.
В простейшем случае проверка - отправка email на домен, для которого генерируется сертификат. Подозреваю, что в этом случае сервис вряд ли заморачивался на что-то более серьезное. Опять же, если бы сама организация в клиенте требовала исключительно сертификата с расширенной проверкой и заморочилась с получением именно такого сертификата, то наверняка и эту атаку организовать бы не удалось. Я подробностей этой конкретной истории не знаю, врать не стану, но именно часть с регистрацией сертификата вполне можно при определённых условиях провести совершенно легально. Имея «своего человека» на хостинге и определенный уровень разгильдяйства админов сервиса - точно.
более того, это можно было провернуть даже без участия hetzner - просто уведя у админа сервиса пароль от учетки на hetzner. В общем, я не сомневаюсь, что если речь зайдет о «национальной безопасности США», то прогнутся все, включая администрацию корневых DNS серверов или ЦС, но ради джаббера с его полутора юзерами должно быть что-то сильно попроще
Оно там поинтереснее было.
Наоборот, на клиенте получаете-проверяете и сохраняете сертификат. Сохраняете руками, проверяете глазами.
Дальше клиент при каждом хэндшейке проверяет чем он был подписан (правильный ответ: только тем сертификатом, который апрувнул гуманоид), если сертификат не тот, то пусть гуманоид разбирается, в конце концов это его данные передаются, вот пусть он и решает.
Что значит "теперь нет"? А когда-то было что ли? И не надо никакого майора, достаточно зайти в подъезд и вдумчиво посмотреть на провода, которые выходят из квартиры намеченной жертвы.
Защититься от MITM можно только имея локальную копию публичного ключа пира, которая была одобрена пользователем, каким-то своим пользовательским способом, ну например публичный ключ Госуслуг можно напечатать в Российской газете.
В убежище не пора бежать?
Классическая атака MiTM
По большому счёту людына посерёдке это даже не взлом. Ближе к вдминистративно-социальной инженерии. Сам-то алгоритм шифрования криптостойкий.
взлом, взлом. Организационные уязвимости ни сколько не хуже, чем программные или криптографические, что и показало это событие
Формально да. Главное - результат. Но криптоалгоритмы тут не при чём.
Алгоритмы имеют математически заданную криптостойкость. Их никто и не ломает, пока нет квантовых компьютеров.
Да.
По мне они не столько организационные, сколько архитектурные: сначала во славу массовости прогнули разработанные в определённой парадигме комплексы на удобство, теперь вот пожинают плоды.
SSL/certificate pinning же, не?
И как реализовать это с джабером? Когда клиентская часть может быть какая угодно?
Открытый протокол.
Куча разных клиентов. Да и межсерверная связь.
если вы читали, митм перехватил трафик, представился сервером и выпустил честный сертификат у Let's Encrypt для себя. С этой минуты он мог представляется сервисом для клиентов, пропуская через себя и расшифровывая трафик.
Переведите это на русский язык.
Немецкий товарищ майор пришел к провайдеру и сказал, что нужно организовать прослушку вот этих русских серверов, а провайдер, козырнув "так точно", всё поставил на прослушку.
Почему русские сайты «крутятся» на серверах наших врагов? Может в этом основная проблема?
Потому что считают, что если их и слушают, то главное, чобы не свои, т.к. те им ничего не сделают
Обнаружен перехват потока информации определенного сайта.
Перехват осуществлялся в инфраструктуре провайдера, за счет подмены сертификата шифрования на специальном компьютере. Вся информация передаваемая от клиента и от сайта просматривалась.
Перехват обнаружили потому, что злодеи потеряли интерес к информации данного сайта.
Провайдер не признался.
Остается открытым вопрос - зачем это нужно было делать ?
Чтобы прикрыть кому-то задницу, потому что сертификат получен иным способом. Полагаю, не стоит больше пользоваться LE, если ты не неуловимый Джо.
Во время Маршрута любого пакета данных он проходит последовательно через кучу узлов. Вероятно описанная программа использует специальные сервера (такие узлы ) допустим в каждой стране стоит такой сервер. К которому подсоединяются пользователи этой программы и этот сервер а) аутентифицирует пользователей б) перенаправляет трафик не свои сервера в других странах (если пользователям надо) . Когда пользовательская программа подсоединилась к этому серверу, она проверяла подлинность этого сервера проверяя его цифровой сертификат (SSL)(типа этот сертификат от главного сертификатов подтверждает что этот узел это www.Uzel.com). У которого есть срок годности (expiration date) . Когда он истек, каким- то образом злоумышленники получили доступ к почте и отправили в центр главных сертификатов запрос на подпись с подкорректированными данными , чтобы в сертификате стояли данные их сервера.
Не так.
Оригинальный сертификат сервера был и остатся действующим. Протух липовый сертификат.
Чтобы выпустить или первыпустить сертификат нужно подтвердить владение доменом. И чтобы там не поменяли в сертификате, то у клиента сразу выскочит ошибка.э, так перевыпущенные сертификат нужно ещё установить на сервер. Но к серверу доступа не было. Поэтому все запросв с сервера перехватывались в цод и там уже подменялся оригинальный сертификат сервера на липовый, что позволяет воадельцу приватного ключа расшифровать весь трафик между клиентами и сервером
вообще странным в этой истории я вижу отключение порта сетевой карты. На мой взгляд, никто не мешает хостеру на граничном файрвол завернуть трафик от Let's Encrypt в адрес 80-го порта клиента к себе в уютный уголок и там совершенно спокойно выписать необходимые сертификаты.
Нет никакой необходимости куда-то идти и что-то отключать.
Ровно так же можно пропустить трафик клиента без смены маршрутов через своё железо и там его перешифровывать.
Зачем делать вкл-выкл на порту - не понятно от слова совсем.
возможно потому, что западные "силовики" ничуть не менее дубовы, чем наши, и если у них прописано "физически перенаправить на свой ноутбук" - то так и будут действовать, несмотря на весь идиотизм этого решения, который может быть очевиден всем вовлечённым сторонам
есть сервис, он размещён у хостера. Для защиты коммуникаций используется шифрование при помощи сертификата.
Сертификат выпущен Let's Encrypt. Любой чел может запросить у Let's Encrypt сертификат на любое (почти) имя. Для этого он должен подтвердить, что владеет ресурсом с этим именем, разместив на нём ключ.
Хостер, контролируя железо клиента и трассы прохождения трафика, запросил сертификат у Let's Encrypt, временно подменив путь прохождения трафика, сымитировав владение ресурсом.
После получения сертификата, хостер может выдавать себя за сервис, принимая соединения клиентов, расшифровывая сообщения, и выдавать себя за клиента, зашифровывая их обратно и отдавая на сервис.Это так называемая атака man-in-the-middle, т.е. когда злоумышленник, используя организационную ошибку, фильтрует через себя трафик, читая его.
Позже задача стала неактуальной и злоумышленник не обновил во-время сертификат, что и было обнаружено владельцем сервиса.
Существует сайт, где публикуют все выданные сертификаты, https://crt.sh
Исследуя сертификаты, выданные от имени своего сервиса, владелец установил моменты получения сертификатов злоумышленником и нашёл в журналах своего сервиса события временного отключения своей сетевой карты (вероятно, когда злоумышленник манипулировал инфраструктурой, получая/возвращая назад путь протекания трафика).
Резюме.
Если бы владелец сервиса регулярно изучал содержимое сайта crt.sh, он бы узнал о махинациях раньше и мог обратиться в спортлото для наказания злоумышленника.
Что то припоминается закон, что персональные данные нельзя за бугром держать. Там емейлы. Это персональные данные. Почему Германия?
Так администраторы вполне себе могут ответить в стиле:
- а откуда у нас вообще информация что наши пользователи подпадают под этот закон? гражданство не проверяется, локация тоже. И вообще где сказано что ресурс для пользователей из России/только из России?
Но вообще - такие вот сюрпризы - как еще один довод что возможно все же стоило сервер в России размещать, и не потому что закон а потому что поменьше таких сюрпризов может
"При этом дополнительный переход при маршрутизации пакетов, отправляемых на 5222 порт одного из серверов в Linode, наблюдается и ныне, но сертификат теперь не подменяется".
Сначала спецы пытались тайно направить трафик на себя хакерскими методами.
Потом перестали прятаться, принесли "справку" кому надо и от кого надо, в результате просто со своим оборудованием сели на канал (дополнительный переход) ?
не везде можно заплатить рублём. Санкции, мать их.
Перспективный чат детектед! Сим повелеваю - внести запись в реестр самых обсуждаемых за последние 4 часа.
Это получается система сертификатов устроена так, что провайдер может взломать?
Замечательно.
Страницы