Хакеры.RU
Глава 0х00. Миссия первая
Книга написана при поддержке журнала "Хакер".
ОФициальная страница книги: https://author.today/work/483191 Бумажную версию книги можно заказать здесь: https://xakep.shop/book01
— Слышь, пацан, свали на хрен, а то ноги оборву!
Судя по внешнему виду бандюгана, сжимавшего в лапах системник, угрозу он готов был исполнить без лишних колебаний. Типичный мелкий уголовник местного разлива: спортивный костюм, напяленный прямо на мятую футболку, небритая рожа и сломанный нос, выдававший не то бывшего боксёра, не то просто любителя помахать кулаками в пьяной драке. Ещё один такой же индивид, похожий на гоблина из третьих «Героев», как раз пытался перехватить поудобнее тяжеленный ЭЛТ-монитор — ему мешал силовой провод, всё время падавший на пол. Вытащить его из гнезда гоблин не догадался.
— Это мой комп, — упрямо заявил Кирилл, уже понимая, что судьба компьютера решена.
— Да мне плевать, — криво ухмыльнулся бандюган. — Сделай так, чтобы тебя искали!
Кирилл молча шагнул в сторону — справиться с двумя отморозками в одиночку шансов попросту не было, а на кухне засел ещё и третий. Судя по доносившимся оттуда выкрикам и ругани, разговор у них с отчимом не заладился. Осталось лишь проводить тоскливым взглядом парочку, утаскивающую в неизвестном направлении его монитор и системник да проглотить подкатившую к горлу обиду — комп было жалко до слёз. Во-первых, этот железный ящик в форм-факторе «миди-тауэр» — единственное, что примиряло Кирилла с необходимостью просыпаться по утрам и тащиться в ненавистную школу, потому что после уроков его ждали любимые «Герои». А когда все улягутся спать, можно дозвониться до провайдерского пула модемом, не с первой попытки, конечно, но тут уж как повезёт: в дневное время занимать спаренную с соседями телефонную линию ему строго-настрого запрещалось. Во-вторых, компьютер покупала мама, и убедить её в необходимости столь дорогостоящего приобретения было ой как непросто. В ход шли и настойчивые уговоры, и логические доводы о том, что в выпускных классах без собственного компа ну никак не обойтись. Теперь персоналки больше нет. Прекрасно зная о том, сколько платят сейчас в государственной больнице медсестрам, Кирилл понимал: ещё один комп мать точно не потянет.
Голоса на кухне стихли, хлопнула входная дверь — похоже, третий отморозок убрался восвояси вслед за своими товарищами. Спустя минуту в комнату засунулся взлохмаченный и немного помятый отчим:
— Живой или как?
«Опять бухой», — со злостью подумал Кирилл, а вслух ответил:
— Они компьютер забрали.
— Да и хрен с ним, перетопчешься, — отмахнулся тот, придирчиво оглядывая помещение: не пропало ли ещё чего-нибудь ценного? Судьба персоналки, судя по всему, интересовала его в последнюю очередь.
— Ага, не ты ж покупал.
— Ты чего, сопля, вконец оборзел? — мутные глаза отчима стали наливаться кровью. — А ну иди сюда, тварь!
Не дожидаясь, пока его схватят за шиворот, Кирилл ужом проскользнул в коридор и выбежал на лестничную площадку. Рука у отчима была тяжёлая, в этом он успел убедиться на собственной шкуре несчётное число раз, а привычка вымещать злобу на домашних с годами только крепла. Случалось, после очередных таких разборок Кирилл подумывал о том, как бы по-тихому прикончить этого алкаша, но всякий раз размышления заканчивались бессильным избиением ни в чём не повинной подушки. Становилось жалко маму: если его посадят, одной ей придётся тяжко. А найти в маленьком Подгорске неженатого мужика, не просто несудимого, а хотя бы непьющего, — задача для женщины за сорок почти неразрешимая.
День клонился к вечеру, но до темноты оставалось ещё несколько часов. Мать сегодня дежурила в ночь, а значит, возвращаться домой — совсем не вариант: отчим, как обычно, накидается, заливая водкой недавний стресс, и общаться с ним в таком состоянии Кириллу абсолютно не хотелось. Ноги сами понесли его по заросшему тополями бульвару к перекрёстку с широким проспектом Труда и дальше, мимо выстроившихся стройными рядами пятиэтажек, — в сторону центральной площади. Возле одной из «панелек» Кирилл свернул во двор, привычно нажал три кнопки на кодовом замке подъезда и поднялся на второй этаж. Звонок в квартире номер шесть звучал, будто вгрызающаяся в металл циркулярная пила, но её обитатели, похоже, привыкли к этому жуткому дребезгу. За дверью послышались неторопливые шаги, дверной глазок на мгновение потемнел, а затем щёлкнул замок.
— Здорово, Киря. Заходь. Чего мрачный такой?
Санчо предстал перед одноклассником и лучшим другом в домашней футболке с надписью Prodigy и вытянутых на коленях трениках, из-под которых выглядывали надетые на босу ногу шлепанцы. Гостей он сегодня явно не ждал.
— Бандиты мой комп забрали, — сообщил Кирилл печальную новость и смачно выругался. — Ворвались домой и унесли. По ходу, выбрали самое ценное, что на глаза попалось.
— Отчим? — понимающе уточнил Санчо.
— Ага. Какой-то бизнес очередной замутил, бизнесмен хренов. Занял, видать, бабла у этих, а отдавать, как обычно, нечем.
— Да-а, история… — с сочувствием протянул школьный друг.
— На работу бы лучше устроился, — повторил Кирилл слова матери, — только не царское это дело — работать. Слышь, Сань, можно я у тебя до утра перекантуюсь? Не хочу пока домой возвращаться... ну, сам понимаешь…
— Да не вопрос, — понимающе кивнул Санчо, к которому Кирилл обращался с подобной просьбой не впервые. — Жрать хочешь? Там на кухне бутеры с колбасой остались, и в холодильнике хватай, что найдёшь…
Жил Санчо, чего уж греха таить, чуть получше своего товарища: и комп у него был помощнее, на новом Athlon 64, и к интернету он подключался не по диал-апу, а через районную локалку, благодаря чему доступ к сети имелся у него круглосуточно. Глядя, как друг садится за клавиатуру и быстро набирает кому-то сообщение в «аське», Кирилл снова ощутил накатившую тоску и отчаянье: свой компьютер он, скорее всего, больше уже никогда не увидит.
— Узнать бы телефон этих ублюдков… — сквозь зубы произнёс Киря.
— И что это тебе даст? — не отлипая от экрана, бросил через плечо Санчо.
— Ну, можно повесить объяву, что они мобильники продают за копейки. Или что по этому номеру работает круглосуточная BBS с халявным варезом. А если выяснить, где они ставят тачку, а потом прицепить на двери пару амбарных замков... Да много чего сделать можно, я в одном журнале читал.
— «Западлостроение», — с ходу вспомнил название рубрики Санчо, — я ж тебе этот самый журнал и подсунул. Прикольно, но непродуктивно.
— В каком смысле?
— Да в прямом. Разозлить-то их это разозлит, базара нет, но вернуть тебе комп не поможет.
— А что поможет? — с надеждой в голосе спросил Кирилл.
— Ну смотри, — отличавшийся спокойной рассудительностью Саня отодвинул подальше клавиатуру и лихо крутанулся к гостю на вращающемся компьютерном кресле, ещё одном предмете лютой зависти со стороны Кири. — Твой отчим задолжал бандеросам денег, и машину они забрали в счёт долга, так? Значит, точняк попытаются это самое бабло вернуть, продав твой комп. Ты его конфигурацию помнишь?
— Конечно. Пень четвёртый, пятьсот двенадцать метров оперативки, восьмидесятка винт, видяха джи-форс на сто двадцать восемь мегабайт…
— Так, хорош, стоп. Офисный центр на Пятилеток знаешь?
Кирилл кивнул — бывшее здание НИИ чего-то там, необратимо переродившееся лет десять назад в деловой центр, было хорошо знакомо, пожалуй, всем жителям Подгорска.
— Там в вестибюле можно бесплатно взять газету с объявлениями. Вот и ищи в ней свой комп. Когда найдёшь, можно будет позвонить под видом покупателя. Как минимум телефон продавца ты из объявы узнаешь. А там чего-нибудь придумаем…
Когда у человека появляется цель, все переживания отступают. Наметив план действий, Кирилл почувствовал прилив сил, а мир вокруг него сделался чётче и ярче, как будто кто-то выкрутил на максимум регулятор резкости. Дома он теперь старался появляться лишь вечерами: затравленная отчимом мать нашествие незваных кредиторов проглотила молча, словно ничего и не случилось, а Киря решил на всякий случай этот эпизод вслух не вспоминать. Каждый день он приходил в гулкий вестибюль бизнес-центра, брал с металлической стойки-этажерки пахнущую дешёвой бумагой и типографской краской газету и впивался глазами в мелкие строчки частных объявлений о продаже компьютеров.
Но ни на следующее утро, ни через день, ни спустя трое суток вожделенное объявление на газетных страницах так и не появилось. Кирилла вновь начала опутывать липкая паутина отчаяния: комп хотелось заполучить обратно во что бы то ни стало, даже не из стремления вернуть утраченную собственность, а из назойливого желания восстановить попранную справедливость. Санёк клятвенно пообещал подключить к поискам старшего двоюродного брата, мутившего какие-то дела и с ментами, и с торговцами на городском рынке. Но Киря в успех этого начинания не верил ни на грош, подозревая, что друг просто хочет обнадёжить его, пока он окончательно не погрузился в пучины уныния.
Однако на шестой день Санчо сам встретил Кирилла во дворе его дома, сияя, точно начищенная монета.
— Нашёл! — радостно выкрикнул он и тут же перешёл на заговорщицкий полушёпот: — Короче, братец мой перетёр там кое с кем и вот что разнюхал. У нас тут по ходу одна бригада на весь город работает. Бандиты эти держат рынок, который на Краснопутиловской, ну, сам знаешь, барыг там стригут и всё такое. Ещё у них есть несколько контор, типа легальных, но на самом деле тоже полукриминал. Пара ломбардов, штук пять разливух, залы с игровыми автоматами. И работает там что-то типа бухгалтерии, ну, натуральный офис, прикинь? Тётки за столами сидят, чай с пряниками пьют, всякий дебет-кредит считают. Вот туда они твой комп и поставили, решили не продавать, значит.
На мгновение Кирилл ощутил прилив радости, которая быстро сменилась чувством тоскливой безысходности.
— И что нам с этим знанием делать? — мрачно спросил он. Перспектива брать бандитский офис штурмом его отчего-то совсем не привлекала.
— Погоди, не кипишуй, — сказал Санёк и заговорщицки оглянулся. — Есть одна идейка.
Изложенный другом замысел выглядел насколько привлекательным, настолько же и неосуществимым. Но именно по этой самой причине он мог сработать. Пробравшись через дырку в металлической ограде на территорию близлежащего детского сада, где сейчас, в последние дни августа, не было ни души, друзья заняли окружённую густым кустарником беседку. Здесь Санчо и изложил наконец все детали своей авантюрной задумки. Говорил он столь вдохновенно, что сам не заметил, как увлёкся рассказом и принялся расхаживать по пружинящим доскам беседки туда-сюда, размахивая руками, точно ветряная мельница. Киря напряжённо слушал, не перебивая. В конце концов рассказчик выдохся, умолк и вопросительно уставился на своего товарища.
— Чем безумнее план, — Санчо помедлил, глядя Кириллу прямо в глаза, — тем больше шансов на успех. Просто эти ребята не ожидают, что кто-то осмелится на подобное.
Киря медленно выдохнул, словно отпуская грызущие его сомнения, и кивнул. Люди очень странно устроены, они не верят в безумное ровно до тех пор, пока оно не сработает. Когда тебя с малолетства пичкают наставлениями о том, будто жить, действовать и мыслить нужно в строгом соответствии с кем-то заведённым порядком, трудно принять непривычное. Лишь со временем ты начинаешь понимать, что успеха добиваются лишь те, кто не желает жить по правилам.
— Ладно, чёрт с тобой, — сказал он наконец. — Попробуем.
Действовать решили, не откладывая дела в долгий ящик. Санчо назвал адрес здания, где, по его сведениям, обосновалась та самая бухгалтерия — располагалось оно на другом конце города, минутах в тридцати езды на трамвае. Место было выбрано крайне непримечательное и малолюдное: с одной стороны — трамвайный парк, упиравшийся в ряды ржавых гаражей, что тянулись вдоль дороги до самой лесополосы, с другой — промзона: серый бетонный забор, за ним — ажурные опоры высоковольтной линии. Если верить выцветшей от времени табличке с адресом, искомое помещение размещалось в двухэтажном кирпичном здании заводоуправления.
Друзья сунулись было в проходную, но там их встретил пост охраны с перегораживающей проход вертушкой, над которой царствовала сурового вида бабка-вахтёр в тесной стеклянной будке. Чтобы преодолеть эту преграду, следовало оформить разовую проходку в видневшемся сбоку от входа окошке бюро пропусков либо позвонить по местной линии с помощью прикрученного к стене телефона-автомата, чтобы тебя кто-нибудь встретил. Киря подумал, что ни одна современная система видеонаблюдения не сравнится по своей эффективности с подобной службой безопасности. Строгая бабка в будке запросто даст ей сто очков вперёд, да и обойдётся в три раза дешевле. Не забывай только стёкла в будке вовремя протирать. Вот и сейчас вахтёрша высунулась из своего укрытия, словно сова из дупла, стоило Санчо сделать шаг к турникету.
— Вы куда, молодые люди? — строго проскрипела старуха.
— Извините, вы не подскажете, как позвонить в общество с ограниченной ответственностью «Партнёр-сервис»? — изобразив на лице доброжелательно-вежливое выражение, поинтересовался Санчо.
— Тридцать — двадцать восемь, — выдала по памяти вахтёрша.
— Это местный. А городской?
— Там, — бабка неопределённо махнула рукой в сторону таксофона и убралась в своё стеклянное гнездо, где её ждал толстый журнал с кроссвордами.
На прибитой к стене возле телефона деревянной доске среди объявлений «Требуется уборщица» и «Продаётся щебень от 1 тонны» и вправду обнаружилась приколотая на канцелярскую кнопку замызганная бумажка с телефонными номерами арендаторов.
— Ага, — удовлетворённо произнёс Саня, найдя на листке искомое.
Оказавшись на улице, он внимательно осмотрел здание ещё раз. Время близилось к обеду, из проходной то и дело выходили люди, одетые и по-деловому, и в обычную рабочую одежду: видимо, завод продолжал функционировать, сдавая внаём лишь часть административных площадей, чтобы свести концы с концами. Никто не останавливался, никто не оглядывался по сторонам.
— Пойдём-ка, — деловито сказал Санчо, показывая рукой куда-то в сторону.
С одного торца здания громоздились автоматические железные ворота для грузового транспорта, там имелся собственный пост охраны. С другого торца была оборудована небольшая парковка для легковых машин, отгороженная от дороги полосатым шлагбаумом. Там, в дальнем конце стоянки, Киря углядел скромное крылечко запасного выхода, возле которого расслабленно курили несколько обитателей офисов. Нырнув под шлагбаум и прогулявшись возле крыльца туда-сюда, друзья убедились, что эта дверь запирается на магнитный замок, который курильщики открывали собственными картами-пропусками.
Но самое главное, никакой охраны там не было и в помине. На этом разведывательную миссию было решено свернуть.
Родители Санчо ещё не вернулись с работы, так что в гостях у друга Кирилл чувствовал себя свободно — он всегда немного стеснялся Сашиных предков. Пройдя на кухню, тот поставил на плиту чайник, достал из буфета сухарницу с печеньем и водрузил на кухонный стол блестящий чёрным пластиком телефонный аппарат — тоже модный, с определителем номера и антиАОНом, не позволявшим отследить абонента при исходящем звонке. Кирилл заворожённо наблюдал, как его друг, несколько раз кашлянув в кулак, чтобы прочистить горло, набирает уверенными нажатиями на клавиши телефонный номер.
— «Партнёр-сервис»? — чуть изменив голос, деловито заговорил Санчо, когда на том конце провода сняли трубку. — Филимонов из «Паруса» беспокоит, с кем я говорю? Добрый день, Светлана Михайловна. По договорчику от третьего числа, напомните, пожалуйста, на чьё имя с вашей стороны заключаем? Горин Евгений Степанович? Это генеральный? На основании устава, хорошо, да, спасибо. А с самим можно пообщаться по поводу поставок? Понял, без проблем. Фи-ли-монов. Да, хорошо. Всего доброго.
— И что теперь? — поинтересовался Кирилл, когда Санчо бросил трубку на рычаг.
— А теперь, через денёк-другой, когда про сегодняшний разговор забудут, в компанию позвонит генеральный директор Горин Евгений Степанович и позовёт к телефону Светлану Михайловну. Позвонит он с мобильного, поэтому связь будет очень плохая. Но Светлана Михайловна услышит, что скоро шеф пришлёт в офис двоих ребят проверить компьютеры. Один из компов окажется заражён вирусами, поэтому его ненадолго заберут в ремонт. Это называется «социальная инженерия», Киря.
— Думаешь, получится? — с сомнением в голосе произнёс Кирилл.
— Вот через два дня и узнаем.
Глава 0х01. Точка входа
Планы хороши тем, что их можно строить, сидя на диване в тишине уютной комнаты. Ты уже заранее знаешь, как будут развиваться события — шаг за шагом, будто стрелки на циферблате, которые всегда показывают правильное время. Всё кажется простым и понятным, но лишь до тех пор, пока ты не встанешь с насиженного места, чтобы выглянуть в окно, за стеклом которого прячется реальность.
Сегодня за окном мутной стеной лил дождь, и он совершенно не вписывался в тщательно продуманные Кириллом и Саней планы. Желтоватый свет фар проезжающих по лужам машин расплывался пятнами на мокром асфальте, порывы ветра гнали по тротуарам мусор и оборванные листья — первые вестники приближающейся осени. Очень хотелось послать всё к чёрту и перенести задуманное на неопределённое «потом», когда над городом развеются тучи и из-за них выглянет солнце. Но Киря поборол в себе желание снять трубку и предложить другу остаться сегодня дома. Он знал, что, если откажется сейчас, второго шанса уже не будет.
До конечной в дребезжащем полупустом трамвае ехали молча. Кирилл старался отогнать подальше мысли о том, что им предстоит, чтобы лишний раз не накручивать себя. Окутанный дождём мир по ту сторону мокрого стекла казался ему ненастоящим — серые улицы, одинаковые дома, разноцветные пятна зонтов, словно обрывки сна, в котором нестерпимо хотелось проснуться. Но проснуться не получалось.
Он оглянулся на Санчо. Тот сидел, уткнувшись в свою «Нокию», но Кирилл знал: на душе у друга сейчас не менее тревожно, чем у него самого. Просто он опять нацепил на себя ту непроницаемую маску, которая всегда возникала из ниоткуда перед чем-то важным, словно окружающий мир был для него всего лишь очередной компьютерной игрой, которую можно перезапустить, если что-то пойдёт не так.
— Всё будет нормально, — тихо сказал Санчо, не поднимая головы.
Кирилл усмехнулся. «Нормально» — это самое ненадёжное слово на свете, бессмысленное, как обещания на обратной стороне лотерейного билета. То, что тебе кажется нормальным, для всех остальных может выглядеть форменным безумием. Всё зависит от угла зрения, а углы у каждого свои.
Трамвай затормозил и с лязгом распахнул двери, впуская в салон холодный пропитанный дождём воздух.
— Ладно, — сказал Кирилл, делая шаг к выходу. — Идём.
Из-за непогоды курильщиков сегодня на улице не наблюдалось, и Кире с Санчо пришлось минут двадцать потолкаться в стороне, возле закрытого навсегда овощного ларька, испещрённого неразборчивыми надписями аэрозольной краской. Наконец на крылечко вышел пузатый мужик в свитере, щёлкнул зажигалкой, выпустил в пасмурное небо облачко дыма. Саня терпеливо дождался, пока тот докурит и затушит хабарик о край переполненной урны, а затем решительным шагом направился к входу в здание.
— Здравствуйте, — вежливо поприветствовал он мужика, тот безразлично кивнул.
На Санчо была сине-голубая спецовка, в которой его отец чинил по выходным во дворе свой престарелый «Москвич». Кире он вручил потёртую сумку с инструментами, а сам нёс в руке колбу люминесцентной лампы, которую походя подобрал на помойке во дворе. «Человек с пустыми руками вызывает больше подозрений, — со знанием дела объяснял Саня. — Если ты несёшь сумку, стремянку или ещё какое-то барахло, значит, идёшь по делу. Никто не спросит тебя, какого беса ты шляешься в неположенном месте: не будет же праздношатающийся индивид таскать с собой лишний груз без всякой необходимости?»
Вот и мужик в свитере безропотно пропустил за собой парочку, даже вежливо придержал дверь. На его лице не отразилось даже мимолётного сомнения: он был уверен, что где-то совершенно точно видел этого молодого подсобного рабочего — кажется, тот менял лампы дневного света в общем коридоре на прошлой неделе. Да и второй, белобрысый, вроде был ему смутно знаком.
Оказавшись внутри, Санчо тут же спрятал уже ненужную лампу за открытой внутренней дверью тамбура, скинул спецовку, небрежно скатал её и сунул в Кирину сумку. Взъерошил непослушные волосы и озорно посмотрел на друга.
— Второй этаж, офис триста пять, — сказал он. Точную дислокацию своей цели Саня также без особого труда выяснил по телефону накануне, позвонив одному из соседей-арендаторов и сделав вид, что ошибся номером.
Очутившись перед нужной комнатой без вывески, Кирилл на мгновение ощутил пробежавший по спине холодок страха. Санчо, не теряя времени, решительно постучал в дверь и без приглашения потянул её на себя.
— Добрый день, — громко поздоровался он, — мы к вам, Евгений Степанович должен был предупредить.
В помещении обнаружились три дамы, с интересом воззрившиеся на вошедших: одна молодая, даже весьма привлекательная, и две постарше. Пахло растворимым кофе и терпкими лавандовыми духами. Кирилл окинул быстрым взглядом комнату: несколько сдвинутых в линию столов, шкаф с рядами разноцветных канцелярских папок, электрический чайник на пластмассовом подносе, принтер на тумбе. Его Pentium стоял в дальнем углу, Киря безошибочно узнал свой комп по монитору, к которому уже успели прицепить бесполезный защитный экран из толстого стекла.
— Проходите, — хорошо поставленным голосом произнесла одна из женщин, — Слава, да?
— Верно, — кивнул представившийся вымышленным именем Санчо, — это не займёт много времени, буквально минут на пятнадцать оторвём вас от работы.
Свои роли они несколько раз отрепетировали заранее. Кирилл подошёл к ближайшему компу, хозяйка которого, та самая миловидная девушка, с интересом следила за его действиями. Воткнул дискету в дисковод, открыл проводник и запустил написанную им же самим накануне программку — она выводила на экран бегущие строки со случайными символами и рисовала индикаторы прогресса, которые должны были имитировать всевозможные технические проверки.
— Здесь всё в порядке, — кивнул он девушке.
Санчо проделал то же самое с другой персоналкой и перешел к Кириной машине. Вставил дискету в дисковод, пощёлкал клавишами, нахмурился.
— Толик, посмотри-ка, — позвал он Кирилла, разворачивая монитор так, чтобы его видели и остальные присутствующие.
На экране творилось нечто невообразимое. Поверх рабочего стола винды стали выпрыгивать угрожающие окна с надписью «Обнаружен вирус!», всё это сопровождалось тревожными звуками, доносящимися из динамика системного блока. В открытом на заднем фоне окошке побежали ярко-красные строчки, и, наконец, с громким «Бым!» представление закончилось заполнившей дисплей картинкой, один в один похожей на «синий экран смерти». В общем, Киря постарался нагнать ужаса по максимуму, мобилизовав все имеющиеся в его арсенале знания в программировании, чтобы написать этот инструмент компьютерного маньяка.
— Компьютер заражён вирусами, — пояснил Кирилл слегка оторопевшим дамам, — они уничтожат всю информацию на дисках. Вообще всю! Кроме того, если вирусы переберутся на соседние машины, они удалят операционную систему, грохнут загрузочную запись и потрут все файлы. У вас там хранилось что-то ценное? Отчёты там, документы? Впрочем, неважно, мы почистим компьютер и вернём всё как было. Но его придётся забрать в мастерскую на пару дней.
Пока Киря разливался соловьём, излагая эту трагичную историю притихшим слушательницам, Санчо варварски выдернул комп из розетки и принялся откручивать барашки видеокабеля.
— Погодите, — первой опомнилась женщина с выбеленной стрижкой каре, судя по голосу, та самая Светлана Михайловна, с которой Саня беседовал по телефону в первый раз. — Я должна связаться с Евгением Степановичем…
Киря и Саня переглянулись: такой оборот событий в их планы совершенно не входил.
— Звоните, — с деланным безразличием пожал плечами Санчо, — но Евгений Степанович в курсе, он даже предлагал нам свою машину, если компьютеры придётся везти в сервис. Вот, взгляните.
С этими словами Саня достал из кармана свою потрёпанную «Нокию», нажатием кнопки вывел на экран SMS-сообщение и сунул телефон прямо под нос недоверчивой даме. «Тестировать и забрать технику в ремонт можно. Главное — быстро, у нас много работы», — гласил текст на экране. Телефонный номер отправителя был скрыт под надписью «Горин Партнёр-сервис», так что подделку распознать было непросто. Однако женщина всё ещё сомневалась — на её лице отражалась мучительная внутренняя борьба между ответственностью и бдительностью.
— Я понимаю, но мне нужно получить подтверждение… — упрямо заявила она.
— Послушайте, мы здесь для того, чтобы спасти ваши данные, — с нажимом перебил её Санчо, чуть повысив голос. — Если вам не нравится, что мы пытаемся защитить компанию от вирусов, вы можете подождать, пока всё рухнет. Но тогда вам придётся самой объяснять Горину, почему это произошло.
— Не переживайте, мы оставим вам сохранную расписку, — успокоил женщину Кирилл. — Мы часто сталкиваемся с такими ситуациями. Вы делаете свою работу, мы — свою. Поймите нас правильно, мы просто хотим помочь.
Его успокаивающий и примирительный тон, кажется, подействовал: Светлана Михайловна кивнула.
— Другими-то компьютерами можно пользоваться?
— Да, конечно, — ответил Саня, пристраивая поудобнее под мышкой системный блок, — вирусы пока ещё не успели туда пробраться, так что файлы в безопасности.
Мгновение помедлив, Киря решительно шагнул к столу и уверенным движением сгрёб в охапку монитор. Теперь нужно было действовать быстро. Выйдя в коридор, он изо всех сил уговаривал себя не бежать и не оглядываться. Получилось? Чёрт возьми, кажется, получилось!
Лестница, один пролёт, другой, от громоздкой угловатой ноши уже немеют и начинают болеть руки. Железная дверь запасного выхода открывается кнопкой изнутри. Санчо нажал на неё свободной рукой и чуть придержал коленом металлическую створку, но перенервничавший Киря, уже готовый сорваться на бег, не удержал равновесие. Тяжеленный «Флатрон» выскользнул из рук и c гулким грохотом рухнул на асфальт. Сердце Кирилла на мгновение замерло в груди, но тут же снова пустилось в галоп: кажется, не разбился!
— Ты зачем монитор схватил, дебил? — окликнул его Санчо. — Договаривались же только системник забрать.
— Жалко, — пыхтя от натуги, откликнулся красный как рак Киря, поднимая монитор с земли.
— Вот и тащи его теперь сам, придурок.
Тащить пришлось далеко, до соседней трамвайной остановки, а потом — переулками до Саниного дома, где друзья договорились временно припрятать добычу. Кирилл пыхтел и отдувался, а под конец пути и вовсе стал поминутно останавливаться передохнуть, подперев монитор к ближайшей стене бедром. Саня как ни в чём не бывало утопал далеко вперёд, видимо, из принципа решив не дожидаться подотставшего друга. Хорошо, хоть дождь уже кончился, а промозглую сырость сдуло свежим ветерком, разогнавшим косматые грозовые облака. Но Кирилл решил не сдаваться и всё-таки допереть монитор до места назначения, даже если руки и спина потом отвалятся напрочь и будут болеть неделю.
Эйфория от варварского набега на офис, завершившегося абсолютной и безоговорочной победой, пьянила подобно креплёному вину. Саниных родителей снова не оказалось дома, но, затащив свою тяжёлую ношу в комнату, Киря на всякий случай прикрыл за собой дверь.
— Есть! — по-детски радостно выкрикнул он и подпрыгнул чуть ли не до потолка. — Мы их сделали! Всё-таки ты чёртов гений! Если честно, я маленько стреманулся, когда она своему начальнику звонить собралась. Но ты прямо всё чётко разрулил, как по нотам. И ведь придумал же такую крутую схему!
Санчо загадочно улыбался, глядя на своего друга, которого захлёстывали бьющие через край эмоции.
— Это обычный алгоритм, — сказал он, — люди тоже поддаются программированию, не хуже, чем машины. Просто нужно знать, как правильно составить программу.
Он протянул руку к стоявшей на полу бутылке колы и сделал несколько жадных глотков. Поставил бутылку обратно, кивнул в сторону стоявшего в углу системника:
— Ну что, включим?
Воткнуть на место разъёмы, найти свободную розетку — дело нескольких минут. Киря с нетерпением нажал кнопку питания. По чёрному экрану пробежали белые строки текста, затем возникла заставка загружающейся винды. Кирилл уселся по-турецки прямо на полу, придвинул поближе клавиатуру с мышью, скользнул курсором по экрану. Его личные файлы никто не тронул, даже «Герои» остались на месте. А вот новых файлов на дисках прибавилось: судя по всему, в последнее время на машине в основном запускали Microsoft Office.
Кирилл пробежался по папкам — документы Word, таблицы Excel. Открыл наугад несколько файлов — какие-то скучные списки и отчёты. Тем временем Саня встал со своего вращающегося кресла, потянулся, потом подошёл к окну, распахнул его настежь. В комнату ворвался холодный вечерний воздух, заставив Кирилла передёрнуть плечами. Он бросил быстрый взгляд на цифры в углу экрана. Восемь. Пара часов в запасе есть, потом надо двигать домой, пока мать не начала беспокоиться.
— Погодь, — сказал Санчо, заглядывая другу через плечо. — Открой-ка вот этот последний файлик.
Пожав плечами, Киря дважды клацнул мышью на значке экселевской таблицы, которую только что закрыл. Саня допил оставшуюся колу, бесцеремонно выкинул бутылку прямо в открытое окно и жадно уставился в экран.
— Вниз прокрути.
Обычная табличка, ничего примечательного. В одной колонке какие-то цифры, в другой, похоже, даты, в третьей — имена, записанные латиницей. Дальше опять ряды цифр, адреса электронной почты, ещё, кажется, телефонные номера.
— Знаешь, что это такое?
Кирилл вопросительно посмотрел на Санчо.
— Это карточки, чувак. Банковские карточки.
Саня радостно улыбнулся и хлопнул Кирилла по плечу:
— Похоже, нам удалось получить в довесок к твоему компу небольшой бонус. Эти тётушки собрали тут базу с данными карт, не то сотрудников, не то клиентов, шут их разберёт, не суть важно. Смотри, почти полные реквизиты. С этим файлом можно сделать много интересного.
— Думаешь кинуть этих людей на деньги? — кивнул Киря в сторону экрана.
— Не просто людей, — убедительно произнес Санчо. — Забыл, у кого мы комп увели? У бандитов, которые вынесли его из твоей квартиры. И эти, в офисе, тоже работают на них. Соответственно, и люди в файлике как-то с ними связаны. Может, зарплату у них получают на свои карты. А может, в ломбард бандитский чего-нибудь сдали, и им на эти реквизиты денег закинули.
— Ну, клиенты-то тут ни при чём...
— Клиенты приносят бандосам доход, а значит, тоже работают на них, — менторским тоном пояснил Санёк. — Думаешь, в ломбарды приличные люди вещи носят? Да те же алкаши в основном. Утащил у жены золотые серёжки, сдал, купил пузырь, нажрался. Сам небось знаешь.
Кирилл знал. Отчим в перерывах между провальными бизнес-прожектами тоже не брезговал решать свои финансовые проблемы за счёт мамы: чаще просто вытаскивал все деньги из сумочки, реже уносил и пропивал вещи. Так из дома постепенно исчезли все бабушкины драгоценности, старинные бронзовые подсвечники, набор фарфоровых статуэток и даже «праздничная» посуда, которую мать хранила в серванте для особых торжеств или на случай визита гостей. Впрочем, гости к ним домой не захаживали уже давненько. А попытки воззвать к совести отчима обычно заканчивались скандалом и рукоприкладством.
— Короче, Киря, я бы на твоём месте не парился насчёт моральной стороны вопроса. Они украли у нас, мы украли у них. Законная добыча.
«Возможно, Саня и прав», — подумал Кирилл. Мораль всегда кажется ясной и очевидной, пока ты стоишь на берегу. Но стоит нырнуть в глубину — путеводный солнечный свет исчезает, вокруг только муть и серый холод. Все мы похожи на рыб, обитающих в этой глубине, вся наша жизнь от начала и до самого конца протекает в этих мутных водах. Можно быть пугливым карасём, который прячется в омуте, пугаясь каждой случайной тени, а можно превратиться в зубастую щуку, что хищно скользит в темноте, питаясь страхом и слабостью других.
Кирилл невольно усмехнулся. В детстве отец часто брал с собой Кирю на рыбалку, которой увлекался всерьёз. Вместе они таскали из речки мелких серебристых окуньков, чья чешуя сверкала на солнце драгоценным серебром. На утренней заре ловили и щук, забрасывая блесну в камыши, но сильная и своевольная рыба попадалась нечасто, подцепить её на крючок считалось большой удачей. «На то и щука, чтобы карась не дремал», — эту присказку отец повторял чуть ли не каждый день.
Киря снова посмотрел на монитор, остановил взгляд на замершем поплавком курсоре в самом центре экрана. Может, и вправду пора сделать шаг с привычного берега в ледяную и тёмную воду.
Чтобы было проще плыть дальше.
Глава 0х02. Тёмные схемы
— Долой буржуев! — весело крикнул Кирилл и кивнул на экран, показывавший ту самую таблицу с данными банковских карт.
— У тебя проблемы с самоидентификацией, бро, — фыркнул Санчо. — Мы не революционеры. Мы бизнесмены. Зарабатываем бабло без всяких там идеалов и высокой цели изменить этот мир. Нам это нафиг не надо, по крайней мере лично мне.
После уроков они в очередной раз собрались у Сани дома — комп Кирилл решил пока что оставить у друга, чтобы избежать лишних вопросов, особенно со стороны отчима. Кроме того, хорошо зная последнего, он опасался, что надолго компьютер в родных стенах не задержится.
Идея пустить найденную информацию в дело не давала друзьям покоя вот уже несколько недель, но, прежде чем переходить от размышлений к действиям, рассудительный Санчо предложил хорошенько изучить теоретическую сторону вопроса. Парни нырнули в глубины тематических форумов, которых в сети нашлось предостаточно, и принялись прыгать с ветки на ветку, точно шимпанзе в поисках спелых и самых сочных фруктов. Именно здесь Киря впервые наткнулся на звучное и манящее слово «кардинг».
По всему выходило, что для их целей лучше всего подходят операции из разряда «Card not present»: так назывались транзакции по карте, выполняемые без её физического присутствия. Чаще всего этот способ предлагали интернет-магазины, продававшие товары по почте, — некоторые из них требовали ввести для подтверждения оплаты указанный на карточке трёхзначный верификационный код, каковых в добытой парнями экселевской таблице не обнаружилось. Отдельные магазины дополнительно запрашивали цифровой пароль из отправленного на мобильник SMS-сообщения, но таких пока ещё насчитывалось немного. На форумах Кирилл отыскал список зарубежных сайтов, допускавших оплату по основным реквизитам карты — номеру, дате срока действия и имени владельца. Он проверил их все: часть ссылок уже не работала, на других ресурсах успели поменяться правила, третьи не принимали карты российских банков. Но с полусотней интернет-адресов шансы ещё оставались. В основном там продавали что-то недорогое: виртуальные подарочные сертификаты, которыми можно было оплачивать сервисы вроде компьютерных игр, мелкий спортивный инвентарь, косметику и бижутерию. В одном интернет-магазине Киря нашёл даже неплохие на вид беговые кроссовки. Изучая выложенную в сети информацию, он заодно узнал, что тратить с чужих карт суммы, эквивалентные примерно девяти долларам, можно без особого риска. Расследования мошенничества стоят недёшево, и американские компании начинали их, только если сумма ущерба превышала десять баксов. В остальных случаях продавцы чаще всего возвращали потерпевшему снятые с карты деньги и тихо списывали убытки. От этой мысли на душе у Кири сделалось немного легче и чуть светлее.
Чтобы не раскрывать свой настоящий российский IP-адрес, Кирилл предложил использовать бесплатные прокси-серверы, перечень которых тоже отыскал в сети, — и эту идею его партнёр воспринял на ура. Вот уж и вправду: что может быть лучше чужого компьютера, который прячется между тобой и всем остальным миром, скрывая твою цифровую сущность от любопытных глаз? Сидишь себе спокойно в тёплой уютной норе, а прокси-сервер неслышно делает свою работу: маскирует твой IP, гоняет пакеты данных через несколько континентов, словно ты путешественник-авантюрист, который умудрился обогнуть половину земного шара, не оставив при этом ни следа.
Отдельная проблема — придумать подходящий способ получения заказанных на чужие карты товаров. С подарочными сертификатами всё выглядело предельно просто: специальный код приходил на зарегистрированный парнями анонимный адрес электронной почты. Собрав сотню таких кодов, они собирались продать добычу за полцены на хакерских форумах. А вот с реальными товарами дела обстояли чуть сложнее. На свой настоящий адрес или адреса знакомых ничего выписывать, разумеется, нельзя. Американские жулики, гордо именовавшие себя «вещевыми кардерами», заказывали товары на реальные адреса держателей карт, а потом встречали курьеров с посылками на крыльце или терпеливо поджидали их возле подъезда. Иногда они пользовались услугами «виртуальных офисов», предоставлявших всем желающим адрес для корреспонденции за скромную плату. Очевидно, что Кире с Санчо ни тот ни другой способ не подходил.
— Есть один чувак с форума, Фреш его зовут, — сказал однажды Саня, когда друзья устроились на лавочке в парке, прихватив в ближайшем ларьке по бутылке третьей «Балтики», и в очередной раз принялись обсуждать свои дела. — Думаю, он может нам помочь.
— Он добрый самаритянин? — усмехнулся Киря, категорически не веривший в безвозмездную помощь вообще, а уж на хакерских форумах — тем паче.
— Он дроповод, да и вообще опытный кардер. Мы пообщались немного, вроде адекватный чел. Ну, мне так кажется, ему можно доверять.
Киря понимающе кивнул. Дропы — обычные пешки в чужой игре. Как правило, они ни разу не общались вживую с тем, кто даёт им поручения в сети и там же выплачивает гонорар. Работа дропа проста: забрать коробку на почте, снять деньги в банкомате или получить конверт с наличкой, а потом отнести это в условленное место. Страховкой от попыток присвоить чужое имущество становился банальный страх: дроп должен был прислать своему куратору собственную фотографию с паспортом, и в случае чего ему обещали крупные неприятности. Некоторых особо непонятливых дропов даже образцово-показательно били другие такие же парни, нанятые в интернете за деньги.
Дропы не задумывались о происхождении предметов и сумм, которые им следует доставить из точки А в точку Б. Американцы называют их «денежными мулами», да и относятся к ним так же, как к расходному материалу: арестуют одного, на его место придёт парочка других. На подобную низкооплачиваемую работу подряжались в основном маргиналы, люди, имевшие серьёзные проблемы с алкоголем или веществами. Кто-то делал это за деньги, кто-то — за долги, кто-то — просто потому, что не видел другого выхода. Их задача — быть теми, кто не задаёт лишних вопросов и не требует ответов.
Кирилл оказался совершенно прав в своих предположениях. Фреш, который подписывался на форуме замысловатым ником Fressshhh, пообещал решить их проблемы с доставкой и реализацией хабара, но взамен попросил помочь в его собственных проектах.
«Что делать-то надо?» — поинтересовался Киря, когда их общение переместилось с кардерского форума в более удобную «аську».
«Копии импортных интернет-магазинов, — ответил Fressshhh. — Ничего сложного: заходишь на оригинальный сайт, сохраняешь на комп веб-страницы, немного переделываешь, и готово. Список я тебе дам».
Кирилл прекрасно понимал, зачем это понадобилось новому знакомому. Поддельный интернет-магазин размещался на поддельном же домене, отличавшемся от настоящего одной или двумя буквами. На главной его странице парни вроде Фреша вешали яркие рекламные баннеры — «Распродажа! Скидки! Акции!» — и фотографии самых ходовых товаров за полцены. Нажав на кнопку «Купить», жертва попадала на страничку оформления заказа, где оставляла все данные своей банковской карты, включая секретный защитный код. А потом перебрасывалась на страницу с ошибкой. Простите-извините, магазин сегодня перегружен, очень много покупателей стоит в очереди за дешёвыми товарами, зайдите попозже. Реквизиты карточки при этом оставались у мошенников.
Посетителей на поддельные сайты зазывали массовыми почтовыми рассылками. Этот приём именовался «фишингом», от английского слова «рыбалка», — письмо выглядело как настоящее, все логотипы и узнаваемый фирменный стиль магазина оставались на своих местах, даже почтовый адрес отправителя не вызывал ни малейших подозрений, а вот ссылка вела в логово кардеров. Люди падки до халявы, а многие, давно расставшись с детством, продолжают наивно верить в чудеса, поэтому «рыбакам», как правило, удавалось собрать неплохой улов. Добытую информацию они продавали другим хакерам, которые вычищали банковские счета жертв подчистую, или пользовались собранной базой данных сами — с той же самой целью.
— Работать нужно по Штатам и Европе, — учил Кирилла Fressshhh, — тамошние обыватели в ментовку с заявлениями не побегут. А у нас ведь как: нет заявления — нет преступления. Короче, кто работает по .RU, к тому приходят поутру.
Киря долго не раздумывал: успех их совместной операции теперь целиком и полностью зависел от благосклонности Фреша, к тому же тот был посвящён почти во все детали их бурной деятельности, которые Саня раскрыл новому знакомцу без особых колебаний. Так что выбора по большому счёту не оставалось.
А вскоре после того, как Фреш подключился к проекту, пошли первые деньги.
— Глянь, бро!
Сияя как начищенная монета, Санчо развернул веером пачку хрустящих купюр и помахал ими перед носом Кирилла:
— Сами заработали, прикинь? Получилось же, ну? Круто?
Киря провёл ладонью по волосам. Это и вправду было волнующе: он и сам до конца не верил в то, что из этой затеи выйдет что-то путное. Тем не менее вот он, успех, пусть неожиданный, но заслуженный. Его можно увидеть, пощупать и даже потратить.
— Не думал выиграть в этой игре, — честно признался он.
— Мы сами и есть игра. Это они там живут по правилам, — Санчо кивнул в сторону компа, в полудрёме чертившего на экране яркие линии скринсейвера, — а мы теперь умеем эти правила создавать. Слушай, может отметим? Погнали в «Фантом»?
Пойти в клуб? Звучит заманчиво. В конце концов, они сделали то, о чём мечтали, когда сидели на уроках в школе, то, что обсуждали каждый вечер по телефону, то, что тщательно обдумывали, выискивая крохи полезной информации в сети. Почему бы и не отметить победу?
— Пойдём, — согласился Киря. — Только домой сгоняю, переоденусь.
«Фантом» был одним из двух ночных клубов Подгорска, менее дорогим, пафосным и престижным, чем «Корсар», в силу чего сделался местом притяжения студентов городских техникумов, не слишком денежных молодых работяг и жаждущей развлечений шпаны. Фейсконтроль там был условным: внутрь пропускали всех, кто более-менее уверенно держался на ногах. Тех, кто не держался, отправляли подышать свежим воздухом в соседний скверик, а потом всё равно пускали.
Помимо танцпола, в «Фантоме» имелся бар, где наливали пиво, коктейли и крепкий алкоголь, но цены там, по мнению Кири, всё-таки кусались. Поэтому перед заходом в клуб друзья приобрели в ларьке пару фуфыриков дешёвой водки, как сказал Санчо, «для разогрева». Водку употребили в подъезде, запив колой и зажевав «Сникерсом». Саня затарился в дорогу пачкой «Пэлл-Мэлла» и прозрачной пластиковой зажигалкой, а Кирилл взял впрок упаковку «Антиполицая», чтобы замаскировать перегар. Выпитое окутало мозг тёплым уютным одеялом, на душе сделалось легко и тепло, как в детстве. Что-то подобное он ощущал, когда родители накрывали на стол перед новогодним торжеством, а в воздухе витал праздничный запах хвои и мандаринов. Отец улыбался, а мама в цветастом переднике выглядела по-настоящему счастливой.
— Может, с какими-нибудь тёлочками замутим, — мечтательно протянул Санчо, затягиваясь сигаретой.
— Думаешь, в клубе есть шанс познакомиться с девушкой, если не повезло с внешностью? — скептически спросил Киря.
— Если девушке не повезло с внешностью, бро, с ней можно познакомиться вообще где угодно, — хохотнул Санчо. — Ты у нас, конечно, не Ален Делон… Я бы даже сказал, Ален Ботан… Но не стоит отчаиваться, чувак, всё необходимое в твоих руках. А то, что не в руках, попробуй поискать в штанах.
В «Фантоме» сегодня было многолюдно. Клуб встретил Кирилла вибрирующим гулом басов, заставлявших каждой клеткой тела ощущать накатывавшие волны музыки. Свет на танцполе вспыхивал и гас, выхватывал из темноты похожие на куклы-марионетки фигуры.
Санчо сразу же растворился в толпе, и Кирилл быстро потерял его из вида. Протолкавшись к бару, он взял коктейль с водкой и апельсиновым соком, неторопливо выпил его, разглядывая посетителей. В этом хаосе света и звука была разлита особая энергетика, и она резонировала с его собственными чувствами. Кирилл вдруг подумал, что лично для него это не просто вечеринка, а символ свободы, которую он завоевал для себя сам. Больше не нужно изворачиваться и придумывать, как добыть денег у матери, которых ей самой вечно не хватало. Теперь, если нужно, он способен заработать самостоятельно. Это была его ночь, его ритм, его мир.
Отставив в сторону пустой бокал, Киря направился на танцпол, влился в разгорячённую толпу, подхваченную пульсом музыки. Струи дыма, закручиваясь в сложные узоры, проплывали в свете прожекторов и бесследно таяли в воздухе. Он почувствовал, как ритм звуковой волны окутывает его, влечёт за собой, словно океанский прибой. Время утратило смысл, звуки стали громче, а свет — ярче.
Покрутившись в танцующей толпе с четверть часа, Киря немного устал и вернулся в бар, где обнаружил Саню в компании двух незнакомых девушек — яркой блондинки с густо накрашенными бровями и рыженькой милашки в мини-юбке, чьи вьющиеся волосы падали на тонкие обнажённые плечи.
— О, а вот и он, мой друган, ну, про которого я говорил! — с трудом перекрикивая музыку, провозгласил Санёк. — Ты куда пропал, чувак? Знакомься: Света, Аня… Студентки… Из швейного техникума…
Санчо был уже изрядно пьян, язык у него ворочался с трудом, движения сделались размашистыми и неуверенными, зато гонору, похоже, прибавилось стократ. Киря подумал, что в таком состоянии друга будто бы подменили: обычно спокойный и рассудительный, теперь за столиком сидел совершенно другой человек — болтливый, вальяжный и развязный. Перед Кириллом появился стакан с чем-то ледяным и ярким, словно светящийся неон. Он поднял его к губам, почувствовав холод, смешанный с горечью алкоголя. Рыженькая Аня придвинулась поближе: Кирилл вдохнул ванильный запах её волос, ощутил тепло бедра, обтянутого телесного цвета колготками. Взгляд, скользнув по спине, цепко ухватил тонкую лямку бюстгальтера под полупрозрачной кофточкой…
— Короче, девчонки, прикиньте, это вот с ним мы ту историю провернули! — захлебываясь от собственной крутости, вдохновенно вещал Санчо. — Впёрлись в тот офис, как к себе домой, никто даже не рыпнулся. Киря дискету в дисковод сунул, и там такое началось! Типа вирусы-фигирусы кругом, всё, атас, сейчас файлы сгорят на хрен вместе с винтом и клавой! Киря у нас, кстати, крутой программист и хакер, у него башка, как Британская энциклопедия. Вы не смотрите, что ботан ботаном…
Кирилл поморщился: очень зря Саня начал рассказывать на публику всю эту историю. Он глянул под стол — не наступить ли посильнее другу на ногу — но увидел там лишь стройные ножки Ани в изящных чёрных туфельках. Да и не остановить Саню уже, вон как разошёлся…
— В общем, они там все шуганулись, пипец. Надо было действовать сразу, пока не очухались. Ну, я взял системник, а Киря, прикиньте, монитор схватил. Монитор, блин! И бежать! Он же тяжеленный, шнур болтается, Кирюн тащит его, пыхтит, из ушей уже пар валит... ща, думаю, у него пониже спины ещё одна чакра откроется…
— Мальчики, извините, я ненадолго, — поднялась на ноги блондинка Света. Бросила быстрый взгляд на свою спутницу, поправила юбку и уверенной походкой профессиональной модели двинулась в сторону уборной. Однако на полпути отчего-то передумала, сменила траекторию и зашагала к выходу из клуба.
Очутившись на улице, Света отошла на несколько шагов от крыльца, возле которого о чём-то галдела пьяненькая молодёжь, достала из сумочки тонкую сигарету, щёлкнула зажигалкой. Сделав глубокую затяжку, извлекла оттуда же изящный кнопочный «Сименс», набрала номер и прижала телефон к уху.
— Привет, братик, — сказала она. — Дома? Ага, хорошо. Слушай, я, кажется, знаю, кто украл у вас тот комп…
Глава 0х03. Цена риска
— Хочешь мороженого?
Аня зябко поёжилась, и Кирилл подумал, что предложение и впрямь прозвучало совсем по-дурацки: осень уже подарила городу последние тёплые дни перед зимней спячкой, и теперь пустынная аллея парка дышала жёлтой и оранжевой прохладой. Ларёк с мороженым остался позади. Киря искоса глянул на спутницу: сейчас она выглядела намного привлекательнее, чем тогда, в клубе: короткое бежевое пальто только подчёркивало стройные ножки, а рыжие волосы, завитые упругими кольцами, отливали на солнце медью. Девушка думала о чём-то своем, неловкое молчание затягивалось: учёбу и преподавателей швейно-дизайнерского техникума они уже обсудили, а софт и игрушки ей были глубоко безразличны.
— Я знаю одно кафе тут рядом, там отличные пончики, — предпринял новую попытку Кирилл и тут же одёрнул себя: ну какие, к лешему, пончики? У неё, небось, диета и фигура. Все девчонки помешаны на этом.
Аня задрала подбородок и зажмурилась, подставляя лицо холодным солнечным лучам, тряхнула медными кудрями. Её взгляд на мгновение зацепился за облака, лениво ползущие над деревьями, и вдруг девушка как-то резко остановилась.
— Знаешь, я, наверное, пойду, — сказала она. — Провожать не надо.
— Что-то случилось?
— Да всё уже случилось, — Аня снова зябко поежилась. — Ты клёвый парень, но… В общем, мне пора.
— Погоди, — Кирилл поймал её за рукав, подумав мимоходом, что это движение могло показаться ей слишком грубым. — Объясни.
Девушка обречённо вздохнула, но всё-таки остановилась.
— Что тебе объяснить? — голос её сделался звенящим, как далёкий колокольчик на холодном ветру. — Мы слишком разные. Ты же живёшь в своих компьютерах, про которые всё время говоришь. Я живу в другом мире, где есть люди, музыка, тусовки… Короче, где есть что-то ещё, кроме компов. Это параллельные миры, и они, как параллельные прямые, не пересекаются.
— Ты это серьёзно? — спросил он. — Это из-за компьютеров?
— Да не только. В компах нет ничего плохого. Это твоя страсть, твоя жизнь, но кроме этого в тебе нет… чего-то ещё. Понимаешь, девушкам нужно… В общем, не важно, проехали. Дело совсем не в тебе. Прости.
Аня мягко освободила руку и зашагала вперёд. Ветер слегка всколыхнул её волосы, несколько золотистых листьев упали на дорожку у ног Кирилла. Он хотел что-то сказать, но мысли запутались в голове, словно строки кода, никак не желавшие собираться в стройную программу. Она уходила, а с ним остался осенний парк, бесконечная аллея и тишина, которой уже не нужны были никакие слова.
***
В родном подъезде пахло кошками и кислыми щами — кто-то из соседей готовил. Кирилл нащупал ключ в кармане, подсветил себе зажигалкой, вставляя его в замок: и без того тусклую лампочку на лестничной площадке кто-то разбил. Только бы матери с отчимом не оказалось дома: ему совсем не хотелось сейчас ни с кем разговаривать.
Но мама ждала в коридоре, вытирая руки о передник, — видимо, вышла из кухни на звук ключа в замке. Выглядела она непривычно мрачной и встревоженной.
— Киря, где ты был? С тобой всё в порядке? Что-то случилось?
— Да всё нормально, ма, — откликнулся Кирилл, скинув один кроссовок, и принялся стягивать другой, наступив на пятку носком.
— Ничего не нормально! Расскажи мне, что произошло. Ты какой-то сам не свой.
— Ну, с девушкой поссорился, — покривил душой Кирилл, подумав, что Аня в общем-то так и не успела стать его девушкой. Впрочем, для отмазки сгодится и эта версия.
С девчонками вообще как-то не ладилось: знакомиться он толком не умел, а если и получалось, то дальше пары встреч общение не заходило — он просто не знал, о чём с ними разговаривать, чтобы тема была хоть отчасти интересна обоим. Может, в следующий раз, когда окажется за компом, и вправду заполнить анкету на каком-нибудь «омене»?.. При мысли об этом настроение окончательно испортилось: домой машину не притащить, а постоянно зависать в берлоге у Санчо неудобно, его предки уже косо смотрят.
Кирилл шагнул в свою комнату и хотел было прикрыть за собой дверь, но мама вошла следом, села на краешек дивана.
— Подожди, давай поговорим. Что с тобой происходит?
— Ничего, — пожал плечами Киря. — С чего ты вообще взяла, будто что-то не так?
— Приходили эти люди, — чуть понизив голос, холодно сказала мать, — знакомые отца. Искали тебя, спрашивали про компьютер.
От неожиданности Кирилл даже пропустил мимо ушей тот факт, что мама в очередной раз назвала отчима «отцом», от чего его всякий раз коробило. Значит, искали. Притом те, кто искал, в курсе про комп и, следовательно, могут добраться до Санчо. Лампочка на лестничной клетке разбита, видно, тоже неспроста. Мозг начал лихорадочно прокручивать варианты, как процессор, выведенный на турборежим. Откуда у них информация? Кто слил? И главное, что именно они знают? Сообщат ли ментам? Нет, вряд ли, эти будут решать вопрос самостоятельно…
— Кирюша, родной, я очень волнуюсь, — тон матери сменился на жалобно-просительный. — Ну расскажи, пожалуйста, что творится? Я ничего не понимаю…
— Всё нормально, мам, — Кирилл поднялся на ноги, — я во всём разберусь, не волнуйся.
— Дай-ка я с ним поговорю, — в дверях возник полупьяный отчим и нетвёрдой походкой зашёл в комнату.
— Юра, не надо… — попыталась возразить мать, но тот лишь брезгливо бросил через плечо:
— Заткнись. Ты чего мать доводишь, сучоныш? Она тут извелась вся. Хочешь, чтоб её инфаркт хватил?
— Кто бы говорил, — огрызнулся вполголоса Киря.
— Повтори, чё ты там вякнул, тварь? Давно на скорой не катался?
— Юра, перестань… — снова вступилась мама, попыталась встать между Кириллом и отчимом, но тот грубо толкнул её обратно на диван.
— Заткнись, я сказал. Ты чего там намутил такого, паскуда? А? Тебя спрашиваю! Язык из задницы достань и отвечай. Что ты, блин, сотворил, что люди к нам домой приходят и за тебя спрашивают?
— Не твоё собачье дело, — ответил Кирилл уже увереннее.
Отчим на мгновение завис, и Киря почти отчётливо услышал, как в его голове щёлкают и переключаются шестерёнки, переваривая услышанное. Вот этот вот сопляк, который всегда ссытся, стоит на него погромче прикрикнуть, посмел по-хамски ответить главе семейства?
Да и плевать, в конце концов. Этот «глава» бесконечно тиранит и оскорбляет мать, его самого вообще ни в грош не ставит. Сколько раз мама каталась с ним в травму после таких вот воспитательных мероприятий? Что-то лепетала, оправдываясь, про «играл с ребятами, упал на детской площадке», чтобы врач не подумал сообщить куда надо… Надоело.
— Ну щас, мля, ты огребёшь, — вышел из комы отчим. — Напросился, падла…
— Юра!..
Всё произошло за какие-то доли секунды — словно невидимый монтажёр вырезал кусок кинопленки, оставив лишь несколько резких, контрастных кадров, отчётливо врезавшихся в память. Вот отчим отлепляется от дверного косяка и выбрасывает руку вперёд, чтобы схватить Кирилла за волосы. Вот вместо того, чтобы, как обычно, в ужасе отшатнуться и спрятаться за диван, тот шагает навстречу. Размах, резкий удар ногой в пах. Гол! Сам Роналдиньо позавидовал бы такому удару. Отчим сгибается пополам, словно марионетка с перерезанными нитями. Ещё один удар раскрытой ладонью в лицо, кожа чувствует колкое прикосновение небритой щетины.
Следующий кадр — уже на улице, Киря бежит по бульвару, сжимая в руках наспех сорванную с гвоздя куртку. Телефонная будка. Пошарив по карманам, он выудил из джинсов таксофонную карту. Чёрт, пора уже мобильником обзавестись, бабла теперь, наверное, хватит. Путаясь, Кирилл набрал давно знакомый номер. Ну же! Давай! В трубке щёлкнуло после пятого гудка.
— Да? — раздался на том конце сонный голос Санчо.
— Никуда не выходи, сиди дома, я сейчас приду. Дело серьёзное. Всё, давай.
Киря повесил тяжёлую трубку на рычаг и только сейчас заметил, что стоит на холодном асфальте в одних носках.
К привычной панельке он шёл, нервно оглядываясь и озираясь по сторонам, но его никто не окликнул. Ни возле дома, ни во дворе он не заметил подозрительных людей или машин, и, лишь подойдя к подъезду, он почувствовал, что от сердца слегка отлегло. Код на дверях, грязная, давно не мытая лестница, второй этаж. Сегодня Саня смотрел в глазок чуть дольше обычного, прежде чем загреметь засовами.
— Ты чего босяком? — оторопело спросил он.
— Потом расскажу. Попить дай.
Кирилл юркнул в комнату, кивнув выглянувшей из-за двери Сашиной матери. Бросил куртку в угол, принял протянутую ему кружку с кипячёной водой.
— По ходу, спалились мы, Сань, — сказал он, чуть отдышавшись. — Не знаю как, но дело дрянь.
Выслушав его сбивчивый рассказ, Санчо задумчиво почесал подбородок, а потом уселся в своё офисное кресло и принялся неторопливо вращаться, словно готовящийся к полёту космонавт.
— Что делать будем? — прервал молчание Киря.
— Ничего.
— В каком смысле?
— Да в прямом, — меланхолично отозвался его друг. — Ну сам посуди. К тебе они приходили, ничего не нашли. Ко мне тоже могут завалиться, но я им не открою, своих предупрежу. Комп попрошу отца на дачу отвезти. Мы с тобой ничего не видели, ничего не знаем. Что они нам сделают?
— Прибьют нахрен или покалечат.
— Из-за сраного компа? Не смеши. Не будет никто из-за такой фигни заморачиваться. А насчёт бати твоего… Перекантуйся пока у меня, мать на кухне постелет. Ты подумай лучше, как проект Фреша побыстрей закончить, вот кого обижать совсем не хочется.
С задачей, которую поставил им Фреш, Кирилл справился меньше чем за неделю. Там действительно не оказалось ничего сложного: он скопировал и чуть подправил страницы нескольких американских интернет-магазинов, запаковал файлы в архив и переслал его Фрешу. Размещением поддельных сайтов в интернете тот поначалу занимался сам, но вместе со следующим заказом скинул Кириллу данные FTP-сервера, попросив залить туда всё самостоятельно. Работа стала рутиной, от которой Киря спасался в чатах, просиживая в них вечерами за Саниным компьютером. Дома он старался не показываться: забежал туда пару раз, когда в квартире точно никого не было, чтобы забрать учебники и немного одежды. Школу тоже посещал через раз. От скуки Киря даже переделал и усовершенствовал фрешевский скрипт, собиравший данные банковских карт в текстовый файлик, за что удостоился от того щедрой похвалы.
Работа над скриптом затянула Кирилла не хуже тактических сражений в его любимой игре. Он чувствовал, что пишет не просто привычный набор команд, а нечто большее. Само собой пришло понимание, что он видит на каком-то подсознательном уровне все недостатки программы, её слабые места, внутреннюю логику и знает, как сделать её лучше, быстрее, надёжнее. Странное, непривычное и пьянящее чувство.
Удивительно, но в дни, прошедшие с того памятного визита домой, и на протяжении всей следующей недели их никто не побеспокоил. Поначалу Кирилл продолжал тревожно оглядываться на улице, но потом расслабился: видно, рассудительный Санчо оказался прав, и бывшие владельцы компьютера всё-таки решили оставить их в покое.
А потом Фреш прислал гонорар за проделанную работу.
— Мы снова богаты! — искренне радовался Санчо, пересчитывая хрустящие купюры. — Как насчёт отметить это прекрасное событие?
— Опять в клуб? — с кислой миной поинтересовался Кирилл, который уже потратил значительную часть своих денег на давно желанный телефон «Эриксон» и теперь решил перейти в режим умеренной экономии.
— На фиг клуб, есть идея получше, — решил Санчо. — Мы пойдём в ресторан!
Оценив недовольное выражение на лице друга, он ткнул Кирю кулаком в бок и добавил:
— Чувак, я угощаю!
В ресторане Кирилл ужинал впервые в жизни и потому немного стеснялся своих потёртых джинсов и свитера, в то время как Саня напялил модный замшевый пиджак, заранее припасённый для выпускного. Улица за окнами уже погрузилась в вечерний сумрак, неоновые вывески отражались на мокром асфальте, будто на гладкой поверхности воды. Наверное, там слышался негромкий шум города, но здесь, внутри, льющаяся откуда-то тихая фортепьянная мелодия нарушалась лишь мелодичным звоном столовых приборов о фарфор — посетителей сегодня было много.
Миловидная официантка, едва заметно кивнув, провела их к свободному столику у окна. Киря украдкой оглядывался по сторонам. Тусклый приятный свет из ламп на длинных шнурах, высокие потолки, абстрактные, похожие на мазню сумасшедшего художника, картины по стенам. Он осторожно сел на стул, как на важном экзамене, Санчо бросил на друга успокаивающий взгляд и вальяжно откинулся на спинку.
— Расслабься, чувак. — Саня взял меню, но смотрел не на его страницы, а на своего спутника: похоже, ему нравилось, что Кирилл чувствует себя здесь немного потерянным.
Чтобы занять руки, тот тоже раскрыл тяжёлую коленкоровую папку. «Конфи», «суфле», «гратен». Как будто кто-то решил провести внеплановый урок по иностранному языку.
— Ты вообще знаешь, что это за еда? — пробормотал он, не отрывая взгляда от меню.
— Нет. Но это неважно. Главное, что теперь мы можем себе это позволить, — ухмыльнулся Санчо.
Подошла официантка, и Саня, едва взглянув в список блюд, заказал что-то с названиями, которые Кирилл даже не попытался запомнить, просто попросил принести то же самое. Когда девушка удалилась, Санчо снова посмотрел на своего друга, на этот раз серьёзно.
— Знаешь, в чём прикол? Мы думали, что успех — это доступ. Обмануть систему, обойти защиту, слить деньги с карточек. Но на самом деле…
Саня взял свой бокал с водой, крутанул его в руке.
— Настоящий доступ — это сюда. Когда ты можешь просто сесть за столик, заказать всё, что хочешь, и знать, что ты это заслужил.
На столе появились аккуратно завёрнутые в салфетку приборы, запотевший графин с чем-то прозрачным, тарелки с салатом и холодными закусками. Кирилл едва успел подцепить вилкой самый аппетитный кусок буженины, как кто-то невидимый будто включил у него в голове сигнал тревоги. Он огляделся.
В ресторан вошли трое, выглядевшие на фоне окружающей обстановки будто пришельцы из другого мира: кожаные куртки, короткие стрижки, тяжёлая неторопливая походка в развалочку. Один остался у дверей, другой, окинув зал цепким взглядом, прямиком направился к их столику, третий последовал за ним. Незваный гость придвинул ногой свободный стул и уселся между Кириллом и Саней, второй остался стоять чуть позади. Киря мельком заметил массивную золотую цепь на его шее и усмехнулся про себя: ну типичный бандос, будто только что сошёл с картинки в газете «Мир криминала».
— Здорово, молодёжь, — произнёс коренастый, разглядывая их с явным интересом. — Чего празднуете?
— Отмечаем, — мягко поправил его Саня, — пятёрку по математике.
Кирилл отметил, что внешне Санчо совершенно спокоен, но в то же время чувствовалось, как он напрягся, словно ожидая удара.
— Отличники, мля, — коренастый взял со стола вилку, повертел её в руке и бросил обратно на скатерть. — Мне тут птичка на хвосте принесла, что вы прихватили кое-что чужое. Костя Батон, слышали, небось, про такого, очень этим недоволен.
Кирилл невольно вздрогнул: Батон считался местным уголовным авторитетом, под которым ходили те самые бригады, державшие рынок. Про него рассказывали всякое, и даже если большая часть этих рассказов была преувеличена, оставшейся вполне хватило, чтобы понять: с Костей лучше не связываться.
— Не знаю, о чём вы, — с деланным равнодушием пожал плечами Саня, — что вообще происходит, мужики? Мы просто сидим, отдыхаем. В чём проблема?
Коренастый усмехнулся.
— Проблема в том, братан, что компьютер, который вы свистнули, не ваш.
Он наклонился вперёд, его взгляд сделался тяжелее:
— И за это ответить придётся, парень. Хозяева компа хотят порешать этот вопрос. Добазаримся — разойдёмся бортами.
Кирилл почувствовал, как его сердце забилось быстрее. Он бросил быстрый взгляд на своего друга, и этот взгляд был красноречивее слов: влипли! Второй тип, тот, что маячил за спиной Санчо, пододвинулся на шаг ближе, заставив его слегка отстраниться.
— Короче, мальки, — коренастый говорил тихо, но его слова звучали, словно удары о боксёрскую грушу, — нам нужен наш комп. И бабки за беспокойство. Готовьте штукарь баксов, иначе будет беда.
Коренастый поднялся, с грохотом отодвинув стул.
— Хорошего вечера, пацаны. Даём три недели, чтобы решить вопрос, потом включится счётчик.
Кирилл смотрел, как незваные гости уходят, его разум лихорадочно искал варианты выхода. Штука баксов — серьёзная сумма, за отпущенное время столько не заработать. Про кражу денег с карт, номера которых они нашли на компе, бандиты, похоже, ещё не знают. Но рано или поздно узнают. И вот тогда…
— Что будем делать? — Киря наконец-то выдохнул, переведя взгляд на Санчо.
— Думаю, есть горячее, его сейчас принесут, — тряхнув головой, словно отгоняя неприятное видение, ответил тот. — А с этим… Решим позже. Есть одна мысль.
Глава 0х04. Предварительный этап
«Ну вы, парни, отожгли, конечно :)))))»
Судя по количеству скобочек в смайлике, Фреша от души повеселила рассказанная ребятами история, а вот Кириллу было почему-то не до смеха. Не то чтобы он боялся бандитов — ещё в начале девяностых Подгорск завоевал имидж города криминального и с тех самых пор гордо нёс это звание через года. Тюремно-блатной романтикой были пропитаны буквально все сферы жизни здешних обывателей, от школьной скамьи и до седых волос, этот неистребимый дух витал и на детских площадках, и в стенах казённых учреждений, и в пыльных цехах градообразующего комбикормового завода. За без малого полтора десятилетия, прошедшие с момента крушения Союза, местные жители успели насмотреться всякого: стрелок, рукотворных пожаров и разборок, наиболее отмороженных участников которых находили порой в мутных водах Подгорки. Иногда по частям. В общем, бандиты воспринимались как повседневная деталь местного пейзажа, как привычное природное явление, вроде постоянно действующего вулкана — кажется, и опасно жить бок о бок с ползущими по склонам раскалёнными потоками лавы, но и деваться-то особо некуда. С другой стороны, эти ребята могли доставить крупные неприятности, если не ему самому, так матери, — поэтому Кириллу хотелось отыскать хоть какое-то решение возникшей проблемы. Он потянулся к клавиатуре и набрал в окошке «аськи»:
«Так что делать-то? Санчо сказал, ты можешь помочь».
ICQ на какое-то время замерла в задумчивости, а затем в трее с характерным «а-ау!» замигал жёлтый конвертик:
«Могу, есть варианты. Но, как говорится, ты мне — я тебе. От вас тоже кой-какая помощь понадобится».
Прочитав сообщение, Кирилл ощутил лёгкий холодок, пробежавший по спине: идеи Фреша обычно отдавали крепким криминальным душком. Только есть ли у него выбор?
«Чего хоть делать-то?» — напечатал на клавиатуре он.
«Да вот хочу базу одного американского шопа сдампить, — мигнула в ответ „аська“, — сам не справлюсь. Не ссы, Кикс, баблом не обижу».
А ведь это был уже следующий уровень в игре, которую, судя по всему, затеял Fressshhh, назвавший Кирилла его сетевым именем — Kicks. Слить базу данных интернет-магазина вместе с личной информацией клиентов куда сложнее, нежели соорудить поддельный сайт, чем промышлял до недавнего времени Киря. Это самое настоящее мастерство. То, чем занимаются все эти серьёзные парни, которых благоговейно называют хакерами.
Естественно, Кикс не обладал нужными для подобной работы навыками и, конечно же, не собирался признаваться в этом Фрешу. Время для изучения матчасти у него в запасе есть, а новые полезные знания — это всегда интересно, в отличие от унылых и бесполезных, которыми их пичкали в школе. К тому же пора прикупить какой-никакой ноутбук, чтобы работать на нём где-то за пределами Саниного дома, в котором Кирилл уже практически поселился, вызывая тихое недовольство Сашкиных родителей. Да хоть у себя в комнате его прятать под матрасом. Только вот более-менее приличный ноут стоит баксов восемьсот, а то и всю тысячу, в канаве такую сумму не найдёшь. Эх, если бы удалось отмазаться от бандитов…
Киря принялся штудировать сетевые форумы, а заодно подтягивать английский. В англоязычном интернете отыскалось очень много полезной информации, к тому же там она почему-то оказалась более полной, в то время как переводы порой страдали досадными неточностями. В школе Кирилл английский ненавидел, зубрёжку всех этих «паст симпл» и «презент континьюс» считал напрасной тратой времени, а с «англичанкой» Эльвирой Николаевной оставался на ножах чуть ли не с пятого класса. Сейчас английский язык сделался для него жизненно необходимым, и он остервенело принялся читать статьи с иностранных сайтов, прогоняя их через переводчик «ПроМТ», а потом задавал вопросы обитателям тамошних форумов, ругая себя за то, что не уделял этому время раньше.
Когда одна армия решает напасть на другую, боевые действия всегда начинаются с разведки. В сети — всё то же самое. Потоки данных — невидимые артерии глобальной сети, в которых пульсирует и течёт жизнь, превращая весь земной шар в единое пространство, где города, дома и люди крепко связаны незримыми нитями. Кирилл представлял себе эти потоки как реки и моря, по которым течёт информация, преодолевая границы серверов и компьютеров, словно древние караваны кораблей, пересекающие бескрайний океан. Разные корабли возят разные грузы, и плывут они обычно своими собственными маршрутами — так и для транспортировки данных использовались разные протоколы. По берегам океана встречались богатые и полные сокровищ серверы-города, к которым вели морские порты. Но не все порты рады каждому встречному кораблю: за ними спрятаны программы, наученные открывать ворота, следуя чётким правилам и соглашениям, подобно тому как придворные слуги отворяют двери только по особым знакам. Правда, слуги, бывает, спят на посту или слишком увлечены игрой в кости — так и программы, написанные людьми, не застрахованы от ошибок. Очень часто администраторы серверов попросту забывали вовремя обновлять работающие на них программы, чтобы устранить давно известные ошибки. Сможет ли стражник защитить вверенные ему крепостные ворота от лазутчика, если ему не объяснили, как этого лазутчика распознать? Кирилл знал: стоит лишь отыскать такую уязвимость, и в твоих руках окажется ключ от всех сокровищ скрытого за воротами города.
В мире, где за потемневшим окном падал первый в этом году снег, пальцы Кирилла неторопливо перебирали клавиатуру, но в мире нулей и единиц он двигался куда быстрее, следуя за тенями, мелькающими на периферии его сознания. Он запустил сетевой сканер, как охотник запускает в небо обученного сокола. Бездушный взгляд сканера проникал туда, куда не может дотянуться человеческое зрение, программа тасовала IP-адреса, порты и службы, как опытный фокусник — колоду карт. Каждая незапертая дверь, каждый ненадёжный сервис — это трещина в стене крепости. Если знать, где ковырнуть кладку, стена рухнет, образуя проход. Кирилл чувствовал себя боевым магом, окидывающим взглядом поле брани перед штурмом вражеской цитадели, — в его руках имелся целый арсенал мощнейших заклинаний, под ударами которых не выдержит ни одна крепость. Хорошо быть настоящим волшебником в эпоху технического прогресса, да ещё и способным творить магию не в компьютерной игре, а в самой настоящей реальности. Особенно если люди вокруг тебя больше не верят в волшебство.
Сканирование завершилось, и Киря, оглядев экран, с удовольствием отметил про себя, что проведённые за чтением руководств и инструкций бессонные ночи не прошли даром: теперь он может видеть и понимать то, что неподвластно другим. Веб-сервер Apache, за ним скрытый SSH-доступ, карта портов — как на ладони. Тем временем Санчо набросал схему внутренней структуры сервера, отыскав несколько служебных поддоменов, подобных запасным выходам в неприступном замке, которыми пользуется для своих нужд местная прислуга и челядь. Все ли эти неприметные двери надёжно закрыты на засов?
— Кажись, есть несколько точек входа, — сказал другу Киря, отодвинув клавиатуру в сторону.
— Вот и славно. Но пробивом пускай Фреш занимается, у него опыта больше, — отозвался тот.
Действительно: таранить даже плохо закрытые ворота крепости следует специальным инструментом, с которым нужно уметь правильно обращаться. Кирилл был уверен, что со временем научится этому и сам. Обязательно научится.
— Только есть один моментик, — задумчиво почесал подбородок Санчо, — подмести за собой потом надо.
А вот это действительно проблема. Любой сервер автоматически записывает в специальные журналы всё, что происходит как снаружи, так и внутри него, а потом, изучив эти файлы, эксперты смогут восстановить хронологию событий. Ни Кирилл, ни Саня чистить такие лог-файлы не умели.
Фреш, на удивление, отнёсся к проблеме со всей серьёзностью.
«Есть один крутой специалист по логам, поможет замести следы», — написал он.
«Как связаться?» — отстрочил на клавиатуре Кирилл.
«Я передам, она вам сама в „аську“ стукнется».
«Она?»
«Да. Её зовут Trixy».
Девчонки в сети не то чтобы считались редкостью — редкостью были девушки, не просто что-то понимающие в компах, а ещё и шарящие в хакерском ремесле. Кажется, этот ник всё-таки встречался Кире на нескольких посвящённых взлому форумах, и вроде бы кто-то даже в шутку писал, будто Trixy никогда не оставляет следов.
Трикси, как и обещал Фреш, объявилась в тот же вечер: «аська» мигнула жёлтым значком, издав звук, похожий на стук в дверь, — так мессенджер оповещал о сообщении от незнакомого пользователя.
— Всё, братан, она здесь, — наклоняясь к экрану, шёпотом сказал Сане Кирилл, будто боялся, что девушка может услышать их через интернет.
«Привет. Fressshhh маякнул, вы что-то серьёзное затеяли ,)», — высветился в окошке текст с подмигивающим смайликом.
«Привет. Да, есть одна задачка. Нам бы разобраться... со следами», — пальцы Кирилла забегали по клавишам.
«Поняла. Какие логи?»
«Системные и доступа. Там обычный „Апач“, движок на PHP. Всё должно исчезнуть, будто нас и не было».
«Ну, звучит весело. Могу помочь», — откликнулась Трикси.
— Спроси, что она хочет в качестве оплаты, — Санчо слегка толкнул друга локтем в бок.
Киря вздохнул и снова посмотрел на экран.
«Что тебе нужно взамен?»
Пауза длилась чуть дольше, чем раньше. Наконец ответ появился на экране:
«Просто не облажайтесь. Иначе вас вычистят не только из логов».
Отправив это сообщение, Трикси вышла из сети: цветочек, обозначавший её учетную запись, сделался красным. Никаких прощальных фраз. В комнате снова воцарилась тишина, нарушаемая лишь тихим гудением компьютера. Кирилл откинулся на спинку кресла, закрыл глаза и почувствовал, как по спине пробежал холодок. Её слова казались шуткой, но нечто скрытое в них всё же заставило Кирю усомниться, что это просто игра. Он покосился на Санчо, который сидел с невозмутимым лицом, постукивая пальцами по столу.
— Ты что думаешь? Реально она поможет?
Саня пожал плечами, продолжая смотреть куда-то перед собой.
— Кто она вообще такая? — Он повернулся к другу и усмехнулся. — Спорим, это какой-нибудь толстый старый мужик, сидящий в засраной квартире где-нибудь на окраине Москвы, который жрёт пиццу и прикалывается над тем, как мы тут всё это воспринимаем всерьёз?
Киря рассмеялся, хотя что-то в словах Сани задело его. Он повернулся на стуле, изображая «того самого мужика»:
— О, привет, пацаны! Я тут почищу вам логи, только не облажайтесь! — Он нарочито понизил голос, изображая карикатурного хакера, ссутулившегося за клавиатурой с куском пиццы в руке.
Они оба расхохотались, разрядив напряжение. Но смех был коротким.
— Ладно тебе, — наконец сказал Кирилл, протерев глаза. — Всё равно, даже если это действительно какой-нибудь толстый старый хрен, нам пофиг. Главное, чтобы свою работу сделал до конца.
— Ну да, — Саня прищурился, глядя на монитор, — я всё же думаю, что настоящая девушка-хакер — это что-то из разряда мифов. Знаешь, как единороги или нормальные системы защиты. Все об этом говорят, но никто никогда не видел.
— Может, мы и станем первыми, — улыбнулся Кирилл. — Хотя, если это и правда какой-нибудь мужик, лучше его всё-таки не видеть.
Что ж, пока всё складывалось как нельзя более удачно: разведка прошла успешно, Фреш разберётся с самим взломом и сливом базы, а Трикси поможет замести следы. Тогда, наверное, дела наладятся. Киря решит проблемы с бандитами, с чем клятвенно обещал каким-то непонятным образом посодействовать тот же Фреш, купит себе ноутбук и сможет наконец чаще появляться дома… Он подумал, что последний раз был там недели две назад. Нет, может быть, даже три. Или уже месяц? Время склеивалось в какую-то липкую ленту Мёбиуса, где каждая минута превращалась в час, а сутки исчезали в тусклом мерцании экрана.
Кирилл покосился на свой «Эриксон», лежащий на столе. Мать знала номер его нового мобильного и звонила примерно в одно и то же время — вечером, когда отчим уже напивался. Разговор почти всегда строился одинаково, как в фильме «День сурка». Сначала знакомое, усталое «Привет, сынок», а потом вопрос, который вколачивался в его мозг молоточком вины: «Когда ты зайдёшь? Я скучаю». Но за этими простыми словами скрывалось что-то большее. Мать, как всегда, избегала прямых разговоров о том, что творилось у них дома, но Кирилл знал: её жизнь с отчимом — это нескончаемая борьба за иллюзию семьи, которой никогда не существовало. Вот только сегодня звонок в привычное время не раздался, наверное, дома готовится ужин или стирка в самом разгаре — не до того.
Кирилл выдохнул, потёр лицо руками, словно пытаясь смахнуть с себя мысли о прошлом. Но образы всё равно приходили — вспомнились бессонные ночи, когда он слышал, как за стеной что-то разбивалось, как в кухне падала посуда, а мать, тихо плача, собирала осколки. Именно тогда он начал кодить, убегая на ту сторону экрана, в мир, где нет боли и слёз. И чем глубже погружался в этот цифровой лабиринт, тем дальше оказывался от реальности.
Но это было иллюзией. Реальность всегда пряталась рядом, точно невидимый монстр под его детской кроватью. Она дышала за спиной, шептала в ухо, что он не сможет убегать от неё вечно. Вот прямо сейчас реальность ворвалась в его мысли жужжанием и мелодичным писком телефона, забившегося в конвульсиях на столе.
Киря протянул руку. Номер не определился — так всегда было, когда звонили с городского.
— Да? — приложил он трубку к уху.
— Алло, Кирюша? — голос в динамике показался ему и знакомым, и незнакомым одновременно. — Кирюша, ты? Это тётя Таня, соседка. Мне Ирочка твой номер на всякий случай дала… Кирюша, у нас тут беда… Ох, не знаю, как тебе и сказать…
Киря почувствовал, как внутри всё оборвалось, словно его окатили из ведра ледяной водой. Не будет соседка звонить просто так, хотя тётю Таню он знал с самого детства. Да что ж она тянет-то?
— Что случилось? — дрогнувшим голосом спросил он.
— Ох, Кирюша… Мама в больнице. Юра сегодня пьяный пришёл, они поссорились, и он… он её избил. Сильно. Я прибежала на шум, вызвала скорую…
— Когда? Куда? Где?
Сердце бешено колотится в груди, готовясь выпрыгнуть наружу.
— В Воскресенскую увезли. Говорят, в реанимацию…
В висках застучало, мир стал тусклым и чужим, как будто кто-то резко вырвал из-под ног опору. Голос соседки продолжал что-то говорить, но он уже не слушал. Кирилл сжал телефон так, что побелели костяшки пальцев. Перед глазами всплыли картины: мать, лежащая на полу, кровь, его отчим — огромная, пьяная тень с перекошенным от злобы лицом.
В груди закипала тёмная, тяжёлая волна — отчаяние и ненависть. Внутри что-то с хрустом ломалось, расползаясь в холодную, неконтролируемую ярость.
— Кирилл? Ты меня слышишь?
Голос тёти Тани вернул его в реальность.
— Да, — хрипло ответил он. — Спасибо, что позвонили.
Палец сам нажал «отбой». Кирилл механически положил телефон на стол, затем сунул в карман, снова достал, посмотрел на часы. Половина девятого вечера. До скольки работает больница? Пустят ли его туда? Наверное, понадобится паспорт, он вроде бы лежит в кармане куртки. Мысли рвались в разные стороны, искрили, как оголённые провода. В голове звучало только одно: «Найду этого подонка... Найду и прикончу».
Глава 0х05. Между взломом и болью
Поздний вечер засыпал город липким мокрым снегом. Белые хлопья, то застывая в воздухе, то мелькая в свете проезжающих навстречу машин, падали на землю и таяли, превращаясь в стылую жижу. Больница была уже близко — размытое светлое пятно на фоне пустого бульвара, где, казалось, одновременно выключили и уличные фонари, и тепло. Серые коробки пятиэтажек справа и слева тоже тонули во мраке, не светилось ни единого окна, словно с ними что-то случилось, — дома перестали замечать людей, как будто забыли, для чего были построены. Кирилл замёрз: хорошо бы раздобыть куртку потеплее, только вот вся его одежда осталась дома.
Дверь притулившегося к забору домика-проходной была заперта, поэтому Кирилл просто поднырнул под шлагбаум, через который на территорию заезжали автомобили скорой помощи. Здесь было ещё темнее, территория больницы казалась сырой и неприветливой, точно старое заброшенное кладбище. Ноги в кроссовках окончательно промокли и заледенели. Следуя указателю «Приёмный покой», Киря прошёл по усаженной тополями аллее и свернул к приземистой кирпичной пристройке, возле которой одиноко мёрз белый фургон с красной полосой. Толкнул тяжёлую дверь, шагнул в небольшой холл с лавочками по стенам. За похожим на аквариум стеклом, как сонные рыбы, вяло шевелились две женщины среднего возраста в белых халатах.
— Вы куда, молодой человек? — окликнул Кирю сидевший у входа пожилой охранник в мешковатой чёрной форме.
— Понимаете, у меня сюда маму привезли… — шмыгнув носом, начал он, но охранник грубо прервал его объяснения, ткнув пальцем в прикреплённую у входа бумажку:
— В будние дни с девяти до семнадцати вот по этому телефону справочной. Здесь вашей мамы нет, здесь пациентов принимают.
— Да мне хотя бы узнать, где она…
Видимо, замёрзший и усталый Кирилл имел настолько жалкий и несчастный вид, что охранник, смягчившись, махнул рукой в сторону «стекляшки»:
— Вон там спроси.
Благодарно кивнув в ответ, Киря прошагал в указанном направлении и повторил свой вопрос немолодой женщине в очках, старательно заполнявшей какие-то медицинские бланки.
— Давно привезли? — спросила она.
— Да вот сегодня, может, пару часов назад.
— Как фамилия?
— Морозова.
Дама заглянула в разложенный на столе журнал, потыкала наманикюренными пальчиками в клавиатуру компьютера.
— Ирина Михайловна? Вы кем ей приходитесь?
— Сыном.
— Вторая реанимация. Состояние стабильно тяжёлое. Всё остальное завтра по телефону справочной.
Ну хорошо хоть жива. У Кирилла чуть отлегло от сердца: подсознательно он с ужасом ожидал худшего.
— А когда можно её навестить?
— Молодой человек, в интенсивную терапию никого не пускают, — строго посмотрела на него дама поверх очков, — но вы можете прийти на беседу с дежурным врачом завтра после четырёх. Паспорт с собой возьмите и бахилы.
Кириллу повезло: он успел заскочить в уже отъезжающую маршрутку, опустился на жалобно скрипнувшее пластиком сиденье и хоть немного согрелся. Вышел он, попросив водителя остановить дребезжащую «Газель» примерно за километр от дома. Пьяный отчим вполне мог заснуть где-нибудь на кухне, а мог и бодрствовать, тогда Кире не помешало бы какое-нибудь оружие: нож или, на худой конец, обрезок металлической трубы. Справиться с этим кабаном голыми руками он не рассчитывал. Как назло, ни по обочинам, ни возле старых гаражей не нашлось ничего подходящего, он поискал даже на пустыре возле детской площадки, вспугнув какую-то девчонку, выгуливавшую дворнягу. Да и не найдёшь ничего впотьмах под мокрым снегом. Мимоходом Кирилл вспомнил, что на полочках меж двух входных дверей, где мать годами хранила старую обувь и прочий ненужный хлам, спрятан завёрнутый в газету тупой топор. То, что надо: при необходимости отобьёмся.
Решительно открыв ключом дверь, Кирилл понял, что топор сегодня не понадобится: отчима дома не оказалось. Впрочем, кроме него, не было ещё и телевизора, посуды в кухонном буфете, старого двухкассетного магнитофона, купленного когда-то ещё отцом, и почти всех вещей в платяном шкафу. Свалил, подонок, вычистив напоследок квартиру. А вот Кирина зимняя куртка и ботинки на „молнии“ остались на своих местах — видно, отчим не посчитал их великой ценностью. Надо бы сменить замки… Впрочем, захочет — выломает дверь, замки для него не преграда. В том, что отчим рано или поздно явится обратно, Кирилл ничуть не сомневался: идти тому некуда. После непродолжительной отсидки за причинение кому-то тяжких телесных в пьяной драке отчим продал свою комнату, клятвенно пообещав маме, что на эти деньги они сделают шикарный ремонт в квартире и заживут счастливой семьёй… Никакого ремонта, конечно, никто не увидел: деньги оказались быстро пропиты и спущены на мутные «темы» и «схемы», после чего отчим засел в их жилище, как полноправный хозяин.
К счастью, ни ожидаемого разгрома, ни пятен крови на полу и стенах тоже не обнаружилось. Дом просто дышал пустотой, словно хозяева внезапно съехали, оставив квартиру до лучших времен. Теперь тут всё казалось незнакомым и совершенно чужим. Заперев входную дверь изнутри на засов, Кирилл впервые за много дней нормально помылся, приготовил себе яичницу из завалявшихся в пустом холодильнике яиц, сунул одежду в стиралку и завалился спать — назавтра его ждал тяжёлый день.
***
В Подгорске — пасмурное серое утро, а за океаном — уже вечер, который скоро перейдёт в ночь. Самое время для тёмных дел. Пальцы Кирилла двигались по клавиатуре с хищной осторожностью кошки, готовящейся к прыжку. На экране — чёрное окно терминала, в соседнем окошке — приватный канал IRC-чата, где собрались Фреш и Трикси. Санчо напряжённо дышит в ухо, работа кипит. Собранной Кириллом и Саней информации хватило, чтобы Фреш нашёл лазейку в скриптах интернет-магазина и смог войти в административную панель.
«Заюзал сплойт, — написал он в „ирке“, — к phpMyAdmin доступа нет, но в админке, кажись, есть интерфейс к базе».
Что ж, дело за малым: слить дамп, то есть образ базы данных сайта, а потом продать его на хорошо знакомом им форуме. Покупатели пройдутся по базе специальным парсером, вычленят оттуда логины, пароли, адреса электронной почты, возможно, даже данные банковских карт. Но даже если таковых в базе не окажется, улов всё равно выйдет богатым: многие юзеры используют один и тот же пароль на разных сайтах, и, зная их имена, адреса email и прочие сведения, хакеры могут порезвиться от души. Денег на счетах после этого взлома у кого-то определённо поубавится.
«Есть контакт, — появилось в чате очередное сообщение от Fressshhh. — Готово. Kicks, я щас скину креды, зайди в админку и сохрани дамп себе на всякий пожарный».
Разумная предосторожность: если с компом Фреша что-то случится, копия ценной базы останется на машине Кирилла.
«Сделаю», — отстучал в чате тот.
Фреш сбросил данные для входа, и Кирилл тут же вбил их в форму авторизации. Сайт покорно впустил его в святая святых, туда, куда заходить могли только админы и владельцы магазина. Так, где тут раздел с доступом к базе данных? Ага, вот, кажется, он…
В этот самый миг картинка изменилась: административная панель вдруг куда-то исчезла, и Кирилла перебросило на страницу с ошибкой. Сменив IP-адрес, он попытался залогиниться снова, но сервер не пустил его, насмешливо сообщив об отказе в доступе.
«Сессия внезапно закрылась! — стараясь унять зачастивший пульс, написал он. — Не понимаю, что происходит».
«Такая же фигня, — откликнулся Fressshhh. — Меня выкинуло».
«Расслабьтесь, парни, — а это уже Trixy. — Fressshhh, у тебя куки сохранились? С какого айпишника заходил?»
То ли скрипты на сайте оказались чуть умнее, чем парням казалось поначалу, то ли кому-то из админов не спалось, но их, похоже, всё-таки засекли. Если сейчас Трикси не уничтожит следы вторжения, последствия могут оказаться очень неприятными… Минута тянется за минутой, Санчо напряжённо меряет шагами комнату, Кирилл слышит, как гудят вентиляторы в недрах системника и звенит комар под потолком. Наконец в притихшем чате появилось новое сообщение от Trixy:
«Всё норм, ребята, логи зачистила. Чекайте».
И ещё через пару минут от Фреша:
«Да, порядок, всё чётко. Trixy, ты, как всегда, супер».
— Блин, по ходу, Трикси затащила! — восторженно выдохнул Санчо.
— Скорее, вытащила, — поправил его Кирилл и, потянувшись к клавиатуре, набрал в чате:
«Trixy, ты гений! Круто сработала. Fressshhh, наши договорённости в силе?»
«Да, закину денег, как базу продам».
«Ты обещал кое-что ещё».
«Я помню».
Что ж, если он и вправду сможет как-то повлиять на ситуацию с повешенным на них долгом, это будет самым настоящим чудом, похлеще того, что сотворила сейчас Трикси. Тем более срок, отведённый Кире и Сане бандитами, истекал меньше чем через сутки.
— Я пойду, — сказал Кирилл, поднимаясь с кресла. — Завтра в три возле школы, не забудь!
— Ты куда? Может, отметим это дело? — попытался остановить друга Санчо.
— Не сегодня, Сань, извини. У меня дела.
Доктор, молодой, но уже лысеющий и какой-то усталый, разглядывал драный больничный линолеум. Кирилл жадно ловил каждое его слово:
— Зэ че эм тэ, сотрясение мозга, перелом нижней стенки орбиты глаза, перелом ребра, ушибы внутренних органов, гематомы мягких тканей… Состояние стабильное, на днях переведём в травматологию.
— С ней всё будет в порядке?
— Угрозы жизни нет, об остальном вам лечащий врач на отделении расскажет.
— Может, что-нибудь привезти? — осторожно поинтересовался Кирилл. — Ну там… лекарства какие-нибудь?
— У нас тут всё есть, — покачал головой врач, — а в травме вам лечение назначат и скажут, что нужно. Катетеры внутривенные, наверное, понадобятся, лучше зелёные возьмите, у нас серые, там игла толще. Туалетную бумагу привезите, салфетки. В общем, со всеми вопросами к ним, мы передачи от родственников не принимаем.
Киря вышел из больницы в чуть более приподнятом настроении, чем вчера. На помощь компетентных органов он особенно не рассчитывал, потому что знал: по сигналу медиков в больницу явится усталый и задерганный участковый из территориального отдела МВД, чтобы взять показания у потерпевшей, а та наверняка скажет, что не помнит обстоятельств происшествия и не знает, кто нанес ей травмы. Бригаду "скорой", что выезжала на вызов, он даже не станет опрашивать. Объяснения участковый положит в стол, а по истечении срока давности вынесет постановление о прекращении дела, и никаких последствий не будет. Такое уже случалось однажды, правда, в тот раз обошлось одним лишь сотрясением, и виной всему был страх. Мать боялась, что отчима задержат, а потом отпустят через несколько часов или максимум через сутки с обязательством о явке, после чего он вернется домой, злой и жаждущий мести за то, что против него дали показания. И вот тогда всё может закончиться гораздо хуже. Но мама поправится, это главное. А он постарается сделать всё, от него зависящее, чтобы ничего подобного больше не повторилось.
На историческое рандеву идти всё же пришлось одному: явившийся в назначенный час Саня слегка отметил их недавний успех и пребывал в блаженно-расслабленном состоянии, сопровождавшемся повышенной болтливостью. Вообще, алкоголь действовал на него своеобразно — у обычно сдержанного и рассудительного Санчо как будто напрочь отключались внутренние тормоза, и он превращался в развязное трепло, готовое молоть всё подряд, не задумываясь о последствиях. Ляпнет ещё что-нибудь не то, а потом их обоих подтянут за базар. Потому Киря, подумав, отправил Саню домой отсыпаться и двинулся на встречу без сопровождения.
Стрелка была забита в одном из типичных бандитских заведений на окраине города — здесь, помимо обязательного бара, имелся повидавший жизнь бильярдный стол, а в отдельном зале переливались огнями несколько обшарпанных игровых автоматов. В остальном — разливуха разливухой. Кирилл обвёл взглядом полуподвальное помещение и обнаружил за одним из стоящих в нише столиков уже знакомого ему качка в кожанке и с золотой цепью на шее. Тот махнул рукой: проходи, мол, садись.
— Водку будешь? — спросил обладатель кожанки, когда Киря подошёл к его столу.
Кирилл покачал головой: в других обстоятельствах он, может, с удовольствием снял бы стресс, но сейчас хотелось иметь свежую голову. Одному, без поддержки, идти сюда было страшновато, но деваться всё равно некуда. Назначенной суммы у Кирилла с собой, конечно же, не было, да и комп уехал на дачу к Саниным родителям — впрочем, отдавать его Киря не собирался в любом случае.
Качок закурил, небрежно бросил зажигалку на стол. Кирилл присел напротив, сцепил пальцы замком, стараясь не выдавать дрожь в коленях.
— Ну чё, принёс бабло? — бандит заговорил не сразу, смакуя паузу, как сигаретный дым.
Киря нервно сглотнул: надо что-то отвечать, вот только что? Молчать не вариант.
— Мы это… Кажется, недопоняли друг друга. Комп, он ведь... ну, он у нас не просто так оказался. Он с самого начала был мой, личный, а ваши парни его за чужой долг забрали.
— Недопоняли… — протянул бандит и выдохнул дым от сигареты прямо в лицо Кириллу. — Ты думаешь, я забываю, кто у меня чё подрезал? Это ты в своих интернетах живёшь, а я — по-настоящему.
Кикс сглотнул ещё раз. Он догадывался, что разговор пойдёт не по плану, но не хотел показать окутавший его страх — не здесь и не сейчас. Потому он сжал зубы, стараясь сохранить над собой контроль. Мысли носились по кругу, как сбойный алгоритм, зависший в бесконечном цикле: а что, если ничего не получилось? Что, если Фреш не сумел договориться? Или, может, вообще даже не пытался? Сейчас те слова казались пустыми обещаниями. «Если ничего не вышло… Если он опять потребует деньги… Что я могу ему предложить? У меня же ничего нет», — лихорадочно думал Кирилл.
— Мои друзья… — начал он.
— Твои, мля, друзья с Батоном перетёрли, обнулили тему, — прервал его бандит, и у Кири слегка отлегло от сердца. — Так что с тебя спроса нет, можешь корешам передать, чтоб не бакланили, что Коля Старый щемит школоту по беспределу.
Он докурил и затушил окурок в пепельнице.
— Но ты пойми одну вещь, малой, — лениво сказал Старый, — ну, сегодня ты соскочил. Ты щас встанешь и пойдешь домой, думая, что жизнь наладилась, так?
Он пристально посмотрел на Кирю, потянулся к стоящему на столе гранёному стакану, на дне которого плескалась водка, повертел его между пальцами и поставил обратно, не выпив ни капли.
— Только однажды эти ваши заморочки приведут к тому, что мне снова придётся напомнить, кто ты есть. А ты — никто. Поэтому в следующий раз, как клюв откроешь не туда, я тебя сам закопаю. И ты никогда не узнаешь, в каком лесу и под какой ёлкой. Усёк?
Кирилл молча кивнул.
— Вот и вали отсюда нах.
Просить дважды не пришлось: Киря поднялся, прошёл к выходу, ощущая направленный ему в спину пристальный взгляд, и толкнул тяжёлую дверь. В лицо ударил морозный вечерний ветер. Холод пробрался под куртку, но этот холод был каким-то успокаивающим — реальным, настоящим, почти родным. Теперь, когда опасность миновала, напряжение, сковывавшее его весь вечер, начало медленно отступать. Кикс выдохнул, почти с облегчением улыбнувшись своему отражению в тонированном стекле дверей. Сердце больше не стучало как сумасшедшее, и мысли не метались по кругу, доводя его до паники.
Он зябко поёжился, натянул капюшон на голову, засунул руки в карманы и пошёл вдоль пустой улицы, не торопясь. Небо над головой затянули косматые тучи, единственный свет исходил от уличных фонарей, которые отбрасывали длинные резкие тени. Город жил своей вечерней жизнью — вдалеке гудели машины, где-то раздавались голоса и смех, но вокруг него было пусто.
Кажется, всё обошлось. Кирилл не знал точно, за какие невидимые рычаги дёрнул Фреш, но это сработало. Сердце всё ещё стучало быстрее, чем хотелось бы, но с каждым шагом оно возвращалось к привычному ритму. Облегчение накатывало волнами — одна за другой. Ещё несколько минут назад он сидел напротив человека, который легко мог вычеркнуть его из реальности, если бы захотел. А теперь — свободен. Никаких долгов, никаких обязательств. По крайней мере, на этот вечер.
Кирилл остановился у фонаря, глубоко вздохнул, глядя, как изо рта вырывается облачко пара. Учитывая то, чем он теперь занимается, эта встреча может стать далеко не последней. И не исключено, что в следующий раз цена окажется выше, чем он готов заплатить.
Киря сжал кулаки, чувствуя, как холод обжигает пальцы. Не стоит думать об этом сейчас. Сегодня удача была на его стороне, жаль только, что удача — штука непостоянная. Она может отвернуться в любой момент, без предупреждения. Сегодняшняя встреча не победа, это, скорее, ничья. Коля Старый вряд ли забудет про украденный комп, прошлое нельзя стереть, как строку кода. Представится удобный случай — припомнит всё. Но что теперь? Остановиться? Вернуться к спокойной жизни? Это был бы идеальный вариант, но Кирилл уже знал, что не сможет. Нельзя просто взять и выйти из игры.
Зато можно попытаться перейти на следующий уровень.
Глава 0х06. Всё меняется
Отшумела дождями осень, отсвистела петардами новогодняя суета. Выписавшаяся из больницы мама понемногу шла на поправку, но на восстановление её здоровья улетела немалая доля заработанного ранее. Хорошо хоть нашлись знакомые врачи, согласившиеся помочь с обследованиями и реабилитацией, — будучи медсестрой, мать смогла задействовать кое-какие полезные связи. Остальное ушло на установку прочной железной двери, поэтому покупку ноутбука пришлось всё-таки отложить на неопределённый срок. Отчим пару раз заявлялся домой, ломился в квартиру, упрашивал и угрожал. Вот тут-то новая дверь пришлась как нельзя кстати: ему не открыли, а привлечённая шумом соседка тётя Таня вызвала милицию, и аккурат на новогодних каникулах отчим куда-то в очередной раз пропал. Киря подозревал, что явление это временное, и в один не слишком прекрасный день он вернётся снова.
С некоторым трудом Кирилл сумел выцарапать назад свой компьютер, на который папаша Санчо, видимо, уже положил глаз, — ни в какую не желал ехать за ним на дачу, всякий раз отыскивая для этого тысячи отговорок: то неисправна машина, то дорогу замело снегом, то не сезон. Только пообещав смотаться за компом лично и в самом крайнем случае обойтись без ключей от садового домика, Киря сумел переломить ситуацию, окончательно, впрочем, испортив отношения с семьёй своего друга. Да и с самим Саней пообщаться удавалось всё реже и реже. Начав зарабатывать кардерским промыслом, тот не вылезал теперь из «Фантома» и «Корсара», зависая в клубах практически каждый вечер. После подобных развлечений степень адекватности Санчо вызывала некоторые сомнения, и нормального диалога никак не выходило. Его предки почему-то винили во всём Кирилла, считая, что именно он столь негативно повлиял на их сына, пристрастив того к подозрительным тусовкам, сомнительным увеселениям и алкоголю. Разумеется, теперь они всячески препятствовали их контактам вне школьных стен, где Санчо в последнее время появлялся нечасто.
Зато сам Киря с головой зарылся в хакерские форумы, выискивая по крупицам полезную информацию. Для него это стало и хобби, и манией: каждой ценной находке он радовался, будто ребёнок, откопавший в песочнице оставленную сверстниками красивую игрушку. Накопленные знания требовали закрепления на практике, и Кирилл не упускал ни малейшего случая поучаствовать в какой-нибудь движухе. Он выложил на форум парочку собственных переводов англоязычных статей про методы перехвата трафика и перебора паролей по словарю. Уже через пару месяцев завсегдатаи онлайновых хакерских тусовок знали, что Kicks — свой в доску парень, который имеет определённый авторитет и пользуется заслуженным уважением.
Впрочем, серьёзной работы в последнее время не подворачивалось. Фреш занимался своими собственными проектами, и если писал, то изредка и по каким-то совершенно пустяковым поводам. От скуки Кирилл принялся брутить дедики — взламывать перебором паролей серверы и обычные юзерские компы на винде. На каждом таком серваке по умолчанию был поднят удалённый доступ по протоколу RDP, а многие админы не заморачивались установкой сложных паролей. Собственно, высокой хакерской квалификации этот промысел вовсе не требовал: Киря использовал скачанный из интернета сетевой сканер, настроенный на порт 3389, и программу, перебиравшую логины и пароли по заданным словарям в несколько потоков. Можно было запустить процесс в автоматическом режиме и с чистой совестью заваливаться спать: за ночь его машина успевала набрутить от десяти до двадцати аккаунтов, среди которых попадались учётки с правами администратора. Такой улов можно было продать по два бакса за доступ, а если немного потрудиться и рассортировать собранные аккаунты по странам или версиям винды, собрать в отдельный список те, которые с правами админа и без NAT’а, да ещё и прочекать, то есть проверить их на работоспособность, то такие учётки уходили уже за пять или десять долларов. Приобретали сбрученные дедики с разными целями: в качестве личного прокси, для спама, флуда, ддоса, — в общем, Кирилл не интересовался мотивами покупателей. Платят денежку, и ладно.
Сейчас, разбирая логи после очередного такого сеанса хакерской магии, Киря с трудом сдерживал радость: охота завершилась успешно, и в его сети попались без малого полтора десятка чужих машин. Неплохо! Оставалось только проверить учётки, залогинившись на каждый из серверов, чтобы убедиться в их пригодности для продажи. Для этого у Кирилла был припасён специальный скрипт.
— Иди есть, всё давно остыло! — послышался из-за прикрытой двери настойчивый окрик.
— Уже иду, мам!
Взгляд, скользивший по бегущим на чёрном фоне строкам, внезапно зацепился за нечто, кольнувшее занозой на уровне подсознания. Один из дедиков вёл себя неправильно. Ударив по клавишам Ctrl и Х, Кирилл прервал тестирование и принялся разбирать текст в окне терминала.
Ага, вот оно. Скрипт пытался залогиниться на сервер и в случае ошибки повторял попытку, чтобы исключить момент случайности. Если ничего не получалось и со второго раза, сохранял в логе запись об отказе в доступе и переходил к следующему серверу. Так вот, один из дедиков при первом входе вернул ошибку Authentication error с состоянием The username and password is incorrect, а на второй попытке выполнил авторизацию без вопросов, с теми же учётными данными, которые только что сам и отверг. Очень странно. Такого быть не должно. Хост совершенно точно был в сети, если уж ответил оба раза. На всякий случай Киря пинганул его — и удалённая машина отозвалась, все сетевые пакеты прошли без задержек. Он проверил геолокацию IP-адреса: Россия, Свердловская область, Екатеринбург. Да что же с этим сервером не так?
— Ты есть идёшь? — снова донеслось из-за двери.
— Иду, иду, мам, пять минут.
Кирилл залогинился на сервер вручную, запустил командную оболочку, и его пальцы забегали над клавиатурой:
net user Kr1ll fj9_GNan0X /add
net localgroup Administrators Kr1ll /add
net localgroup «Remote Desktop Users» Kr1ll /add
net accounts /maxpwage:unlimited
Система охотно создала для него новую учётную запись, добавила её в группы администраторов и удалённых пользователей, а потом согласилась с тем, что пароль будет действовать бессрочно. Отлично, и что теперь?
Разлогинившись, Кирилл зашёл на дедик под своей новообретённой учёткой и принялся изучать файловую систему. На кухне уж точно давно всё остыло, ну да ладно. На глаза ему попадался сплошь какой-то пользовательский мусор да папки с установленными программами. Киря рассортировал директории по размеру, но лишь одна из них привлекла его внимание — почти гигабайт весом! Внутри обнаружился файл непонятного назначения, по виду зашифрованный «Драйвкриптом», больше ничего примечательного не нашлось. Недолго думая, Кирилл запустил его скачивание на один из припасённых именно на такой случай FTP-серверов и всё-таки встал из-за компа с целью перекусить. Не стоило лишний раз злить мать без повода.
Картофельное пюре с рыбной котлетой и впрямь оказались холодными, но Кирилл не стал разогревать еду на сковороде, а принялся уплетать как есть. Мать заглянула на кухню, укоризненно покачала головой:
— Хоть бы на улицу вышел, сколько можно за компьютером своим сидеть?
— Зачем, мам? — спросил Кирилл с набитым ртом.
— Воздухом подышать, размяться. Может, хоть с девушкой какой-нибудь познакомишься. Серый уже весь, как мышь, посмотри на себя, синяки под глазами!
При упоминании девушек Киря поморщился: с ними по-прежнему никак не ладилось, хотя с Трикси они продолжали общаться почти каждый вечер, перебравшись из привычной «аськи» в более безопасный джаббер, на который Киря водрузил плагин OTR, призванный защитить переписку от посторонних глаз. Трикси по-прежнему старалась избегать личных тем и не желала рассказывать о себе. Временами он подумывал, что, может быть, Санчо был не так уж и неправ насчёт толстого волосатого мужика по ту сторону экрана, но всякий раз гнал эти мысли прочь — с ней было интересно, а всё остальное не имеет значения. Киря усмехнулся, вспомнив финальную сцену из старой кинокомедии «В джазе только девушки». Сполоснул в раковине опустевшую тарелку, нацедил себе кипятка из чайника, бросив в кружку чайный пакетик, и вернулся к компу. Трикси была в сети.
«Привет, — защёлкал клавишами Кирилл. — Что-то скучно стало сегодня... Вроде и дел полно, а голова не работает».
«Ха, знакомо, — появился через небольшую паузу ответ. — Я всегда так чувствую себя по пятницам. Куча планов на выходные, а силы заканчиваются уже накануне. Может, и вправду забей на дела, в выхи наверстаешь».
«А ты как? Всё ещё тайно управляешь миром из своего подземного бункера?»
«Конечно. Только сегодня бункер — это мой диван, а управление миром — это выбор, что посмотреть из коллекции дисков».
«Ого, серьёзное занятие! И каким будет решение на этот раз? :)»
«Думаю спасти человечество парой серий „Людей Икс“. А ты чем займёшься?»
«Не знаю, если честно. Устал от всего этого на сегодня. Такое ощущение, что жизнь проходит мимо».
«Ты не один такой. Иногда я чувствую то же самое. Странно, да?»
«Во, хоть кто-то меня понимает. А то сидел бы в тишине и думал, что я одинокий гик. А тут хотя бы ты есть. :)»
«Ой, как мило) Получается, ты болтаешь со мной, потому что тебе просто одиноко?»
«Ну не только. С тобой... ну, не знаю, проще как-то. Чувствую, что могу побыть немного самим собой, и это круто».
На сей раз собеседница медлила с ответом чуть дольше:
«Знаешь, я тоже так думаю. Иногда мне кажется, что мы знаем друг друга чуть лучше, чем людей, с которыми мы видимся каждый день».
«Ну, в нашем деле прайвиси — это часть жизни. Но мне кажется, что с тобой можно обойтись без масок. И это... по-настоящему цепляет».
«Приятно слышать :)), — Кирилл будто бы увидел улыбку девушки сквозь разделявшие их километры. — Я редко чувствую связь с кем-то, особенно через интернет. Но с тобой всё как-то... иначе».
«Может, потому, что мы похожи? Оба живём в этом виртуальном мире ,)».
«Возможно. Или, может, дело в том, что в этом виртуальном мире мы настоящие».
Пальцы замерли над клавиатурой в нерешительности, но Кирилл всё же сделал над собой некоторое усилие и набрал в окошке сообщения:
«Думаю, ты права. Иногда наши разговоры кажутся мне более честными, чем те, что происходят в реале. А ещё я скучаю по тебе, когда ты не онлайн».
Сердце забилось чуть чаще: а что, если Трикси не оценит его откровенность и поднимет на смех? Но спустя несколько секунд мессенджер выдал ответ:
«Знаешь, я тоже скучаю, когда ты не в сети ,) Ладненько, пойду спасать мир. Не теряйся! :-*»
У Кирилла с души словно свалился тяжёлый камень, а смайлик с поцелуйчиком в конце сообщения и вовсе подарил робкую надежду на то, что сегодняшняя беседа — это начало чего-то интересного. Может, и вправду пойти прогуляться, пока на улице ещё светло и погода хорошая? Решено!
Кирилл наспех оделся, схватил ключи со стоявшей перед дверью тумбочки, сбежал по лестнице и вышел из подъезда. Холодное зимнее солнце уже цеплялось за крыши домов, играло серебристыми искрами на вершинах выросших во дворе сугробов. На мгновение Кирилл зажмурился, чтобы дать глазам привыкнуть к слишком яркому свету, а когда открыл глаза, буквально оцепенел. Возле соседнего подъезда маячила и переминалась с ноги на ногу знакомая чуть сутулая фигура. Заприметив Кирю, отчим поднял воротник куртки и зашагал прочь, сделав вид, что очутился здесь случайно. Кирилл передёрнул плечами: он мог сколько угодно отгораживаться от внешнего мира железными дверями, но здесь, на улице, мама становилась абсолютно беззащитной. Раз этот подонок караулит возле подъезда, значит, ждёт явно не его, вон как бодро затопал прочь, нервно оглядываясь. И что теперь, сопровождать мать каждый раз, когда та решит выйти из дома? Нет, не вариант. Надо что-то с этим делать…
Проводив взглядом отчима, поспешно скрывшегося за углом, Кирилл зашагал в противоположном направлении. Ноги сами понесли его по привычному маршруту. Раз отчим не ночует дома, значит, где-то нашёл себе временное обиталище и средства к существованию. Хорошо бы разузнать, где, да подсобрать информацию, чем он теперь занимается. Вряд ли устроился на завод, не в его стиле. Следовательно, опять крутит какие-то околокриминальные делишки, на чём можно было бы сыграть. Правда, и сам Кирилл не так чтобы абсолютно бел и пушист перед законом, случись что, и ему найдётся что предъявить… Да уж, задачка. И как её решить, пока совершенно непонятно.
Киря не заметил, как ноги принесли его к знакомой панельной пятиэтажке. Двор, заваленный плохо очищенным снегом, припаркованные машины… Возле одной из них, «шестёрки» с открытым капотом насыщенного лилового цвета, сгорбился узнаваемый силуэт.
— Привет, Санчо! — окликнул друга Кирилл. — Чья это тачка?
— Моя, — как-то неохотно признался тот, выпрямляясь и вытирая промасленные руки грязной тряпкой.
— Что, серьёзно? Машину купил? У тебя ж прав нет!
— Зато обязанностей до хрена, — хохотнул Саня. — Школу закончу, тогда получу, а пока буду так кататься. Нравится?
Киря с завистью оглядел автомобиль, заглянул в салон. Внутри сладковато пахло ванилью, на приборной панели ни пылинки, на сиденьях — тёмно-синие мягкие чехлы. Автомобиль, конечно, не новый, но в довольно-таки неплохом состоянии. Сердце обожгла досада: он не может позволить себе ноутбук, а друг вон тачки покупает…
— Круто! — искренне оценил приобретение Киря. — Гляжу, дела идут в гору?
— Как-то идут, но скоро пойдут ещё лучше. — Кирилл заметил, что Саня нервно озирается по сторонам, словно куда-то торопится или желает побыстрее спровадить своего собеседника. — Подумываю вот заняться чем-то более легальным. Кардинг — это хорошо, конечно, но не будешь же всю жизнь мелочь по карманам тырить…
— И что решил?
Санчо снова настороженно осмотрелся и заговорщицким тоном сообщил:
— Короче, я тут с одним парнем в клубе познакомился…
— Нормальные пацаны в клубах знакомятся с девчонками.
— Да иди ты на фиг. В общем, он из Питера, у нас тут в гостях, и растрепал мне по пьяни такую тему. Они там тащат бэушные ноуты из Финки, контрабасом в основном, благо граница рядом, а у нас продают. У «фиников» такая техника копейки стоит, поэтому навар почти в три конца получается. Я цифры его записал, думаю взять у него и привезти сюда с десяток штук, а потом загнать. Если пойдёт, можно бизнес замутить.
— А деньги откуда? — скептически поинтересовался Киря.
Партия из десяти даже секондхендовских компьютеров стоит немало. Кардинг, конечно, может принести необходимый стартовый капитал, но, зная привычку Сани транжирить деньги направо и налево на клубы, выпивку и девочек, он сомневался, что у того хватит терпения накопить нужную сумму.
— Бабло будет, всё чин чинарём! — заверил друга Санчо. — Я уже обо всём утрещался.
— Ну, если привезёшь ноуты, один мне отложи, куплю у тебя со скидочкой.
— Замётано! — охотно согласился Саня. — Ладно, братан, извини, мне тут закончить надо… Как что появится, я тебе в джаббер черкану сразу.
Махнув грязной пятернёй, Санчо нырнул обратно под капот, а Кирилл, терзаемый странным чувством, направился прочь со двора. Поведение друга казалось ему необычным, да и вообще тот в последнее время вёл себя подозрительно. Был спокойный и рассудительный парень, а стал… Нет, с Санчо явно творится что-то не то.
Обогнув дом, Киря шмыгнул под козырёк телефона-автомата, снял трубку и сделал вид, что набирает номер. Двор отсюда отлично просматривался, а вот его самого не было видно, что превращало его позицию в отличный наблюдательный пункт.
Санчо выпрямился, захлопнул капот, плеснул по очереди на ладони из пластиковой бутылки и тщательно вытер руки. Постоял, озираясь по сторонам, явно кого-то поджидая. Шелестя шипованными колесами, во двор зарулил тонированный наглухо «мерин» цвета мокрого асфальта, остановился почти у самого подъезда. Открылась водительская дверь, и из «Мерседеса» выбрался…
Нет, Кирилл не мог ошибиться: Колю Старого он прекрасно запомнил. Бандит вразвалочку подошёл к Сане, они пожали друг другу руки. Старый достал из кармана кожаной куртки с меховым воротником пачку «Мальборо», протянул сигарету Санчо. Закурив, принялись что-то обсуждать, укутавшись облаками сизого табачного дыма.
Вот, значит, откуда Саня решил взять средства на свой коммерческий проект. Кирилл почувствовал лёгкий укол обиды и досады: хотя с этими людьми у него вроде бы и не осталось нерешённых вопросов, подпускать их на такую близкую дистанцию благодаря Саниной неразборчивости он определённо не желал. Санчо от своей идеи явно не отступится: Киря слишком хорошо знал своего друга, чтобы быть в этом абсолютно уверенным.
Значит, ради собственной безопасности теперь придётся держаться на дистанции от самого Санчо.
Глава 0х07. Точка невозврата
— Ма, что случилось?
— Ничего. Всё нормально.
На самом деле Кирилл прекрасно видел, что ничего не нормально. Мать вернулась с работы какой-то испуганной и подавленной, словно только что повстречалась с привидением. Закрылась в своей комнате, и только спустя пять минут настойчивых уговоров он смог заставить её отпереть дверь. Мама была бледна, её руки едва заметно дрожали, а на шее под подбородком наливался чернотой свежий синяк, словно кто-то пытался задушить её, вцепившись пятернёй в горло.
— Опять, да? — уже догадываясь, что услышит в ответ, спросил Кирилл.
Мать молча кивнула:
— Вот… — она протянула скомканную бумажку, на которой были криво накорябаны какие-то цифры, — велел позвонить, как подумаю. Похоже, придётся всё-таки пустить его обратно. Я устала бояться каждый раз, когда выхожу на улицу.
— Не придётся, — заверил её Кирилл. — Что-нибудь сообразим. Пойдём на кухню, я тебе чаю налью.
Мать послушно встала и поплелась за ним. Чёрт возьми, ситуация и впрямь становится опасной, поэтому действовать надо без промедления. Отчим знает не только их домашний адрес, но и место, где работает мама, ему ничто не помешает заявиться и туда. Кирилл положил на стол бумажку, разгладил её рукой. Номер был незнакомый, впрочем, тот менял мобильники уже несколько раз подряд, теряя телефоны по пьяной лавочке. Слабая зацепка, но хоть что-то. Жаль, не с кем посоветоваться, с чего начать… Хотя почему это не с кем?
Поставив на стол кружку с горячим чаем и вазочку с печеньем, Киря долил в напиток молока, дождался, пока мама немного отойдёт от пережитого стресса и у неё перестанут трястись руки, после чего вернулся в свою комнату и разбудил комп.
«Блин, дерьмовый расклад :(, — отправила грустный смайлик Трикси, когда Кирилл кратко пересказал ей свою историю. — Было дело, сталкивалась с чем-то подобным».
«В каком смысле?»
«В прямом. Всякое пришлось пережить».
«И как выкрутилась?»
«Есть способы найти информацию о человеке, который никак не желает оставить тебя в покое. Минимум данных на входе и максимум на выходе. Ладно, что у нас есть?»
«У нас?»
«Ну, если тебе нужна помощь, я могу попытаться. Опыт имеется».
«Почти ничего, — признался Кирилл. — Имя, номер мобильника и пара мест, где он бывает. Но он шифруется».
«Не беда. Начнём с простого. Скинь номер. Проверю по базам, у меня есть диски с абонентами нескольких операторов, потом ещё на радиорынок смотаюсь, возьму свежие. Ещё может, всплывёт что-то в объявлениях или на форумах».
«Да он инетом и не пользуется…» — возразил Киря.
«У вас там в Подгорске все такие технологически отсталые? ))))» — задорно улыбнулся скобочками мессенджер. Опа, а ведь Киря никогда не говорил Трикси, где именно живёт.
«Откуда ты знаешь, из какого я города?» — едва сдерживая волнение, набрал на клавиатуре он.
«Я же говорила, что умею искать информацию в открытых источниках и сопоставлять найденное».
«А что тебе ещё известно?»
«Ну, например, что тебя зовут Кирилл и тебе 17».
Вот и вся анонимность. Если любой малознакомый человек из интернета может вот так вот запросто вычислить всю его подноготную, самое время задуматься о том, что со столь важной для него конфиденциальностью что-то определённо не так. Хотя почему «любой»? В удивительных способностях Трикси он имел возможность не раз убедиться, всем остальным до неё очень и очень далеко. Впрочем, заноза беспокойства всё равно засела в его душе.
«Ну раз уж ты знаешь обо мне так много, может, назовёшь и своё настоящее имя?» — отстучал на клавиатуре Кирилл, отправил сообщение и тут же пожалел о содеянном: а что, если обычно скрытная девушка не оценит такую бесцеремонность и решит исчезнуть?
«Меня зовут Алла», — появился на экране ответ.
Ну вот и познакомились.
***
Наутро Кирилл специально вышел из дома раньше матери. Отчим привычно топтался у соседнего подъезда, но, заприметив пасынка, развернулся и с независимым видом зашагал прочь. Вместо того чтобы двинуть в противоположную сторону, Кирилл направился следом, не отставая, но и не сокращая расстояние. Ну, опоздает сегодня на урок, в первый раз, что ли?
Отчим, несколько раз оглянувшись, перешёл на противоположную сторону улицы, дотопал до перекрёстка и свернул на проспект. Похоже, заметил слежку, впрочем, Кирилл не слишком-то и скрывался. Объект наблюдения притормозил возле ларька с газетами, купил «Комсомолку», затем дошёл до ближайшей остановки и запрыгнул в отъезжающий автобус — даже если бы Кирилл вдруг пустился бегом, всё равно не успел бы за ним. На всякий случай запомнив номер автобуса, Киря развернулся на сто восемьдесят и отправился в школу: больше тут ловить было нечего.
Дома после уроков его ждало сообщение от NullByte, одного из завсегдатаев хакерского форума. «Кикс, заработать хочешь? Есть халтурка», — написал в личку форумный знакомый.
«А что надо сделать?» — уточнил Кирилл.
«Есть один важный чел, ему помощь нужна, — тут же откликнулся NullByte. — Подробностей не знаю, сам у него спросишь. Он мессенджерами не пользуется, вот номер мобилы, звякни, побазарь. Зовут Сергей Афанасьевич, я тебя рекомендовал как крутого спеца по бруту».
Ну вот и сыграли те самые переведённые с английского статейки: сначала ты работаешь на репутацию, а потом репутация начинает работать на тебя. Памятуя об осторожности, Кирилл на всякий случай вбил полученный телефонный номер в поисковик и сразу же понял, что сделал это не напрасно. Таинственный Сергей Афанасьевич оказался очень авторитетным бизнесменом Трипольским из соседнего крупного райцентра, владельцем небольшого завода и нескольких агроферм. Настолько авторитетным, что его фамилия пару раз упоминалась в криминальных хрониках региональных газет, а сам он два года назад баллотировался в депутаты — насколько успешно, беглый просмотр ссылок определить с ходу не позволил. В общем, человек с солидным капиталом и ещё более солидными связями, что по ту сторону закона, что по эту. Такие знакомства могут оказаться как очень опасными, так и крайне полезными. Поборов внезапно накатившую робость, Кирилл набрал заветные одиннадцать цифр на клавиатуре своего «Эриксона». Трубку сняли почти сразу.
— Да? — раздался в динамике хрипловатый голос.
— Здравствуйте, Сергей Афанасьевич, я по поводу компьютерной проблемы, которую нужно решить, — вежливо поздоровался Киря.
— Э-э-э? А, да, — похоже, собеседник не сразу сообразил, о чём идёт речь. — Слушай, у меня есть один файл, он того… Как его… Запакован.
— Архив?
— Ну да, архив. И он это, пароль требует.
— Пароль вы, вероятно, забыли? — подсказал Кирилл, уже догадываясь, что Сергей Афанасьевич никогда его и не знал. — Нужно извлечь из архива файлы, верно?
— Всё правильно говоришь.
— Тогда пришлите, пожалуйста, мне этот файл по электронной почте, я посмотрю. Адрес я сейчас эсэмэской скину.
— Ладно, — хмыкнул на том конце авторитетный бизнесмен, — только это, парень, смотри, чтобы оно не попало в чужие руки, понимаешь, да? Головой мне ответишь.
— Не беспокойтесь, Сергей Афанасьевич, я гарантирую конфиденциальность.
— Вот и ладушки. Давай свой адрес и перезвони, как узнаешь, чего как.
Вторым радостным событием стало сообщение от Аллы:
«Привет! Короче, по форумам ничего не нашлось, а вот телефонный номер зарегистрирован на какую-то тётку. Скобичевская Ольга Владиславовна, и у меня есть её адрес прописки».
Интересненько. Судя по всему, несостоявшийся папаня нашёл себе очередную пассию, у которой, возможно, и поселился, продолжая тем временем терроризировать мать. Та же женщина, видать, справила ему новую сим-карту, а может, и телефон купила вместо очередного пропитого. Любопытная гипотеза, надо бы её проверить. И чем быстрее, тем лучше.
Сердечно поблагодарив Трикси, Кирилл наспех собрался — залез в диван, где хранилась старая отцовская одежда, которую мама всё никак не решалась выкинуть, нашёл там потёртое драповое пальтишко, под воротник которого заправил клетчатое кашне. Образ завершила кожаная кепка на меху с отстегивающимися ушами. Глянул на себя в зеркало — ну вылитый молодой клерк из какой-нибудь затрапезной конторы, именно то, что сейчас и нужно.
Требуемый адрес он отыскал быстро — дом, заставший ещё сталинские времена, располагался в самом центре, а искомая квартира оказалась коммуналкой, о чём красноречиво свидетельствовала целая гирлянда звонков, приютившихся на дверном косяке. Кирилл наугад нажал верхний, подождал пару минут и уже собирался надавить на следующий, когда с той стороны раздался лязг отпираемого засова. Открыла невысокая щуплая женщина в простом домашнем халате, похожая на пугливую востроносую мышку-норушку. Памятуя уроки Санчо, Кирилл напустил на себя деловой вид и обратился к ней максимально официальным тоном:
— День добрый. Скобичевскую Ольгу Владиславовну могу я увидеть?
— Это я… — пролепетала дамочка, растерянно хлопая редкими ресницами.
— Я из паспортного стола. Юрий Михайлович здесь проживает?
— Его нет… Он на работе… А что случилось?
— Повестка ему от следователя, — хмыкнул Кирилл. — Адрес работы не подскажете? Передать под роспись надо.
— Кутузовский, тридцать семь… Там ломбард, он туда недавно устроился…
— Благодарю, — кивнул Кирилл и без лишних слов развернулся к лестнице, проигнорировав громыхающий в тесной клетке из рабицы доисторический лифт.
Женщина из-за приоткрытой двери продолжала смотреть ему вслед.
Ломбард, значит. Одно из заведений, принадлежащих тем ребятам, что когда-то забрали его компьютер. Вряд ли отчим там работает, скорее, долги отрабатывает, хотя, может, и платят ему какие-то копейки с барского плеча. Иначе не стал бы он пользоваться чужим телефоном, а свой небось купить не на что.
Кириллу очень не хотелось наведываться по указанному дамочкой адресу, но… Нужно хотя бы попытаться поговорить по-человечески. Если в пропитых мозгах этого существа осталась хоть капля разума, возможно, Киря сможет убедить его оставить их с матерью в покое. Тяжело вздохнув, он зашагал по снежному месиву — Кутузовский переулок располагался буквально в одной трамвайной остановке.
Ломбард оказался именно таким, каким Кирилл его себе и представлял: крошечное помещение на первом этаже крупноблочной «хрущёвки», переделанное из бывшей однокомнатной квартиры. Решётки на окнах, как в тюрьме, окошечко кассы в такой же железной оправе. Помещение явно оборудовано с учётом наведывающегося сюда контингента. Киря поднялся по заледенелым ступеням, толкнул дверь и огляделся. Стеклянная витрина с перстнями, золотыми цепочками и браслетами, полки вдоль стен заставлены фотоаппаратами, музыкальной техникой и видеомагнитофонами. Почти что комиссионка, только выбор побольше.
— Тебе чего здесь надо? — выкатил на него глаза из-за прилавка отчим.
— Поговорить хочу.
— Ну так говори!
— Отвали от нас с матерью. И дорогу к нам забудь. Живёшь со своей Ольгой, ну и живи, только нас больше не трогай, понял?
Отчим грузно поднялся на ноги, вышел из-за своей конторки, крепко схватил Кирилла за рукав пальто, специально сжав пальцы посильнее, чтобы причинить боль, и выволок на улицу.
— Ты чего, пугать меня вздумал, сучоныш? — дыша густым вчерашним перегаром, прошипел он. — Слушай сюда и Ирине передай. Это моя квартира, ясно? И я буду там жить. Станешь пасть разевать — зарою и тебя, и её заодно. Понял, нет? Вали отсюда. Ещё раз припрёшься, ноги вырву. А за тот случай мы с тобой попозже сочтёмся.
С этими словами отчим толкнул Кирилла в спину так, что тот чуть не слетел головой вниз с заледенелого крыльца.
Когда он добрался до дома, на улице уже стемнело. Матери Кирилл решил ничего не рассказывать, тихо разделся, зашёл в свою комнату и уселся за клавиатуру. Поиск по адресу «Кутузовский переулок, 37» выдал несколько бесполезных отзывов о расположенном там заведении, а вот локальный районный форум принёс кое-что любопытное. Один из пользователей жаловался, что случайно обнаружил в том самом ломбарде украденный из его квартиры телевизор. Сочувствующие граждане советовали пострадавшему обратиться в милицию, а кто-то, наоборот, со скепсисом сомневался в эффективности этого мероприятия. Другой форумчанин утверждал, что в ломбарде чуть ли не половина вещей стырена у добропорядочных граждан, все об этом знают и никому до этого нет ни малейшего дела. В общем-то, ситуация обычная: если где-то на районе появилась такая вот бандитская точка, все ответственные лица, включая участкового, обычно в курсе. А по поводу мер, которые они почему-то не принимают, — так поди ещё докажи, что они что-то знают.
Почитав всю ветку форума до конца, Кирилл вновь обратился к поисковой системе. «Статья 175, приобретение или сбыт имущества, заведомо добытого преступным путём, наказываются штрафом, либо исправительными работами на срок до двух лет, либо лишением свободы на тот же срок…»
Вскрыть запароленный ZIP-файл — задача в целом несложная, для того существуют специальные утилиты. Старые версии WinZip не использовали серьёзного шифрования, а пароль программа сохраняла в самом файле, поэтому такая защита служила скорее для спокойствия пользователя, нежели в целях безопасности. При наличии достаточно мощного компа скорость перебора паролей достигает нескольких миллионов в секунду, и потому взломать защищённый архив можно за пару минут. С помощью какого-нибудь Fast Zip Cracker с этим без труда справится даже пятиклассник.
Кириллу не повезло: присланный ему файл создавался в современной версии архиватора. Пароль программа не прятала внутри файла, а конвертировала в 32-битный ключ, с использованием которого шифровала содержимое архива достаточно стойким алгоритмом. На первый взгляд и не подступишься. Тем не менее была одна хитрая лазейка.
Кирилл изучил метаданные файла и выяснил, какой версией архиватора и с какими параметрами он был упакован. Скачав из интернета именно эту версию WinZip, он запаковал с её помощью другой файл с такой же в точности степенью сжатия, но снабдил его своим собственным паролем, а затем скормил оба архива небольшой программке. Та сравнила эти два файла и хранящиеся в них ключи, отбросила заведомо не подходящие, а затем принялась искать правильный ключ по выбранному в ходе анализа алгоритму — вся процедура заняла не более двадцати минут.
Дождавшись завершения этого процесса, Кирилл на всякий случай убедился, что содержимое сжатого файла теперь прекрасно открывается. Из чистого любопытства он глянул, ради чего была затеяна вся эта возня, — внутри обнаружилась куча ни о чём не говорящих ему фотографий: какая-то весьма привлекательная женщина в довольно откровенном купальнике на пляже в компании улыбающегося молодого мужчины… Переупаковав все фотки в другой архив без пароля, Киря набрал номер заказчика.
— Сергей Афанасьевич? Добрый вечер. Это компьютерщик, которому вы архивчик отправляли.
— А, привет, хакер, — донёсся из динамика знакомый хрипловатый голос. Похоже, авторитетный бизнесмен уже слегка принял на грудь и пребывал сейчас в благодушном настроении. — Удалось что-нибудь сделать?
— Да, конечно. Работа выполнена, файлы извлечены.
— Блин, быстро ты сработал, я думал, это больше времени займёт. Сколько я тебе должен? Давай, не стесняйся, информация для меня важная, только не болтай потом лишнего. Учти в гонораре плату за секретность.
— Сергей Афанасьевич, деньги мне, конечно, нужны, но не в них счастье. Я знаю, что вы располагаете связями и большими возможностями…
— Ну, не без того! — хохотнула трубка.
— В таком случае предлагаю обменять услугу на услугу, — набравшись смелости, предложил Кирилл.
— Да? Любопытно. И чего же ты хочешь?
— Я хочу посадить одного человека.
Глава 0х08. Кто хочет стать миллионером?
«Kicks, здорово! Дело есть!»
«Там насрали, надо съесть», — мысленно закончил в рифму Кирилл, но упавшее в личку сообщение от NullByte всё-таки прочитал. Форумный знакомый собирал команду для крупного взлома — целью был сервер американской айтишной компании TerraCore, а заказчиками, по всей видимости, стали конкуренты: кому ещё могут понадобиться чужие корпоративные секреты? «Если выгорит, можно около ляма поднять», — хвастливо заявлял NullByte. «Рублей?» — на всякий случай уточнил Киря. «Баксов, чувак», — ответил хакер.
Если поделить на всех, получится, конечно, гораздо меньше, но сумма всё равно выходила фантастическая. Ради интереса Кирилл черканул в джаббер Фрешу, желая узнать, позвали ли его на эту вечеринку.
«Да, Нуль мне тоже написал», — ответил старый сетевой товарищ.
«Твоё мнение?» — поинтересовался Киря.
«Моё мнение — не лезть в это дерьмо. Там, где много бабок, обычно ещё больше неприятностей».
Пообещав в ответном сообщении подумать над столь щедрым предложением, Кирилл решил заняться более насущными делами. Тот самый дедик, с которого он слил зашифрованный файл, никак не выходил у него из головы. Ну, пароль от криптоконтейнера, положим, он попробует сбрутить, однако нужны ещё цифровые ключи. «Драйвкрипт» позволяет выбрать в качестве хранилища ключей любой файл — хоть картинку, хоть аудиозапись, а значит, имеет смысл поискать на самом сервере. Очень может статься, что файл с ключами не унесли куда-то слишком далеко.
Кирилл вновь подключился к дедику, проверил на всякий случай, не висит ли в системе активная сессия администратора, и принялся шарить по папкам в поисках чего-нибудь подходящего. Файлов, в которых вполне могли храниться ключи, оказалось слишком много — недолго думая, он отсортировал их по маске и решил скачать все скопом, чтобы на досуге как-нибудь разобрать. Для автоматизации поиска надо будет набросать скриптик: Кириллом двигало исключительно любопытство, а потому возиться с этим вручную совершенно не хотелось.
Оставалось несделанным ещё одно важное дело: накануне Трипольский сбросил ему эсэмэской телефонный номер, по которому велел позвонить для решения его вопроса, уточнив, что номер местный, подгорский. Сейчас выдалось как раз самое подходящее время, и Кирилл потянулся к телефону. На звонок никто не ответил: послушав с минуту длинные гудки, он нажал «отбой», однако спустя короткое время мобильник зажужжал входящим вызовом с того самого номера.
— У меня от вас пропущенный, — без всякого приветствия прозвучал в трубке мужской голос.
— День добрый, — всё-таки решил отдать дань вежливости Киря. — Мне ваш телефон Сергей Афанасьевич дал, сказал, можно обратиться по одному делу…
— Я понял, — прервал его собеседник. — К семи вечера в кафе «Волна» подходите. Знаете, где это?
— Да, конечно.
— Тогда до встречи, — и динамик умолк, прервав вызов.
Пока файлы перекачивались с дедика на его диск через прокладку в виде прокси, Кирилл заглянул в джаббер, и его душа будто расправила крылья: Трикси снова была в сети. В последние дни переписка с Аллой занимала его мысли всё чаще и чаще. Девушка по-прежнему не торопилась рассказывать о себе, но Кирилл на самом деле чувствовал, что скучает без этих бесед и с нетерпением ждёт вечера, чтобы снова обсудить какой-нибудь софт или новости из интернета. Хорошо бы раскрутить её на вирт, подумалось ему, ну или хотя бы интимными фотками обменяться, будет хоть какое-то подобие личной жизни. При мысли об этом Киря ощутил приятную тяжесть внизу живота, но тут же вспомнил, что он и обычной-то фотки своей виртуальной подруги ни разу не видел, поэтому даже не представляет себе, как она выглядит на самом деле. Может, Алла потому и скрывает свою внешность, что не желает его пугать? Впрочем, в качестве собеседника она всё равно прекрасна, тем более Кирилл искренне полагал, что самое главное в девушке — это не сиськи и задница, а наличие мозга. Здесь он определённо присутствовал в нужных количествах и объёмах.
«Привет, — написал Кирилл в мессенджер, — давно не виделись!»
«Ну да, буквально со вчерашнего вечера», — сразу же ответила Трикси.
«Для меня это целая вечность!» — улыбнувшись, напечатал он.
Трикси отправила ему в ответ смеющийся смайл:
«Ну, ты излишне драматичен, Кирилл. Что успело произойти за эту „вечность“?»
Клавиши послушно затрещали под его руками:
«Да ничего особенного, кроме того, что думал о тебе весь день ;)».
«Ого, комплимент! :) Я-то считала, что ты весь день код пишешь».
«Для написания кода тоже нужно вдохновение. ;) А ты как? Чем занималась?»
«Наблюдала, как у одних людей решаются проблемы, а у других возникают ,-)», — подмигнул из окошка ещё один смайлик.
«Значит, самое время отдохнуть… — напечатал он, не отрывая взгляда от экрана. — Кажется, мы уже неплохо знаем друг друга. Может, попробуем... чего-то нового?»
«Неплохая идея! — незамедлительно отобразился ответ. — Если ты и в самом деле хочешь попробовать чего-то нового, снеси винду и поставь Линукс!»
Нет, не на такое он рассчитывал своими прозрачными намёками. Его пальцы снова скользнули по клавишам.
«Я не о том, Алла».
«Ты меня заинтриговал. Так что ты имеешь в виду?»
«Ну, знаешь... что-то такое, о чём ты обычно не пишешь в чате».
«Ты, кажется, пытаешься затащить меня в виртуальную постель, а, Кирилл?» — на сей раз в джаббере появилась целая гирлянда смеющихся смайликов.
«Ну... Если вдруг захочешь... то я не против. Мы же оба взрослые люди, верно?»
«Один из нас — точно. И этому одному совершенно не хочется получить срок за совращение малолетних ,-)».
О, а вот и ещё один интересный кусочек информации. Если собрать побольше таких осколков, то из них вполне можно сложить интересную, а главное, познавательную мозаику.
«Намекаешь на то, что ты старше?» — нетерпеливо защёлкал он клавишами.
«Маленько. Лет на пять. Впрочем, неважно, общаться нам это не мешает. А сейчас, сорьки, мне надо бежать :-*».
Трикси без предупреждения вышла из сети. Интересно, что у неё там? Просящаяся на прогулку собачка, грудной младенец, ответственная работа, ревнивый муж? Ответа на этот немой вопрос не было. Зато на соседней вкладке замигало новое сообщение от другого контакта.
«Алоха, бро! — писал Санчо. — Ты там, кажется, ноут заказывал? Приползай-забирай, лежит, тебя дожидается. С тебя четыреста бачей чисто по-братски».
Кирилл взглянул на часы. До встречи в кафе «Волна» оставалось ещё достаточно времени, так что зайти к другу он вполне успеет.
— Предки дома? — с порога осведомился Кирилл, скидывая в прихожей ботинки.
— Нету никого, проходи, — успокоил его Санчо.
В комнате, на столе, за которым Кирилл провёл так много времени, одиноко лежал пухленький чёрно-серебристый Dell. Саня указал на него широким жестом фокусника, достающего из шляпы живого кролика под аплодисменты восторженной публики. Киря горящими глазами осмотрел машину: корпус слегка покоцан, на крышке по углам несколько потёртостей, но в целом ноутбук выглядел бодрячком. Он откинул крышку, нажал на кнопку питания, и на экране возникла знакомая заставка «икспишки». Надо, наверное, и вправду поставить на диск творение горячего финского студента, а «форточки» пусть живут себе на старом компе. Киря пошарил за пазухой, достал кошелёк, отсчитал и положил на стол деньги.
Тем временем Санчо блаженно развалился в своём компьютерном кресле, извлёк из ящика стола пачку «Честера», закурил. Кирилл удивлённо поднял бровь: если бы мать почувствовала в его комнате запах табака, то уж точно устроила бы скандал, хотя отчим, бывало, совершенно безнаказанно дымил на кухне, превращая её в филиал кочегарки. Видимо, родители Сани окончательно махнули на это рукой. На мгновение Кире сделалось даже немного завидно: такая невиданная степень свободы выглядела со стороны как-то вызывающе по-взрослому.
— Значит, тему с компами удалось-таки провернуть? — чтобы хоть как-то завязать разговор, начал он.
— Ну да, взял пробную партию, уже почти всю распродал, — Санчо выпустил к потолку тонкую струйку дыма. — Бабло верну, закуплю ещё. Такой вот интересный циклический процесс.
— Какой процесс? — не понял Киря.
— Круговорот бабла в природе. Колесо сансары. Колесо крутится, бабки мутятся. И главное, Кикс, от нас с тобой этот процесс никак не зависит.
Кирилл стоял, сжимая в руках ноутбук, и внимательно слушал, пытаясь понять, иронизирует его друг или нет. Раньше он никогда не видел Санчо в столь глубокомысленном философском настроении.
— Вот и приходится крутиться, дружище, — продолжил тем временем Саня, — вместе со Вселенной, соблюдая её законы. Как планеты на своих орбитах. Они вращаются, Кирилл. Вращаются без устали. Ты когда-нибудь задумывался, что Земля — это просто большой жёсткий диск, а мы — фрагменты данных?
— Я тебя не понимаю, — настороженно ответил Киря: поведение друга и вправду немного его напугало и озадачило. — О чём ты вообще толкуешь? Говори нормально.
Санчо описал сигаретой в воздухе невидимую сферу:
— Всё связано, брат. Программы, сети, люди... Мы — это пакеты данных, путешествующие по Вселенной. А наши мысли — это лишь сигналы в сети. Трафик. Поток. Ты же чувствуешь поток, Кирилл? Нет? Каждое живое существо в мире его ощущает, но не всем дано это осмыслить и осознать.
— Сань, ты чего, вштырился чем-то? — с подозрением спросил Киря.
— Ну да, — пожал плечами Санчо.
Двумя пальцами он извлёк из нагрудного кармана рубашки и бросил на стол маленький полиэтиленовый пакетик с пластиковой застёжкой зип-лок.
— Хочешь? Гарантирую массу новых ощущений.
Кирилл опасливо покосился на пакет, из-под прозрачного пластика которого проглядывал какой-то белёсый, рыхлый и комковатый порошок. К расширяющим сознание веществам Киря относился с брезгливым отвращением, а потребителей этих веществ так и вовсе откровенно побаивался. Неизвестно, что именно стрельнёт им в голову в следующую минуту: сейчас они рассуждают с умным видом о таинственных законах космоса и рассказывают об астральном опыте, а через мгновение, чего доброго, кинутся на тебя с молотком. Кроме того, Кирилл искренне не понимал, зачем люди добровольно ломают собственный мозг, этот тонкий и необычайно сложный инструмент, который помогает ему добывать средства к существованию. Если сравнить мозг с хрупким и необычайно мощным, а порой — даже капризным компьютером, то употребление подобной химии он воспринимал как попытку колоть этим компьютером грецкие орехи. Непродуктивно, а главное — опасно.
— Не хочу.
— Ну как знаешь, — не стал настаивать Санчо. — Ты просто боишься. Боишься заглянуть за грань... А я вот заглянул и увидел, что там, за этой ширмой. Суть в том, бро, что всё вокруг — это просто интерфейсы. Смотри, даже я — твой интерфейс к истине. Мы с тобой просто строки кода в чужой программе. Всё уже написано. Даже наша встреча — часть кода. И в этой софтине багов нет, Кирилл... нет багов.
— Всё, стоп. Я позвоню кому-то, кто сможет тебе помочь...
— Не надо никуда звонить, — махнул рукой Санчо. — Иди. Дверь прикрой просто, я потом запру. Иди, слышишь? Давай! Вали!
Благодушная расслабленность внезапно сменилась нервной активностью, Саня вскочил на ноги, заметался по комнате, как хищник, запертый в клетке. Напугавшись ещё больше, Кирилл поспешил ретироваться, второпях схватив с вешалки свою верхнюю одежду и забыв в прихожей шапку. Только очутившись на улице, он остановился и задумался. Может, зря он ушёл и нужно было действительно позвать на помощь? Только кого и зачем? Саниных родителей? Наверное, он не будет рад, если школьный друг доложит предкам о его новых пристрастиях. А ведь Сашкины родаки и без того терпеть не могут Кирилла, считая его виновным во всех бедах. Врачей? Те, конечно, с ходу определят причину временного помешательства его друга, настучат ментам, а они уж точно устроят Сане грандиозные проблемы… Нет, не стоит сейчас ни к кому обращаться. Разве только попробовать самому достучаться до Санчо, но это потом, когда тот немного придёт в себя…
Кафе «Волна» никогда не претендовало на звание престижного заведения — обычная точка общепита, не менявшаяся толком ещё с советских времен. Разве что вместо дешёвых пышек и пирожков с капустой тут продавались теперь дорогие сэндвичи да кроме традиционной водки и портвейна в меню появились джин, текила и мартини.
За столиком Кирилла поджидали двое: один круглый и лысый, как колобок, другой крепкий и коротко стриженный, с барсеткой, которую он держал перед собой на столике, и с характерной золотой цепочкой на шее. Внешне они никак не походили на представителей какой-либо силовой структуры, по крайней мере Кирилл никогда не отнёс бы их к таковым, случайно встретив на улице. Визави к появлению Кирилла отнеслись с некоторым удивлением — видимо, они полагали, что он чуть постарше, однако рекомендация Трипольского сделала своё дело, и разговор сразу же перешёл в деловое русло.
— Ломбард на Кутузовском, тридцать семь, значит… — протянул владелец барсетки, отрекомендовавшийся Максимом, — не наш райончик-то.
— Он прописан в Октябрьском.
— А вот это уже лучше, — недобро ухмыльнулся «колобок», представившийся Игорем, и повернулся к товарищу: — Кто у нас есть в сто тридцать пятом? Вешняков?
— Там весь отдел — свои парни, — отмахнулся Максим, — решим как-нибудь. Ты мне вот что лучше скажи. Сергей Афанасьевич правду говорил, что ты крутой хакер?
Они как-то сразу, без перехода, стали называть Кирилла на «ты», а ему не позволяли тыкать какие-то внутренние моральные установки, поэтому он старался избегать личных местоимений либо делал вид, что обращается сразу к обоим. Собеседники эту некоторую робость, кажется, почувствовали.
— Бывают и круче, — пробурчал Кирилл.
— Ну, короче, хакер, значит, — Максим с Игорем переглянулись. — И как, удаётся на этом нормально денег поднять?
— По-разному, — уклончиво ответил Киря. — Я сюда на трамвае, а не на «мерсе» приехал.
— Да ты не мнись, мы чисто из любопытства спрашиваем, — запанибратски хлопнул его по плечу Игорь. — Веришь, нет, в первый раз в жизни с настоящим хакером вот так вот запросто за столом сижу. А то пишут про вашего брата всякое, но так посмотришь — нормальный простой парень, с которым приятно пообщаться. За это надо выпить!
Выпивать Кирилл не хотел: алкоголь хорошо идёт в дружеской компании, где можно по-настоящему расслабиться, а сейчас нервы у него были напряжены до предела, и чувствовал он себя здесь крайне неуютно. Что ни говори, а с представителями закона они находились по разные стороны баррикад. Хотя эти парни вроде бы вполне нормальные и настроены доброжелательно. Чтобы не обижать новых знакомых, Кирилл немного пригубил текилы из стопки с тонкой каёмкой соли по краям, которую поставил перед ним Максим.
— А вообще скажи, сложно сервера взламывать? — не унимался Игорь. — Ну, банки там всякие, счета?
— Не знаю, лично я не пробовал, — осторожно ответил Кирилл. — Но слышал, что непросто.
— Ничего, придёт время, попробуешь, — хохотнул Максим. — Ладно, давай ещё по одной!
Кирилл снова чуть отхлебнул из рюмки, в висках слегка зашумело. Максим опять наполнил её до краёв.
— Ты это, — заговорщицки наклонился к нему Игорь, — если что, ну, проблемы там какие возникнут или кто обижать начнёт, сразу нам звони. Телефон знаешь. Мы разберёмся.
Кирилл с недоверчивым интересом посмотрел на него.
— На взаимовыгодных условиях, конечно, — уточнил тот, — но не обидим, всё по чесноку. Ты же свой парень. И Трипольский тебя рекомендовал, а мы его уважаем. Зато сможешь работать нормально и ничего не бояться, понял?
Киря кивнул.
— Вот и славно. Давай по пятьдесят, за дружбу!
Выходя из кафе на немного ватных ногах, Кирилл почувствовал легкую эйфорию. То ли выпитый алкоголь был тому виной, то ли благодаря завязавшемуся знакомству он утвердился в мысли, что можно больше не бояться ни отчима, ни Колю Старого, ни чёрта лысого и жить спокойно дальше, занимаясь тем, чем ему на самом деле хотелось заниматься. Сейчас он был уверен, что иметь в качестве «крыши» людей из органов — самое правильное, надёжное и верное решение.
Глава 0х09. TerraCore
Подготовка к чему-то важному занимает порой больше времени, чем само это событие. Кирилл стоял у зеркала, разглядывая своё отражение с глубокомысленным выражением на лице, как будто серебристое стекло вот-вот должно было сообщить ему о чём-то важном. Отражение молчало. Ноутбук со свежеустановленной системой терпеливо дожидался в комнате: к задуманной NullByte операции против серверов TerraCore всё было готово. Однако Кирилл медлил: минутная задержка ничего не значила на фоне мучительного марафона собственных сомнений.
Вздохнув, он подмигнул сам себе, прошёл в комнату, прикрыв за спиной дверь, уселся за исцарапанный и заляпанный выцветшими следами от фломастеров стол, придвинул ноут поближе. «Нужно будет при случае купить удобное кресло, как у Санчо», — подумалось ему, да и мебель в спальне, которую мама привычно называла «детской», обновить не помешает. Пальцы скользнули по клавиатуре: Кирилл запустил сканер портов: первый шаг в любой атаке, дающий возможность узнать, какие службы принимают соединение на удалённом сервере. Сейчас ему очень не хватало Санчо с его способностями быстро проводить разведку, собирать воедино и анализировать кучу разрозненной информации, но Санчо был слишком занят своими торгово-закупочными делами и потому в сегодняшнем празднике жизни участия не принимал. Зато на приватном джаббер-канале, специально созданном под намечавшееся мероприятие, появился NullByte собственной персоной. Следом за ним зашла Трикси и ещё несколько смутно знакомых парней с хакерского форума.
«Погнали!» — написал в чате NullByte, и работа закипела.
Прозвонить порты, чтобы нащупать потенциально уязвимую точку входа, — это только первый шаг. На втором выбранные диапазоны проверялись более тщательно с помощью специальных скриптов. Кирилл не торопился: спешка тут совершенно ни к чему. Это только в фильмах взлом сопровождается каскадом ярких спецэффектов, взрывами мониторов и снопами искр, сыплющихся из электрических розеток. В реальной жизни работа хакера внешне скучна и неприметна. Строки, лениво ползущие в тёмном окне терминала, синеватый отблеск дисплея на лице, тусклый желтоватый свет настольной лампы, отбрасывающей чернильные тени на обои. Никакой романтики…
Тем временем в чате стала копиться информация, которую понемногу сбрасывали туда все участники процесса: IP-адреса, технические поддомены, доступные порты, данные из проанализированных HTTP-заголовков. Пока ничего интересного Кирилл там не увидел: серверы TerraCore выглядели точно бастионы крепости, способные выдержать даже длительную осаду. Но он прекрасно знал, что неприступных крепостей не бывает. Если атакующим не удастся вскарабкаться на стену или взломать запоры на воротах, всегда можно попытаться сделать подкоп.
Время шло, день уже давно угас, усыпав небо за окном звездным крошевом, но дело не двигалось с мёртвой точки ни на йоту. Кирилл успел сходить на кухню и доесть остатки остывшего ужина, а мама легла спать, попросив его не шуметь, потому что в шесть утра ей вставать на работу. За это время хакеры сумели обнаружить лишь токен доступа в сообщении об ошибке на неработающей странице сайта, и этот токен всё равно не позволил авторизоваться в системе и, следовательно, оказался абсолютно бесполезен.
«Глухо, как в танке, — прокомментировал безнадёжную ситуацию NullByte, — у кого есть идеи, братва?»
«Я как раз изучаю мануалы „Терры“, — написала в общий чат Алла, — кажется, нащупала кое-что интересное». И тут же отправила ссылку в личном сообщении Кириллу: «Kicks, взгляни-ка!»
TerraCore выпускала целый арсенал программ, активно использовавшихся разными компаниями по всему миру. Именно поэтому на официальном сайте разработчики выложили тонну документации по своим продуктам, с которой и предлагали ознакомиться пользователям, если на их вопросы было недосуг отвечать сотрудникам техподдержки. Изучая одну из таких страничек, Трикси обнаружила ссылку на внутренний форум для технических специалистов и интеграторов, где они могли связаться с разработчиками или найти нужные для решения возникающих у клиентов проблем патчи.
Форум, разумеется, оказался закрыт страницей авторизации, в чём Кирилл смог самостоятельно убедиться, пройдя по ссылке. Он попытался пробиться внутрь путём перебора паролей, но безуспешно: после нескольких неудачных попыток бдительный сервер заблокировал его IP. Изучение формы для сброса забытого пароля тоже не подарило никаких надежд — одноразовый код приходил на адрес электронной почты зарегистрированного юзера, так что ловить тут было нечего.
Движок, на котором работал форум, оказался стандартным, с открытым исходным кодом, а вот модуль авторизации парни из TerraCore прикрутили к нему самописный, судя по всему, каким-то образом связав его с внутренней подсистемой учёта пользователей или контроллером домена. Притом в недрах этого самого модуля остались «хвосты» от стандартного компонента — часть кода была закомментирована, часть убирать не стали, потому что она всё равно не работала. Так по крайней мере считали в TerraCore. Стандартную страницу регистрации нового юзера тоже убрали, вместо неё выкатили самодельную форму, с помощью которой будущий пользователь мог ввести сведения о себе и отправить модераторам заявку. Кирилл заполнил эту форму и обнаружил, что всякий раз она передавала на сервер вместе с другими данными скрытое поле password со значением «%#DEFAULT#%!».
Киря задумался. Логика подсказывала ему, что, если заявки на регистрацию обрабатываются вручную, сервер должен впустить пользователя с одобренной модераторами учёткой и вот этим вот стандартным паролем, который юзер потом поменяет самостоятельно. А если он не захочет или попросту забудет это сделать? Значит, в недрах базы данных обязательно должны присутствовать уже одобренные учётные записи с таким паролем. Для проверки своей гипотезы Кирилл запустил скрипт, который принялся автоматически формировать запросы на доступ к сайту, перебирая трёхбуквенные имена пользователей в сочетании с уже известным ему кодовым словом и периодически меняя прокси-сервер, когда очередной IP-адрес попадал в бан-лист из-за слишком частых и неудачных попыток входа. Примерно через десять минут Киря получил сообщение об успехе своей затеи. Это была пусть маленькая, но победа!
Поделившись радостью с Аллой, он перекусил оставшимися на кухне бутербродами и завалился на диван, чтобы поспать хотя бы пару часов, — за окном уже алел рассвет, а мать, тихо собравшись и позвенев ключами, ушла на работу. Глаза буквально слипались, а голова от усталости соображала чем дальше, тем хуже.
Проснувшись от истерического треска будильника, Киря умылся холодной водой из-под крана, заварил себе кружку растворимого кофе и снова метнулся к компу. Учётная запись, которую он раздобыл столь хитроумным способом, оказалась аккаунтом специалиста технической поддержки компании — партнёра TerraCore. Киря попытался было заглянуть на ряд внутренних ресурсов, адреса которых он нашёл, прогулявшись по ветвям форума, но везде получил отказ в доступе из-за отсутствия необходимых привилегий. Значит, эти самые привилегии нужно как-то заполучить.
Кирилл сцепил ладони в замок, потянулся до хруста в суставах. Мысли стремительно проносились в голове, меняя одна другую. Движок у форума опенсорсный, а значит, если хорошенько поискать, наверняка отыщется какая-нибудь старая уязвимость, которую админы ещё не успели пропатчить. Кикс решил сделать ставку на обычную человеческую лень — именно она чаще всего и становилась путеводной звездой для хакеров, решивших вломиться в очередную закрытую систему.
На этом форуме, как и на любой другой подобной площадке, можно было добавлять в сообщения файлы — в основном картинки и документы, которые с виду не вызывали никаких подозрений. Здесь эту возможность использовали в основном для публикации снимков экрана с проблемами юзеров, чтобы их помогли решить присутствовавшие в сообществе разработчики. Но Кирилл видел за этим куда больше: если загруженная картинка оказывалась больше установленных в настройках размеров, то для неё создавалась миниатюра, а информация об этих изменениях записывалась в базу данных вместе со сведениями о пользователе, загрузившем такую картинку. Если отправить очень большую картинку личным сообщением другому пользователю и при этом хитрым образом подменить передаваемые параметры, можно изменить значения полей базы, отвечающие за учётку самого юзера. Баг старый и известный, но здесь он сработал на ура — базу удалось взломать, фактически не взламывая, — она просто поверила, что сама всё сделала по правилам. Спустя минуту Кирилл получил статус Community Manager, то есть стал модератором форума.
Однако и этой привилегии оказалось недостаточно для его целей: в святая святых, в репозитории, где хранился исходный код разрабатываемых TerraCore программ, его по-прежнему не пускали. Что ж, если тебе не никак удаётся войти в дверь, всегда можно попытаться влезть через окно. Форум позволял сбросить забытый пароль — для этого на почту забывчивого пользователя отправлялась «волшебная ссылка», которой он должен был воспользоваться. Доступа к почтовым ящикам у Кирилла не было, зато, будучи модератором, он мог видеть все служебные письма, автоматически отправлявшиеся форумным движком. В том числе и секретные ссылки. Благодаря этой замечательной возможности через пару минут он сбросил пароль для учётной записи одного из разработчиков TerraCore, автоматически получив права на управление всеми внутренними функциями сайта. Заодно он попытался войти с новым паролем на внутренний сервер компании, ссылку на который отыскал среди переписки сотрудников, и у него получилось: учётные записи разных сервисов TerraCore оказались взаимосвязаны. Кирилл получил доступ к хранилищу кода, внутреннему баг-трекеру, серверу сборки и файл-серверу, где хранились бета-версии разрабатываемого американцами софта.
«Есть пробив! — радостно написал он в чат. — NullByte, что тут слить-то надо?»
«Качай всё, там разберёмся», — ответил его партнёр.
Оценив масштабы доступной ему информации, Киря быстро понял, что со своим слабым каналом связи тянуть всё это богатство со взломанного сервера он будет до морковкина заговенья.
«Там слишком до фига всего :(, — отправил он в чат грустный смайлик. — NullByte, я сейчас вышлю несколько админских учёток, подключайтесь».
«Принято, — начал распоряжаться NullByte. — Kicks, качай тогда репозиторий с исходниками, Paranoic пусть сдампит баг-трекер, ShelLMa — слей все файлы на билд‑сервере».
«Потом ещё логи потереть надо будет», — напомнил Кирилл.
«Я займусь», — заверила соратников Трикси.
За окнами снова пролили чернильную темноту, а стрелки настенных часов описали ещё один круг. Кирилл работал уже третьи сутки подряд, потеряв связь с реальностью и отвлекаясь только затем, чтобы сбегать в туалет или поживиться чем-нибудь в холодильнике. Ему начинало казаться, что реальность вокруг утрачивает привычные черты, что эта комната, потёртые обои в цветочек, светящийся в темноте экран ноутбука — это нарисованный кем-то мультфильм, а сам он смотрит на него со стороны, словно зритель, удобно устроившийся перед телевизором. Видимо, стала сказываться накопившаяся усталость.
Пока копировались файлы, Кирилл попытался получить доступ к списку сотрудников корпорации и забраться во внутреннюю базу данных Exchange, но здесь его ждал облом: администраторы настроили там двухфакторную аутентификацию, а пользователь, аккаунт которого он взломал, не входил в доверенную группу учётных записей, способных изменить эту настройку. Время стремительно утекало, словно песок сквозь пальцы, — рано или поздно администраторы TerraCore заметят подозрительную активность в своей сети либо сам законный владелец угнанного аккаунта поймёт, что кто-то поменял его пароль.
Наконец вся нужная информация благополучно перекочевала на диски взломщиков, и Алла занялась зачисткой следов. Кирилл с облегчением захлопнул крышку ноутбука: за минувшие несколько суток он вымотался настолько, что погрузился в сон, едва коснувшись головой подушки.
Проснулся он на следующий день лишь к вечеру. Мама уже вернулась с работы и гремела кастрюлями на кухне, куда Кирилл и вышел, протирая слипающиеся глаза.
— Слышал, Юру задержали? — с порога огорошила его мать. — Следователь сегодня днём ко мне на работу приходил, спрашивал что-то про скупку ворованного. Говорила я, что эти его шашни с уголовниками до добра не доведут…
— Да ладно? — изобразил на лице удивление Киря. — Ну надо же, кто бы мог подумать…
Значит, слова Максима с Игорем и обещания авторитетного бизнесмена Трипольского всё-таки оказались не пустым звуком. Что ж, это хорошая новость — сам он до последнего сомневался в успехе своей затеи.
— И тебе пора за ум браться, — завела свою шарманку мама, — сколько можно школу прогуливать? Мне завуч дважды звонила. Вот что я ей скажу? Скатишься по наклонной, как твой отчим, тоже, не дай бог, уголовником станешь…
Кирилл хотел было сказать, что, собственно, уже фактически им стал, но прикусил язык. Всё-таки ему хотелось верить, что он не просто обычный вор, а исследователь, который вскрывает замки не столько в целях наживы, сколько ради понимания их природы. Воры — это те, кто забирает что-то чужое, оставляя после себя пустоту. А он? Он просто открывает двери, которые и так были открыты, если знать, куда нужно нажать. Вор бегает по тёмным переулкам с чужим кошельком, а хакер… Хакер обходит границы, которые другие боятся переступить.
Успокаивая себя этими мыслями, Кирилл подхватил тарелку с аккуратно нарезанной колбасой и отправился в свою комнату, чтобы не слышать брюзжания матери. Спать совершенно не хотелось, хотя впереди была ещё целая ночь, — сбитые биологические часы не позволяли улечься в постель прямо сейчас, всё равно придётся вертеться до утра. Чтобы занять себя чем-то, Кирилл отыскал на диске зашифрованный файл, который когда-то скачал с дедика, и принялся писать скрипт для поиска ключей в позаимствованных оттуда же файлах.
Уже за полночь ключи отыскались в забавной картинке с изображением кота в чёрном худи, сидящего за клавиатурой компьютера. Надпись на картинке гласила: «Никто не в безопасности, кроме тех, кто уже перестал существовать». Мило. Перебор пароля занял не слишком много времени — меньше чем через час Кирилл смог заглянуть внутрь зашифрованного контейнера.
Он выдохнул, почувствовав лёгкую дрожь в пальцах. В файле лежали архивы какого-то старого хакерского форума — не просто файлы, а эхо давно прошедших времен, когда хакеры ещё играли в бунтарей, а не просто старались заработать как можно больше денег. На экране проплывали незнакомые ники, сообщения всплывали одно за другим, как записи из личного дневника сумасшедшего учёного. Какие-то посты были краткими, другие представляли собой подробные мануалы по взлому и защите от слежки. Кирилл чувствовал, что эти записи будоражат разум, словно он археолог, прикоснувшийся к манускриптам ушедшей эпохи. Люди, писавшие это, не просто ломали системы — они играли с реальностью. Для них это было подобием шахматной партии с миром, в которой они распоряжались чуть большим количеством фигур, чем имелось у противника.
Интересно, с какого форума был слит этот архив? В заголовках сохранённых страниц никакой полезной информации на этот счёт не нашлось, но её вполне можно было поискать на сервере, откуда Кирилл скачал файл. Он запустил терминал и привычно застучал клавишами, чтобы начать сессию.
Но на этот раз дедик не ответил. Кирилл проверил набранные им строки, чтобы исключить ошибку.
Никаких ошибок. По этому IP-адресу не было никакого сервера, словно его там никогда и не существовало.
Спасибо за чтение
Вернуться к книге
