– Ну, хорошо, допустим, я нашел вора, – сказал Сергей. – Предположим, мы с тобой выяснили, что эту кражу века совершил, скажем, некий Махмуд Исаакович Зелепупенко. Допустим, даже мне удалось выяснить, что живет он на улице Протезно-Перекатной в доме номер один. Можно даже узнать размер его семейных трусов и любимый цвет помады его четвероюродной тещи. Но только вот дальше-то что? Как я с него деньги получу – ты об этом подумал? Утюгом пытать и к батарее людей приковывать я как-то необучен, ибо по другим вопросам специализируюсь.
– А вот это, Серега, уже моя забота, – зловеще растягивая слова, усмехнулся Костя. В его голосе послышались нотки ненависти и скрытого бешенства. – Это даже в голову не бери! Ты главное мне его найди. И неопровержимо докажи, что это он. А вот требовать с него денежки будут уже другие люди. И ты уж мне на слово поверь: эти люди весьма серьезные.
– Уже легче жить, – усмехнулся Сергей. – Тогда еще вопрос. На твою помощь я смогу рассчитывать? Мало ли что… Может, мне материалы какие понадобятся или иная помощь. Всякое ведь бывает.
– Естественно, помогу, – утвердительно кивнул головой Костя. – Только есть одна деталь: в этом деле я светиться не могу. Никто в банке не знает, что деньги уплыли: ведь с точки зрения нашей бухгалтерии все чисто. Разумеется, если что-то знаю – без доступа в нашу систему, разумеется! – помогу и информацию дам. Но учти одно: если тебя кто-то, кроме меня, поймает на том, что ты в нашу систему влез – тут уж я ничем тебе помочь не смогу. Больше того: в этом случае ты же во всем и окажешься виноват. И эти бабки на тебя повесят. А я буду вынужден все отрицать.
– Но это все в худшем случае. Главное другое. Я помогу тебе тремя вещами. Во-первых, вот тебе телефон. – Костя открыл ящик стола, достал оттуда изящную трубку сотового телефона, компакт-диск, две флэшки и отдал Сергею. – В телефонной книге только один номер: мой. Будем связываться по нему. Если возникнут вопросы – звони. Причем, в любое время дня и ночи. Только прошу: из самосохранения никому этот номер не давай. Второе: вот тебе компакт-диск. На нем наша программа «Клиент-Банк». Она уже настроена, так что тебе ее надо только установить у себя. Настроена она на несуществующую фирму, у которой два расчетных счета в нашем банке. Один пустой, на нем нет ни копейки, на втором лежит десять долларов: это тебе для экспериментов, так сказать. Пароль входа – твое имя с заглавной буквы плюс год твоего рожденья плюс восклицательный знак. И вот тебе ключ и флэшка с твоей электронной подписью. Во всем остальном, как всем этим пользоваться ты сам разберешься, не мне тебя учить. Поиграй с этой программой. Найди в ней дыры. Не верю я в чертей, дружище. Не черти наш банк на десять лимонов «зелени» обули. Это, как говорится, дело рук человеческих.
– И, наконец, третье, – продолжал Костя, протягивая Сергею листок бумаги, на котором были аккуратно напечатаны какие-то цифры. – Это номера счетов, с которых были украдены деньги. Так что, дружище, у тебя все данные есть. Действуй-злодействуй.
– Да, в хорошенькое дело ты меня втравливаешь, – покрутил головой Сергей. – Перспектива, скажем прямо, не шибко приятная! Тогда уж позволь один нелицеприятный вопрос. Только не обижайся, ладно? А это часом не ты, а?
Вне всяких ожиданий Костя не стал отнекиваться, смеяться, возмущаться, бить себя в грудь или отпускать свои стандартные шуточки. Теперь он был серьезен: помолчал, налил себе еще коньку, закурил сигарету и выпустил клубы дыма и несколько секунд помолчал. Сергей испытующе смотрел на него.
– Знаешь, старик, ты имеешь право задавать мне такие вопросы, – сказал, наконец, Костя. – И сомневаться вправе. Если я тебе просто скажу, что не имею к этой краже ни малейшего отношения, то в данном случае это будут просто слова. Справок о том, что я не имею к этой афере никакого отношения, у меня, как ты догадываешься, тоже нет, – при этих словах друга Сергей невольно улыбнулся. – Поэтому попробую представить тебе доказательства своей невиновности, основанные на простой логике. Во-первых, мы с тобой знакомы уже давно и меня ты знаешь – в том смысле, на что я способен. Следовательно, ты знаешь, что компьютеры – не моя стихия. В одиночку я бы такое дело не провернул: мне понадобился бы сообщник. А программисты – не мой круг общения: из крутых компьютерных специалистов я хорошо знаю только тебя и моих сотрудников. К тебе я не обращался: надеюсь, это у тебя сомнений не вызывает? А еще к кому? К моим программистам, да? Ты, надеюсь, не думаешь, что я окончательный клинический идиот? Но дело даже не в этом: хорошо, допустим, я нашел некоего хакера, который по моему заказу все это выполнил! Дело в другом. Десять лимонов зелени, братец ты мой – это такая сумма, в кармане с которой можно устроиться где угодно. И тут начинаются иные взаимоотношения. Так что, будь у меня такие бабки, то я бы сейчас здесь не сидел и с тобой не разговаривал. Я ж говорил, что у того, кто это сделал, были сутки форы. Серега, ты вдумайся в это число: СУТКИ, двадцать четыре часа! За сутки в наше время, дружище, можно оказаться под чужим именем в любой точке планеты – причем так, что тебя никто не найдет, ни одна живая душа! А теперь подумай сам: если я исчез, растворился, то какое мне дело, что будет потом? Зачем мне тогда ставить тебя в известность? Для чего, объясни? Подставить тебя, чтобы все на тебя подумали? А что это мне даст, если все на тебя подумают и возьмут тебя в оборот? Нет, дружище, будь у меня такие деньги – я бы немедленно отсюда и никого не стал бы посвящать в свои планы! Да так, что только меня и видели! Поэтому заваривать такую кашу и привлекать тебя в качестве козла отпущения, только ради того, чтобы подставить – занятие совершенно бессмысленное и бесполезное и нужно мне, как щуке липосакция. Ну, как, я ответил на твой вопрос?
Сергей задумался, покрутил в руке пустой бокал и заглянул в него. Оставшаяся капля коньяка медленно сползла по стенке.
– В принципе ответил. Тогда последний вопрос: сколько у меня времени на все это?
– Если я скажу тебе, что все нужно было сделать еще вчера, то мы с тобой оба прекрасно понимаем, что это будут просто слова, брошенные на ветер, – усмехнулся Костя. – С одной стороны, я реалист и отлично понимаю, что на решение любого вопроса – а тем более такого сложного! – требуется время. Как говорил незабвенный Остап Бендер, скоро только кошки родятся. Я отдаю себе отчет в том, что в течение одного часа ты вряд ли найдешь и дыру в нашей системе, и пропавшие деньги, и ту сволочь, которая устроила весь этот цирк в стиле Копперфильда. Но, с другой стороны, конкретных сроков я тебе дать, наверное, не смогу. Крайний срок в данном случае определяется не временем, а тем событием, которое может наступить в любой момент. Это событие очевидно: если в это происшествие всплывет наружу и получит огласку, если мои учредители, собравшись вместе за рюмкой чая, обнаружат, что на самом деле ограбили почти все самых богатых людей в городе, то любые оправдания, типа «мы искали, мы пахали», любые оправдания и посыпание голов пеплом будут уже бесполезны. Знаешь, Серый, есть одно интересное понятие: «задание в местности смерти». Знаешь, что это означает?
Сергей отрицательно покачал головой.
– Это означает, что если задание к какому-то конкретному сроку не выполнить, то пропадает сама необходимость в выполнении этого задания, – объяснил Костя. – Просто дело в том, что дальше наступают некие события, которые делают выполнение этого задания совершенно бессмысленным, ибо оно уже дальше никому не нужно. Так вот, Серега, друг мой дорогой, мы с тобой сейчас выполняем работу, которая как раз находится в «местности смерти», причем даже без конкретного крайнего срока. Если все всплывает наружу – а обнаружить это могут в любой момент! – то дальше что-либо искать будет уже без надобности. Поэтому твоя задача – сделать все как можно быстрее.
– Извини, старик, но это не ответ, – возразил Сергей. – Мне хоть на что-то надо ориентироваться! Иначе забирай-ка ты свой аванс и разбирайся самостоятельно!
– Ладно, ладно, не заводись, – примирительно сказал Костя. – В принципе, полагаю, что неделя у тебя есть. Ну, максимум десять дней. Неделю я еще смогу что-либо сделать для того, чтобы никто ни о чем не узнал. Но до двадцатого числа мне уже нужно иметь ответы на все вопросы, причем, с полной доказательной базой. На последнее обращаю твое особое внимание: логические умозаключения, Серега, мне бесполезны: нужны неопровержимые факты. Иначе – сам понимаешь…
В комнате воцарилось молчание. Первым его нарушил Костя.
– Ну, так как, Серый, – спросил Костя, испытующе глядя на своего друга. – Как говорится, что скажет купечество? Каков результат наших переговоров? Высокие договаривающиеся стороны пришли к соглашению или как?
Сергей помолчал немного, подумал. Затем посмотрел на деньги, затем на Костю, потом снова посмотрел на деньги. Подумав еще немного, он взял в руки пачку денег, повертел ее, затем решительным жестом спрятал ее в карман джинсов и задумчиво кивнул головой.
– Ну, вот и ладненько, – удовлетворенно хмыкнул Костя. Затем выразительно посмотрел на циферблат своих золотых часов. – Ты извини, старик, но у меня дела сейчас, поэтому давай-ка мы на этом первую часть разговора закончим. Значит, ежедневно держим связь, как договорились. Бывай. А домой тебя отвезут в лучшем виде.
Это была его старая манера поведения: добившись своего, Костя резко сворачивал разговор, после чего достаточно бесцеремонно выпроваживал собеседника. Он протянул Сергею руку и одновременно нажал кнопку под столом. Тотчас же открылась дверь и на пороге появился охранник.
– Андрюша, проводи Сергея Михайловича, – повелительно сказал Костя. – И отвези его туда, куда он тебе скажет.
– Слушаюсь, Константин Владиленович, – четко, по-военному отозвался охранник. – Все сделаем, не беспокойтесь.
Сергей попрощался с Костей и прошел вслед за охранником. Когда за ними закрылась дверь, Костя встал, прошелся по кабинету, затем подошел к столу, снова сел в кресло. Налил себе коньяку и залпом выпил. Посидев немного, он взял в руки пульт от видеомагнитофона и задумчиво повертел его в руках…
Поиск
Автомобиль остановился возле самого подъезда. За всю дорогу охранник не произнес ни слова и даже не повернул головы. Высадив Сергея около его подъезда, он захлопнул дверцу машины и, не сказав ни слова – даже не попрощавшись – развернулся и уехал.
«Ну и манеры», – подумал Сергей. – «Ни тебе здрасьте, ни мне спасибо, ни нам до свиданья. Одно слово – гоблины».
Ладно, это все не так важно. Плевать ему на этого тупого верзилу. Его ждет работа. Жаль, конечно, что отпуск накрывается медным тазом, но зато можно весьма неплохо подзаработать. Хотя, почему сразу «накрывается»? Если выполнить всю работу за одну неделю, то останется еще три недели на весьма неплохой отдых. А, имея такие деньги на кармане, можно вдвоем с Ленкой махнуть не Сочи, а куда-нибудь получше!
Войдя в квартиру, Сергей подошел к своему столу и включил компьютер. Подождав немного, он вставил диск. На установку программы потребовалось совсем немного времени.
За свою жизнь Сергей никогда не ставил себе задачи специально ломать защиты или вскрывать программы. Но препятствия заводили его. Стоило появиться препятствию, стоило чему-то встать у него на пути – и Сергею сразу хотелось победить компьютер, обойти все преграды, добиться своего. Напротив, рутинная работа в конторе его раздражала именно из-за своей обыденности и рутинности. В его нынешней работе не было место творчеству, азарту, профессиональному риску. Вот и сейчас, даже зная, что, попавшись на взломе банковской системы, последствия могут быть весьма печальными, Сергей ощутил знакомый холодок безрассудства, какую-то бесшабашную удаль, азарт. Он не думал уже о последствиях: перед ним стояла задача, требующая своего решения. Он хотел быть лучшим.
По сути, Сергей и был одним из лучших. Самым простым способом заставить его что-либо сделать был вызов. Нужно было поставить перед ним невыполнимую задачу, сказать, что проблема неразрешима, освободить Сергея от работы. И тогда – откуда только брались силы, знания, энергия? – Сергей делал дело и добивался результата. Иногда казалось, что он родился с компьютером.
Компьютер был его другом. Только глядя на экран монитора и ощущая пальцами клавиши, Сергей ощущал полное душевное спокойствие. Это был его друг, собеседник – и в то же время соперник. Это было его второе «я», без которого Сергей просто не мог существовать. Во время работы, он разговаривал с ним, хвалил, ругал и в эти мгновенья компьютер казался Сергею живым существом.
Введя пароль, Сергей вошел в программу. Для начала он попробовал изменить пароль по своему усмотрению. Тут же оказалось, что это не так-то просто: простые пароли типа «один-два-три» не проходят и меньше восьми символов не принимаются. Более того, не проходили и пароли, состоящие только из цифр или только из букв: нужна была комбинация букв и цифр.
– Нормально сделано, – пробормотал Сергей самому себе. – Значит, вариант подбора пароля практически исключен.
Хотя, почему исключен? Если как у него: имя плюс год рождения и восклицательный знак? Бред, тут же оборвал себя Сергей. Ну, у одного так пароль подобрали, ну, – да и то, в самом крайнем случае! – у двоих, но ведь не у двадцати же шести одновременно? Нет, Костя в этом вопросе, безусловно, прав: со стороны потерпевших клиентов сговор и махинации исключались. Они пострадавшие в прямом, а не в переносном смысле.
Ладно, оставим пароль в покое. А что ключевая флэшка? Сергей попробовал ее скопировать. Нет, не выходит. Ладно, а если скопировать специальными программами? О как, тоже не выходит! Смотри-ка ты, ежики небритые, защита хорошо сделана! Значит, копироваться ты, зараза, не хочешь, да? Ладно, решил Сергей, мы тоже не пальцем деланы, а что вы скажете против моей программки копирования на физическом уровне? Ну-ка, давай теперь посмотрим…
Сергей вставил в разъем скопированную флэшку и попробовал снова войти в программу. Сверх всяких ожиданий, программа загрузилась. Опаньки, значит, вот где собака порылась! Значит, эта гребаная защита, сертифицированная ФАПСИ, ломается на физическом уровне. Ну, хорошо. Теперь попробуем тот же метод при запросе банковской выписки или отправке денег…
Выполнив все операции, Сергей стал ждать. Модем, пошуршав и пощелкав, замолчал. На экране появилось сообщение:
«Операция завершена успешно. Деньги переведены».
– Вот тебе, бабушка, и Юрьев день, – довольно пробормотал Сергей. – Немного же времени потребовалось для того, чтобы сломать защиту.
Ну что ж, значит, можно звонить Косте. Хотя, пожалуй, с этим есть смысл повременить. Еще зажилит оставшиеся двадцать штук, скажет, мол, что работы было на три копейки. Ничего, решил Сергей, позвоню через пару-тройку дней. А пока что надо выпить пивка. Кстати, кажется, в холодильнике завалялось пара бутылочек.
– Стоп, – вдруг сказал Сергей самому себе. – А чего, собственно говоря, я добился? Ну, хорошо, я взломал систему. Я скопировал ключ. Следовательно, по ложному ключу перевел деньги. Ну и что же мы имеем? Будем рассуждать логично. Я скопировал ключ потому, что он у меня был. Не имей я ключа – черта с два вошел бы в систему. Но что толку? Опять-таки, двадцать шесть кретинов не могли собрать в одном месте все двадцать шесть ключей. Но даже если и собрали? Вероятность такого сговора не больше чем вероятность одновременного извержения двадцати шести вулканов на планете.
Хотя опять-таки стоп. Кто делает ключевые флэшки? В самом банке. Тамошние инженеры. Значит, получается, что сделана копия? Теоретически возможно, но практически бесполезно. Одновременно запустить двадцать шесть копий программы на одном компьютере нереально. Хотя, почему нереально. Надо попробовать…
Сергей свернул программу и, не закрывая ее, попробовал запустить еще одну копию. Немедленно на экране появилась предупреждающая надпись:
«Внимание! Загрузка программы невозможна: вероятно, запущена еще одна копия программы Клиент-Банк!».
Ну вот, что и требовалось доказать! Впрочем, это предсказуемый вариант. Одновременный запуск программы на одном компьютере исключается. Хотя, постой… А что если этот злодей двадцать шесть компьютеров задействовал или запустил двадцать шесть виртуальных машин на одном компьютере?
– Ты соображаешь, что несешь? – сказал сам себе Сергей. – Во-первых, как он физически это осуществил? Как он запустил двадцать шесть виртуальных машин на одном компьютере? Никакой мощности не хватит! А во-вторых, где в одной комнате он нашел двадцать шесть компьютеров, причем так, чтобы этого ни одна живая душа не заметила подобной операции?
Хорошо, тогда придется заглянуть чуточку поглубже. Когда устанавливается связь с удаленным компьютером, порт открывается. Значит, чисто теоретически есть возможность подключиться удаленно к тому компьютеру в тот момент, пока программа работает.
Давай-ка будем рассуждать логично, подумал Сергей. Наверняка, в банке есть компьютер, который используется для внутренних коммуникаций сотрудниками. Значит, есть весьма высокая вероятность, что он находится на весьма открытом участке сети. Значит, надо просканировать адреса компьютеров «Кора-Банка», подключенные к сети. Впрочем, чего гадать на кофейной гуще? Надо попробовать, мы ничего не теряем…
Сергей был в своей стихии. Он работал самозабвенно, не обращая внимания на время, не чувствуя жажды и голода, не обращая внимания ни на что. В комнате были только двое: он и компьютер.