«Ну вы, парни, отожгли, конечно :)))))»
Судя по количеству скобочек в смайлике, Фреша от души повеселила рассказанная ребятами история, а вот Кириллу было почему‑то не до смеха. Не то чтобы он боялся бандитов — еще в начале девяностых Подгорск завоевал имидж города криминального и с тех самых пор гордо нес это звание через года. Тюремно‑блатной романтикой были пропитаны буквально все сферы жизни здешних обывателей, от школьной скамьи и до седых волос, этот неистребимый дух витал и на детских площадках, и в стенах казенных учреждений, и в пыльных цехах градообразующего комбикормового завода. За без малого полтора десятилетия, прошедшие с момента крушения Союза, местные жители успели насмотреться всякого: стрелок, рукотворных пожаров и разборок, наиболее отмороженных участников которых находили порой в мутных водах Подгорки. Иногда по частям. В общем, бандиты воспринимались как повседневная деталь местного пейзажа, как привычное природное явление, вроде постоянно действующего вулкана — кажется, и опасно жить бок о бок с ползущими по склонам раскаленными потоками лавы, но и деваться‑то особо некуда. С другой стороны, эти ребята могли доставить крупные неприятности, если не ему самому, так матери, — поэтому Кириллу хотелось отыскать хоть какое‑то решение возникшей проблемы. Он потянулся к клавиатуре и набрал в окошке «аськи»:
«Так что делать‑то? Санчо сказал, ты можешь помочь».
ICQ на какое‑то время замерла в задумчивости, а затем в трее с характерным «а‑ау!» замигал желтый конвертик:
«Могу, есть варианты. Но, как говорится, ты мне — я тебе. От вас тоже кой‑какая помощь понадобится».
Прочитав сообщение, Кирилл ощутил легкий холодок, пробежавший по спине: идеи Фреша обычно отдавали крепким криминальным душком. Только есть ли у него выбор?
«Чего хоть делать‑то?» — напечатал на клавиатуре он.
«Да вот хочу базу одного американского шопа сдампить, — мигнула в ответ «аська», — сам не справлюсь. Не ссы, Кикс, баблом не обижу».
А ведь это был уже следующий уровень в игре, которую, судя по всему, затеял Fressshhh, назвавший Кирилла его сетевым именем — Kicks. Слить базу данных интернет‑магазина вместе с личной информацией клиентов куда сложнее, нежели соорудить поддельный сайт, чем промышлял до недавнего времени Киря. Это самое настоящее мастерство. То, чем занимаются все эти серьезные парни, которых благоговейно называют хакерами.
Естественно, Кикс не обладал нужными для подобной работы навыками и, конечно же, не собирался признаваться в этом Фрешу. Время для изучения матчасти у него в запасе есть, а новые полезные знания — это всегда интересно, в отличие от унылых и бесполезных, которыми их пичкали в школе. К тому же пора прикупить какой‑никакой ноутбук, чтобы работать на нем где‑то за пределами Саниного дома, в котором Кирилл уже практически поселился, вызывая тихое недовольство Сашкиных родителей. Да хоть у себя в комнате его прятать под матрасом. Только вот более‑менее приличный ноут стоит баксов восемьсот, а то и всю тысячу, в канаве такую сумму не найдешь. Эх, если бы удалось отмазаться от бандитов…
Киря принялся штудировать сетевые форумы, а заодно подтягивать английский. В англоязычном интернете отыскалось очень много полезной информации, к тому же там она почему‑то оказалась более полной, в то время как переводы порой страдали досадными неточностями. В школе Кирилл английский ненавидел, зубрежку всех этих «паст симпл» и «презент континьюес» считал напрасной тратой времени, а с «англичанкой» Эльвирой Николаевной оставался на ножах чуть ли не с пятого класса. Сейчас английский язык сделался для него жизненно необходимым, и он остервенело принялся читать статьи с иностранных сайтов, прогоняя их через переводчик «ПроМТ», а потом задавал вопросы обитателям тамошних форумов, ругая себя за то, что не уделял этому время раньше.
Когда одна армия решает напасть на другую, боевые действия всегда начинаются с разведки. В сети — все то же самое. Потоки данных — невидимые артерии глобальной сети, в которых пульсирует и течет жизнь, превращая весь земной шар в единое пространство, где города, дома и люди крепко связаны незримыми нитями. Кирилл представлял себе эти потоки как реки и моря, по которым течет информация, преодолевая границы серверов и компьютеров, словно древние караваны кораблей, пересекающие бескрайний океан. Разные корабли возят разные грузы, и плывут они обычно своими собственными маршрутами — так и для транспортировки данных использовались разные протоколы. По берегам океана встречались богатые и полные сокровищ серверы‑города, к которым вели морские порты. Но не все порты рады каждому встречному кораблю: за ними спрятаны программы, наученные открывать ворота, следуя четким правилам и соглашениям, подобно тому как придворные слуги отворяют двери только по особым знакам. Правда, слуги, бывает, спят на посту или слишком увлечены игрой в кости — так и программы, написанные людьми, не застрахованы от ошибок. Очень часто администраторы северов попросту забывали вовремя обновлять работающие на них программы, чтобы устранить давно известные ошибки. Сможет ли стражник защитить вверенные ему крепостные ворота от лазутчика, если ему не объяснили, как этого лазутчика распознать? Кирилл знал: стоит лишь отыскать такую уязвимость, и в твоих руках окажется ключ от всех сокровищ скрытого за воротами города.
В мире, где за потемневшим окном падал первый в этом году снег, пальцы Кирилла неторопливо перебирали клавиатуру, но в мире нулей и единиц он двигался куда быстрее, следуя за тенями, мелькающими на периферии его сознания. Он запустил сетевой сканер, как охотник запускает в небо обученного сокола. Бездушный взгляд сканера проникал туда, куда не может дотянуться человеческое зрение, программа тасовала IP-адреса, порты и службы, как опытный фокусник колоду карт. Каждая незапертая дверь, каждый ненадежный сервис — это трещина в стене крепости. Если знать, где ковырнуть кладку, стена рухнет, образуя проход. Кирилл чувствовал себя боевым магом, окидывающим взглядом поле брани перед штурмом вражеской цитадели, — в его руках имелся целый арсенал мощнейших заклинаний, под ударами которых не выдержит ни одна крепость. Хорошо быть настоящим волшебником в эпоху технического прогресса, да еще и способным творить магию не в компьютерной игре, а в самой настоящей реальности. Особенно если люди вокруг тебя больше не верят в волшебство.
Сканирование завершилось, и Киря, оглядев экран, с удовольствием отметил про себя, что проведенные за чтением руководств и инструкций бессонные ночи не прошли даром: теперь он может видеть и понимать то, что неподвластно другим. Веб‑сервер Apache, за ним скрытый SSH-доступ, карта портов — как на ладони. Тем временем Санчо набросал схему внутренней структуры сервера, отыскав несколько служебных поддоменов, подобных запасным выходам в неприступном замке, которыми пользуется для своих нужд местная прислуга и челядь. Все ли эти неприметные двери надежно закрыты на засов?
— Кажись, есть несколько точек входа, — сказал другу Киря, отодвинув клавиатуру в сторону.
— Вот и славно. Но пробивом пускай Фреш занимается, у него опыта больше, — отозвался тот.
Действительно: таранить даже плохо закрытые ворота крепости следует специальным инструментом, с которым нужно уметь правильно обращаться. Кирилл был уверен, что со временем научится этому и сам. Обязательно научится.
— Только есть один моментик, — задумчиво почесал подбородок Санчо, — подмести за собой потом надо.
А вот это действительно проблема. Любой сервер автоматически записывает в специальные журналы все, что происходит как снаружи, так и внутри него, а потом, изучив эти файлы, эксперты смогут восстановить хронологию событий. Ни Кирилл, ни Саня чистить такие лог‑файлы не умели.
Фреш, на удивление, отнесся к проблеме со всей серьезностью.
«Есть один крутой специалист по логам, поможет замести следы», — написал он.
«Как связаться?» — отстрочил на клавиатуре Кирилл.
«Я передам, она вам сама в «аську» стукнется».
«Она?»
«Да. Ее зовут Trixy».
Девчонки в сети не то чтобы считались редкостью — редкостью были девушки, не просто что‑то понимающие в компах, а еще и шарящие в хакерском ремесле. Кажется, этот ник все‑таки встречался Кире на нескольких посвященных взлому форумах, и вроде бы кто‑то даже в шутку писал, будто Trixy никогда не оставляет следов.
Трикси, как и обещал Фреш, объявилась в тот же вечер: «аська» мигнула желтым значком, издав звук, похожий на стук в дверь, — так мессенджер оповещал о сообщении от незнакомого пользователя.
— Все, братан, она здесь, — наклоняясь к экрану, шепотом сказал Сане Кирилл, будто боялся, что девушка может услышать их через интернет.
«Привет. Fressshhh маякнул, вы что‑то серьезное затеяли ,)», — высветился в окошке текст с подмигивающим смайликом.
«Привет. Да, есть одна задачка. Нам бы разобраться... со следами», — пальцы Кирилла забегали по клавишам.
«Поняла. Какие логи?»
«Системные и доступа. Там обычный «Апач», движок на PHP. Все должно исчезнуть, будто нас и не было».
«Ну, звучит весело. Могу помочь», — откликнулась Трикси.
— Спроси, что она хочет в качестве оплаты, — Санчо слегка толкнул друга локтем в бок.
Киря вздохнул и снова посмотрел на экран.
«Что тебе нужно взамен?»
Пауза длилась чуть дольше, чем раньше. Наконец ответ появился на экране:
«Просто не облажайтесь. Иначе вас вычистят не только из логов».
Отправив это сообщение, Трикси вышла из сети: цветочек, обозначавший ее учетную запись, сделался красным. Никаких прощальных фраз. В комнате снова воцарилась тишина, нарушаемая лишь тихим гудением компьютера. Кирилл откинулся на спинку кресла, закрыл глаза и почувствовал, как по спине пробежал холодок. Ее слова казались шуткой, но нечто скрытое в них все же заставило Кирю усомниться, что это просто игра. Он покосился на Санчо, который сидел с невозмутимым лицом, постукивая пальцами по столу.
— Ты что думаешь? Реально она поможет?
Саня пожал плечами, продолжая смотреть куда‑то перед собой.
— Кто она вообще такая? — Он повернулся к другу и усмехнулся. — Спорим, это какой‑нибудь толстый старый мужик, сидящий в засраной квартире где‑нибудь на окраине Москвы, который жрет пиццу и прикалывается над тем, как мы тут всё это воспринимаем всерьез?
Киря рассмеялся, хотя что‑то в словах Сани задело его. Он повернулся на стуле, изображая «того самого мужика»:
— О, привет, пацаны! Я тут почищу вам логи, только не облажайтесь! — Он нарочито понизил голос, изображая карикатурного хакера, ссутулившегося за клавиатурой с куском пиццы в руке.
Они оба расхохотались, разрядив напряжение. Но смех был коротким.
— Ладно тебе, — наконец сказал Кирилл, протерев глаза. — Все равно, даже если это действительно какой‑нибудь толстый старый хрен, нам пофиг. Главное, чтобы свою работу сделал до конца.
— Ну да, — Саня прищурился, глядя на монитор, — я все же думаю, что настоящая девушка‑хакер — это что‑то из разряда мифов. Знаешь, как единороги или нормальные системы защиты. Все об этом говорят, но никто никогда не видел.
— Может, мы и станем первыми, — улыбнулся Кирилл. — Хотя, если это и правда какой‑нибудь мужик, лучше его все‑таки не видеть.
Что ж, пока все складывалось как нельзя более удачно: разведка прошла успешно, Фреш разберется с самим взломом и сливом базы, а Трикси поможет замести следы. Тогда, наверное, дела наладятся. Киря решит проблемы с бандитами, с чем клятвенно обещал каким‑то непонятным образом посодействовать тот же Фреш, купит себе ноутбук и сможет наконец чаще появляться дома… Он подумал, что последний раз был там недели две назад. Нет, может быть, даже три. Или уже месяц? Время склеивалось в какую‑то липкую ленту Мебиуса, где каждая минута превращалась в час, а сутки исчезали в тусклом мерцании экрана.
Кирилл покосился на свой «Эрикссон», лежащий на столе. Мать знала номер его нового мобильного и звонила примерно в одно и то же время — вечером, когда отчим уже напивался. Разговор почти всегда строился одинаково, как в фильме «День сурка». Сначала знакомое, уставшее «Привет, сынок», а потом вопрос, который вколачивался в его мозг молоточком вины: «Когда ты зайдешь? Я скучаю». Но за этими простыми словами скрывалось что‑то большее. Мать, как всегда, избегала прямых разговоров о том, что творилось у них дома, но Кирилл знал: ее жизнь с отчимом — это нескончаемая борьба за иллюзию семьи, которой никогда не существовало. Вот только сегодня звонок в привычное время не раздался, наверное, дома готовится ужин или стирка в самом разгаре — не до того.
Кирилл выдохнул, потер лицо руками, словно пытаясь смахнуть с себя мысли о прошлом. Но образы все равно приходили — вспомнились бессонные ночи, когда он слышал, как за стеной что‑то разбивалось, как в кухне падала посуда, а мать, тихо плача, собирала осколки. Именно тогда он начал кодить, убегая на ту сторону экрана, в мир, где нет боли и слез. И чем глубже погружался в этот цифровой лабиринт, тем дальше оказывался от реальности.
Но это было иллюзией. Реальность всегда пряталась рядом, точно невидимый монстр под его детской кроватью. Она дышала за спиной, шептала в ухо, что он не сможет убегать от нее вечно. Вот прямо сейчас реальность ворвалась в его мысли жужжанием и мелодичным писком телефона, забившегося в конвульсиях на столе.
Киря протянул руку. Номер не определился — так всегда было, когда звонили с городского.
— Да? — приложил он трубку к уху.
— Алло, Кирюша? — голос в динамике показался ему и знакомым, и незнакомым одновременно. — Кирюша, ты? Это тетя Таня, соседка. Мне Ирочка твой номер на всякий случай дала… Кирюша, у нас тут беда… Ох, не знаю, как тебе и сказать…
Киря почувствовал, как внутри все оборвалось, словно его окатили из ведра ледяной водой. Не будет соседка звонить просто так, хотя тетю Таню он знал с самого детства. Да что ж она тянет‑то?
— Что случилось? — дрогнувшим голосом спросил он.
— Ох, Кирюша… Мама в больнице. Юра сегодня пьяный пришел, они поссорились, и он… он ее избил. Сильно. Я прибежала на шум, вызвала скорую…
— Когда? Куда? Где?
Сердце бешено молотится в груди, готовясь выпрыгнуть наружу.
— В Воскресенскую увезли. Говорят, в реанимацию…
В висках застучало, мир стал тусклым и чужим, как будто кто‑то резко вырвал из‑под ног опору. Голос соседки продолжал что‑то говорить, но он уже не слушал. Кирилл сжал телефон так, что побелели костяшки пальцев. Перед глазами всплыли картины: мать, лежащая на полу, кровь, его отчим — огромная, пьяная тень с перекошенным от злобы лицом.
В груди закипала темная, тяжелая волна — отчаяние и ненависть. Внутри что‑то с хрустом ломалось, расползаясь в холодную, неконтролируемую ярость.
— Кирилл? Ты меня слышишь?
Голос тети Тани вернул его в реальность.
— Да, — хрипло ответил он. — Спасибо, что позвонили.
Палец сам нажал «отбой». Кирилл механически положил телефон на стол, затем сунул в карман, снова достал, посмотрел на часы. Половина девятого вечера. До скольки работает больница? Пустят ли его туда? Наверное, понадобится паспорт, он вроде бы лежит в кармане куртки. Мысли рвались в разные стороны, искрили, как оголенные провода. В голове звучало только одно: «Найду этого подонка... Найду и прикончу».
