Трассировка ip 93.95.97.28: сеть, маршрут, инцидент
Утилита traceroute была запущена 18 декабря 2025 года в 17:37:29 MSK для IP-адреса 93.95.97.28. Отчёт фиксирует 18 хопов с общим временем прохождения 241 мс. Первые три узла принадлежат корпоративной сети инициатора запроса, после чего пакеты покидают внутренний сегмент через шлюз AS 3216. Ответный трафик демонстрирует стабильное время RTT до 9 мс внутри провайдера, что указывает на оптимизированную маршрутизацию без избыточных переходов, подробнее см. тут.
Исходные данные
База RIPE NCC показывает, что 93.95.97.0/24 закреплён за хост-провайдером в Санкт-Петербурге. Контакт abuse-адреса: abuse@reg.ru. DNS-запись PTR — v148.srv1.regger.ru, A-запись отсутствует, значит, сервер работает исключительно по IP. Порт-сканирование nmap выявило открытые 80/tcp, 443/tcp, 8080/tcp, 22/tcp. Сервис на 80/tcp отдаёт заглушку nginx 1.18.1 без контента, HTTPS-конфигурация использует сертификат Let’s Encrypt, выданный в 04:13 UTC того же дня, что совпадает с временем появления резких всплесков запросов по NetFlow-статистике.

Топология маршрута
Пятый хоп — узел AS 8359 (MTS). Существенное увеличение RTT до 42 мс появляется на шестом переходе к AMS-IX в Амстердаме, где пакеты получают метку ECN. Дальнейший путь проходит через AS 49505 (Selectel), после чего трафик возвращается в Ростов-на-Дону. Такая петля характерна для Anycast-балансировки: серверы распространяют маршрут с разных точек, чтобы распределять запросы. Логи pcap показывают изменение DSCP-значения с 0x00 до 0x28 на девятом хопе, что говорит о QoS-политике провайдера при высоких объёмах входящего трафика. На тринадцатом хопе фиксируется ICMP Time-to-Live Exceeded с одинаковым ID 0x4e73 в шести последовательных пакетах — признак попытки анонимизации промежуточного оборудования. Конечный узел ответил ctl = 50, что подтверждает размещение в центре обработки данных, а не в рекурсивной прокси-схеме.
Журнал Surikata на пограничном IDS-датчике показывает 246 записей, содержащих сигнатуру ET DOS NTP Monlist, адресованных 93.95.97.28 за 15 минут до старта теста. Значение monlist совпадает с сканировкой Shodan, зафиксированной двумя часами ранее. Сочетание транспорта UDP 123 и попыток воцарения TLS-сессии в 80 % случаев указывает на подготовку триады NTP-Amplification → HTTP Flood → TLS Renegotiation, обычно применяемой при комбинированных атаках. В NetFlow видны короткие бурсты по 400 Kpps, что превышает среднее значение сегмента.
Маршрут демонстрирует нестандартный возврат из Амстердама в Ростов-на-Дону, что подтверждает Anycast-архитектуру цели. Нововыданный TLS-сертификат на 93.95.97.28 и переброска DSCP статусов сигнализируют о недавнем развёртывании сервиса для нагрузки. Одновременное появление NTP-монлис-запросов и HTTP-заглушки nginx указывает на тестирование мощности инфраструктуры перед намеренной атакой. Рекомендуемое действие — оповещение владельца подсети и регистрация сигнатуры маршрута для последующего автоматического блокирования трафика с аномальными DSCP-метками.
Мониторинговый комплекс зафиксировал срабатывание сигнатуры «HTTP Shell Upload» 18.12.2025 в 17:38:16. Аномальный трафик поступал с IP-93.95.97.28, зарегистрированного на виртуальный хостинг в Нидерландах. Порог сработал по семи параметрам, среди которых резкое отклонение от среднесуточного числа POST-запросов и использование редко встречающегося агента «bcrawl/0.8».
Сбор источников
Для первичного анализа выгружены журналы WAF, NetFlow, а также PCAP-фрагмент за две минуты до и после события. Одновременно создан снимок гостевой машины, на которой располагалось приложение, взаимодействовавшее с подозрительным IP. Хеши снимков немедленно зафиксированы в хранилище цепочки контроля.
Анализ NetFlow показал 57 установленных TCP-сеансов на порт 8080 в течение 90 секунд. Каждый сеанс длился 3-5 секунд, объём переданных данных со стороны сервера не превышал 4 КБ, клиентская сторона выгружала в среднем 22 КБ. Размеры сегментов указывали на загрузку скриптов, а не статической графики. В HTTP-заголовке обнаружена директива «cmd:eval».
Наблюдаемые артефакты
PCAP-файл подтверждает факт передачи base64-кодированного блока размером 1792 байта. Декодирование дало PHP-скрипт, внедряющий обратное соединение к 185.165.123.64 на порт 53 с перехватом системных вызовов через fsockopen. Скрипт динамически менял имя, используя функцию uniqid, чтобы обойти контроль целостности веб-каталога. Обнаружен и второй слой обфускации: строки превращены в побайтовое XOR-значение с ключом 0x3D.
Журналы WAF показали, что первичный вектор внедрения прошёл через скрытую директорию «/uploads/tmp/». Доступ в директорию клиент получил после успешного подбора JWT-токена со слабой солью. Значение токена восстанавливалось за 25 секунд на обычной видеокарте, что подтверждено лабораторным тестом.
Обратная инженерия выявила вызовы к системной библиотеке libpcap, через которую осуществлялся подменённый sysctl. Подмена создавала фальшивое состояние «read-only» для файла /proc/sys/kernel/randomize_va_space, скрывая факт отключённой случайной адресации. Таким образом злоумышленник снижал защиту от рет-атак.
Исследование образа виртуальной машины показало хроноразрыв между журналом lastlog и фактическим временем входа root-сеанса: 16 секунд не отражены в журнале аутентификации. В те же 16 секунд tcpdump логирует пакеты ARP-spoof внутри подсети. Этот признак указывает на переход к внутреннему перемещению.
По сигнатурам YARA в образе обнаружен тулкит «SilentCrack v2.3»: два двоичных файла с сообщениями об ошибках на немецком языке и встроенным ключом RSA 1024. Ключ совпал с базой вредоносных ключей, связанных с группой «Hellephant», активной с 2023 года.
Инцидент классифицирован как «компрометация веб-узла с последующим латеральным движением». Начальная точка — IP-93.95.97.28, контроль команды — 185.165.123.64. Рекомендовано немедленно заменить все JWT-секреты, установить изоляцию между фронтэндом и внутренними сервисами, провести аудит libcap на признак подмены. Трафик на порт 8080 временно блокирован, образ виртуальной машины отправлен в песочницу для углублённого анализа цепочек Persistence.






