Тиша закинутої насосної станції тиснула на барабанні перетинки, порушувана лише ритмічним, глухим капанням води десь у глибині іржавих труб та натужним завиванням кулера в ультрабуці Оксани. Дисплей відкидав на її бліде, вкрите краплинами холодного поту обличчя блідо-зелене світло. Навколо неї, наче нутрощі розчленованого кіборга, звисали кабелі, якими вона з'єднала свій тонкий сучасний лептоп із масивним, грубим терміналом Режиму.
У навушнику, який вона дивом зберегла, пролунав різкий тріск статики, а потім — уривчасте, хрипке дихання Макса.
— Оксано... Оксано, ти чуєш? — голос хлопця дрижав від адреналіну. — Ми вирвалися. Вентиляційна шахта вивела нас у якийсь дренаж. Ця кібер-гебня рознесла стелажі в архіві на дрова, але ми встигли.
Оксана з шумом видихнула, відчуваючи, як камінь, що тиснув на груди останні півгодини, трохи зсунувся. — Ви цілі? Соломія з тобою? Карта у вас?
— Я тут, — почувся холодний, зібраний голос колишньої комсомолки. Вона забрала мікрофон у Макса. — Ми біля мосту на Харківській. Вхід у колектор, який веде під Сектор ТР, прямо перед нами. Старий, іржавий шлюз. Але є проблема. Я бачу периметр в'язниці через оптику свого комунікатора.
Соломія зробила паузу, і крізь перешкоди ефіру Оксана почула, як там, на поверхні, завиває вітер, несучи токсичний смог.
— Вся територія навколо ізолятора заставлена автоматичними турелями та камерами з тепловізорами, — продовжила Соломія. — Їх десятки. Вони сканують кожен міліметр. Навіть якщо ми пройдемо підземним колектором, кінцевий шлюз виведе нас у технічний коридор, який повністю прострілюється. Якщо нас зафіксує хоч один об'єктив — турелі відкриють вогонь на ураження без попередження. Нам потрібна сліпа зона, Оксано. Зроби що-небудь.
Оксана потерла перенісся двома пальцями, дивлячись на екран, де миготіли рядки коду її Nginx-проксі, який досі тримав таємний тунель до бази Держплану. — Сліпа зона... — пробурмотіла вона. — Їхні камери не автономні. У цій тоталітарній системі все маніакально централізовано. Кожен кадр відеопотоку проходить верифікацію через головну базу даних лояльності Сектору ТР, щоб штучний інтелект міг миттєво розпізнавати обличчя.
— І що нам з того? — нетерпляче запитав Макс. — Ми можемо просто накинути на них віртуальний мішок?
— Краще, — Оксана хижо примружилася, і її пальці лягли на клавіатуру. Професійний азарт сисадміна витіснив страх. — Якщо я покладу їхню базу даних, камери не зможуть відправляти запити. Вони перейдуть у безпечний режим циклічного перезавантаження, очікуючи на відповідь від сервера. Вони осліпнуть.
— Ти збираєшся хакнути Сектор ТР? — у голосі Соломії прозвучав непідробний жах. — Оксано, це ізолятор Кібер-КДБ! Там стоїть брандмауер "Червоний Щит". Він працює на нейроалгоритмах, які випалюють зворотним імпульсом будь-яке несанкціоноване підключення. Ти згориш разом зі своїм ноутом!
— Я не буду їх ламати, дівчинко. Я просто змушу їх вдавитися їхніми ж правилами, — відрізала Оксана.
Вона відкрила порожній текстовий файл. Чорне тло, білий курсор. Поле бою. Їй потрібна була зброя. Груба, жорстока, неелегантна, але масова зброя. Вона обрала PHP — мову, на якій була написана більшість старих державних реєстрів цього часу, мову, яку місцеві "ідеологічно правильні" програмісти перетворили на неповороткого монстра.
Оксана почала писати скрипт. Це була не тонка хакерська програма для крадіжки паролів. Це був цифровий молот. Вона створювала рекурсивний алгоритм — "форк-бомбу" змішаного типу, адаптовану під архітектуру місцевого MySQL.
Суть була простою і нищівною: скрипт маскувався під легальний запит від Держплану і звертався до бази даних в'язниці з вимогою звести таблицю "Усі ув'язнені" з таблицею "Усі громадяни Сум" без жодного індексу. Це називається Декартовим добутком. Мільярди комбінацій. А найголовніше — скрипт був написаний так, що він не закривав з'єднання. Він відкривав нове, щойно отримував першу мілісекунду затримки.
PHP
<?php
// Пакет ідеологічної перевірки. Слава Режиму.
set_time_limit(0);
ignore_user_abort(true);
while(true) {
$conn = mysql_pconnect('isolator_db_internal', 'root', 'admin');
if($conn) {
$query = "SELECT * FROM inmates i JOIN citizens c ON i.loyalty_status != c.loyalty_status WHERE c.id > 0";
mysql_unbuffered_query($query, $conn);
}
// Форкаємо процес, створюємо експоненційне навантаження
exec("php ddos_payload.php > /dev/null &");
}
?>
— Що ти робиш? — Макс чув шалений стукіт її механічної клавіатури через навушник.
— Пишу їм запит на генерацію безглуздя, — похмуро відповіла Оксана. — Вони так люблять бюрократію? Я дам їм стільки бюрократії, що їхні сервери луснуть по швах.
Вона закінчила писати код. Тепер найскладніше — доставка.
Оксана пустила пакет через свій таємний тунель у Держплані, направивши його прямо на IP-адресу Сектору ТР. Екран на мить завмер.