Страница:
Я был спокоен. Я опытный инквизитор и не раз сталкивался со злом. Меня защищали талисманы: любое прикосновение к моей плоти нестерпимо жгуче для нечисти.
Сзади что-то шевельнулось – я понял это по еле уловимому колебанию воздуха. Обычный мертвец... Он не успел сделать и шага, как моя рапира пронзила его грудь.
Многие думают, что для борьбы с нечистью надо иметь тяжёлое ударно-рубяшее оружие. Это не так. Главное здесь – не отрубить голову, а уничтожить заклинание, привязывающее душу к мёртвому телу или – как в случае с зомби – заставляющее тело двигаться и исполнять команды. Рапира несёт в себе достаточно сильное благословение, чтобы нейтрализовать почти любое такое заклинание...
Мертвец тяжело рухнул навзничь, источая зловоние. На блестящей поверхности клинка не осталось и пятнышка...
Амалия продолжала ритуал. Оживление – сложное заклинание. Нам нужно продержаться полчаса...
Кто-то вышел из-за угла церквушки. То ли вампир, то ли ещё один мертвей?.. Выпад – и пришелец упал... Всё просто...
Танцуй, Амалия, не останавливайся! Пока ты танцуешь, они не могут к тебе подойти!..
В поле нарастал волчий вой... Бродят бешеные волки по дороге скрипача...
Не к месту вспомнилась легенда о волшебной скрипке. О той самой, на которой стоит только заиграть, как волки пойдут за тобой и нападут, когда ты кончишь играть, устав...
Волки напали на меня, окружив стаей. Первым прыгнул вожак. Его я встретил ударом рапиры в сердце – этих тварей не убить заклятьем.
Потом остальные.
Вспышки выстрелов озарили старенькое кладбище... Давным-давно я научился двигаться быстро. А надо ещё быстрее!..
Глаза Амалии, полные ужаса...
Оскаленные пасти, при взгляде на которые холодеет в груди...
Зубы, рвущие одежду и плоть.
Стань подобен вихрю, кружащему осеннюю листву...
Двигайся, словно ветер, качающий головки цветов...
Боли нет... Боль прилёт после победы...
Стая, движимая слепой ненавистью, и человек, слившийся воедино со своим оружием...
Круг стали вокруг меня.
Капля крови, перерубленная в падении метнувшейся дагой...
Хруст мелких косточек...
Гибкая рапира, гнущаяся под весом тела...
Земля, принявшая усталое колено.
Я вытер пот левой рукой, выпустив из окостеневших пальцев дагу. Правая висела плетью.
Я истекаю кровью, словно треснувшая бочка – вином...
Святые слова, которые я прошептал непослушными губами, усыпляют боль и останавливают кровь. А леди Амалия – изящный тюльпан ночи – приступила к последней и главной части заклинания...
В гробу Криспина слышны шорохи...
Нас окружает бледное свечение. Это духи лежащих здесь не хотят отпускать своего товарища. Они сначала нападут на меня, а потом, когда Амалия закончит заклинание, на неё.
Мне поведали о них древние книги с изрубленными переплётами и обожженными страницами. Я смогу многих сразить святой силой. Ещё несколько погибнет в огне моих талисманов. Но и мне не выжить!
Осталось прибегнуть к Слову Инквизиторов – страшной, последней молитве, сотворенной за 500 лет до этого утра... Её говорил я не на обычном языке – а на тон что был в ходу более тысячелетия тому назад... Её повторял я, кашляя кровью, привалившись к холодному надгробию... Ее шептал я, глядя в белое лицо приближающегося призрака, не отворачивая глаз...
Шаги за спиной... Словно кто-то остановился в двух шагах за мною... Я договорил Слово и устало замер...
Призраки – как один – смотрели на того, кто пришёл...
Шорох – так: меч вынимают из ножен...
Вдруг – быстрые посвисты! – словно невидимый, тот, за моей спиной, рубит воздух крест накрест! Призраки, будто рассечённые пополам, медленно тают в ночи...
Опять шаги за спиной, словно кто-то ухолит в ночь, одинокий и печальный...
Я не верил, что Слово действует ещё... Но если оно работает, значит, должна совершиться и расплата: все, кто произносил эту молитву, погибали при леденящих кровь обстоятельствах через несколько дней...
Мне всё равно, лишь бы Амалия оживила Инфа...
Она уже почти закончила. Я приготовился...
В тот момент, когда накопленная сила сотрясла останки Криспина, я активировал программу-сниффер.
При оживлении сервер послал запрос компьютеру Инфа. Сниффер перехватил этот запрос и оставил мне 25-значный идентификационный номер. В нём есть всё – вплоть до того, какую операционную систему использует Инф.
Крышка гроба разлетелась в щепки. Труп начинает подниматься.
Выстрел – его отбрасывает назад... Мёртвое пусть и останется мёртвым...
– Зачем ты это сделал?! – вскричала Амалия. – Ты ведь просил оживить?..
Я рассмеялся:
– Это моё дело. Мы с тобой квиты. Можешь идти на все четыре стороны.
Я с трудом встал и начал собирать свои вещи.
– Подожди! – воскликнула Амалия.
Я молча перезарядил пистолет и специальным ключом взвёл пружину колесцового замка.
– Ты не можешь просто так бросить меня здесь!
– Неужели?
Второй пистолет занял свое место за поясом.
– Уезжай отсюда. У инквизиции хорошие архивы. Тебе придётся скрываться. Советую найти Гельголанд. Там не властна инквизиция.
– Разве он существует?
– Так считает командор инквизиторов Альбрехта – человек исключительной честности...
Мне пора. Я слишком задержался в этом мире...
Ну вот и нашёлся этот суперхакер!..
Усиливается навязчивая идея – пойти и как можно скорее навестить его, пока он не изменил место нахождения. С переносными компами всегда так – сниффер засёк точку, где объект был в момент проверки. Потому что серверу игры Инф разрешил обращаться к своему компу. Если просто попытаться отследить его, вряд ли что-то получится путное: я лишь насторожу хакера...
Интересно, получилось ли у Корвина спасти город от крыс?..
Здесь бы тоже не помешал такой флейтист...
Сначала надо съездить на квартиру Берниса. Я спускаюсь в ближайшую станцию подземки, невольно ёжась. Ветер здесь чувствует себя, как дома... Грохочут поезда, летящие в противоположные стороны.
Я протискиваюсь в вагон. Вокруг стоят, раскачиваясь, скучные, однообразные люди. Только один из них привлекает моё внимание.
Человек этот постоянно вертит головой, его туловище двигается в странном ритме. Он ниже меня, с лохматой чёрной шевелюрой, в красно-синей клетчатой рубашке (и где только нашёл такое старьё?}, заправленной в потёртые джинсы. На его широкоскулом обветренном лице – улыбка. Он смотрит по очереди на каждого из окружающих, левой рукой подбрасывая и ловя пластиковую бутылку с газировкой. Бутылка вертится, крутится, но падает точно ему в ладонь. Он ловит её, не глядя.
Наверно, какой-нибудь артист.
Я, как и многие другие, слежу, за ним с интересом – меня всегда привлекает мастерство. Заодно и станции летят незаметно.
В вагон заходят двое, несущие огромную коробку.
Человек с бутылкой освобождает им место для коробки у стенки вагона и выходит на следующей станции. Жаль, такие люди мне весьма по душе. Я с ними резонирую.
Быстро добираюсь до дома Берниса. Обычный, стандартный подъезд.
Бесшумный лифт. Дверь с надёжным замком. Вставляю в щель ключ, переданный мне Иваром.
В квартире чувствуется присутствие живого человека, несмотря на то что Бернис погиб месяцы назад. Не знаю, зачем я пришёл сюда и что хочу найти... Впрочем, хотя бы ради того, чтобы отдать последнюю дань уважения соклановцу. И ещё – как ни трудно себе в этом признаться, чтобы немного облегчить боль одиночества. Ведь здесь жил товарищ...
Комната полна запахов лекарств – Бернис пытался задержать течение болезни. На столике – недочитанная книга. Нажимаю кнопку аудиосистемы – начинает говорить радио, передавая последние новости. Очень удобно засыпать под мерный голос ликтора.
Я представил себе, как Бернис полулежит на диване, слушая новости и ощущая смерть своего тела. И никого рядом...
Бернис... Вся твоя квартира выглядит как квартира очень одинокого человека.
Не могу представить тебя празднующим здесь что-то в компании друзей. Скорее – откинувшимся на спинку поставленного перед окном кресла, следящим за огнями проезжающих по дороге машин, похожих на огненные бусины гигантских чёток.
Груда бумаг на столе – кем-то перерытых...
На кухне стоит чашка, на донышке которой немного высохшего чая. Рядом корзинка с зелёными конфетами.
Я включаю чайник из прозрачного голубого пластика. Потом хожу по квартире и включаю всё, что только можно. Комната приобретает обжитый, тёплый вид.
Беру пачку фотографий с полки, сажусь на диван. Не торопясь, просматриваю их.
Бернис фотографировал здания: окружённые разноцветными толпами... на фоне неба... разрушенные...
Зачем он это делал?..
Мы часто переезжаем из полиса в полис и тащим за собой кучу вещей, которые создают иллюзию уюта, чего-то неизменного и вечного. Мы вешаем фотографии и плакаты на голые стены, бросаем книги на столик у кровати, оставляем одежду в шкафу...
Всё это искусственно... По моему мнению, чтобы был дом, нужны только кровать и окно. Остальное приходит само собой... И уходит...
Бернис был одинок. Он мог встречаться, разговаривать с другими кланерами, но это не то...
Семья не всегда избавляет от одиночества. Слишком много знакомых тоже не помогут. Сколько из них знает, когда ты ложишься спать? Что любишь на завтрак? Какие каналы радио и телевидения слушаешь и смотришь? Какую одежду предпочитаешь?
Один верный друг избавляет от одиночества вернее, чем целый клан единомышленников. Странно, почему так?
Есть люди, у которых одиночество въелось в кровь, пропитало мозг. Они не терпят чужого биополя. Они могут быть лучшими друзьями, но никогда не расскажут всех своих секретов.
Но таких мало, это – мутация, это – вопреки эволюционному опыту, который требует от индивида быть среди других. Одиночка не может выжить – генетическая память вызывает в нас необходимость чувствовать общность.
О да, мы можем испытывать радость от того, что вместе идём к одной цели.
Каждую минуту моей жизни я знал, что за спиной стоит Клан. Единый Клан, который всегда выслушает меня. Даст цель. Защитит.
Но чувствовал ли я одиночество? Да, как только отрывался от двух своих друзей.
Легко идти плечом к плечу к одной цели. Это дарит тепло, даёт спокойствие, ты уверен в завтрашнем дне, сама смерть больше не пугает тебя. Трудно стоять в стороне, когда все куда-то идут нога в ногу.
Но чувство единства не уничтожает одиночества. Это нечто особое. Можно идти вместе с другими, отдавая жизнь за общую цель – и быть при этом ужасающе одиноким.
Это чувство похоже на утренний чай в 7 утра, который ты пьёшь, неторопливо поднося чашку ко рту, в то время как общность – это шумный пир, не оставляющий места грусти.
И то и другое имеет право на существование.
И хотя я сейчас один – я могу найти в себе силы продолжить бег.
Довольно самотерапии.
Прощай, Бернис, прощай, одинокий человек одинокого мира... Мне пора посетить Инфа...
На этот раз я ехал на замечательном двухэтажном автобусе – естественно, на втором этаже. Кондуктор, когда брал за проезд, спросил, до какой станции я еду, и покачал головой: Инф живёт в самом захолустье. Это район, который до последнего времени не контролировался полицией. Только теперь она решила, видимо, и там взять власть в свои руки.
Пристраиваюсь на свободное местечко рядом с громадным негром с уродливо выпученными глазами и квадратной челюстью. Когда он говорит, то половина звуков, наверное, просто не проходит через толстые влажные губы этого примечательного типа.
Почти все пассажиры уже вышли. Я порывался тоже сойти, но кондуктор каждый раз с улыбкой останавливал меня и делал знаки, что, мол, предупредит вовремя. Наконец он лично поднялся на второй этаж и сказал, что следующая остановка – моя. И мне ещё говорят, что хороших людей в наше время нет!
Схожу с чёрных ступенек автобуса и начинаю быстро застёгивать куртку – холод продирает до костного мозга.
Где-то за домами слышны выстрелы, словно там идёт небольшая война. Прохожие безучастно снуют по своим делам, как будто ничего не происходит.
В городе участились облавы полиции. Старк рассказывал, что полиция внезапно начала массовые аресты жителей трущоб. В полисе скоро произойдёт нечто, что перевернёт его жизнь с ног на голову. Полис ждёт, затаив дыхание, он словно прогибающаяся пластина, которая вскоре выпрямится и приведёт в действие механизм.
Я проплутал в переулках добрых двадцать минут, разыскивая дом Инфа. Нумерация зданий тут совершенно странная. Но наконец я у цели.
Когда-то в доме было три подъезда. Теперь остался один – остальные обвалились... Тёмная лестница. Мотки проволоки. Картонные коробки у стены... Звонок в дверь. Сначала – тишина, потом голос из динамика:
– Hu's da it? (Кто там ещё?)
– Fren' da Necros. (Друг Некроса.)
– Watta fren? Me don'nou any frens! (Какой ещё друг? He знаю я никаких друзей!)
– We gotta tok a bit da job. Me nid som info da tu. (Давай поговорим немного о работе. Мне нужна от тебя информация.)
– Get otta me! Tu don'go ve, me shot! (Вали отсюда! Если не уйдёшь, пристрелю!) – обещает голос из динамика.
– Necros tokt me qe Krispin ne refses da gut job... (Некрос говорил мне, что Криспин не откажется от хорошей работы...) – называю имя его персонажа из игры.
За дверью помедлили немного, потом спросили:
– Watta info wana tu? (А что за информация тебе нужна?)
– Info da cracked host fo'qe tu got cocht! (О взломе, во время которого тебя засекли!)
Такие мастера, как Инф, редко попадаются, поэтому помнят свои провалы.
Дверь щёлкает и открывается. На пороге стоит давно не брившийся высокий старик с длинными седыми патлами. Он одет в синюю рубашку и грязные штаны, застиранные до такой степени, что их цвет трудно определить. Но больше всего меня занимает револьвер двенадцатого калибра, направленный мне в живот.
– Меня зовут Анри, – говорю я, стараясь не думать о том, что останется от моих внутренностей, если палец этого старикана дрогнет.
Он смотрит на меня изучающим взглядом, потом чуть отступает.
Вхожу.
Комната Инфа завалена проводами, платами, дисками, корпусами – в общем, напоминает мешанину из пластика, текстолита, железа, алюминия и хрома. Во всех её углах блестят искорки.
Инф садится в кресло и кивает мне стволом на соседний стул.
– Итак, тебе нужна эта информация. Откуда ты узнал о ней?
– Некрос сказал.
Инф кладёт револьвер на стол рядом с собой, вытаскивает из кармана рубашки мятую пачку «Астена», прикуривает сигарету и пускает облако ароматного дыма. Судя по запаху, в табак подмешано немного наркотического вещества.
– Некрос был хорошим парнем. Жаль, что его убили. Я поднимаю вопросительно брови.
– Да, я навёл справки, – отвечает Инф. – Любой начнёт беспокоиться, когда такой пунктуальный человек, как Некрос, перестаёт появляться в назначенном месте.
– В виртуальном мире?
– Да, – Инф закашлялся, но продолжил курить. – Это ведь он рассказал тебе о том, как меня найти?
– Да... Так что насчёт информации?
На стене висят листочки с цифрами, буквами – как на доске объявлений.
Инф ногой отталкивается от стола, уезжает в своём кресле на колесиках в соседнюю комнату и возвращается оттуда с бутылкой и стаканом.
– Будешь пить?.. Ну, как хочешь... Информацию я бы тебе дал – как и обещал Некросу. Вот только у меня её больше нет.
– А где же она?
– Понимаешь ли... Ты вообще знаешь, что это конкретно за информация?.. Нет? Ну, тогда слушай... Мне надо было прорваться на один из серверов. Но защита там стояла мастерская. Я сумел просканить его и заметил, что этот сервер – лишь гейт, а настоящий подключён через него. Я просканил хост и случайно, благодаря найденной ошибке в программном коде используемой там проги, залез внутрь. Ну и начал сразу качать информацию, оставив защиту на потом. Но меня засекли. Сбрасывать информацию со своего прокси-сервера я решил на сервак одной копании... Vitdater inc... благодаря безграмотности её сотрудников, у меня были пароли входа. Представляешь – случайно по делам меня послали в их офис, а там один из сотрудников написал свой пароль на бумажке и прилепил к монитору! Бывают же глупцы... Так что я всю инфу сбросил туда, чтобы тот, кому принадлежит хост, не смог ни выследить меня, ни уничтожить скопированное... Через пару дней я попытался зайти и забрать своё с компьютеров Витдатера, но жестоко обломался: они неожиданно поменяли все пароли и защитные системы. Информация осталась там. Так как второго счастливого случая мне, по всей видимости, больше не представится, то к ней не подобраться. Витдатер не взломать – у них очень толковый админ, и надо иметь чертовски нетривиальные мозги, чтобы влезть в его сеть. Могу дать тебе координаты их сервака и название папки, но, поверь, тебе это не по зубам. Только натравишь на себя полицию и будешь застрелен.
– Ладно, давай.
Инф оторвал со стены одну из бумажек, покрытую какими-то цифрами, быстро нацарапал нужные координаты на оборотной стороне и отдал мне.
– Бери... Буду счастлив, если тебе это поможет... Ты точно не хочешь выпить?..
Я узнал всё, что мне было нужно, и, простившись, с облегчением покинул грязное обиталище. Вирус меня побери, неужели я мучился в виртуальности только ради этого получасового разговора?!
Я зашёл в первую попавшуюся забегаловку, чтобы перекусить и подумать. Устроился в самом углу, разложил свой ноут и стал проверять координаты, подаренные мне Инфом. Не забывая, конечно, о замечательных сэндвичах с хрустящей корочкой, мягким тестом, ветчиной, сыром, помидорами и чем-то ещё необыкновенно вкусным. Есть у меня такая слабость – обожаю бутерброды! И нахожу в высшей степени утончённым удовольствие со вкусом составить сложную конструкцию, а потом её поглощать, наслаждаясь букетом...
Поискав в базе данных, я по идентификационному номеру без труда нашёл имя кланера, которого взламывал Инф: Максим Роллер. Вернулся к базам, оставшимся от Некроса.
Там имя Роллера мелькало довольно часто. Он вроде бы не делал ничего особо важного, но тем не менее с завидным постоянством фигурировал в записях. Главное – он был последним, кто встречался с Бернисом перед его исчезновением. Ага, последним он видел и ещё трёх пропавших кланеров... Так. Переехал сюда год назад – из Сонополиса... А ведь там тоже как сквозь землю провалились несколько кланеров! Интересно, именно накануне переезда Роллера исчезли сразу двое. И больше такой плотности потерь не было...
Что ж, пора упорядочить всё в систему. Здесь пропадают кланеры. То же происходит и в других полисах. Это дело рук наших врагов или, как предупреждал Серж, соклановцев? Очень многое убеждает в последнем!
Кто из них и почему – неизвестно. Любой кланер может с равным успехом оказаться и врагом, и другом. Поэтому-то моя миссия секретна. До меня действовал Некрос, который при невыясненных обстоятельствах погиб. Он сумел узнать, что Инф взломал ноут Максима Роллера по заказу, связанному с работой последнего в одной из корпораций. Инфа засекли, но хакер успел скинуть информацию на сервер фирмы Vitdater Inc. Там она оказалась недосягаемой для него. Думаю, для Максима, который наверняка пытался ликвидировать утечку информации, тоже. На фирме неожиданно прошла замена всех паролей и переустановка защитных систем.
Теперь информация спрятана не менее надёжно, чем на диске Максима.
Надо понять: нужна ли мне эта информация?..
Я вытираю жирные пальцы салфеткой и беру пластиковый стакан с чаем – точнее, его суррогатом.
...Некрос сделал вывод, что многие факты говорят против Роллера. Действительно, похоже, именно Максим более чем кто-либо другой, может быть причастен к исчезновениям. Следовательно, я должен добыть информацию. Там ведь почти полная копия диска – Инф не качал только сердечники известных массовых программ, музыку и видеофайлы.
Что ж, попробуем... Посмотрим: так ли уж сильна защита этой фирмы?..
Через пять минут скана задумчиво откидываюсь на спинку кресла: защиту ставили очень толковые профессионалы... Достаю коммуникатор и набираю номер Штейнера.
– Привет, Руди.
– И тебе того же. Случилось что?
– Только не говори ничего о нашем разговоре Неро. Руди, ты не знаешь часом подходящего местечка в полисе? Ну, тихого, чтобы людей вокруг не наблюдалось? Сам понимаешь, для чего...
– Абсолютно, камрад. Есть такое, конечно...
Через час я уже входил в стеклянные двери неприметного кафе в моём районе. Штейнер помахал рукой от столика в углу, и вскоре я уже распаковывал ноут.
– Хочешь кого-то взломать? – спрашивает Штейнер, наливая в свой бокал немного руалы.
– Да. Фирма Витдатер. Нужна информация с одного из их серваков.
Штейнер усмехнулся:
– Ты думаешь, камрад, получится? Тебя просто засекут... Надеюсь, ты это почувствуешь, и мы успеем убраться отсюда до приезда полиции...
Я включаю ноут, он шелестит, загружаясь.
– Тебе лучше уйти сейчас, Руди. Не подвергай себя опасности.
– Брось. Неужели я покину товарища? Да и интересно смотреть на твою работу... Кстати, тебе привет от того сумасшедшего в плаще с капюшоном – Ивара, кажется?
– Он что-то хотел?
– Представь себе, он нанялся изводить крыс!.. Из-за них город на грани катастрофы. Мало того, что они переносят эпидемии и болезни, так ещё и грызут провода, портят оборудование. Сам знаешь, каково искать обрыв кабеля... Ну, администрация города и объявила конкурс на средство спасения от крыс. Сумма победителя ожидает немаленькая... Так вот, Ивар заявил им, что через пару дней город будет очищен! Смех, да и только... Об этом он и просил тебе рассказать.
– Пусть попытается. Может, получится?.. Хотя до сих пор ничего эффективного против них не создано. Ни оружие, ни отпугивающие устройства, ни ловушки не способны изгнать или уничтожить крыс... Крысы – умные твари. Они моментально вырабатывают иммунитет. Сейчас научная мысль не идёт дальше ультразвуковых сигналов или распыления ядов.
– Как бы его не съели... В последнее время участились нападения крыс на людей. Пробираются внутрь домов – особенно небогатых горожан, у которых нет полной изоляции... А вчера крысы прогрызли какую-то перегородку в одном из трёх энергореакторов. Произошёл взрыв... Теперь задействованы резервные источники питания. Говорят, несколько районов совершенно отключены от электричества – самые бедные, конечно же. А недовольных перестреляли или разогнали по домам с помощью полиции.
– Канальи...
– Почему ты просил не говорить ничего Неро? Он бы мог здорово помочь со взломом, – бросает Штейнер, глядя на статистику загрузки системы.
– На меня охотятся Чёрные. Старк утверждает, что это Неро их навёл.
– Вот как? – поднимает бровь Штейнер. – Не похоже на него.
– Люди меняются...
Лицо Штейнера внезапно становится грустным.
– Ты прав, Анри, – отвечает он, поглаживая протез здоровой рукой. – Люди всегда меняются со временем...
Итак, я приступаю к взлому.
Моя очень аккуратная атака не должна быть обнаружена. Проверяя логи сканера, запущенного мною первым делом, нахожу в сети компании один подходящий компьютер. На нём работает нужная версия NUOS: её программные ошибки вызывают переполнение буфера, не описанные пока в bugtrack – регулярных выпусках списка ошибок, обнаруженных в этой замечательной операционной системе. Посему для этих ошибок нет соответствующих «заплаток».
Запускаю скрипт, использующий найденную возможность, – и я уже в системе. Обычный хакер взял бы скрипт с какой-нибудь борды в Сети. Но мне по силам написать и собственный. На это много времени не надо, когда точно знаешь ошибку. Редактирую логи и устанавливаю root kit – чтобы сисадмин не выкинул меня моментально, если вдруг обнаружит.
Пришло время убедиться, что защита взломанной машины не только не будет возражать против моего присутствия, но и позже не выдаст меня. Чтобы быть уверенным в этом, удаляю /etc/init.d/names. Помню, что похожие функции обычно дублируются в /Ipd – отключаю и его.
Вирус меня побери! Самой большой наглостью после взлома будет послать им информацию о найденных дырах...
Я создал необходимые директории, нужные в root kit, сделал /dev/tty для не очень быстрого обнаружения сисадмином. Обычно все рекомендуют использовать /dev/... Что ж, пойдём за толпой.
Root kit включает в себя загружаемый модуль ядра (loadable kernel module). Я сам написал его в своё время. Он лучше тех аналогов, которые мне встречались. Очень затрудняет обнаружение новых файлов, скрывая их и себя. Даже команда Ismod, которая выдает список загруженных модулей ядра, не показывает его. Он также скрывает процессы, начинающиеся c kore.
Теперь – самое вкусное.
Я проинсталлировал identd с warp'oм из root kit. Файлы /usr/sbin/in.identd и /usr/sbtn/identd практически одинаковы. Ко второму не обращались уже давно, следовательно, это резервная копия.
Изменил владельца и группу на первом из этих файлов на root.
Теперь можно запускать мой фирменный пакет программ. Они построены по принципу капель воды, сочащихся сквозь трещину в стекле. Кусочками проникают внутрь и собираются там, до самой сборки не представляя опасного и потенциально ожидаемого объекта.
Сзади что-то шевельнулось – я понял это по еле уловимому колебанию воздуха. Обычный мертвец... Он не успел сделать и шага, как моя рапира пронзила его грудь.
Многие думают, что для борьбы с нечистью надо иметь тяжёлое ударно-рубяшее оружие. Это не так. Главное здесь – не отрубить голову, а уничтожить заклинание, привязывающее душу к мёртвому телу или – как в случае с зомби – заставляющее тело двигаться и исполнять команды. Рапира несёт в себе достаточно сильное благословение, чтобы нейтрализовать почти любое такое заклинание...
Мертвец тяжело рухнул навзничь, источая зловоние. На блестящей поверхности клинка не осталось и пятнышка...
Амалия продолжала ритуал. Оживление – сложное заклинание. Нам нужно продержаться полчаса...
Кто-то вышел из-за угла церквушки. То ли вампир, то ли ещё один мертвей?.. Выпад – и пришелец упал... Всё просто...
Танцуй, Амалия, не останавливайся! Пока ты танцуешь, они не могут к тебе подойти!..
В поле нарастал волчий вой... Бродят бешеные волки по дороге скрипача...
Не к месту вспомнилась легенда о волшебной скрипке. О той самой, на которой стоит только заиграть, как волки пойдут за тобой и нападут, когда ты кончишь играть, устав...
Волки напали на меня, окружив стаей. Первым прыгнул вожак. Его я встретил ударом рапиры в сердце – этих тварей не убить заклятьем.
Потом остальные.
Вспышки выстрелов озарили старенькое кладбище... Давным-давно я научился двигаться быстро. А надо ещё быстрее!..
Глаза Амалии, полные ужаса...
Оскаленные пасти, при взгляде на которые холодеет в груди...
Зубы, рвущие одежду и плоть.
Стань подобен вихрю, кружащему осеннюю листву...
Двигайся, словно ветер, качающий головки цветов...
Боли нет... Боль прилёт после победы...
Стая, движимая слепой ненавистью, и человек, слившийся воедино со своим оружием...
Круг стали вокруг меня.
Капля крови, перерубленная в падении метнувшейся дагой...
Хруст мелких косточек...
Гибкая рапира, гнущаяся под весом тела...
Земля, принявшая усталое колено.
Я вытер пот левой рукой, выпустив из окостеневших пальцев дагу. Правая висела плетью.
Я истекаю кровью, словно треснувшая бочка – вином...
Святые слова, которые я прошептал непослушными губами, усыпляют боль и останавливают кровь. А леди Амалия – изящный тюльпан ночи – приступила к последней и главной части заклинания...
В гробу Криспина слышны шорохи...
Нас окружает бледное свечение. Это духи лежащих здесь не хотят отпускать своего товарища. Они сначала нападут на меня, а потом, когда Амалия закончит заклинание, на неё.
Мне поведали о них древние книги с изрубленными переплётами и обожженными страницами. Я смогу многих сразить святой силой. Ещё несколько погибнет в огне моих талисманов. Но и мне не выжить!
Осталось прибегнуть к Слову Инквизиторов – страшной, последней молитве, сотворенной за 500 лет до этого утра... Её говорил я не на обычном языке – а на тон что был в ходу более тысячелетия тому назад... Её повторял я, кашляя кровью, привалившись к холодному надгробию... Ее шептал я, глядя в белое лицо приближающегося призрака, не отворачивая глаз...
Шаги за спиной... Словно кто-то остановился в двух шагах за мною... Я договорил Слово и устало замер...
Призраки – как один – смотрели на того, кто пришёл...
Шорох – так: меч вынимают из ножен...
Вдруг – быстрые посвисты! – словно невидимый, тот, за моей спиной, рубит воздух крест накрест! Призраки, будто рассечённые пополам, медленно тают в ночи...
Опять шаги за спиной, словно кто-то ухолит в ночь, одинокий и печальный...
Я не верил, что Слово действует ещё... Но если оно работает, значит, должна совершиться и расплата: все, кто произносил эту молитву, погибали при леденящих кровь обстоятельствах через несколько дней...
Мне всё равно, лишь бы Амалия оживила Инфа...
Она уже почти закончила. Я приготовился...
В тот момент, когда накопленная сила сотрясла останки Криспина, я активировал программу-сниффер.
При оживлении сервер послал запрос компьютеру Инфа. Сниффер перехватил этот запрос и оставил мне 25-значный идентификационный номер. В нём есть всё – вплоть до того, какую операционную систему использует Инф.
Крышка гроба разлетелась в щепки. Труп начинает подниматься.
Выстрел – его отбрасывает назад... Мёртвое пусть и останется мёртвым...
– Зачем ты это сделал?! – вскричала Амалия. – Ты ведь просил оживить?..
Я рассмеялся:
– Это моё дело. Мы с тобой квиты. Можешь идти на все четыре стороны.
Я с трудом встал и начал собирать свои вещи.
– Подожди! – воскликнула Амалия.
Я молча перезарядил пистолет и специальным ключом взвёл пружину колесцового замка.
– Ты не можешь просто так бросить меня здесь!
– Неужели?
Второй пистолет занял свое место за поясом.
– Уезжай отсюда. У инквизиции хорошие архивы. Тебе придётся скрываться. Советую найти Гельголанд. Там не властна инквизиция.
– Разве он существует?
– Так считает командор инквизиторов Альбрехта – человек исключительной честности...
Мне пора. Я слишком задержался в этом мире...
Ну вот и нашёлся этот суперхакер!..
Усиливается навязчивая идея – пойти и как можно скорее навестить его, пока он не изменил место нахождения. С переносными компами всегда так – сниффер засёк точку, где объект был в момент проверки. Потому что серверу игры Инф разрешил обращаться к своему компу. Если просто попытаться отследить его, вряд ли что-то получится путное: я лишь насторожу хакера...
Интересно, получилось ли у Корвина спасти город от крыс?..
Здесь бы тоже не помешал такой флейтист...
* * *
Пахнет мокрым асфальтом. Вода медленно стекает в водозаборники. Скоро снова будет сухо...Сначала надо съездить на квартиру Берниса. Я спускаюсь в ближайшую станцию подземки, невольно ёжась. Ветер здесь чувствует себя, как дома... Грохочут поезда, летящие в противоположные стороны.
Я протискиваюсь в вагон. Вокруг стоят, раскачиваясь, скучные, однообразные люди. Только один из них привлекает моё внимание.
Человек этот постоянно вертит головой, его туловище двигается в странном ритме. Он ниже меня, с лохматой чёрной шевелюрой, в красно-синей клетчатой рубашке (и где только нашёл такое старьё?}, заправленной в потёртые джинсы. На его широкоскулом обветренном лице – улыбка. Он смотрит по очереди на каждого из окружающих, левой рукой подбрасывая и ловя пластиковую бутылку с газировкой. Бутылка вертится, крутится, но падает точно ему в ладонь. Он ловит её, не глядя.
Наверно, какой-нибудь артист.
Я, как и многие другие, слежу, за ним с интересом – меня всегда привлекает мастерство. Заодно и станции летят незаметно.
В вагон заходят двое, несущие огромную коробку.
Человек с бутылкой освобождает им место для коробки у стенки вагона и выходит на следующей станции. Жаль, такие люди мне весьма по душе. Я с ними резонирую.
Быстро добираюсь до дома Берниса. Обычный, стандартный подъезд.
Бесшумный лифт. Дверь с надёжным замком. Вставляю в щель ключ, переданный мне Иваром.
В квартире чувствуется присутствие живого человека, несмотря на то что Бернис погиб месяцы назад. Не знаю, зачем я пришёл сюда и что хочу найти... Впрочем, хотя бы ради того, чтобы отдать последнюю дань уважения соклановцу. И ещё – как ни трудно себе в этом признаться, чтобы немного облегчить боль одиночества. Ведь здесь жил товарищ...
Комната полна запахов лекарств – Бернис пытался задержать течение болезни. На столике – недочитанная книга. Нажимаю кнопку аудиосистемы – начинает говорить радио, передавая последние новости. Очень удобно засыпать под мерный голос ликтора.
Я представил себе, как Бернис полулежит на диване, слушая новости и ощущая смерть своего тела. И никого рядом...
Бернис... Вся твоя квартира выглядит как квартира очень одинокого человека.
Не могу представить тебя празднующим здесь что-то в компании друзей. Скорее – откинувшимся на спинку поставленного перед окном кресла, следящим за огнями проезжающих по дороге машин, похожих на огненные бусины гигантских чёток.
Груда бумаг на столе – кем-то перерытых...
На кухне стоит чашка, на донышке которой немного высохшего чая. Рядом корзинка с зелёными конфетами.
Я включаю чайник из прозрачного голубого пластика. Потом хожу по квартире и включаю всё, что только можно. Комната приобретает обжитый, тёплый вид.
Беру пачку фотографий с полки, сажусь на диван. Не торопясь, просматриваю их.
Бернис фотографировал здания: окружённые разноцветными толпами... на фоне неба... разрушенные...
Зачем он это делал?..
Мы часто переезжаем из полиса в полис и тащим за собой кучу вещей, которые создают иллюзию уюта, чего-то неизменного и вечного. Мы вешаем фотографии и плакаты на голые стены, бросаем книги на столик у кровати, оставляем одежду в шкафу...
Всё это искусственно... По моему мнению, чтобы был дом, нужны только кровать и окно. Остальное приходит само собой... И уходит...
Бернис был одинок. Он мог встречаться, разговаривать с другими кланерами, но это не то...
Семья не всегда избавляет от одиночества. Слишком много знакомых тоже не помогут. Сколько из них знает, когда ты ложишься спать? Что любишь на завтрак? Какие каналы радио и телевидения слушаешь и смотришь? Какую одежду предпочитаешь?
Один верный друг избавляет от одиночества вернее, чем целый клан единомышленников. Странно, почему так?
Есть люди, у которых одиночество въелось в кровь, пропитало мозг. Они не терпят чужого биополя. Они могут быть лучшими друзьями, но никогда не расскажут всех своих секретов.
Но таких мало, это – мутация, это – вопреки эволюционному опыту, который требует от индивида быть среди других. Одиночка не может выжить – генетическая память вызывает в нас необходимость чувствовать общность.
О да, мы можем испытывать радость от того, что вместе идём к одной цели.
Каждую минуту моей жизни я знал, что за спиной стоит Клан. Единый Клан, который всегда выслушает меня. Даст цель. Защитит.
Но чувствовал ли я одиночество? Да, как только отрывался от двух своих друзей.
Легко идти плечом к плечу к одной цели. Это дарит тепло, даёт спокойствие, ты уверен в завтрашнем дне, сама смерть больше не пугает тебя. Трудно стоять в стороне, когда все куда-то идут нога в ногу.
Но чувство единства не уничтожает одиночества. Это нечто особое. Можно идти вместе с другими, отдавая жизнь за общую цель – и быть при этом ужасающе одиноким.
Это чувство похоже на утренний чай в 7 утра, который ты пьёшь, неторопливо поднося чашку ко рту, в то время как общность – это шумный пир, не оставляющий места грусти.
И то и другое имеет право на существование.
И хотя я сейчас один – я могу найти в себе силы продолжить бег.
Довольно самотерапии.
Прощай, Бернис, прощай, одинокий человек одинокого мира... Мне пора посетить Инфа...
На этот раз я ехал на замечательном двухэтажном автобусе – естественно, на втором этаже. Кондуктор, когда брал за проезд, спросил, до какой станции я еду, и покачал головой: Инф живёт в самом захолустье. Это район, который до последнего времени не контролировался полицией. Только теперь она решила, видимо, и там взять власть в свои руки.
Пристраиваюсь на свободное местечко рядом с громадным негром с уродливо выпученными глазами и квадратной челюстью. Когда он говорит, то половина звуков, наверное, просто не проходит через толстые влажные губы этого примечательного типа.
Почти все пассажиры уже вышли. Я порывался тоже сойти, но кондуктор каждый раз с улыбкой останавливал меня и делал знаки, что, мол, предупредит вовремя. Наконец он лично поднялся на второй этаж и сказал, что следующая остановка – моя. И мне ещё говорят, что хороших людей в наше время нет!
Схожу с чёрных ступенек автобуса и начинаю быстро застёгивать куртку – холод продирает до костного мозга.
Где-то за домами слышны выстрелы, словно там идёт небольшая война. Прохожие безучастно снуют по своим делам, как будто ничего не происходит.
В городе участились облавы полиции. Старк рассказывал, что полиция внезапно начала массовые аресты жителей трущоб. В полисе скоро произойдёт нечто, что перевернёт его жизнь с ног на голову. Полис ждёт, затаив дыхание, он словно прогибающаяся пластина, которая вскоре выпрямится и приведёт в действие механизм.
Я проплутал в переулках добрых двадцать минут, разыскивая дом Инфа. Нумерация зданий тут совершенно странная. Но наконец я у цели.
Когда-то в доме было три подъезда. Теперь остался один – остальные обвалились... Тёмная лестница. Мотки проволоки. Картонные коробки у стены... Звонок в дверь. Сначала – тишина, потом голос из динамика:
– Hu's da it? (Кто там ещё?)
– Fren' da Necros. (Друг Некроса.)
– Watta fren? Me don'nou any frens! (Какой ещё друг? He знаю я никаких друзей!)
– We gotta tok a bit da job. Me nid som info da tu. (Давай поговорим немного о работе. Мне нужна от тебя информация.)
– Get otta me! Tu don'go ve, me shot! (Вали отсюда! Если не уйдёшь, пристрелю!) – обещает голос из динамика.
– Necros tokt me qe Krispin ne refses da gut job... (Некрос говорил мне, что Криспин не откажется от хорошей работы...) – называю имя его персонажа из игры.
За дверью помедлили немного, потом спросили:
– Watta info wana tu? (А что за информация тебе нужна?)
– Info da cracked host fo'qe tu got cocht! (О взломе, во время которого тебя засекли!)
Такие мастера, как Инф, редко попадаются, поэтому помнят свои провалы.
Дверь щёлкает и открывается. На пороге стоит давно не брившийся высокий старик с длинными седыми патлами. Он одет в синюю рубашку и грязные штаны, застиранные до такой степени, что их цвет трудно определить. Но больше всего меня занимает револьвер двенадцатого калибра, направленный мне в живот.
– Меня зовут Анри, – говорю я, стараясь не думать о том, что останется от моих внутренностей, если палец этого старикана дрогнет.
Он смотрит на меня изучающим взглядом, потом чуть отступает.
Вхожу.
Комната Инфа завалена проводами, платами, дисками, корпусами – в общем, напоминает мешанину из пластика, текстолита, железа, алюминия и хрома. Во всех её углах блестят искорки.
Инф садится в кресло и кивает мне стволом на соседний стул.
– Итак, тебе нужна эта информация. Откуда ты узнал о ней?
– Некрос сказал.
Инф кладёт револьвер на стол рядом с собой, вытаскивает из кармана рубашки мятую пачку «Астена», прикуривает сигарету и пускает облако ароматного дыма. Судя по запаху, в табак подмешано немного наркотического вещества.
– Некрос был хорошим парнем. Жаль, что его убили. Я поднимаю вопросительно брови.
– Да, я навёл справки, – отвечает Инф. – Любой начнёт беспокоиться, когда такой пунктуальный человек, как Некрос, перестаёт появляться в назначенном месте.
– В виртуальном мире?
– Да, – Инф закашлялся, но продолжил курить. – Это ведь он рассказал тебе о том, как меня найти?
– Да... Так что насчёт информации?
На стене висят листочки с цифрами, буквами – как на доске объявлений.
Инф ногой отталкивается от стола, уезжает в своём кресле на колесиках в соседнюю комнату и возвращается оттуда с бутылкой и стаканом.
– Будешь пить?.. Ну, как хочешь... Информацию я бы тебе дал – как и обещал Некросу. Вот только у меня её больше нет.
– А где же она?
– Понимаешь ли... Ты вообще знаешь, что это конкретно за информация?.. Нет? Ну, тогда слушай... Мне надо было прорваться на один из серверов. Но защита там стояла мастерская. Я сумел просканить его и заметил, что этот сервер – лишь гейт, а настоящий подключён через него. Я просканил хост и случайно, благодаря найденной ошибке в программном коде используемой там проги, залез внутрь. Ну и начал сразу качать информацию, оставив защиту на потом. Но меня засекли. Сбрасывать информацию со своего прокси-сервера я решил на сервак одной копании... Vitdater inc... благодаря безграмотности её сотрудников, у меня были пароли входа. Представляешь – случайно по делам меня послали в их офис, а там один из сотрудников написал свой пароль на бумажке и прилепил к монитору! Бывают же глупцы... Так что я всю инфу сбросил туда, чтобы тот, кому принадлежит хост, не смог ни выследить меня, ни уничтожить скопированное... Через пару дней я попытался зайти и забрать своё с компьютеров Витдатера, но жестоко обломался: они неожиданно поменяли все пароли и защитные системы. Информация осталась там. Так как второго счастливого случая мне, по всей видимости, больше не представится, то к ней не подобраться. Витдатер не взломать – у них очень толковый админ, и надо иметь чертовски нетривиальные мозги, чтобы влезть в его сеть. Могу дать тебе координаты их сервака и название папки, но, поверь, тебе это не по зубам. Только натравишь на себя полицию и будешь застрелен.
– Ладно, давай.
Инф оторвал со стены одну из бумажек, покрытую какими-то цифрами, быстро нацарапал нужные координаты на оборотной стороне и отдал мне.
– Бери... Буду счастлив, если тебе это поможет... Ты точно не хочешь выпить?..
Я узнал всё, что мне было нужно, и, простившись, с облегчением покинул грязное обиталище. Вирус меня побери, неужели я мучился в виртуальности только ради этого получасового разговора?!
Я зашёл в первую попавшуюся забегаловку, чтобы перекусить и подумать. Устроился в самом углу, разложил свой ноут и стал проверять координаты, подаренные мне Инфом. Не забывая, конечно, о замечательных сэндвичах с хрустящей корочкой, мягким тестом, ветчиной, сыром, помидорами и чем-то ещё необыкновенно вкусным. Есть у меня такая слабость – обожаю бутерброды! И нахожу в высшей степени утончённым удовольствие со вкусом составить сложную конструкцию, а потом её поглощать, наслаждаясь букетом...
Поискав в базе данных, я по идентификационному номеру без труда нашёл имя кланера, которого взламывал Инф: Максим Роллер. Вернулся к базам, оставшимся от Некроса.
Там имя Роллера мелькало довольно часто. Он вроде бы не делал ничего особо важного, но тем не менее с завидным постоянством фигурировал в записях. Главное – он был последним, кто встречался с Бернисом перед его исчезновением. Ага, последним он видел и ещё трёх пропавших кланеров... Так. Переехал сюда год назад – из Сонополиса... А ведь там тоже как сквозь землю провалились несколько кланеров! Интересно, именно накануне переезда Роллера исчезли сразу двое. И больше такой плотности потерь не было...
Что ж, пора упорядочить всё в систему. Здесь пропадают кланеры. То же происходит и в других полисах. Это дело рук наших врагов или, как предупреждал Серж, соклановцев? Очень многое убеждает в последнем!
Кто из них и почему – неизвестно. Любой кланер может с равным успехом оказаться и врагом, и другом. Поэтому-то моя миссия секретна. До меня действовал Некрос, который при невыясненных обстоятельствах погиб. Он сумел узнать, что Инф взломал ноут Максима Роллера по заказу, связанному с работой последнего в одной из корпораций. Инфа засекли, но хакер успел скинуть информацию на сервер фирмы Vitdater Inc. Там она оказалась недосягаемой для него. Думаю, для Максима, который наверняка пытался ликвидировать утечку информации, тоже. На фирме неожиданно прошла замена всех паролей и переустановка защитных систем.
Теперь информация спрятана не менее надёжно, чем на диске Максима.
Надо понять: нужна ли мне эта информация?..
Я вытираю жирные пальцы салфеткой и беру пластиковый стакан с чаем – точнее, его суррогатом.
...Некрос сделал вывод, что многие факты говорят против Роллера. Действительно, похоже, именно Максим более чем кто-либо другой, может быть причастен к исчезновениям. Следовательно, я должен добыть информацию. Там ведь почти полная копия диска – Инф не качал только сердечники известных массовых программ, музыку и видеофайлы.
Что ж, попробуем... Посмотрим: так ли уж сильна защита этой фирмы?..
Через пять минут скана задумчиво откидываюсь на спинку кресла: защиту ставили очень толковые профессионалы... Достаю коммуникатор и набираю номер Штейнера.
– Привет, Руди.
– И тебе того же. Случилось что?
– Только не говори ничего о нашем разговоре Неро. Руди, ты не знаешь часом подходящего местечка в полисе? Ну, тихого, чтобы людей вокруг не наблюдалось? Сам понимаешь, для чего...
– Абсолютно, камрад. Есть такое, конечно...
Через час я уже входил в стеклянные двери неприметного кафе в моём районе. Штейнер помахал рукой от столика в углу, и вскоре я уже распаковывал ноут.
– Хочешь кого-то взломать? – спрашивает Штейнер, наливая в свой бокал немного руалы.
– Да. Фирма Витдатер. Нужна информация с одного из их серваков.
Штейнер усмехнулся:
– Ты думаешь, камрад, получится? Тебя просто засекут... Надеюсь, ты это почувствуешь, и мы успеем убраться отсюда до приезда полиции...
Я включаю ноут, он шелестит, загружаясь.
– Тебе лучше уйти сейчас, Руди. Не подвергай себя опасности.
– Брось. Неужели я покину товарища? Да и интересно смотреть на твою работу... Кстати, тебе привет от того сумасшедшего в плаще с капюшоном – Ивара, кажется?
– Он что-то хотел?
– Представь себе, он нанялся изводить крыс!.. Из-за них город на грани катастрофы. Мало того, что они переносят эпидемии и болезни, так ещё и грызут провода, портят оборудование. Сам знаешь, каково искать обрыв кабеля... Ну, администрация города и объявила конкурс на средство спасения от крыс. Сумма победителя ожидает немаленькая... Так вот, Ивар заявил им, что через пару дней город будет очищен! Смех, да и только... Об этом он и просил тебе рассказать.
– Пусть попытается. Может, получится?.. Хотя до сих пор ничего эффективного против них не создано. Ни оружие, ни отпугивающие устройства, ни ловушки не способны изгнать или уничтожить крыс... Крысы – умные твари. Они моментально вырабатывают иммунитет. Сейчас научная мысль не идёт дальше ультразвуковых сигналов или распыления ядов.
– Как бы его не съели... В последнее время участились нападения крыс на людей. Пробираются внутрь домов – особенно небогатых горожан, у которых нет полной изоляции... А вчера крысы прогрызли какую-то перегородку в одном из трёх энергореакторов. Произошёл взрыв... Теперь задействованы резервные источники питания. Говорят, несколько районов совершенно отключены от электричества – самые бедные, конечно же. А недовольных перестреляли или разогнали по домам с помощью полиции.
– Канальи...
– Почему ты просил не говорить ничего Неро? Он бы мог здорово помочь со взломом, – бросает Штейнер, глядя на статистику загрузки системы.
– На меня охотятся Чёрные. Старк утверждает, что это Неро их навёл.
– Вот как? – поднимает бровь Штейнер. – Не похоже на него.
– Люди меняются...
Лицо Штейнера внезапно становится грустным.
– Ты прав, Анри, – отвечает он, поглаживая протез здоровой рукой. – Люди всегда меняются со временем...
Итак, я приступаю к взлому.
Моя очень аккуратная атака не должна быть обнаружена. Проверяя логи сканера, запущенного мною первым делом, нахожу в сети компании один подходящий компьютер. На нём работает нужная версия NUOS: её программные ошибки вызывают переполнение буфера, не описанные пока в bugtrack – регулярных выпусках списка ошибок, обнаруженных в этой замечательной операционной системе. Посему для этих ошибок нет соответствующих «заплаток».
Запускаю скрипт, использующий найденную возможность, – и я уже в системе. Обычный хакер взял бы скрипт с какой-нибудь борды в Сети. Но мне по силам написать и собственный. На это много времени не надо, когда точно знаешь ошибку. Редактирую логи и устанавливаю root kit – чтобы сисадмин не выкинул меня моментально, если вдруг обнаружит.
Пришло время убедиться, что защита взломанной машины не только не будет возражать против моего присутствия, но и позже не выдаст меня. Чтобы быть уверенным в этом, удаляю /etc/init.d/names. Помню, что похожие функции обычно дублируются в /Ipd – отключаю и его.
Вирус меня побери! Самой большой наглостью после взлома будет послать им информацию о найденных дырах...
Я создал необходимые директории, нужные в root kit, сделал /dev/tty для не очень быстрого обнаружения сисадмином. Обычно все рекомендуют использовать /dev/... Что ж, пойдём за толпой.
Root kit включает в себя загружаемый модуль ядра (loadable kernel module). Я сам написал его в своё время. Он лучше тех аналогов, которые мне встречались. Очень затрудняет обнаружение новых файлов, скрывая их и себя. Даже команда Ismod, которая выдает список загруженных модулей ядра, не показывает его. Он также скрывает процессы, начинающиеся c kore.
Теперь – самое вкусное.
Я проинсталлировал identd с warp'oм из root kit. Файлы /usr/sbin/in.identd и /usr/sbtn/identd практически одинаковы. Ко второму не обращались уже давно, следовательно, это резервная копия.
Изменил владельца и группу на первом из этих файлов на root.
Теперь можно запускать мой фирменный пакет программ. Они построены по принципу капель воды, сочащихся сквозь трещину в стекле. Кусочками проникают внутрь и собираются там, до самой сборки не представляя опасного и потенциально ожидаемого объекта.