Тем временем я зашел в отель Country Inn, что неподалеку от офиса, и позвонил Ленни с таксофона. Как только он ответил, я позвонил с другого таксофона на основной номер DEC в городе Нашуа, штат Нью-Гэмпшир. Там находились лаборатории и отдел разработки.
Так я и стоял между двумя телефонами, прижав к каждому уху по трубке.
В Нашуа мне ответила дама, я сказал ей, что также работаю в DEC. Потом спросил, где у них компьютерный зал, и взял у нее операционный телефонный номер.
Позвонив в тот отдел, я воспользовался именем кого-то из разработчиков и спросил, поддерживается ли обслуживание группы «Звездное скопление» системы VMS. Эта группа использовалась при разработке операционной системы. Сотрудница DEC подтвердила, что я прав. Тогда я прикрыл одну трубку рукой, а в другую сказал Ленни набрать номер для дозвона к модему.
Далее я попросил сотрудницу ввести команду «отобразить пользователей» и показать, кто в данный момент работает в системе. Если кто-то как раз заходил в систему – именно это сейчас делал Ленни, – то рядом с именем устройства и терминалом, который используется для входа, стояла бы метка <LOGIN>. Вот что увидела на экране дама:
Надпись <LOGIN> показывала, что Ленни заходит в систему с устройства TTG4. Потом я попросил оператора ввести команду «порождение»:
spawn/nowait/nolog/nonotify/input=ttg4:/output=ttg4:
Поскольку девушка не вводила с клавиатуры логины и пароли, ей было совершенно непонятно, что именно я прошу сделать. Она должна была знать, что команда «порождение» порождает процесс, но, видимо, операторы редко ею пользуются, поэтому дама не поняла, что происходит.
Эта команда создала на модеме, к которому подключился Ленни, зарегистрированный в системе процесс, действовавший в контексте аккаунта оператора. Как только оператор ввела команду, на терминале Ленни появилось приглашение «$». Это означало, что он входит в систему со всеми привилегиями оператора. Когда появился символ «$», Ленни так обалдел, что стал просто кричать в трубку: «Пришло приглашение! Пришло!»
Я отнес трубку с криками Ленни подальше от уха и спокойно сказал оператору: «Извините, я отлучусь на секундочку. Сейчас буду».
Поплотнее прижав к ноге трубку, по которой говорил с девушкой, я взял трубку Ленни и сказал ему: «Заткнись!» Затем продолжил разговор с оператором.
Ленни немедленно пробил, активирована ли проверка безопасности. Да, она действовала. Поэтому, чтобы не создавать для нас новый аккаунт (это неизбежно вызвало бы срабатывание тревожного уведомления системы безопасности, возникли бы лишние подозрения), Ленни просто изменил пароль неактивного аккаунта, который имел все системные привилегии.
Тем временем я поблагодарил оператора и сказал, что она может выходить из системы.
После этого Ленни сделал обратный вызов и вошел в неактивный аккаунт с помощью своего нового пароля.
Как только мы проникли в отдел разработки VMS, нашей основной целью стало получение доступа к новейшей версии исходного кода данной операционной системы. Это было не слишком сложно. Когда мы выстроили список дисков, подключенных к системе, оказалось, что один из них называется VMS_SOURCE. Нам донельзя облегчили работу.
Тогда мы уже загрузили в систему небольшой инструмент, который был специально предназначен для аккуратного отключения проверок безопасности без передачи сигнала тревоги.
Тогда мы уже загрузили в систему небольшой инструмент, который был специально предназначен для аккуратного отключения проверок безопасности без передачи сигнала тревоги. Когда предупреждения были отключены, мы настроили пару пользовательских аккаунтов с полными привилегиями, а также изменили пароли еще нескольких привилегированных аккаунтов, которые не использовались как минимум на протяжении шести месяцев. Мы хотели скопировать новейшую версию исходного кода в систему Университета Южной Калифорнии, чтобы полностью контролировать код даже после того, как выгрузимся из «Звездного скопления».
Создав наши новые аккаунты, мы вошли в почтовый ящик Энди Голдстейна. Он был членом первого состава команды разработчиков VMS в Digital, его хорошо знали в сообществе VMS как эксперта по операционным системам. Мы были в курсе, что он, в частности, работал над проблемами безопасности VMS, и решили: его почта – хорошее место, где стоит поискать сведения о последних сложностях с безопасностью, которые пыталась исправить DEC.
Мы обнаружили, что Голдстейн получал отчеты о возникновении ошибок в системе безопасности от одного парня по имени Нейл Клифт. Я быстро разузнал, что Клифт был аспирантом британского университета в Лидсе, где изучал органическую химию. Очевидно, он также был компьютерщиком-энтузиастом с уникальным талантом: Клифт мастерски находил уязвимости операционной системы VMS и исправно докладывал обо всех найденных прорехах в DEC. Однако он не просек, что теперь докладывает о них и мне.
Так мы выполнили первый кусок работы над тем, что позже оказалось настоящей золотой жилой.
Просматривая почту Голдстейна, я нашел письмо, в котором содержался подробный анализ толкового патча для Loginout – программы, с помощью которой происходил вход в систему VMS. Этот патч разработала группа немецких хакеров со звучным названием «Компьютерный клуб „Хаос“» (ССС). Несколько членов данной группы специализировались на разработке патчей для конкретных программ VMS. Эти патчи обеспечивали полный контроль над системой.
Патч Loginout для VMS также модифицировал некоторые аспекты программы входа в систему, в частности отдавал команду секретно сохранять пароли в скрытой области системного файла авторизации. Это делалось, чтобы наделять пользователя невидимостью, а также отключать все уведомления об опасности при входе кого-либо в систему под специальным паролем.
Я позвонил ему в больницу и объяснил, что заполучил анализ патчей-лазеек, разработанных их клубом для программ Loginout и Show, и считаю эти патчи чертовски толковыми.
В газетных статьях о компьютерном клубе «Хаос» упоминалось имя лидера. Я нашел его номер и позвонил. На тот момент моя собственная репутация в среде хакеров уже стала возрастать, и он узнал меня по имени. Лидер сказал, что мне следует поговорить с другим членом их группы, который, увы, страдал последней стадией рака. Я позвонил ему в больницу и объяснил, что заполучил анализ патчей-лазеек, разработанных их клубом для программ Loginout и Show, и считаю эти патчи чертовски толковыми. Я спросил, нет ли у него других патчей или инструментов, которыми он хотел бы поделиться.
Этот парень оказался очень классным и общительным. Он предложил передать мне кое-какую информацию. К сожалению, ее пришлось пересылать обычной почтой, так как в больнице нет компьютера. Через несколько недель я получил посылку с распечатками, где подробно описывались многие хаки, разработанные этой группой, но еще не попавшие в открытый доступ.
Мы с Ленни решили расширить и дополнить разработки клуба «Хаос». Мы улучшили некоторые патчи, сделав их еще более функциональными. В сущности, ССС создал тот базис, на котором мы возводили надстройку. Выходили новые версии VMS, а я и Ленни адаптировали к ним наши патчи. Поскольку Ленни все время работал в компаниях, оборудованных системой VMS, мы могли тестировать патчи на его рабочих компьютерах и развертывать в системах, над которыми хотели сохранить контроль.
После того как были взломаны системы нескольких крупнейших клиентов DEC, программисты компании разработали средство защиты, которое должно было обнаружить патч «Хаоса». Мы с Ленни нашли программу-ищейку, проанализировали ее и просто модифицировали патч так, чтобы инструмент DEC просто не мог его найти. Это было на самом деле не так сложно. Благодаря доработке, мы смогли внедрить наш патч в многочисленные копии системы VMS компании Digital по всему миру Компьютеры Digital объединялись в глобальную сеть Easynet.
Найти код было несложно, но вот передать его оказалось трудноразрешимой задачей. Кода было много. Чтобы уменьшить его объем, мы попытались его заархивировать. В каждом каталоге находились сотни файлов. Всю эту информацию мы попробовали сложить в единый файл и зашифровать с той целью, чтобы любой посторонний, нашедший этот файл, принял его за кучу мусора.
Единственный способ сохранить доступ к файлам и иметь возможность изучать их в свободное время – найти в Easynet компании DEC такие системы, которые были бы подключены к сети Arpanet. Через подобные системы необходимые файлы можно было вывести из системы DEC. Мы отыскали в Easynet всего четыре системы, которые имели выход в Arpanet. Однако этих ресурсов нам хватило для того, чтобы по частям перенести нужный код.
Оказалось, что наш изначальный план сохранить код в системе Университета Южной Калифорнии был, мягко говоря, недальновидным. Мы поняли, что нам потребуется более одного хранилища кода, чтобы не класть все яйца в одну корзинку и на случай, чтобы вся работа не пошла прахом, если наш код обнаружат. Оказалось, перед нами возникла еще более значительная проблема: база кода была колоссальной. Если бы мы сохранили ее всю в одном месте, риск обнаружения заначки был бы слишком велик. Поэтому мы стали методично взламывать системы Arpanet и искать в этой сети другие безопасные тихие гавани. Стало появляться ощущение, что добыча кода из DEC – самая простая задача, а вот большая проблема заключается в том, чтобы найти место для хранения копий. Мы проникли в компьютерные системы авиабазы военно-морских сил на реке Патаксент, штат Мэриленд, а также к другим местам. К сожалению, база на реке Патаксент располагала совсем небольшим пространством для хранения информации.
Также мы попытались внедриться в компьютерные системы Лаборатории реактивных двигателей (ЛРД) в городе Пасадена, штат Калифорния. Для этого мы воспользовались нашей усовершенствованной версией патча «Хаос».
В ЛРД через какое-то время обнаружили, что их системы взломаны. Возможно, это произошло, потому что там специально отслеживались любые несанкционированные изменения программ Loginout и Show системы VMS. Вероятно, они произвели обратное конструирование, то есть расшифровали структуру двоичных файлов, чтобы определить, какие программы использовались при взломе, и решили, что к ним проникли члены компьютерного клуба «Хаос». Управление ЛРД выступило с этой версией событий в СМИ, после чего в новостях появилась масса сюжетов о немецких хакерах, которых засекли на взломе компьютеров Лаборатории ракетных двигателей. Мы с Ленни только посмеялись над этим инцидентом. Однако ситуация была тревожной, ведь нас смогли обнаружить.
Приступив к переносу кода, мы занимались им день и ночь, копируя код небольшими частями. Процесс был очень медленным. Скорость модемных соединений в те времена – если это вообще можно назвать скоростью – составляла не более Т1, то есть 1544 Мбит в секунду. Сегодня даже сотовые телефоны передают информацию гораздо быстрее.
Вскоре в DEC заметили нашу деятельность. Ребята, которые отвечали за поддержание систем в активном и рабочем состоянии, могли заметить, что что-то происходит, так как среди ночи в сети наблюдалось большое количество израсходованного трафика. Кроме того, они обнаружили, что у них на глазах сокращается свободное дисковое пространство. Обычно количество информации в системе исчислялось мегабайтами, в то время как мы ворочали гигабайтами.
Ночная активность и исчезновение свободного пространства явно говорили о том, что безопасность системы подугрозой. Администраторы быстро изменили все пароли и удалили все файлы, которые мы успели сохранить в системе. Это был серьезный отпор, но нас с Ленни такой поворот событий не отпугнул. Мы продолжали взламывать DEC из ночи в ночь, несмотря на все усилия администраторов. На самом деле, поскольку сотрудники компании и пользователи сети не осознавали, что мы контролировали их персональные рабочие станции и даже знали, какие клавиши они нажимают, мы с легкостью заполучали все новые учетные данные, как только они изменялись.
Системные администраторы DEC могли наблюдать, как по сети передаются многочисленные огромные файлы, но не могли понять, как остановить этот процесс. Наш неослабевающий натиск заставил их думать, что они подверглись какой-то корпоративной шпионской атаке со стороны международной бригады наемных хакеров, которых специально наняли украсть их флагманскую технологию. Об этих предположениях мы узнали из корпоративной электронной переписки. Ситуация действительно доводила их до безумия. Я в любой момент мог войти в систему и посмотреть, на каком этапе они находятся сейчас и что собираются делать дальше. Мы делали все возможное, чтобы администраторы продолжали идти по ложному следу. Поскольку мы обладали полным доступом к Easynet, то дозванивались в сеть из Великобритании и из других стран мира. Администраторам не удавалось обнаружить наши точки входа, так как мы постоянно их меняли.
С подобными проблемами мы столкнулись и в системах Университета Южной Калифорнии. Там администраторы также обнаружили, что сокращается свободное дисковое пространство на нескольких Micro VAX. Я и Ленни стали переносить данные ночью, но администраторы заметили нас и разорвали сетевое соединение. Мы попробовали заново, но они отключили систему на ночь. Мы немного повременили, дождались, пока администраторы усыпят бдительность, и вновь возобновили передачу данных. Эта игра продолжалась месяцами.
Иногда в свободное время между дуэлями с системными администраторами у нас возникало ощущение, что мы пытаемся высосать океан через соломинку.
Иногда в свободное время между дуэлями с системными администраторами, операциями с гигабайтами кода и смирением с убийственно медленным каналом передачи данных у нас возникало ощущение, что мы пытаемся высосать океан через соломинку. Однако мы это сделали.
Когда весь исходный код VMS был перенесен на несколько систем в USC, мы должны были записать его на магнитную ленту, чтобы спокойно перелопатить всю информацию на своих компьютерах и не беспокоиться, что нас отследят при дозвоне в Easynet. Для переноса кода на магнитную ленту требовалось привлечь третьего человека.
Мы отправили Льюиса де Пэйна в кампус. Там он должен был выдать себя за студента. Ему требовалось попросить одного из операторов компьютеров вставить предоставленную им магнитную ленту в один из ленточных накопителей.
Я должен был находиться в другом районе города, в офисе у моего друга Дэйва Харрисона, и выйти оттуда в систему VMS под названием ramoth через обычный коммутируемый модем, подключенный к тому накопителю, в котором стояла лента Льюиса. На эту ленту нужно записать столько исходного кода, сколько влезет. После этого Льюис должен был передать оператору другую пустую ленту, а ленту с записью доставить Ленни Ди-Чикко. В конце каждого такого захода Ленни должен прятать новые ленты в специально заказанной для этих целей ячейке. Мы занимались этим до тех пор, пока у нас не накопилось от 30 до 40 лет с полным объемом исходного кода операционной системы VMS версии 5.
В ходе данной операции я достаточно долго бывал на работе у Харрисона. Я обнаружил, что в том же здании находились офисы компании GTE Telenet. Эта компания оперировала одной из наиболее обширных сетей Х25 и обслуживала одного из крупнейших потребителей в мире. Может быть, мне удалось бы заполучить административный доступ к этой сети и наблюдать за пользовательским трафиком. Ранее Дэйв подобрал ключ к пожарному пункту, взял оттуда универсальный ключ, который подходил ко всем дверям, и занес его в здание. Однажды поздно ночью мы с Дэйвом воспользовались этим ключом и проникли в офисы GTE Telenet, чтобы просто осмотреться. Когда мы обнаружили, что они пользуются VMS, я сильно воодушевился. Как говорится, это я удачно зашел.
Мне понадобилось совсем немного времени, чтобы можно было прослушивать пользовательский сетевой трафик.
Я нашел систему VMS с именем узла Snoopy[37 - Это название можно перевести как «сыщик» или «ищейка»,]. Немного осмотрев ее, я обнаружил, что из этой системы уже сделан выход в сеть с привилегированного аккаунта, а это значит, я могу получить полный доступ к системе. Слишком соблазнительно. Хотя сотрудники Telenet могли появиться в офисе в любое время дня и ночи, я сел за терминал и принялся исследовать. Я искал скрипты и сторонние приложения, чтобы разобраться, с какими инструментами работали в этой компании и как можно ими воспользоваться для отслеживания сетевого трафика. Мне понадобилось совсем немного времени, чтобы можно было прослушивать пользовательский сетевой трафик. Потом меня осенило. Узел назывался Snoopy, так как он позволял техникам отслеживать, выискивать трафик в пользовательских сетях.
У меня уже был адрес Х25 для подключения к системе VMS на факультете органической химии в университете Лидса, где учился Нейл Клифт. Через него я и вышел в сеть. Зато у меня не было никаких учетных данных, я попытался их угадать, но безуспешно. Нейл уже был в системе, ведь из-за разницы часовых поясов у него в Лидсе день, а у меня глубокая ночь. Он заметил мои попытки создать логин и написал администратору Snoopy письмо о том, что кто-то хочет прорваться в университетскую систему. Разумеется, я удалил это письмо.
Хотя в ту ночь мне и не удалось попасть в систему университета Лидса, я выполнил подготовительную работу для последующей слежки за Клифтом. Это позволило мне обнаружить настоящую золотую жилу.
Тогда мы с Ленни вступили в интеллектуальную дуэль друг с другом. Он встал на место компьютерного оператора компании VPA, а я присоединился к компании CK Technologies в Ньюбери-Парке. Мы делали ставки, сможем ли проскользнуть в компьютерные системы компаний друг друга. Как только кому-то удавалось попасть в компьютерную сеть компании соперника, которая использовала операционную систему VMS, он получал приз. Это напоминало игру «захват флага», в ходе такой схватки мы проверяли свои навыки и умение защищать системы друг от друга.
Ленни был недостаточно проворен и никак не мог меня обхитрить. Я снова и снова проникал на его территорию. Ставка всегда равнялась 150 долларам – столько стоил обед на двоих в Spago. Это ресторан в Беверли-Хиллз, где тогда работал легендарный шеф-повар Вольфганг Пук. Я выиграл это состязание достаточно много раз подряд, и Ленни стал злиться.
Во время одного из наших полуночных хакерских заседаний Ленни стал жаловаться, что он так никогда и не выиграет. Я сказал, что, если он больше не хочет соревноваться, мы можем закончить в любое время. Однако он жаждал победить.