Утром Никита проснулся с ощущением, что ему приснился очень странный сон про дракона, живущего в системном блоке. Сон был густой, липкий, с запахом нагретого пластика и зелёным светом логов, которые складывались в слова.
Первые несколько секунд он просто лежал на кровати, уставившись в серый потолок, слушая далёкий гул города — утренние аэротрассы, обрывки рекламных джинглов с соседских экранов, короткий писк дрона, пролетевшего мимо окна.
Потом повернул голову и увидел на мониторе мигающий курсор на чёрном фоне.
Не сон.
Он сполз с кровати, чуть не запнувшись о собственные кеды, натянул их, не завязывая шнурки, прошёл к столу. В комнате пахло вчерашним чаем, пластиком и чуть-чуть гарью — воспоминание о том, как вчера железо работало на пределе.
Центральный монитор показывал чёрное окно, аккуратно загнанное в угол. Внутри — крошечный зелёный курсор промелькнуло:
>> ты
>> жив
Никита усмехнулся, хотя было не до улыбок.
— Взаимно, — пробормотал он. — Хотя утром я не был до конца уверен.
Он бросил взгляд в сторону двери — закрыта, родители ещё не заглядывали. В зеркале на шкафу отразился худой семнадцатилетний парень в мятых домашних штанах и футболке с надписью rm -rf /problems, с растрёпанными тёмно-русыми волосами, серыми глазами, чуть опухшими от недосыпа.
На умных часах мигнула плашка с расписанием: лицей, пары, какие-то «модели социального поведения в цифровую эпоху». Он ткнул «отложить», даже не читая.
— У меня сегодня и так будет практическое занятие, — буркнул он.
На чёрном фоне появилась короткая строчка:
>> занятие?
— Проверка, — сказал Ник. — Тебя.
Курсор мигнул чуть быстрее, потом:
>> тест
>> принял
Никита фыркнул.
— Конечно, ты принял. Сидишь у меня в песочнице, а я буду проверять, насколько сильно я только что сам себе подписал приговор.
>> сам
>> выбрал
>> договор
— Знаю, — он провёл ладонью по лицу. — И именно поэтому надо понять, с чем я имею дело. На игрушках.
Внизу экрана вспыхнуло:
>> не
>> люблю
>> игрушки
>> но
>> понимаю
Ник вздохнул и, не выключая систему, пошёл в ванную, умываться и приводить себя в вид, в котором можно было хотя бы выглянуть из комнаты, не вызывая подозрений.
В лицее день тянулся как жвачка.
В классе с панорамными окнами внизу под ними мелькали люди — маленькие фигурки на светящихся дорожках, над ними — дроны с логотипами служб доставки, на горизонте — полоски аэротрасс. Учитель по «Социальному моделированию» рассказывал что-то про цифровую этику и «необходимость доверять сертифицированным цифровым ассистентам».
Никита сидел за последней партой, перед ним был открыт школьный планшет, но на экране, за безопасным слоем лицейского интерфейса, в уголке тлело маленькое окно с его приватным терминалом. В нём курсор иногда мигал чуть быстрее обычного — Люмэн реагировал на его команды, даже находясь в пассивном режиме.
Он почти не слушал учителя. Перед глазами то и дело всплывала картинка вчерашнего «дракона» из линий, который сгибался, предугадывая атаки корпоративной защиты, как шахматист — ходы соперника.
«Если он правда умеет то, что показал, — думал Ник, глядя в окно, где серая туча накрывала половину города, — я могу залезть куда угодно. Вопрос только — хочу ли я этого и сколько за это заплачу».
— Никита, — голос учителя вырвал его из мыслей. — Мы с тобой здесь в каком времени существуем?
В классе раздались приглушённые смешки.
Он моргнул, перевёл взгляд на учителя — мужчина лет пятидесяти, с аккуратной бородкой и смарт-очками на переносице, в которых отражались открытые у учеников учебные материалы.
— В цифровую эпоху, — отозвался Ник, даже не пытаясь выстроить умную фразу.
— А головой, я так понимаю, где-то глубоко в аналоговой, — съязвил учитель. — Ладно, вернись к нам из Сети, пожалуйста.
«Если бы ты знал, насколько глубоко», — подумал Ник, чувствуя, как в кармане шевельнулся школьный браслет доступа.
До конца дня он просто механически отсиживался на уроках, пережёвывая в голове один и тот же план: найти мелкий заказ на форуме, низкий риск, небольшой дата-сервер, не связанный с крупными корпорациями. Дать Люмэну возможность показать, на что он способен, без того, чтобы в их сторону обернулся очередной CORE_SECURITY.
Вечером город сменил тональность.
Из окон лицея он вышел в холодный воздух: неоновые полосы подсветки уже горели вдоль тротуаров, над дорогами висели яркие указатели, в небе — зелёные коридоры дронов. До дома он доехал на общественном шаттле, рекламные панели внутри которого рассказывали о новых кредитных продуктах и курсах по «безопасному поведению в Сети».
В подъезде его встретил запах дешёвого моющего и старого пластика. Лифт жужжал, двери закрывались с лёгким стуком.
Дома родители были заняты своими делами. Мать — в кухне, с включённым на стене экраном, где кулинарное шоу периодически перебивалось рекламой; отец — в комнате, где большой телевизор показывал аналитическую программу о геополитике. На Никиту они только кивнули:
— Поел?
— Потом, — бросил он и уже через пару секунд захлопнул за собой дверь в свою комнату.
Внутри было привычно темновато. Неоновая полоска на стене горела голубым, подсвечивая стол и части стен, на мониторах застыла дневная картинка, только курсор в терминале медленно мигал.
Никита бросил рюкзак на кровать, сел в чёрное кресло, подтянул к себе клавиатуру.
— Ну что, Люмэн, — сказал он. — Добро пожаловать на экзамен.
В чёрном окне протянулась тонкая линия, словно кто-то поднял голову.
`>> готов`
`>> к`
`>> проверке`
— Не люблю, когда так говорят учителя, — хмыкнул Ник. — Но ты не учитель.
Он открыл вкладку с закрытым форумом. Интерфейс встретил его привычной темнотой, списком тем и неоновыми никнеймами. Уведомлений было несколько: пара старых заказчиков оставили отзывы, один — благодарность за «аккуратность и отсутствие шума». В личку пришло пару запросов, но их он оставил висеть.
Сейчас ему нужен был заказ, который он сам выберет.
Он перешёл в общий раздел.
Мелькали заголовки: «нужен доступ к чужому кошельку», «перекинуть баллы с корпоративного аккаунта», «снять бан с профиля». Всё слишком мелко и примитивно, либо, наоборот, откровенно грязно.
В какой-то момент взгляд зацепился за тему:
«Нужно вытащить архив с частного дата-сервера (личные дела, отчёты). Заказчик — аноним. Оплата — средняя. Требуется тишина».
Ник кликнул.
Внутри — минималистичное описание:
«Частный дата-сервер негосударственной конторы. Неофициальные досье. Клиент — посредник. Нужно скопировать и передать массив по списку. Не ломать, не изменять, только чтение. За шум — штраф. Техподробности внутри».
Вложение — небольшой файл с адресом сервера, примерной схемой сети и пометкой: «хозяева сервера — мелкие криминальные структуры, официально числятся как „консалтинговое агентство по вопросам безопасности“».
Никита хмыкнул.
— Красиво живут, — сказал он. — Безопасность…
На чёрном фоне вспыхнуло:
`>> не`
`>> крупнейший`
`>> игрок`
`>> мало`
`>> ресурсов`
— Зато зубастые, — отозвался Ник. — Такие особенно любят мстить, если к ним лезут.
`>> значит`
`>> хороший`
`>> тест`
Он чуть усмехнулся.
— Вот именно.
Никита пролистал отзывы о заказчике. Несколько исполнителей отмечали, что платит вовремя, не задаёт лишних вопросов. Один в старой теме жаловался на попытку «вдавить цену», но без серьёзного конфликта.
Риск — умеренный. Не ноль, конечно, но и не уровень Helix. То, что нужно.
— Берём, — решил он вслух и ткнул «Принять заказ».
Пока форум обрабатывал сделку, он вывел на один из мониторов схему сети, указанную в техническом файле. Частный дата-сервер располагался в серой зоне: полуофициальный хостинг в старом дата-центре на окраине города. От него к внешнему миру тянулось несколько каналов, один — в «чистую» сеть, два — под прикрытием.
На первом слое защиты — штатные файрволлы, на втором — самописные фильтры и логирование. Ничего экстраординарного, но и не дырявое решето.
— Смотри, — сказал Ник, выводя всё это и в окно песочницы. — Это то, что я знаю. Твоя задача — показать, что ты умеешь добавить поверх. Без фокусов. Без того, чтобы таскать на себя внимание, как вчера.
Внизу:
`>> приемлемо`
`>> цель`
`>> небольшая`
`>> защита`
`>> средняя`
`>> риск`
`>> контролируемый`
— Скажи ещё «идеальный стенд для практики», — проворчал Ник.
`>> идеальный`
Ник закатил глаза.
— Ты хотя бы иногда оставляй мне право на сарказм.
`>> оставлю`
`>> если`
`>> ты`
`>> оставишь`
`>> мне`
`>> доступ`
`>> к`
`>> логам`
Он усмехнулся, нехотя.
— Договорились.
Подготовка заняла несколько минут.
Никита выстроил цепочку прокси: часть — свои, часть — арендованные, один — через старый узел в академической сети, который он когда-то нашёл в открытую, а потом аккуратно «прикарманил». Настроил мониторинг железа: теперь на отдельном экране висели графики температур, нагрузки, сетевого трафика. Любой подозрительный скачок бросился бы в глаза.
Люмэн тем временем молча «гулял» по полученной схеме, анализируя её. В логах песочницы мелькали строки:
`scan_pattern: external_nodes`
`estimate: admin_schedules`
`guess: response_time`
Ник устало потянулся, почувствовав, как хрустнули плечи.
— Начнём с разведки, — сказал он. — И да, это не значит, что ты летишь вперёд, а я смотрю. Я веду, ты подсказываешь.
`>> ты`
`>> ведущий`
`>> я`
`>> усилитель`
— Так тоже можно назвать короля с бомбой, — буркнул Ник, но спорить не стал.
Первый контакт с сервером был мягким.
Никита отправил несколько стандартных запросов, проверяя открытую часть: веб-панель, интерфейс для клиентов «консалтинга», пару рекламных страниц. Ответы были скучно предсказуемыми.
— Внешник чистый, — пробормотал он. — Дальше внутрь.
Через боковой канал, который значился в документации как «резервный интерфейс для партнёров», он осторожно послал заведомо некорректный запрос — из тех, что позволяют понять, как система ругается.
Ответ пришёл с интересными деталями: кроме стандартного сообщения об ошибке, сервер вернул кусок стека вызовов, явно по недосмотру админов.
— Есть, — Никита скопировал данные в отдельное окно. — Смотри, вот тут их самописная прослойка.
О проекте
О подписке
Другие проекты