Барт Давлетгараев
Гроссмейстеры пустоты

Глава 1

Часть I. Код уязвимости (Дело 1)

Архитекторы в гараже

Вечер в гараже тянулся медленно. Макс сидел на старой автомобильной покрышке, не снимая куртки, и методично постукивал пальцем по стеклу своих Casio G-Shock.— Нам нужно ровно семь минут, чтобы войти и выйти, — хмуро бросил он, глядя на Артура. — Но ты до сих пор не сказал, где мы возьмём стволы и маски. И как мы потащим сумки, если там на входе двое вооружённых ЧОПовцев и бронированная дверь?

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

Олег лениво крутил в руках флакон дорогого одеколона, принюхиваясь к колпачку. Он сидел на колченогом офисном стуле, безупречно начищенные туфли контрастировали с грязным бетонным полом.— Маски — это пошло, — бархатным голосом произнёс он. — Хороший костюм-тройка и правильная интонация открывают двери получше лома. Артур, мальчики нервничают. Объясни уже, кого именно я должен буду очаровать в этом гадюшнике.

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

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

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

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

Дэн подпрыгнул на стуле:— Погоди... То есть, если мы устроим им коллизионный шторм в кроссовом шкафу, локальная база решит, что Москва удалила протоколы, упадет в ребут, и система сама раздаст деньги заёмщикам?!

— Именно, — Артур едва заметно улыбнулся. — Олег, твоя задача — зайти к управляющему под видом крупного инвестора из офшора. Устроить шоу. Затянуть переговоры так, чтобы он вызвал к себе начальника безопасности. Вы должны запереться в кабинете. Макс, ты заводишь Дэна в подвал под видом электрика ровно в 14:15, когда у инкассаторов пересменка. Дэн подключает к щитку копеечную глушилку частоты данных. Сервер падает. Система просто выполнит свою собственную инструкцию. Ну так что, парни? Поможем людям вернуть честно заработанное?

Макс посмотрел на свои Casio, затем на Артура, и на его суровом лице впервые за вечер появилась жёсткая ухмылка:— Хрен с тобой, гроссмейстер. Я в деле. Расписывай тайминг.

Глава 2

Вежливость королей

На следующий день, ровно в 14:00, план Артура пришёл в движение. У входа в центральное отделение банка «Инвест-Капитал» притормозил представительский чёрный седан. Макс, сидевший за рулём в строгом костюме шофёра, бросил короткий взгляд на зеркало заднего вида.— Четырнадцать ноль-ноль. Двери открыты. Твой выход, артист.

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

Он переступил порог банка с такой уверенностью, что двое скучающих ЧОПовцев инстинктивно выпрямили спины. Олег направился к стойке администратора, на ходу доставая из кожаного портфеля плотную папку с золотыми буквами.— Добрый день, — он ослепительно улыбнулся девушке. — Меня зовут Олег Владимирович, я представляю инвестиционный фонд «Авалон». У меня назначена встреча с вашим управляющим на четырнадцать десять. Передайте ему, что если он не освободится через три минуты, я перенесу наши пять миллионов евро в банк напротив.

Управляющий банком, полноватый Игорь Борисович, услышав про пять миллионов, лично выскочил из кабинета:— Олег Владимирович! Какая честь, заходите-заходите. Простите за накладку, у нас тут квартальный отчёт, суета...

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

Игорь Борисович поспешно сел напротив:— Мы предложим вам лучшие условия! У нас уникальные инвестиционные программы, высочайший уровень безопасности...

— Безопасность — это прекрасно, — перебил его Олег, весело рассмеявшись. — Хотя, знаете, как шутят у нас в фонде? «Самый безопасный банк — это трёхлитровая банка, закопанная под старой яблоней в деревне». Но яблонь на все миллионы не хватит. Поэтому меня интересует ваш технический регламент. Я должен быть уверен, что ваши сервера не упадут, если тракторист дядя Вася зацепит электрический столб.

Управляющий гордо расправил плечи:— У нас двойной контур защиты, и за этим лично следит начальник нашей безопасности, Пётр Сергеевич. Он бывший полковник, у него мышь не проскочит!

— Полковник? О, я обожаю военных! — Олег азартно хлопнул ладонью по столу. — С ними всегда надёжно, как в танке. Как там в пословице? «Подальше от начальства, поближе к кухне»? Нет, в нашем случае — поближе к полковнику! Игорь Борисович, душа моя, а пригласите-ка Петра Сергеевича прямо сюда. Пусть он мне на пальцах объяснит, почему ваши электронные сейфы крепче дедовской яблони. Пока мы не подпишем протокол, я без одобрения вашей безопасности дальше первой страницы договора не двинусь. Приглашайте, как говорится: «Большому кораблю — большую торпеду», давайте играть по-крупному!

Управляющий потянулся к селектору. Олег мысленно улыбнулся: главный силовик банка был изолирован в кабинете.

Глава 3

Нулевой провод трафика

В это же время в полумраке электрощитовой подвала пахло нагретым пластиком. Макс мертвой хваткой удерживал тяжелый тактический фонарь, контролируя секундную стрелку на своих часах:— Тридцать секунд, Дэн. Полковник уже поднимается к Олегу. Время на исходе.

Дэн не отвечал. Паника ушла, включился режим экстремальной фокусировки. Его пальцы в резиновых перчатках двигались с хирургической точностью, на ходу перестраивая план.— Так... Сетевой шлюз на резервной шине. Сигнальный кабель идет в обход главного автомата. Эти гении из техподдержки вывели сервисный порт криптошлюза на аварийную шину бесперебойника! Если я подсажу пакеты шума прямо в патч-корд, пойдет жесткий коллизионный шторм. Главное — не словить статику на разъем. Сажаю на линию передачи данных... Есть! Закрепил.

— Пять секунд, — Макс перехватил ящик с инструментами. — Четыре. Три. Два... Давай.

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

— На выход, — коротко бросил Макс. — Шаг спокойный. На камерах нас уже нет.

Они быстро двинулись по низкому коридору кабельного коллектора. Дэн на ходу сорвал перчатки и выудил из кармана инженерный планшет с тусклым экраном, где строчки логов летели с бешеной скоростью.

— Стой, — Дэн резко затормозил у распределительного кросса. — Рано радовались. Смотри на индикатор сессий. Коммутатор ядра не лег, он перевел банковский контур в изолированный аварийный VLAN.

— И что это значит? — Макс нервно обернулся, вслушиваясь в гул вентиляции. — Твой скрипт сработал или нет?

— Балансы изменены, но транзакция не закрыта, — зубы Дэна застучали от напряжения, пока он подключал кабель напрямую к магистральному аплинку. — Защита отработала штатно. Брандмауэр перекрыл внешние порты и запустил зеркалирование логов на удаленный бэкап-сервер. Если эти логи уйдут в облако, нам конец. Полковник увидит всю цепочку поддельных проводок.

— Тормози их! Время, Дэн!

— Пытаюсь... Нужен DNS-спуфинг, чтобы перехватить управление шлюзом. Локальный IP сервера... давай же... 192.168.10.254. Я подменяю его адрес на свой планшет.

Экран вспыхнул желтыми предупреждениями. Строки побежали в обратную сторону.

— Пошел шторм ложных запросов, — прошептал Дэн, вытирая пот со лба. — Я забиваю им канал связи. Сервер бэкапа потерял сеть и ушел в глухую автономку. Теперь финальный аккорд...