3
— Три… два… один… второй пошел!
Сознание поплыло, но через мгновение (или вечность?) восстановилось. Я по-прежнему находился в нематериальном мире, в темноте и невесомости, обычные чувства не встречали никаких раздражителей и были совершенно бесполезны. Я включил магическое зрение.
Как ты, Хэмфаст? В порядке?
В порядке.
Что-то произошло, это не выразить в терминах обычных ощущений, это было так, как будто что-то изменилось не внутри меня и не вокруг меня, в нематериальных мирах эти понятия не вполне применимы… Короче, что-то произошло. Канал закрылся.
Начинаем? — спросил я.
Подожди, пусть активизируется вирус.
Ты что, собираешься выполнять это задание?
Ни в коем случае! Но зачем делать работу, с которой может справиться вирус? Пусть он нарисует нам карту сети, тогда и начнем действовать. Дай я пока проверю твои навесные модули.
Зачем?
На месте Макса я бы навесил на нас какую-нибудь логическую бомбу, которая сработала бы, отклонись мы от намеченного плана.
Давай, проверяй. Себя ты уже проверил?
Да, и ничего не нашел, это очень странно. На всякий случай я отключил логические связи, если там и есть что-то скрытое, оно не сработает. Сейчас я сделаю то же самое с тобой.
Давай.
Я ощутил легкие прикосновения к моей душе. Один за другим Сссра отключал пристыкованные модули. Я даже не пытался разобраться в том, что он делает, — в хакерском мастерстве мне далеко до Сссра.
Вирус активизируется через две минуты, — сообщил Сссра.
Как ты определил?
Через элементал “Получить текущее время”. Не тормози, Хэмфаст!
Упс…
Не упс, а приготовься. Действуем так — ты ломаешь сервер ключей, а я открываю выход.
Зачем ломать этот сервер?
На всякий случай. Если что-то пойдет не так, мы сможем вернуться к Максу.
Я никогда туда не вернусь!
Не говори гоп… По-любому, тебе все равно будет нечем заняться, твоя помощь мне не нужна, ты будешь только мешать.
Хорошо.
Приготовься.
Маленькая сущность, подобная тусклому огоньку далекой звезды, едва заметному на самой периферии магического зрения, внезапно вспыхнула и расцвела. Она все росла и росла, наполняясь информацией. Я ощутил, как Сссра устремился к ней, и две сущности практически слились.
Вот оно! Ага, патчи вне сервис-паков они ставить не любят… Включай второй модуль и меди контакта, дальше действуй по инструкции.
Включил, жду. Где встречаемся?
Вон там, видишь, вход в чат?
Вижу. Он, кажется, визуальный.
Точно. Как бы нам узнать друг друга…
Вряд ли там будут другие драконы и хоббиты.
Я хочу визуализировать несколько копий вируса в нашем стиле.
Зачем?
Просто так. Чтобы окончательно всех запутать.
Хорошо. Сейчас я захвачу твой хэндл…
Не надо. Я собираюсь попрыгать по адресным пространствам.
Тогда как мы узнаем друг друга?
Мой PID будет записан… скажем, вот сюда, — Сссра указал на маленькую секцию, которая выросла на моих глазах на восемь байт. — Все понятно?
Все.
Тогда я начинаю, не мешай мне.
Успехов!
Я отошел в сторону, чтобы не мешать Сссра. На первый взгляд он сейчас ничего не делает, но я знаю, что сейчас происходит самое важное — мой друг анализирует информацию, самые важные решения будут приняты в течение ближайших минут.
Ага, вот и входящий запрос от сервера! Открылись врата миров, сервер думает, что сейчас через них потечет информация о последних событиях на том компьютере, где находимся мы со Сссра, но я не собираюсь ничего пересылать. Я делаю олицетворение. Врата миров закрываются, сейчас они откроются снова, но уже в другом месте, сервер воспринял мои действия как аппаратную ошибку в линии. Замечательно.
Я смотрю на обретенный ключ силы. Судя по всему, я имею административный доступ по всей сети. Неплохо.
Я повторно запрашиваю сеансовый ключ. Повторно — с точки зрения сети, компьютеры не понимают, что от имени сервера безопасности работает нарушитель, для них я — один из псевдопользователей, помогающих администраторам в нелегком труде. Замечательно, ключ получен. Поехали!
Снова кратковременный провал сознания, неизбежный при переходе на другой компьютер. Мое предыдущее тело умерло — пока еще его можно оживить, выдернув из кэша, но через пару минут оно окончательно перестанет существовать. Вот и хорошо, незачем плодить лишние копии. Я осматриваюсь.
Я начинаю с политики аудита, я должен понять, какие следы оставило мое вторжение в этот компьютер. Я мог бы включить соответствующую привилегию и получить нужные данные легальным путем, но эти действия могут оставить дополнительные следы. Я иду другим путем.
Вход в конфигурационную базу, политики должны быть где-то здесь… Доступ закрыт. Хорошо, что я не ткнулся носом в закрытую дверь, тогда моя попытка доступа была бы зарегистрирована в журналах; я получил нужную информацию опосредованно, через свойства родительского контейнера. Ну-ка, кто у нас имеет сюда доступ?
Похоже, только операционная система. Ничего страшного. Я формирую необходимую структуру и запускаю CreateProcess. Малоизвестная особенность планировщика заданий как будто специально предназначена для таких, как я. Почему за двадцать с лишним лет эту особенность так и не ликвидировали? Спасибо Биллу Гейтсу за нашу счастливую жизнь.
Я запоздало соображаю, что данный вызов тоже относится к числу регистрируемых. Маловероятно, что текущая политика аудита предусматривает регистрацию подобных событий, но если эту операцию зафиксируют… Ладно, уже поздно беспокоиться, остается только надеяться.
Ага, задание запустилось. Контакт… Есть контакт. Теперь контейнер доступен, открываем… Где тут политика аудита? Вот она. Сейчас посмотрим, какой бит что значит… Ага, политика вполне нормальная, я ожидал увидеть что-то подобное. Не видно ни явных ляпов, ни проявлений паранойи. Моя ошибка оставлена без внимания. Замечательно.
Включение привилегий не регистрируется… Камень с сердца. Я спокойно включаю привилегию аудитора и смотрю на искомые файлы. Вот они, суммарный объем полтора мегабайта. Доступ на чтение администраторам… предоставлен. Аудит… регистрируются только изменения. Кажется, дело в шляпе. Тьфу-тьфу-тьфу.
Я копирую файлы и ухожу. Ухожу спокойно, штатными средствами, у меня достаточно полномочий, чтобы не заниматься хакерекими извращениями.