18+
реклама
18+
Бургер менюБургер меню

Mythic Coder – Хозяева сети (страница 1)

18

Mythic Coder

Хозяева сети

Глава 1. Неудачный простой заказ

На дворе стоял 2100 год, и город за окном Никиты выглядел так, будто кто-то взял старый мегаполис, залил его неоном, обмотал рекламой и протянул через него тысячи невидимых нитей сетевого трафика.

С двадцать второго этажа были видны только верхушки этого цифрового леса: серые башни, увешанные экранами, бегущие строки на фасадах, многоуровневые аэротрассы, по которым в обе стороны ползли воздушные такси и грузовые платформы. Между домами мелькали зелёные и синие коридоры для дронов — светящиеся дорожки в небе, по которым шуршали курьеры с посылками и патрульные аппараты. Внизу, далеко под окнами, плясали разноцветные пятна вывесок и голографических фигур, меняющих форму под возраст и настроение прохожих.

Внутри комнаты свет был другой — холодный, мерцающий, от мониторов.

Пять экранов на гибких кронштейнах образовывали перед Никитой почти сплошную стену. На одном — электронный дневник лицея с красными пометками «просрочено», на другом — новостная лента, рядом — несколько окон терминалов и панелей мониторинга. Под ними тянулся широкий стол, на котором теснились старый, но честный системный блок в поцарапанном корпусе, пара миниатюрных одноплатных машин на кабелях, перепаянные роутеры, флешки, отвёртки и кружка с надписью «404: sleep not found».

Никита сидел в чёрном геймерском кресле с высокой спинкой и мягкими подлокотниками, чуть разворачиваясь то к одному, то к другому монитору. Худое жилистое тело казалось утонувшим в кресле: ноги в тёмных джинсах были поджаты, кеды упирались подошвами в металлическое основание стола. На нём была чёрная футболка с потёртой надписью grep -r life /dev/null, сверху — расстёгнутая тёмная худи. Тёмно-русые волосы торчали в разные стороны, как после того, как он несколько раз машинально провёл по ним рукой. Серые глаза с тёмными кругами под ними устало, но внимательно скользили по строкам текста. На левом запястье поблёскивали пере прошитые умные часы — их экран был забит маленькими зелёными индикаторами, вовсе не похожими на стандартный интерфейс.

За его спиной на стене мигала тонкая голубая светодиодная полоса — самодельная подсветка. Из-под стола тянулись кабели к небольшой стойке в углу: роутер, модем, чёрная коробка без маркировки, которую Ник собирал сам и называл «чёрной дырой для логов».

В верхнем левом углу ближайшего монитора висело окно дневника. Внизу мигало напоминание: «Домашнее задание: эссе по "Социальному моделированию"».

Никита глянул на всплывшую строку, скривился.

На другом мониторе, в противоположном углу, что-то оранжево подмигнуло. Значок личных сообщений на закрытом форуме сменил цвет с тускло-серого на яркий.

Никита тут же развернулся к этому экрану, кресло мягко поскрипело.

Форум выглядел неприметно: тёмный фон, минимум графики, логотип в углу — просто стилизованная буква, понятная только своим. Адресная строка была забита длинной последовательностью символов через зашифрованный туннель, браузер внизу пугливо молчал, даже не пытаясь жаловаться на сертификаты.

Ник открыл личку.

Новое сообщение прилетело от пользователя с ником OldBook. Рейтинг — уверенный средний, без вонючих комментариев «кидал», без истеричных споров. Пара десятков успешных сделок за последний год. Нормальный, не светящийся, заказчик.

Текст был коротким и сухим:

«Нужно получить доступ к архивному хранилищу крупной корпорации. Структура — облачная. Цель — старые архивы, несколько папок. Материалы не относятся к действующим продуктам и операционным системам. Необходима аккуратная выгрузка без явных следов вмешательства. Срок — 48 часов. Оплата — …»

Никита автоматически считал сумму в голове.

Получалось очень неплохо. За такие деньги можно было наконец-то купить нормальный кулер, чтобы системник перестал выть, как турбина, и отложить на обновление видеокарты.

Он прищурился, продолжил читать.

«Корпорация: Helix Dynamics (дочерняя структура концерна "Гелиос Индустриз"). Требуемый сегмент: облачное архивное хранилище (cold storage). Подробности и технические данные в приложении».

Helix.

Логотип этой конторы — голубая спираль, похожая на ДНК, — торчал на каждом втором финансовом сервисе, в аналитических платформах, на баннерах «цифровой трансформации». По телевизору представители Helix рассказывали, как они «бережно хранят данные клиентов».

Никита скосил взгляд на другой экран. Там как раз в новостях шёл кусок интервью: гладкий мужчина лет сорока, идеально выбритый, с прилипшей улыбкой, рассказывал журналистке о «новых стандартах прозрачности».

— Угу, прозрачность, — буркнул Ник и выключил звук.

Он открыл вложение к сообщению.

В глаза ударил сухой технический текст: список доменных имён, адреса облачных узлов, виды используемых протоколов, пара тестовых учёток с ограниченными правами, комментарии вроде «возможные точки входа». Внизу отдельной строкой шли названия интересующих папок и диапазон годов: 2075–2078.

Старьё.

Архивы такого возраста обычно лежали на самых дальних полках — в «холодном хранилище». Туда редко заглядывали, там реже меняли железо и софт, зато и внимания службы безопасности эта часть системы привлекала не так много, как боевые сервисы.

Почти идеальное место, чтобы тихо залезть, забрать своё и исчезнуть.

Почти.

Никита откинулся в кресле, позволив ему слегка покачаться. Он выглядел младше полноценных взрослых хакеров из легенд, о которых писал сетевой фольклор: всего семнадцать, старшеклассник, официально — «перспективный ученик лицея с уклоном в ИТ». Но серые глаза на экране отражали не школьную наивность, а упрямый, почти взрослый расчёт.

На умных часах тихо щёлкнуло напоминание о том самом эссе. Он даже не посмотрел, просто ткнул пальцем по экрану, отключая всплывавшее окно.

— Домашка подождёт, — пробормотал Ник. — Город у нас один, а такой заказ два раза не стучится.

Он ещё раз оценил сумму оплаты, глянул на температурный график процессора на другом мониторе — тонкая красная линия упиралась почти в верх шкалы всякий раз, когда он запускал что-то тяжёлое. Кулер действительно время от времени выл, и сейчас, как назло, тоже сделал протяжный «уууу», будто пытаясь напомнить о себе.

Выбор стал окончательно очевиден.

Никита щёлкнул по кнопке «Принять заказ».

Форум коротко мигнул, в углу высветилась стандартная надпись об арбитраже и блокировке средств. В груди появилось знакомое тяжёлое ощущение приятного риска — как будто он уже шагнул на тонкий мост над пропастью, а доски под ногами ещё даже не скрипнули.

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

Ник придвинул ближе клавиатуру, опустил локти на подлокотники и втянулся вперёд.

— Ладно, Helix, — тихо сказал он. — Покажи свои архивчики.

Сначала — разведка. Всегда.

Никита открыл новое окно терминала, запустил пассивный скан облачной инфраструктуры Helix. На экран посыпались мелкие строки: запросы к DNS-записям, проверка под доменов, поиск старых конфигов, торчащих в сети. Он не ломился в дверь, а осторожно прощупывал стены, отмечая на карте, где какие кирпичи.

На соседнем мониторе он вывел схему сети — схематическую карту, напоминающую паутину: узлы, связи, подписи. Часть из них была хорошо знакомой последовательностью «api», «db», «auth». Пара узлов с пометками backup и cold сразу привлекла внимание, но к ним было не подступиться напрямую.

Через несколько минут терпеливой возни он нашёл то, что хотел.

Один из внутренних шлюзов, ничем особо не выделяющийся, имел странный хвост в имени: legacy. Обычно так называли старые, отжившие своё системы, которые забыли перевести на новую архитектуру.

— Привет, динозавр, — сказал Никита и осторожно стукнул по нему запросом.

В ответ всплыло старое текстовое меню. Никакой модной графики, никаких анимированных иконок. Просто серый фон и белые буквы. Интерфейс напоминал скриншоты начала века, которые иногда показывали на уроках истории технологий.

Под старой оболочкой всё равно чувствовалась мощь: строки меню ссылались на современные модули хранения, управляющие программы, системы аудита. Но кто-то когда-то решил, что на архивный сегмент тратить дизайнеров не обязательно.

Никита аккуратно воспользовался одной из тестовых учёток, которые прислал заказчик. Они с первого раза не сработали, но подробные сообщения об ошибках подсказали, какие именно модули пытается трогать система при входе. Это было важнее самих логинов.

Среди перечисленных сервисов значилось управление архивными контейнерами cold storage. В списке доступов к ним фигурировал какой-то древний модуль аутентификации, патч к которому был опубликован лет десять назад — и так же давно забыт большинством админов, если речь шла о ненужных, по их мнению, сегментах.

Никита вспомнил описание уязвимости, быстро накидал аккуратный запрос, пару раз прогнал его через свою проверку, чтобы случайно не уронить половину системы, и только потом отправил внутрь.

На секунду экран завис, затем в углу появилась сухая надпись: «Имитация служебного процесса мониторинга: доступ ограничен, права — только чтение».