А теперь, собственно детали.
Придя утром на работу, я обнаружил в логе системы замечательные строчки от VNC:
Connections: rejecting blacklisted connection: 127.0.0.1::22715
Т.е. кто-то с локалхоста пытается залезть на порт 5900, значит это вирус или ещё что-то похуже. Конечно же, меня пробил холодный пот, и я пошёл искать данного вредителя. Быстрый анализ показал, что долбёжка идёт каждые 10 минут и делается 11 попыток подключиться. Осталось выяснить, кто это делает.
Раз коннекшен блокируется, надо сделать так, чтобы кто-то сидел на нём. Самый простой способ для меня оказался в том, чтобы поднять на ноде интеллектуальный tcp-сервер, который ничего не делает и просто держит соединение.
server.listen(5900, function () {});
Посмотрел, кто туда подключился, оказалось, что это Firefox:
Дальше я пошёл выяснять, какой же из табов или расширений фаерфокса это делает. Оказалось, что ни about:peformance, ни about:networking не показывают id процесса, который может делать сетевые запросы. Зато я выяснил, что это основной процесс браузера, а не дополнительный для вкладок или расширений, что затруднило выяснение вредителя (да, у меня как всегда открыта куча вкладок и найти нужную — достаточно тяжело).
Но с помощью терпения, я нашёл замечательную вкладку, в девелоперской консоли которой оказались замечательные строчки:
И этой вкладкой оказался Личный кабинет Ростелекома. После этого выяснилось, что запросы идут следующего вида:
14 достаточно интересных портов:
Порт | Описание |
---|---|
5900 | VNC |
6900 | Bittorrent |
5650 | Pizza trojan |
5931 | ? |
5938 | TeamViewer |
5939 | ? |
3389 | RDP |
8080 | HTTP |
51 | F**k Lamers Backdoor |
443 | HTTPS |
80 | HTTP |
22 | SSH |
445 | SMB |
5985 | Microsoft Windows Remote Management |
Большинство портов — это средства для удалённого управления компьютером. Выходит, далее следует ожидать попыток проникновения на эти порты снаружи. Зачем это может быть?
У меня в голове следующие варианты:
- Личный кабинет взломан, и идёт попытка выяснить уязвимые компьютеры и подсадить пользователю троян
- Это осознанное решение Ростелекома и попытка сделать что-то нехорошее пользователю
- Это осознанное решение Ростелекома и попытка собрать данные о пользователе
При этом мой компьютер не находится в сети Ростелекома, так что данные действия выглядят весьма и весьма грязно.
UPD: Дополнение от sashablashenkov
Судя по этой странице, это какой-то Dynatrace Real user monitoring
Dynatrace is the only vendor to capture the full visibility of customer experience across every digital transaction. No sampling of data, Dynatrace gives you a complete picture, from the frontend to the backend.
Monitor user journeys
Replay individual customer transactions for rapid problem handling
Dynatrace provides a single problem notification that identifies the root cause of the problem
Identify and resolve technical issues proactively
Но зачем оно сканирует порты — не понять
UPD2: runalsh уточнил, что это не Dynatrace, а group-ib
Ещё немножко деталей. Скрипт находится по адресу:
https://lk.rt.ru/ruxitagentjs_ICA2SVfhqrux_10169190521113456.js
Т.е. это не какие-то внешние счётчики или аналитика, а собственный скрипт.
Данный скрипт обфусцирован и функция, обращающаяся к портам выглядит как-то так:
Aa: function () {
var a = this.Tg();
this.Qh(a);
for (var e = 0; e < this.Ye.length; e++) (function (c, f) {
if (!d.F.N(f.Gg, c) || !d.T.jh() || d.T.wb() || d.T.dc()) {
var e = (new Date).getTime(),
g = d.D.mb(Oa(1939), window.location[Ma(1402)] + $e(1358) + c),
k;
g.then(function () {
clearTimeout(k);
f.Ec(c, ua(1117), (new Date).getTime() - e, a)
}).then(void 0, function () {
clearTimeout(k);
f.wc[c] ? delete f.wc[c] : f.Ec(c, Lb(1430), (new Date).getTime() - e, a)
});
k = G(function () {
f.wc[c] = !0;
g.te().abort();
f.Ec(c, Mc(1251), (new Date).getTime() - e, a)
}, f.$e || 10000)
}
}) (this.Ye[e], this)
},
В массиве Ye, как раз и содержатся данные 14 портов, инициализируется он таким образом:
this.Ye = b[Uh(1218)];
Т.е. кроме минификации, в Ростелекоме добавили ещё и обфускацию, значит они подозревали, что делают что-то не очень хорошее, и надо бы это скрыть.
Что с этим делать дальше, я не знаю. Понятно, что стоит настроить браузеры для защиты от подобного (удивительно, но Firefox почему-то пропустил порт 5900, хотя решил заблокировать другие). Писать в Ростелеком — смысла нет, ибо ответы у них всегда однотипные и не отличаются какой-то разумностью.
Ну а всем остальным знать, что сканирование портов может быть не только на подозрительных сайтах, но и таких приличных, как Ростелеком.
Ответ Ростелекома:
Пресс-служба Ростелекома сообщила, что скрипт используется как «антифрод-система для предотвращения онлайн-мошенничества» путем анализа пользовательской сессии. Эта система действительно собирает данные об активности пользователей и ищет «индикаторы компрометации их устройств».
В компании пояснили, что антифрод-систему пришлось внедрить в связи с участившимися в последнее время попытками мошенничества в отношении лицевых счетов абонентов и бонусных программ Ростелекома.
Комментарии (138)
Mox
18.06.2019 12:49А в чем смысл то так делать? Это как-то объясняют? Для меня это выглядит как в лучшем случае злонамеренные сотрудники собирают данные по портам для дальнейших атак/сдачи КГБ
Dukat
18.06.2019 13:44Объясняют заботой о пользователе. Якобы, если какой-нибудь «интересный» порт отказывается открытым, сердобольный сайт предупреждает о возможном заражении компьютера.
Например, чтобы человек не вводил данные банковской карты. Мало ли какие кейлоггеры засели.
Весьма сомнительная услуга, конечно.GrWizard
20.06.2019 20:39+1автор открыл 1 из портов и «принял» подключение, что то я не увидел в статье информации о том, что сайт его предупредил об этом
TimsTims
18.06.2019 12:51А разве такие запросы вообще проходят? Вроде cors вон во всю ругается и не пускает дальше?
И не увидел 4го варианта: Ростелеком ломанули, и выложили такой полу-вредоносный скрипт.force Автор
18.06.2019 12:58-2Запрос на порт 5900 прошёл. Сейчас выясню, это от Firefox идут какие-то проверки на доступность CORS, или он сам по себе пропускает данный порт.
force Автор
18.06.2019 13:37-1Идёт запрос на
https://localhost:port/
и Firefox это пропускает.vanxant
18.06.2019 17:47+2Нет, ФФ (как и хром) сначала кидает pre-flight запрос OPTIONS по запрошенному урлу и ждёт заголовки с CORS. И только если на порту нормально настроен CORS, и правилами такое соединение разрешено, только тогда выполняется основной запрос, который просил скрипт.
fetis26
19.06.2019 22:52ну а в чем смысл такой проверки? я не думаю что зловреды и прочии сервисы будут cors прописывать. или тут важен сам факт как быстро ответили?
force Автор
19.06.2019 23:36прописать должен сервис, находящийся на локалхосте. Если это какой-нить тупой веб-интерфейс к торренту или подобному, там могут и разрешать CORS со статусом «ну кто же локалхост ломать будет». А в целом — по обсуждению именно факт скорости ответа.
vanxant
20.06.2019 03:17Смысл в том, что на локалхосте может висеть очень много веб- и типа-веб админок, авторы/юзеры которых считают, что «мы же принимаем соединения только с 127.0.0.1, зачем нам пароли и вот это всё». Вплоть до железок типа принтеров и т.п. Собственно, в статье ищут открытые радмины с тимвьюерами. Дальше факт их наличия можно определить по скорости ответа.
Cenzo
21.06.2019 01:03+1Важен сам факт времени ответа. Корпорация Intel и их CPU продолжает нам это доказывать периодически на своём примере. Чтобы люди научились понимать что такое timing pattern attacks.
darkdaskin
18.06.2019 13:55Запросы проходят, но ответы скрипт не получает. Чтобы узнать, разрешён ли CORS, браузеру необходимо сделать запрос и проверить заголовки ответа.
zzzzzzzzzzzz
18.06.2019 14:58А не может ли скрипт измерить время до получения отказа и сделать какие-то выводы из этого? (вон, там в исходниках какие-то манипуляции с Date проводятся, может, это оно и есть?)
Barnaby
18.06.2019 15:46Думаю да, проверил с WebSocket — если порт закрыт ответ приходит за 900-1100 ms, а иначе как сервер ответит (обычно очень быстро, например 0 или 100).
Но если они просто порты сканят, то почему не через ws? Он и ворнингами в консоль не флудит и можно всю локалку сканировать.
alkoro
18.06.2019 13:06+2Зашёл проверить в кабинет, что там. Запустил логгер в ublock, а вредонос оказывается уже был забанен.
Что сообщил uBlockФильтр /ruxitagentjs_
Список фильтров EasyPrivacy
Контекст lk.rt.ru
Сторона(1)?rt.ru ? rt.ru
Тип script
URL hxxps://lk.rt.ru/ruxitagentjs_ICA2SVfhqrux_10169190521113456.js
Sly_tom_cat
18.06.2019 15:50Ну собственно без блокировщика рекламы и резателя скриптов по интернетам ходить уже практически невозможно…
x67
19.06.2019 01:26+2Сейчас в любой области ты или максимально обвешанный экипировкой и опытом космодесантник, или на тебе нажмваются непонятным для тебя образом
sashablashenkov
18.06.2019 13:20+1Судя по этой странице, это какой-то Dynatrace Real user monitoring
Dynatrace is the only vendor to capture the full visibility of customer experience across every digital transaction. No sampling of data, Dynatrace gives you a complete picture, from the frontend to the backend.
- Monitor user journeys
- Replay individual customer transactions for rapid problem handling
- Dynatrace provides a single problem notification that identifies the root cause of the problem
- Identify and resolve technical issues proactively
Но зачем оно сканирует порты — не понять
Jeditobe
18.06.2019 14:27+2А может быть по списку открытых портов оно тупо формирует цифровой слепок компьютера и позволяет его идентифицировать даже без куков.
akurilov
19.06.2019 09:54Т.е. это как если вам предложат в госконторе идентифицировать вас не по паспорту, а клизмой?
sergeiss
19.06.2019 12:34Не одной клизмой и анализом полученного содержимого, но заодно (и одновременно) посмотрят размер и цвет глаз, форму уха, размер ноги, отпечаток большого пальца правой руки и мизинца левой руки. Вот это и будет «отпечаток» :)
transcengopher
19.06.2019 14:45Причём размер глаз/ноги и форму ушей измерять будут тоже клизмой. А потом всё это добро на бумагу перенесут, для получения отпечатка.
Jeditobe
19.06.2019 18:38Это чтобы следить, что неавторизованные юзеры делают и следят не на одном, а на куче сайтов. Т.е. после настоящей авторизации, можно будет проследить ваш путь до неё.
KrechTech
18.06.2019 13:27Как вариант — скрипт чекает известные порты и по ответу на запрос может делать вывод о том, что комп пользователя заражен или подвержен заражению.
nobodysu
18.06.2019 13:28Always Secure Your localhost Servers
Решение — uMatrix со следующими правилами:
* localhost * block
* 127.0.0.1 * block
* 192.168.1.1 * block
и тд
W001fer
18.06.2019 13:45+1Там же есть скриптик, который сливает данные вот сюда. В списке клиентов очень говорящий перечень компаний :)
Jeditobe
18.06.2019 14:28а какой именно скриптик?
force Автор
18.06.2019 14:30Возможно, этот
W001fer
18.06.2019 14:50Да, именно оно. У меня его adguard залочил, но стало интересно, что за контора такая.
halfhope
19.06.2019 23:07У меня неделю назад на Я.Деньги такое же было (при оплате картой скорей всего). Тоже вышел на скриптик, сейчас уже не вспомню какой и где именно. Но у меня долбился на локальный адрес по WSS протоколу.
TeiSinTai
18.06.2019 13:52-1Вообще, из этого поста мне удивительно и ново только одно — кто-то считает Ростелеком приличным. Сканирование локальных портов — это вполне себе не новость, это даже Роскомнадзор делает. И вообще, любой веб-разработчик имеет в браузере пользователя больше прав, чем этот самый пользователь, и лучше знает, что и зачем делать.
А без сарказма — мне действительно интересно, можно ли с этим что-то сделать, кроме как добавив этот (и все остальные подобные и последующие скрипты — много их) в запрет в плагинах блокировок JS (без которых в интернете вообще работать уже нельзя). И надеяться, что его функционал не перекинут куда-то в скрипт, отвечающий за прорисовку интерфейса. Потому что репутационные риски работают только для стартапов.force Автор
18.06.2019 13:58+1кто-то считает Ростелеком приличным
Ну, он приличный в контексте того, что это не какой-то сайт однодневка со статьями про увеличение различных органов и платными подписками.
vsb
18.06.2019 19:13А зачем вы хотите что-то с этим сделать? Любая страница может делать GET-запросы на любые адреса. Так работает интернет. Скрипты тут вообще не обязательны, можете написать
<img src="https://127.0.0.1">
и запрос уйдёт без всяких скриптов. Подозреваю, что с помощью какого-нибудь srcset можно тайминги определять вообще без JavaScript. Если ublock может блокировать сайты по IP, можно попробовать заблокировать все запросы на не-публичные IP-адреса.
alsoijw
19.06.2019 18:14А без сарказма — мне действительно интересно, можно ли с этим что-то сделать, кроме как добавив этот (и все остальные подобные и последующие скрипты — много их) в запрет в плагинах блокировок JS (без которых в интернете вообще работать уже нельзя). И надеяться, что его функционал не перекинут куда-то в скрипт, отвечающий за прорисовку интерфейса. Потому что репутационные риски работают только для стартапов.
Поставить браузер в контейнер, например lxc/lxd.
snml
20.06.2019 23:31ходите через оперу-мини (или подобные, которые рендерят страницу на сервере) и будет вам счастье. вообще, смешно, конечно, выглядят попытки «заблочить вредный скрипт» и т.п. свои локальные уязвимости не хотите лучше заблочить? я, например, не собираюсь ничего блочить, даже после того, как узнал, что какой-то скрипт может пробить мои порты. ну пробил он их и что? не жарко и не холодно от этого. содержите свою систему в порядке и не нужно будет беспокоиться по поводу скриптов.
runalsh
18.06.2019 14:09Это не сами банки или сервисы сканят, а зловреды из group-ib (пример — ibjs.group-ib.ru/openbank-6ff5172109.js )
То же самое на сайте банков, например, вот ФК Открытие www.banki.ru/services/responses/bank/response/10225412 — там же в комментариях разбор что за скрипты и на каких они доменах.
Позже написал запросы составителям списков блокировки рекламы и они таки включали, пример — github.com/AdguardTeam/AdguardFilters/commit/78a9f4e300d1ef0d786fb0175c976b903666b031xom4ek
18.06.2019 18:37Вообще скрипт инициатор вот: ibjs.group-ib.ru/rostelekom-c390131903.js
Не понятно почему все грешат на Dynatrace.c0t0d0
18.06.2019 21:31скрипт действительно любопытный.
зачем ib-group собирает что-то с полями, похожими на «логин», «пароль», капча-код" итд?tavel
19.06.2019 12:25Там дальше по коду видно, что они анализируют, как пользователь вводит свои credentials: печатает на клавиатуре или вставляет из буфера обмена, нажимает ли Enter в конце или кликает мышью и т.д. Это все — часть цифрового отпечатка пользователя.
P.S. Наконец хоть кто-то обнаружил, чем на самом деле занимается Group-IB.u007
20.06.2019 07:36Чем они занимаются, рассказывается у них на сайте. Весьма полезными вещами иногда: Исследование Group-IB: результаты финала 6-го сезона «Голос.Дети»
А сбором личной информации занимаются ростелеком, сбер и другие клиенты, пользуясь предоставленным Group-IB инструментарием.pnetmon
20.06.2019 07:42А сбором личной информации занимаются ростелеком, сбер и другие клиенты, пользуясь предоставленным Group-IB инструментарием.
Вообще-то сбором информации занимаются именно они. Обо этом понятно написано к описанию их продукта(-ов).
К слову личной и говорить что она обезличена придираться не надо.
Bahuser
19.06.2019 10:10Если встроен скрипт от Group-IB, то это почти точно их сервис "Secure Bank"/"Secure Portal"
Скрипт встраивается в личный кабинет и собирает сведения об устройстве пользователя, составляет его «цифровой отпечаток».
В дальнейшем, это используется безопасниками Банков в целях антифрода.ohai
19.06.2019 12:54Личный кабинет РТК — это не банк, правда?
С каким фродом и кто тут борется?
Мне не понятно, зачем скрипту считывать что я пишу в поля ввода: у меня есть менеджер секретов, я буду выглядеть как бот для этого скрипта/автоматики за ним?HenryPootle
19.06.2019 16:19Это всё неважно. Функция реализована? Реализована. В акте приёмки ставим галочку и несём в бухгалтерию на оплату.
runalsh
19.06.2019 15:29В начале января Adblock Plus отказался включать домен в черные списки.
Возможно, после этой статьи на Хабре мы всё-таки увидим правило ||group-ib.ru^$third-party в EasyList и прочих.Henry7
19.06.2019 20:10Для uBlock Origin подскажете правило или синтаксис?
DerRotBaron
20.06.2019 13:11Такой же.
В UBO в FF уже добавлен в AdGuard Tracking Protection, вроде этот список включён по умолчанию
Fox_exe
18.06.2019 14:24+1Наш городской провайдер собирал аналогичные данные, правда не через браузер, а отдельным сервером.
Но делалось это чтобы предупредить юзера о возможном заражении вирусами, между делом — предлагая подписку на антивирус или бесплатное лечение в офисе (Где ставили Trial тогоже антивируса).
Тоесть чистый маркетинг и немного заботы о юзерах.bofh666
18.06.2019 17:51+1Бинго! Ответ Ростелекома на репост этой статьи:
«здравствуйте! Если у вас есть подозрения на несанкционированный доступ в личный кабинет, то обязательно сообщите об этом в личные сообщения группы, указав номер лицевого счета и ФИО владельца договора. Наша компания также предлагает воспользоваться антивирусами на выгодных условиях: 30 дней можно пользоваться услугой без абонентской платы. В дальнейшем проходит пролонгация и стоимость будет зависеть от выбранного вами антивируса.
Защитная программа дает возможность:
— Защиты от всех видов интернет-угроз, атак, спама, фишинга.
— Защита от утечек конфиденциальной информации.
— Автоматическое обновление баз.
— Постоянный сетевой контроль.»
(если что, я не имею никакого отношения к ним, просто пофанился)sergeiss
19.06.2019 12:44«Наша компания также предлагает воспользоваться антивирусами на выгодных условиях» — похоже, тут-то и порылась собака. Сначала создают проблему, а потом предлагают за деньги её решить.
grando_luddito
18.06.2019 15:07Вот это уже от них подозрительно при заходе через не сильно старый браузер 2018 г., замаскированный под firefox 48, хотя всем остальным сайтам его версия пофиг:
«Сожалеем, но Единый личный кабинет несовместим с некоторыми версиями браузеров
Для корректной работы рекомендуем установить современный браузер, поддерживающий HTML 5, CSS 3 и JavaScript, например: Mozilla Firefox v.51 и выше, Google Chrome v.56 и выше, Opera v.43 и выше, Internet Explorer v.11 и выше, Safari v.11 и выше, Яндекс браузер v.18 и выше, Edge v.15 и выше, Спутник v.4.1 и выше.»JerleShannara
18.06.2019 18:15-1Какая-то часть ихнего ЛК прекрасно работает в старой древней опере, которая ещё presto.
sumanai
18.06.2019 18:46Обычная унылая проверка по UA. Ну не освоили они изящную деградацию, что с них взять.
dkasyan
19.06.2019 10:01Впервые столкнулся с этим термином в таком переводе на русский язык, раньше встречал только «постепенную деградацию», никогда не задумывался, как прекрасно он звучит.
Спасибо, вы сделали мой день.
chektor
18.06.2019 15:15Сканированием портов Ростелеком занимается давно. Странно, что заметили только сейчас.
На за Ростелекомом, как впрочем и за всеми крупными гос и около госорганизациями много и других неприятных дел. Так, зайдя в личный кабинет видишь, что ты «должен». Когда выясняешь с оператором, выкладываешь чеки, квитанции, долга нет. На вопрос, откуда долг идет стандартный ответ — ну, так программа составлена, что авансовый платеж (!) долгом считает и не сразу обновляет данные. Им что, госдеп программу пишет?
И это не говоря о том, что тарифы они не забывают поднимать. Мало того, они могут какой тариф объявить старым (например тариф «сельский») и отправить его в архив… с поднятием цены с 250 до 700 рублей в месяц! Пользователю об этом не скажут. И только через пару месяцев, когда пользователю в очередной квитанции укажут долг в 1 — 2 тысячи, он станет в курсе.
И вот я, инвалид 1 гр, на клюшках, еду в райцентр менять тариф. Грязно всё это.
И ко всему этому «вишенка на торте». Помните анекдотичную реплику — «Ваш звонок очень важен для нас»? Так вот, на сайте Ростелекома, пользователю регулярно предлагают заполнить анкету «качества обслуживания». Я понимаю, что это издевка на нами и представляю, как ржало руководство, вводя эту анкету.Paskin
18.06.2019 20:12Это еще не смешно. Смешно, когда лизинговая компания говорит что ближайшая очередь на ТО только через две недели, сразу после разговора присылая СМС с линком на анкету о качестве пунктов эдак в двадцать — причем если его не открыть, через час позвонит оператор и будет задавать те же вопросы устно.
200sx_Pilot
19.06.2019 01:50+2Сказать оператору, что его звонок очень важен для вас, и вы рассмотрите его вопросы
когда нибудь.
После.
Может быть…
nApoBo3
18.06.2019 17:15Думаю не стоит здесь прикручивать теорию заговора. Скорее всего все значительно проще.
Вероятно это или часть готового решения которое по древней традиции тяп ляп и в продашкше впилил разработчик сайта, из серии, мне нужен слайдер, а вот же целый фрэймворк в котором оно есть.
Или, возможно они таким образом собирают информацию для службы поддержки, по сути перечисленные порты могут оказывать влияние на процесс поддержки, тот же торрент может отъедать канал и у пользователя будет тормозить видео или заикаться вайбер, при это большая часть пользователей это никак у себя не свяжет и будет обращаться в службу поддержки.enzain
19.06.2019 12:45Тот же торрент прекрасно фиксируется у оператора нагрузкой на канал и кучей сессий установленных.
Не надо так то уж прям :)
nApoBo3
19.06.2019 16:56Думаю это информация может быть не доступна оператору поддержки первой линии, а нагрузка на канал, может генерироваться чем угодно. Торренты, насколько я помню, работают по udp, а это позволят полностью забить канал в отличии от tcp с его windows size и остальной трафик просто не пройдет. А так это сразу видно, пользователь использует торренты, посоветовать закрыть торрент клиент, часть проблем сразу отсекли.
enzain
19.06.2019 18:59Вообще если первая линия не может решить вопрос — переключают на вторую.
Это обычно не проблема — а те уже видят всё.
буквально только что вполне вменяемо общался с ТП, правда онлаймовской…
Девочка на первой линии как только услышала про счетчики FCS error — без разговоров переключила на вторую линию где подтвердили проблему и создали заявку на мастера.
eugene1616
18.06.2019 18:09+1Qx57rush
18.06.2019 18:37Может, банальное разгильдяйство? Дебажили что-то с Dynatrace'ом, забыли выпилить отладочные файлы — теперь это на проде. Банально себя же и смотрели по этим портам, имхо.
ormoulu
18.06.2019 18:15+1*подбирая челюсть*
А давно из джаваскрипта можно подключаться к локальным tcp-сервисам?force Автор
18.06.2019 18:26По комментариям складывается следующая картина: можно получить ошибку, но при этом понять, есть что-то на данном порту или нет (ну и есть запросы на 80-ый, 443-ий, 8080-ый, 5985-ый порты, которые вполне http). Дальше можно уже завести отдельный сканер и посмотреть что там детальнее, или же просто выяснить информацию о пользователе.
runalsh
18.06.2019 18:43Логика банка по отношению к клиентам:
— запущен тимвьювер на 80 порту? — блочим сервисы ДБО!
— запущен радмин на 3389? — блочим сервисы ДБО!
и т.д.enzain
19.06.2019 12:50Л-логика банка, да и вообще любая — тут отсутствует как класс.
Это МОЙ компьютер, и что у меня на каком порту — не дело банка, от слова совсем.nlog
19.06.2019 16:49Логика: раньше вы заходили в свой интернет-банк/личный кабинет из окружения, где, предположительно, не был запущен TeamViewer. А теперь заходите из окружения, где он запущен. Есть вероятность, что это уже не вы? Небольшая, но есть. Одного этого факта недостаточно для блокировки трансакции, но в сочетании с другими правилами антифрода может быть и да.
enzain
19.06.2019 19:06Никакой вообще взаимосвязи что это я или не я.
Запущен != установлен.
А запущен он может быть или выключен в абсолютно любое время дня и ночи, по необходимости, как говорится — при чем моей, а не банка…
qw1
18.06.2019 19:38+1из джаваскрипта можно подключаться к локальным tcp-сервисам?
Обычно браузер блокирует. Но с помощью нехитрого трюка, это обходится
habr.com/en/company/fbk_cs/blog/439522
androidovshchik
18.06.2019 19:38Т.е. кроме минификации, в Ростелекоме добавили ещё и обфускацию, значит они подозревали, что делают что-то не очень хорошее, и надо бы это скрыть.
Я могу ошибаться, но минификация не включает разве частичную обфусикацию? На мой взгляд, скрывать ничего не хотели, да и смысла как такого нетforce Автор
18.06.2019 21:36+1Частичную. Названия переменных теряются, лишние пробелы вырезаются, но тут именно обфускация. Например, если взять эту строчку:
window.location[Ma(1402)] + $e(1358) + c)
То видно явное скрытие намерений, для минификации есть другие решения.t_kanstantsin
20.06.2019 11:58Ma(1402)
— константа, в которой лежит 'href', 'origin', 'protocol' или другое необходимое название поля изwindow.location
.
$e(1358)
— глобальная переменная/константа с частью урла (например,//localhost
, либо текущий ip).
c
— переменная из фукнции с номером порта (еслиthis.Ye
действительно хранит список портов).
Ну и где тут обфускация, которая что-то запутывает?
force Автор
20.06.2019 12:05Вы молодец, распутали это. Но это обфускация, поскольку константы обычно задаются по-другому, и никто в здравом уме не будет гадить в window.location, доставая аргументы через вызов функций. Для минифиации достаточно Что-то типа такого: Ma_1402 — и проще и быстрее. Ну и ниже другие примеры приведены из файла.
Возьму свои слова обратно, посыплю голову пеплом и обновлю статью, если покажете библиотеку для минификации, которая сделает подобный треш с нормальным кодом.
maxwolf
18.06.2019 23:01+2А бешенное количество данных, закодированных едва ли не десятком разных способов (от base64 до String.fromCharCode, и прочих «69d»:[40,42,49,52]) — это тоже «скрывать ничего не хотели»? Вообще, интересный экземпляр для любителей покопаться в обфусцированном js-коде…
HaZeR
18.06.2019 20:23Около года назад мне стать на эту же тему не пропустили. У РТ спрашивать бесполезно, в ответ мычат и шлют ржачные исследования типа "удалось выяснить что 127.0.0.1 это.....". По факту это часть системы мониторинга ру сегмента от ,group-ib где то должен быть ответ от их суппорта.
ArtRoman
18.06.2019 21:19Ловил аналогичное в сбербанк-онлайне. На порту 7070 отвечал AnyDesk, который почему-то запрашивал у браузера сертификат, а на порту 5938 сидел тимвьювер, у которого при коннекте отваливалась активная сессия. Запретил подобные запросы пользовательскими правилами блокировщика рекламы.
Henry7
18.06.2019 23:23+1Сейчас хоть кого-то можно удивить сайтами с js, которые майнят криптовалюту? Это примерно тоже самое.
Однозначно зловред, дополнительно нагружающий систему, снижающий производительность, сажающий аккумулятор и наносящий вред экологии.
KonstantinSpb
19.06.2019 05:34Кто пользуется firejail-ом можно запустить firefox в режиме с запретом на соединения по локалке и локалхосту
/usr/bin/firejail --net=eth0 --netfilter=/etc/firejail/nolocal.net firefox
в nolocal.net добавить дроп пакетов идущих на 127.0.0.0/8
igrblkv
19.06.2019 08:25ИМХО, всё значительно проще. Не надо напрямую спрашивать у РТ «зачем», надо им позвонить или написать и попросить проверить ЛК, т.к. их, похоже, взломали и «взломанный» сайт занимается сканированием портов и ещё какой-то подозрительной активностью!..
Если их завалить подобными «предупреждениями» — что-то в итоге ответят: отмазку придумают или тупо признаются в слежке за пользователями, например…dimm_ddr
19.06.2019 11:06Они ответят что ничего подозрительного не нашли и скорее всего это у вас компьютер заражен. А если завалить, то еще и о кибер атаке заявят.
kunix
19.06.2019 09:16А можно ли при помощи DNS rebinding слать произвольные данные в TCP порт из локальной сети жертвы?
Или обязательно пойдут HTTP заголовки вначале?
x-stiler
19.06.2019 09:16С каких пор РК приличный? Огромные компании не являются приличными просто от того что они приличные. Более того, у них рычагов давления в сотни раз больше (прикрытие нуждами миллионов пользователей и законами)
APL_not_Apple
19.06.2019 09:16Прочитал, как Роскомнадзор.
И подумал, что у граждан России — теперь есть ещё и личный кабинет в Роскомнадзоре.Arty_Fact
19.06.2019 10:29Есть, Госуслуги называются. Скоро туда добавят информацию, сколько раз пользовался Телеграмом (запрещенный в России мессенджер) и сколько за это должен заплатить.
denisshabr
19.06.2019 09:535939 — это тоже Teamviewer.
5931 — AMMYY admin Remote Control.
Как ты выше правильно сказали, это часть системы антифрода от GroupIB. Так как Ростелеком сам процессит банковские карточки, то по требованием PCI DSS обязан иметь некий антифрод. В данном случае GroupIB им (и другим банкам и процессингам) продало средство скоринга на основе сканирования портов и предположения о зловредах. Скорее всего транзакция, сделанная с открытым плохим портом типа Radmin или Ammy, будет заблокирована до телефонного звонка, в ходе которого подтвердят легитимность транзакции.
CRS действительно не даёт соединяться с локальными сервисами, но по таймингам видно, что закрытые порты возвращают ответ за 1000ms, открытые — в пределах 100-200ms. По этим таймингам вижу, что скрипт корректно определил у меня Teamviewer на 5939, RDP на 3389, http и https на 80, https на 445. Неправильно определён только 22 ssh порт, который закрыт, так как это Windows машина, и telnet не подключается к нему.pnetmon
19.06.2019 10:27Мой опыт работы по поддержке ДБО, в том числе борьбы с мошенниками, говорит что лазанье на компьютерах пользователей сети интернет которые не совершают в данный момент операцию через систему ДБО никаким боком к антитфроду.
Часть описанного может иметь отношение к антифроду только после начала и во время операции через личный кабинет абонента.
Притом личный кабинет абонента — это перечисление денег жестко закрепленному лицу, зачем спрашивается?
У меня вот для банков и операций виртуальная машина, а для личных кабинетов физическая машина — что все в виртуалки переносить? (если смириться с такой политикой разных объектов)
pnetmon
19.06.2019 14:44И к прилетевшим минусам
Программами удаленными доступами любит пользоваться поддержка банка, т.к по телефонному разговору им тяжело работать, раньше до примерно 2010 года большинство обращений решалось только телефонным разговором или выездом на место, т.к. программы удаленного доступа были не очень распространены, или вообще запрещены к использованию на рабочих местах.
И
Скорее всего транзакция, сделанная с открытым плохим портом типа Radmin или Ammy, будет заблокирована до телефонного звонка, в ходе которого подтвердят легитимность
транзакции.это бред, банку обычно все равно как совершается подключение. А совершать банком телефонные звонки еще больший бред т.к. усложнение работы операционистов и увеличение затрат (аля снижение прибыли) (за исключением больших сумм, но там другие правила проверки)
msuhanov
19.06.2019 15:30Программами удаленными доступами любит пользоваться поддержка банка, т.к по телефонному разговору им тяжело работать, раньше до примерно 2010 года большинство обращений решалось только телефонным разговором или выездом на место, т.к. программы удаленного доступа были не очень распространены, или вообще запрещены к использованию на рабочих местах.
В большинстве случаев обнаруженный открытый порт, характерный для программы для удаленного управления компьютером, – это лишь один из признаков, а не немедленная блокировка учетной записи. Еще в том же 2010 году многие организации работали с системами ДБО через терминальный сервер (по RDP).
это бред, банку обычно все равно как совершается подключение. А совершать банком телефонные звонки еще больший бред т.к. усложнение работы операционистов и увеличение затрат (аля снижение прибыли) (за исключением больших сумм, но там другие правила проверки)
Кому-то все равно, а кому-то нет. Тем более, есть юридические риски (например, часть 15 статьи 9 ФЗ «О НПС»). Про «еще больший бред» комментировать даже не буду. ;-)pnetmon
19.06.2019 17:10-2а не немедленная блокировка учетной записи
Вы какую учетную запись блокировать собрались? И с чего ее собрались блокировать?
Еще в том же 2010 году многие организации работали с системами ДБО через терминальный сервер (по RDP)
Вы про что речь ведете? Видели толстых клиентов? Когда весь функционал у клиента находится в его инфраструктуре, весь обмен банком с клиентом осуществляется посредством пакетов информации, и банковские сотрудники вообще не видят что творится у клиента?
Я сказал что поддержка разных банков с определенного времени начала усиленно использовать перечисленные программы удаленного доступа Teamviewer, AMMYY admin Remote Control… и прочие. А до этого большинство обращений в поддержку банка осуществлялось поддержкой на слух, не видя рабочий экран у пользователя. И использование сторонних программ поддержка начала применять и для толстых и для тонких клиентов.
Работа через терминальный сервер по RDP конечно возможна сотрудниками организации. В организации определенный компьютер используется для связи с банками, а сотрудники к нему подключаются со своих компьютеров посредством RDP. Но вот чтобы поддержка банка подключилась удаленно к компьютеру клиента через RDB, а не более простым способом — ни разу не видел.
И чтобы клиенты работали на терминальном сервере банка (по RDP) не разу не встречал.
При этом работа через RDP и терминальный сервер частенько была проблемной из-за систем криптозащиты используемой для подписания документов.
В поле я работал с обоих сторон и около 20 лет, у вас какое-то другое поле.
msuhanov
19.06.2019 17:28+1Вы какую учетную запись блокировать собрались? И с чего ее собрались блокировать?
Никакую. Просто кто-то считает, что одного из «подозрительных» признаков уже достаточно для блокировки со стороны банка. Я же написал, что нет. Перечитайте еще раз.
Вы про что речь ведете? Видели толстых клиентов? Когда весь функционал у клиента находится в его инфраструктуре, весь обмен банком с клиентом осуществляется посредством пакетов информации, и банковские сотрудники вообще не видят что творится у клиента?
Речь шла и про тонкие клиенты в том числе. Тут тип клиента роли не играет.
И чтобы клиенты работали на терминальном сервере банка (по RDP) не разу не встречал.
Вы читать умеете? На стороне клиента банка стоит терминальный сервер, где есть клиент системы ДБО. Бухгалтер подключается к этому терминальному серверу и работает. Это не сервер банка, это сервер организации – клиента банка. И с него ведется работа с системой ДБО. Именно так, как вы описали в том же абзаце чуть выше.
И уже из-за наличия таких конфигураций один лишь факт работы на компьютере программы-сервера для удаленного управления (который определяется по открытому порту) не может играть решающей роли.
Более того, «антифрод»-скрипты умеют не только определять открытые порты, но и определять (с некоторой вероятностью, но все же довольно точно), что клиент работает в браузере через RDP/VNC и т. п.
В поле я работал с обоих сторон и около 20 лет, у вас какое-то другое поле.
Я работал именно в этом поле, в одной из компаний, которая в обсуждении здесь упоминалась.pnetmon
19.06.2019 18:20-1Просто кто-то считает, что одного из «подозрительных» признаков уже достаточно для блокировки со стороны банка.
Комментируя и пытаясь опровергнуть мое сообщение, а так же поставленные минусы, а не того кто это написал?
Так что на это
Скорее всего транзакция, сделанная с открытым плохим портом типа Radmin или Ammy, будет заблокирована до телефонного звонка, в ходе которого подтвердят легитимность транзакции.
мой комментарий
А совершать банком телефонные звонки еще больший бред т.к. усложнение работы операционистов и увеличение затрат (аля снижение прибыли) (за исключением больших сумм, но там другие правила проверки)
после вашего
Кому-то все равно, а кому-то нет. Тем более, есть юридические риски (например, часть 15 статьи 9 ФЗ «О НПС»). Про «еще больший бред» комментировать даже не буду.
Будем считать что операционисты в банках совершают звонки по изменению у клиента? Или нет?
Ох как бы меня послали все операционисты с которыми работал после таких заявлений. Проверить что ли по знакомым в организациях как часто им звонят из банков...
(например, часть 15 статьи 9 ФЗ «О НПС»
конечно она есть, вот только принималось не только для снижения банковских рисков. Может ткнете где в пункте 15 про такой сбор данных оператором.
К чему RDP когда мной было написано на комментарий "Teamviewer, AMMYY admin Remote Control.про… сделанная с открытым плохим портом типа Radmin или Ammy" про программы удаленного доступа, не про RDP?
И уже из-за наличия таких конфигураций один лишь факт работы на компьютере программы-сервера для удаленного управления (который определяется по открытому порту) не может играть решающей роли.
Все комментарии на которые вы отвечали были про программы удаленного доступа, где RDP совсем не упоминалось.
Речь шла и про тонкие клиенты в том числе. Тут тип клиента роли не играет.
Очень большую имеет роль. Работа толстых клиентов посредством обмена пакетами просто не позволяют применять те скрипты о которых речь. Там нету ни браузера, ни поведения пользователя, а только несколько параметров.
И антифроды там совсем не эти скрипты по которые речь.
Вы читать умеете?
Конечно умею. Я вон сколько написал на что получил ответ "Именно так, как вы описали в том же абзаце чуть выше", но опровергаете только то где написал что в это не верю.
И уже из-за наличия таких конфигураций один лишь факт работы на компьютере программы-сервера для удаленного управления (который определяется по открытому порту) не может играть решающей роли.
Да неужели. Пусть у клиента работали по RDP, но если внезапно на компьютере стала активна программа "типа Radmin или Ammy", а обычно ее нету — то нужно брать на заметку.
msuhanov
19.06.2019 18:48Будем считать что операционисты в банках совершают звонки по изменению у клиента? Или нет?
Ох как бы меня послали все операционисты с которыми работал после таких заявлений. Проверить что ли по знакомым в организациях как часто им звонят из банков...
Простите, но: изменение одного параметра != попытка хищения. Как я уже говорил, один признак обычно не является показателем.
конечно она есть, вот только принималось не только для снижения банковских рисков. Может ткнете где в пункте 15 про такой сбор данных оператором.
Пункт про сбор данных лучше искать в пачке документов, регламентирующих ДБО. Начать можно с договора с банком.
Все комментарии на которые вы отвечали были про программы удаленного доступа, где RDP совсем не упоминалось.
Как в Windows реализован RDP? Программой, конечно же. Чем же еще? Далее читайте определение программы.
Очень большую имеет роль. Работа толстых клиентов посредством обмена пакетами просто не позволяют применять те скрипты о которых речь. Там нету ни браузера, ни поведения пользователя, а только несколько параметров.
И антифроды там совсем не эти скрипты по которые речь.
В «толстый клиент» можно добавить куда больше «антифрод»-функциональности, чем в «тонкий клиент». Можно даже драйвер загрузить. Вы точно разбираетесь в теме?
А тип действительно не важен, потому что с любым типом клиента можно работать удаленно. Сюрприз, да?
Конечно умею. Я вон сколько написал на что получил ответ «Именно так, как вы описали в том же абзаце чуть выше», но опровергаете только то где написал что в это не верю.
Про «веру» вы точно ничего не писали. Точно умеете читать?
Да неужели. Пусть у клиента работали по RDP, но если внезапно на компьютере стала активна программа «типа Radmin или Ammy», а обычно ее нету — то нужно брать на заметку.
Поздравляю, вы нашли второй признак (первым был факт наличия открытого порта): факт отсутствия открытого порта в прошлом. Попробуйте найти еще возможные признаки.
denisshabr
19.06.2019 21:26Лично мне несколько раз звонили что при оплате картой, что при стягивании средств картой, что при отправке средств безналом, чтобы убедиться что я инициировал транзакцию. Последний раз звонил Восточный при пополнении баланса на сайте Мегафона, просто завернули транзакцию, после звонка посоветовали повторить оплату заново, разблокировав оплату.
Любой антифрод — это компромисс между «проверять всех и всё», либо проверять только в некоторых нестандартных случаях, обзванивая клиента и добавляя в белый список связку «сайт — карта». Возможно в моём случае сработало несколько факторов — я никогда ранее не пополнял мегафон на такую сумму, и у меня открыты порты RDP и Teamviewer.Henry7
19.06.2019 21:48Возможно в моём случае сработало несколько факторов — я никогда ранее не пополнял мегафон на такую сумму, и у меня открыты порты RDP и Teamviewer.
Ключевым фактом послужило, что ваш компьютер не защищен от сканирования портов, от проникновения вредоносного скрипта через браузер.
Скажу без иронии, Вам крупно повезло, что этот скрипт анализировал только открытые порты, а не данные ваших учетных записей к примеру.
Паранойя некоторых ГосОрганов и компаний по защите информации на первый взгляд превышает все здравые границы. А по факту получается, что мы даже недооцениваем угрозу.
cryptoz
20.06.2019 10:14У разных банков разная политика проверки переводов. Пример: мне надо было с Альфы перевести на QIWI 25 тыс руб. Сумма максимального перевода на QIWI за одну транзакцию 15 тыс руб. Сначала перевожу 15 тыс — всё ок. Затем перевожу ещё 10 тыс — доступ в интернет банк блокируется и через пару минут звонок на мой телефон от Альфы, уточняют действительно ли я только что совершал данный перевод.
Gurturok
19.06.2019 12:271. ртк — помойка
2. давно пора браузеры в изолированных контейнерах запускать, причем по контейнеру для каждой вклаки. И удалять куки, кеш после закрытия вкладок
3. Ходить в современный web без umatrix/ublock — ну такая себе идея
Samid777
19.06.2019 16:54Любимый совет от Ростелекома, установите Яндекс браузер. В этот раз более чем уверен, он будет таким-же.
hostmaster
19.06.2019 19:04Спокойно граждане, без паники. Вот сейчас придет EditorGIB и объяснит вам что что это все домыслы и никаких поводов для беспокойства у вас нет.
pnetmon
19.06.2019 19:07Group-IB вон что с 2016 года развертывал по банкам
https://www.arinteg.ru/catalog/soft/1339/133845/
Пользовательский модуль Bot-Trek SB загружается вместе с веб-страницами банка без участия клиента. Работа скрипта происходит незаметно для клиента и не сказывается на скорости загрузки страницы. Модуль… собирает идентификационные данные клиентского устройства и различные признаки работы…
…
Без установки дополнительного программного обеспечения на устройства клиентов Bot-Trek Secure Bank в режиме реального времени выявляет… при которых используются следующие средства:
…
Несанкционированные удаленные подключения к устройству клиента и проведение транзакции от его имени
fetis26
19.06.2019 22:44погоди-погоди. хочешь сказать любая вкладка может долбиться на локалхост начхав на same origin policy? вот это поворот. или это только Фокс таке позволяет?
у тебя просто вкладка была открыта или ты еще сервис-воркеры с этого сайта поставил?
Т.е. кроме минификации, в Ростелекоме добавили ещё и обфускацию, значит они подозревали, что делают что-то не очень хорошее, и надо бы это скрыть.
это бред, результат обычной утилиты uglify чтобы пожать скрипт. таких "обфускированных" скриптов миллионы в интернете
maxp
20.06.2019 05:22Ситуация выглядит особенно комично, когда на сайтах с подобными скриптами всплывает гдпровское предупреждение — «наш сайт использует куки!».
61brg
20.06.2019 05:26А я бы в полицию заявление написал, т.к. имеют место действия не отличимые от приготовления к преступлению, если даже не само преступление.
podivilov
20.06.2019 11:24Тогда и на Сбербанк заодно жалобу накатайте. Вот только толку от этого? Или Вы действительно полагаете, что это что-то даст?
Sergery8205
20.06.2019 14:33Спасибо за подробное описание. Почему-то вдруг резко возникло желание запускать браузер в отдельной виртуалке на своей машине. Благо, после VT-x различий вообще особо не видно в производительности ;)
Tim_23
20.06.2019 19:28Хотелось бы еще для «ламмеров» объяснения, чем это чревато для пользователя и что можно сделать, например в хроме или Edge, для того чтобы избежать этих последствий.
force Автор
20.06.2019 22:47В данном случае — ничего страшного, как выяснилось, просто ещё один способ слежки, возможно с последствиями, но подобные скрипты на других сайтах могут пытаться взломать компьютер/роутер (шансов не очень много, но есть). Что сделать — ставить uMatrix и писать правила
KonstantinSpb
20.06.2019 23:24запустить в песочнице с фильтрацией локального трафика
/usr/bin/firejail --net=eth0 --netfilter=/etc/firejail/nolocal.net firefox
shpaker
Справедливости ради это беда не только Ростелекома, но и многих отечественных веб-сервисов. Как минимум такой же у хедхантера видел недавно и пишут в интернетах, что сбер так делает.
athacker
Это не беда, и не только отечественных веб-сервисов. Это целенаправленный сбор информации в рамках концепции Digital Identity. Там собирается в кучку вообще всё, включая мета-информацию о TCP-трафике от клиента на всех уровнях, от L3 до L7. TTL приходящих пакетов, размеры MSS, MTU и так далее по уровням вверх.
Ростелек, видимо, решил набор пассивно собираемых данных пополнить активным сканированием ещё.
shpaker
Не понял вашего комментария, к чему он, какое отношение имеет к веь-сервису и почему я минус словил. Переформулирую — тот же набор портов точно также сканирует и hh со сбером. Очевидно, что встраивают один и тотже скрипт или крайне схожего поведения. Зачем не ясно, но очень интересно было бы узнать.
athacker
Я вроде русским по-белому написал — скорее всего, это сбор информации со стороны Ростелека (а также упомянутых Вами контор) для создания идентификаторов пользователей в рамках концепции Digital Identity. Этим занимаются практически все крупные конторы, имеющие веб-сервисы/сайты на вооружении.
Банками декларируется, например, что Digital ID может помочь бороться с мошенничеством. Технически это реализуется следующим образом — когда пользователь пользуется сайтом для совершения банковских операций, сайт тащит всю информацию, до которой он только может дотянуться, и составляет цифровой отпечаток конкретного устройства, а также связывает потом его с конкретным аккаунтом (пользователь же не просто на сайт зашёл, ему там кредсы придётся ввести). Если цифровой отпечаток устройства у этого аккаунта сильно поменяется — это дополнительный индикатор в оценке пользовательских транзакций в системе анти-фрода, например.
Для чего это нужно Ростелеку — не знаю. Но, например, цифровые отпечатки и их привязки к реальным ФИО/иными идентифицирующим признакам из реальной жизни можно продавать заинтересованным лицам. Тем же банкам.
P/S/: Минус — это не от меня.
EgorZanuda
На месте автора я бы написал заявление в прокуратуру ст. 137 и ст.138 УК РФ еще не отменили.
athacker
Почему же, как один из параметров оценки риска транзакции собранный набор данных вполне себе полезен. Другое дело, что большой объём информации — это всегда палка о многих концах, и использовать её можно по-разному. Как во благо пользователей, так и во вред.