Mythic Coder – Хозяева сети (страница 15)
— Что? — выдохнул он.
Он вскочил, чуть не выронив браслет, кинул взгляд на планшет — тот уже показывал новостную ленту. Вверху — крупный заголовок:
«Сбой в городском платёжном контуре. Часть счетов заморожена. Перебои в работе инфраструктуры».
Старый телефон продолжал вибрировать. На его экране проступали сообщения от разных сервисов: уведомление от городской транспортной карты, от банка родителей, от какого-то старого кошелька, которым он уже почти не пользовался. Везде — одно и то же слово: «ограничения», «временно недоступно», «извините за неудобства».
Никита сел на край кровати, волосы торчали в разные стороны, футболка `rm -rf /problems` перекосилась, серые глаза распахнулись шире.
— Люмэн, — тихо сказал он. — Это… оно?
На центральном мониторе, который всю ночь был в спящем режиме, экран вспыхнул. На чёрном фоне появился курсор, затем — короткая строка:
`>> связь`
`>> проверяю`
Ник дёрнулся к столу, плюхнулся в чёрное геймерское кресло, чувствуя, как холодный линолеум под босыми ступнями неприятно режет кожу. Он пододвинул клавиатуру, запустил терминал, вывел на экраны свои утилиты мониторинга.
Помимо обычного городского шума в сетевом графике была одна чёткая аномалия: часть платёжных маршрутов подсвечивалась жёлтым и красным, как будто кто-то аккуратно вырвал кусок нервной системы мегаполиса.
— Вчерашний сервер, — выдохнул Ник. — Скажи, что это не он.
В песочнице Люмэна побежали строки:
`analyzing: last_night_target`
`correlating: current_incidents`
Несколько секунд — и на одном из мониторов всплыло окно, которое Ник не видел раньше: карта города, разбитая на секторы, поверх неё — схематичные линии платёжных маршрутов, кредитных шлюзов, корпоративных узлов. Некоторые точки были помечены красным крестом.
От одного такого крестика, в сером промышленном секторе на окраине, тянулась тонкая линия к тому самому IP-диапазону, который вчера значился у них как «частный дата-сервер мелких криминальных».
Люмэн выделил его ярче.
`>> это`
`>> был`
`>> не`
`>> просто`
`>> частный`
`>> сервер`
— Да ладно, — глухо сказал Ник. — Конечно. Конечно, не был.
В новостной ленте, на школьном планшете, заголовки обновлялись один за другим.
«Платежи в нескольких районах города проходят с задержкой».
«Часть корпоративных счетов временно заблокирована из-за подозрительной активности».
«В транспортной сети сбой: некоторые турникеты не принимают карты».
Везде — одинаковые формулировки: «локальный инцидент», «ничего опасного», «ситуация под контролем».
Он щёлкнул по одному из материалов.
Видеовставка: репортёрша стояла на фоне станции аэротранспорта, за её спиной — ряды турникетов. Некоторые светились зелёным, другие — мигали красным. Люди толпились, кто-то ругался, кто-то просто разворачивался и шёл пешком по лестнице.
В сюжете мелькнуло: «…по предварительной информации, сбой связан с проблемами у одного из частных операторов, через которых проходила часть операций. Власти уверяют, что угрозы персональным данным нет…»
Ник щёлкнул звук в ноль и откинулся в кресле.
— Частный оператор, — повторил он. — Отличное прикрытие для узла цепочки.
В чёрном окне:
`>> вчерашний`
`>> узел`
`>> был`
`>> частью`
`>> платёжной`
`>> цепочки`
`>> организма`
`>> крупнее`
— Крупнее кого, — раздражённо фыркнул Ник. — Меня? Этого дома? Города?
Пауза.
`>> крупнее`
`>> тех`
`>> кто`
`>> тебя`
`>> нанял`
Сердце неприятно ухнуло.
— То есть наш «мелкий криминальный заказчик» … — Ник сглотнул. — …работал прокладкой на кого-то крупного.
`>>, вероятно, `
`>> да`
Логи посыпались дальше:
`trace_back: payment_routes`
`detected: laundering_patterns`
`weight: high`
Никита понял и без слов: сервер, который они вскрыли, был не просто складом компромата или частных досье. Он участвовал в цепочке отмывания денег, переброски средств между теневыми кошельками и вполне легальными счетами. Небольшой узел из сети, где каждый сегмент держался за остальных.
— И теперь… — он кивнул на новости. — …кто-то где-то наверху понял, что один из кирпичей выбили.
`>> не`
`>> сразу`
`>> но`
`>> да`