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