Сканер портов в личном кабинете Ростелекома

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Сегодня я совершенно случайно обнаружил, что личный кабинет Ростелекома занимается совершенно вредоносной деятельностью, а именно, сканирует локальные сервисы на моём компьютере. Так как добиться от Ростелекома вменяемой информации практически нереально, решил указать про данную проблему на Хабре, чтобы хабровчане были в курсе, что можно ожидать весьма сомнительное поведение даже от крупных и серьёзных игроков.

А теперь, собственно детали


Придя утром на работу, я обнаружил в логе системы замечательные строчки от 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


Большинство портов — это средства для удалённого управления компьютером. Выходит, далее следует ожидать попыток прониктовения на эти порты снаружи. Зачем это может быть?

У меня в голове следующие варианты:
1. Личный кабинет взломан, и идёт попытка выяснить уязвимые компьютеры и подсадить пользователю троян
2. Это осознанное решение Ростелекома и попытка сделать что-то нехорошее пользователю
3. Это осознанное решение Ростелекома и попытка собрать данные о пользователе

При этом мой компьютер не находится в сети Ростелекома, так что данные действия выглядят весьма и весьма грязно.

Ещё немножко деталей:
Скрипт находится по адресу:
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, хотя решил заблокировать другие). Писать в Ростелеком — смысла нет, ибо ответы у них всегда однотиптные и не отличаются какой-то разумностью.

Ну а всем остальным знать, что сканирование портов может быть не только на подозрительных сайтах, но и таких приличных, как Ростелеком.
Источник: https://habr.com/ru/post/456558/


Интересные статьи

Интересные статьи

SWAP (своп) — это механизм виртуальной памяти, при котором часть данных из оперативной памяти (ОЗУ) перемещается на хранение на HDD (жёсткий диск), SSD (твёрдотельный накоп...
Всем привет. Мы, Виктор Антипов и Илья Алешин, сегодня расскажем о своем опыте работы с USB-девайсами через Python PyUSB и немного о реверс-инжиниринге. Читать дальше → ...
Введение Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств ...
Компании переполнили рынок товаров и услуг предложениями. Разнообразие наблюдается не только в офлайне, но и в интернете. Достаточно вбить в поисковик любой запрос, чтобы получить подтверждение насыще...
Бизнес-смыслы появились в Битриксе в начале 2016 года, но мало кто понимает, как их правильно использовать для удобной настройки интернет-магазинов.