Впервые уязвимость была обнаружена еще 26.06.2020, о чем автор тут же сообщил техподдержке Дом.ru. Автор долго и упорно пытался решить проблему непублично, но встретил полное её непонимание техническими специалистами. Провайдер уверяет, что случай автора единичный, но сегодня пришло подтверждение наличия проблемы и у других источников. Автор не публикует ничьих личных данных и не призывает к противоправным действиям. Написание этой статьи — вынужденная мера.
Хотя, если уж провайдер прямо говорит что всё нормально, то никаких рисков общедоступное описание работы его сервисов вообще не должно нести.
В чем суть?
Крупный интернет-провайдер Дом.ru перехватывает http-трафик пользователя и, время от времени, переадресует его на свою рекламную страницу вместо целевой. В теле рекламной страницы провайдер передает ссылку для настройки или отписки от рекламных уведомлений, которая ведет на личный кабинет пользователя. Эта ссылка открывает полный доступ к личному кабинету пользователя без ввода логина и пароля и позволяет делать это из любой точки мира. Рекламная страница передается по незашифрованному протоколу http. Это значит, что на любом узле (или даже через врезку) между вами и сервером, отвечающим за выдачу рекламных страниц (info.ertelecom.ru), могла произойти утечка, и неважно что сам личный кабинет после перехода по ссылке работает по https.
Утекли ли мои данные?
Точно вам сейчас не скажет и сам провайдер. Если вы хоть раз в недавнем времени видели подобную страницу, открытую по протоколу http, то вы подвержены утечке.
Как обезопасить себя?
- Перейти в настройки личного кабинета, далее внизу страницы выбрать «Настройка уведомлений от Дом.ru» и, как минимум, отключить всю браузерную рекламу.
- Если вы недавно видели рекламную страницу, то вам остается просто надеяться что данные не утекли и что провайдер в ближайшее время запретит доступ по ссылкам-бэкдорам. По крайней мере по уже «засвеченным».
- Если вы ни разу не видели подобную рекламу, то вам остается надеяться что отключение браузерной рекламы поможет. Достоверных данных у меня нет, но читатели в другой теме упоминали, что другая реклама показывалась несмотря на отключение.
Подробности. Что могло утечь?
Впервые уязвимость была найдена 26.06.2020. У меня нет никаких данных о том, как долго до 26.06.2020 этот уязвимость была активна. 02.07.2020 мне поступил скриншот от другого абонента, на котором страница была открыта по протоколу https, но 05.07.2020 мне поступил еще один скриншот с рекламной страницей открытой по http, что говорит о том, что ваши данные всё еще могут утечь, даже если вы до этого ни разу не видели рекламной страницы. Я долго и безуспешно пытался обратить внимание технических специалистов провайдера на проблему. На скриншоте в конце статьи последнее сообщение от провайдера мне, пришедшее 04.07.2020.
А теперь о самой ссылке-бэкдоре. Внизу рекламной страницы есть стандартная ссылка на отписку от рекламных уведомлений. Вот как она выглядит:
https://lk.domru.ru/settings/ppr?token=токен&city_id=айди
city_id — двузначное число, token — цифробуквенная последовательность из 31го символа.
При переходе по ссылке открывается полный доступ к личному кабинету, его административным функциям, такой как, смена тарифа, и личным данным пользователя:
- ФИО полностью
- Адрес проживания с точностью до квартиры
- Полный номер банковской карты, если карта была добавлена в кабинет, маскированный всего двумя звездочками
- Маскированный 4мя звездочками номер телефона — легко привязать к существующей базе телефонов по городу, имени
- Баланс счета клиента
- Ваши телевизионные предпочтения по пакетам доп. услуг
и другим данным.
Из хорошего — никакого сервиса вроде домру-кошелек, или другого способа снять деньги с баланса провайдер не предоставляет. Вы попадете на деньги, только если злоумышленник наподключает услуг.
Тем не менее, то, что у злоумышленников может появиться еще один набор данных о вас, порой достаточно редких данных, ничего хорошего не сулит.
- Социальная инженерия. Злоумышленник может представиться вами в телефонном разговоре с банком или другой организацей. Набор данных для убалтывания у него теперь расширен.
- Телефонное мошеничество. Речь псевдо-безопасников из банка будет еще более персонализированной. Они расскажут вам где вы живете и каков номер вашей банковской карты, зная до этого лишь номер телефона и имя.
Мне не известно умеет ли провайдер выдирать http страницы из тела незашифрованных запросов к socks и http proxy и ставить вместо них рекламу.
Также мне не известно как много ссылок-бэкдоров уже могло утечь, а значит и сколько из них может до сих пор использоваться.
О субъективном
Моё личное мнение — такой ссылки здесь в принципе быть не должно. Даже переданной по https. В данной ситуации ссылка должна вести либо на незалогиненный кабинет, либо на маленькую форму отписки от рассылки, но ни в коем случае не на полную версию личного кабинета. Даже если безопасность передачи такой ссылки гарантирована, пользователи вашего домашнего интернета не всегда разумны. Ребенок, увидевший такую рекламу, может устроить родителям сюрприз в виде подключения нового скоростного тарифа. Тариф ведь скоростной, в рекламе ведь так и показали.
Не собираюсь спекулировать, но, даже при безопасной передаче ссылки, в худшем варианте она может быть доступна очень многим сотрудникам провайдера. У меня нет уверенности, что она не логируется в access-логах серверов приложений, так же как не должны и логироваться пароли. У меня нет уверенности, что токен, как удобная замена ID пользователя, не изпользуется в тех. поддержке. Соблазн использвать такую ссылку «на стороне» может быть очень велик, если она лежит и доступна где попало, а её использование никак не отслеживается. Провайдер такую активность, если когда-нибудь и отследит, то найти виновного будет очень проблематично. Да и в конце концов, создавать лишние соблазны и риски там, где этого можно избежать, явно не стоит.
По поводу, сделано ли так целенаправленно, а не по ошибке, также спекулировать не собираюсь.
Провайдер называет такую ссылку сквозной авторизацией, но я считаю, что это не так. А вы как думаете?
Вишенкой на торте хотел бы выложить самый последний ответ от провайдера.
- Страница магическим образом оказывается сразу в моём роутере, а промежуточные узлы в трассировке мне почудились.
- Не знаю какое у токенов время жизни, но по токену от 26.06.2020 я могу зайти до сих пор (не факт что его тоже не угнали). А 05.07.2020 я получил еще один токен от своего кабинета. Оба валидны единовременно.
- И вообще виноват пользовательский браузер.
Второй токен я, кстати, получил в другом браузере.
А 05.07.2020 мне даже посчастливилось выловить следующий пакет на интерфейсе роутера.
17:04:27.910885 IP (tos 0x28, ttl 126, id 54321, offset 0, flags [none], proto TCP (6), length 415)
айпи_сервера_целевой_страницы > мой_динамический_айпи: Flags [P.], cksum 0xad30 (correct), seq 1:376, ack 731, win 65534, length 375: HTTP, length: 375
HTTP/1.1 303 See Other
Cache-Control: no-cache,no-store,max-age=1
Pragma: no-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Connection: close
Content-Length: 13
Location: http://info.ertelecom.ru/?campId=айди&machine=perm&ourl=адрес_целевой_страницы
06.07.2020 я получил отчет из еще одного источника об открытии рекламной страницы через http.
Вместо заключения
Я до сих пор не испытываю неприязни к провайдеру, хотя, думаю, многие на моём месте испытывали бы острую злость. Я понимаю, что человеческий фактор порой может быть очень силён. Цели сделать кому-то плохо я никогда не преследовал — это не про меня. Моя цель — наконец достучаться до провайдера и предупредить вас. А вы предупредите своих друзей и близких.
Как и у многих компаний, у Дом.ru отсутствует программа bug bounty. Призываю всех читателей никогда не идти на поводу сиюминутной «чёрной» наживы. В первую очередь вы действуете против таких же как вы людей, а не «системы».
Хотел бы задать пару вопросовам.
Автор: BetaDecay