Страница:
Несмотря на тот факт, что Anthrax никогда не присоединялся к команде хакеров вроде Realm, он хорошо относился к людям. Ему нравилось говорить с ними по телефону часами. Иногда он получал до десяти международных звонков в день от своих друзей фрикеров с других континентов. Он мог сидеть дома у друга, слушать музыку и болтать, когда мать приятеля заглядывала в комнату, поднимала бровь и пальцем манила Anthrax’a. «Это тебя. Кто-то из Дании». Иногда это была Швеция, Финляндия, США… Хотя родители его друзей ничего не говорили, они думали, что это довольно странно. Нечасто паренькам, живущим в маленьких городках, звонят из-за рубежа, да еще и перезванивают в другой дом. Нечасто эти пареньки становятся великими фрикерами.
Anthrax обожал телефоны и понимал власть телефонной системы. Многие фрикеры считали, что достаточно иметь возможность бесплатно звонить друзьям по всему свету. Или совершать хакерские набеги, не боясь, что тебя выследят. Но для Anthrax’a настоящая власть заключалась в контроле над голосовыми коммуникационными системами, которые делали возможными разговоры по телефону со всем миром. Он путешествовал по голосовым почтовым ящикам других людей, пытаясь представить, как они живут. Он хотел научиться подслушивать телефонные разговоры. Он хотел научиться перепрограммировать телефонные системы, даже разрушать их. Это была реальная власть, многие почувствуют ее на себе.
Желание власти зрело в Anthrax’e на протяжении всего отрочества. Он страстно хотел все знать, все видеть, играть с экзотическими системами других стран. Он стремился узнать назначение каждой системы, то, как она работает, как совмещается с другими системами. Понимание всего этого давало ему контроль.
Его одержимость телефонией и хакингом началась очень рано. Когда ему было около двенадцати, отец повел его на «Военные игры». Все, о чем думал Anthrax, выходя из кинотеатра, – как сильно он хочет стать хакером. Он уже получил свою порцию очарования компьютерами – родители подарили ему на день рождения простейшую машину Sinclair ZX81 с одним килобайтом памяти. Роясь на книжных развалах уличных ярмарок, он нашел несколько подержанных книг о хакерах. Он прочитал «За пределами внутреннего круга» Билла Лэндрета [p160]и «Хакеров» Стивена Леви. [p161]
К четырнадцати годам Anthrax присоединился к группе мельбурнских подростков под названием The Force. Ее члены обменивались играми для компьютеров Commodor 64 и Amiga. Еще они писали демки – короткие компьютерные программы – и с удовольствием взламывали защиту на копиях игр, а затем менялись ими с другими крэкерами по всему миру. Это было похоже на международный кружок по переписке. Anthrax’y нравилось бросать вызов, взламывая защиту программ, но немногие подростки из его городка разделяли это необычное хобби. Став членом The Force, он познакомился с огромным новым миром людей, думавших так же, как он.
Когда Anthrax впервые прочитал о фрикинге, он написал одному из своих американских знакомых по крэкингу и спросил у него, как начать. Тот прислал ему список номеров телефонных карт AT&T и бесплатный номер прямого набора, по которому австралийские операторы соединялись с американскими. Все карты были просрочены или аннулированы, но Anthrax’y было все равно. Его воображение поразила возможность бесплатно позвонить оператору, находящемуся по другую сторону Тихого океана. Anthrax попытался раздобыть побольше таких номеров.
Обычно он околачивался возле телефонной будки недалеко от дома. Это был неблагополучный район, где жили самые обездоленные горожане, но Anthrax, как правило, занимал телефонную будку по вечерам, не обращая внимания на окружающий его шум, и вручную искал бесплатные номера. Он набирал 0014 – начальные цифры международных бесплатных номеров, а затем несколько цифр наугад. Со временем он стал серьезнее и более ответственно подходить к решению задачи. Он выбирал ряд номеров, например от 300 до 400, и исследовал три последние цифры. Он набирал снова и снова, каждый раз повышая номер на один пункт. 301. 302. 303. 304. Как только он натыкался на рабочий телефонный номер, он записывал его. Он не истратил ни цента с тех пор, как получил в свое распоряжение все номера, начинавшиеся на 0014.
Anthrax нашел множество действующих номеров, но к некоторым из них были подключены модемы. Поэтому он решил, что настало время купить модем и продолжить дальнейшие исследования. Anthrax был слишком молод, чтобы работать легально, поэтому он соврал насчет своего возраста и нашел работу после уроков, занимаясь вводом данных для эскорт-агентства. В то же время он старался проводить каждую свободную минуту у телефона-автомата, продолжая искать и добавлять новые номера к своему растущему списку бесплатных модемных и операторских номеров.
Сканирование стало одержимостью. Иногда Anthrax стоял у телефона между десятью и одиннадцатью вечера. Иногда это случалось в три ночи. Телефон-автомат был дисковым, что только добавляло Anthrax’y трудностей, и он часто приходил домой с волдырями на кончиках пальцев.
Проработав около месяца, Anthrax смог скопить достаточно денег, чтобы купить себе модем.
Ручное сканирование утомляло, но не больше, чем школа. Anthrax регулярно посещал свою государственную школу, во всяком случае до десятого класса. В основном он делал это под влиянием матери. Она верила в образование и самосовершенствование и хотела дать своему сыну возможности, которых сама была лишена. Именно его мать – она работала медсестрой в психиатрической лечебнице – месяцами экономила и отказывала себе во всем, чтобы купить Anthrax’y его первый настоящий компьютер – Commodor 64 за $400. Именно она взяла ссуду, чтобы купить сыну более мощный Amiga в 1989 году. Она знала, что ее мальчик очень способный. Раньше он читал ее учебники по медицине, но за компьютерами было будущее.
Anthrax всегда хорошо учился, успевая с отличием с седьмого по десятый классы. За исключением математики. Хотя у него были несомненные способности. В шестом классе он получил награду за то, что разработал маятниковое устройство для вычисления высоты здания, используя начальные знания тригонометрии, которую он еще не изучал. Но все же Anthrax стал меньше посещать школу после десятого класса. Учителя продолжали говорить ему о том, что он уже знал, или то, что можно было гораздо быстрее узнать из книг. Если ему нравилась тема урока, он просто шел в библиотеку и читал об этом.
Примерно в это время атмосфера в семье становилась все сложнее. Семья Anthrax’a не переставала бороться с того самого момента, когда она перехала в Австралию из Англии, – ему в то время было двенадцать лет. Они боролись с бедностью, боролись с суровостью жизни в провинциальном городишке. Кроме того, Anthrax’y, его матери и младшему брату приходилось бороться с расизмом. Они были индийцами.
Этот городок был жестоким местом, пропитанным расовой ненавистью и этнической нетерпимостью. Этнические меньшинства жили обособленно в своих районах, но вторжения на вражескую территорию были обычным делом и почти всегда заканчивались насилием. Это был тот тип города, жители которого были способны превратить в драку обычный футбольный матч. Непростая среда для мальчика полуиндуса, полуангличанина, да еще и с жестоким отцом.
Отец Anthrax’a, белый англичанин, происходил из семьи фермеров. Он был одним из пяти сыновей и учился в сельскохозяйственном колледже. Там он познакомился с сестрой одного из студентов-индусов на стипендии и женился на ней. Этот брак произвел почти сенсацию. Одна местная газета вышла подзаголовком: «Фермер женится на индийской девушке». Семейная жизнь была далеко не безоблачной, и Anthrax часто удивлялся, зачем его отец женился на индианке. Возможно, это был способ протеста против деспотичного отца. Возможно, он просто был влюблен. Или ему нужен был кто-то, над кем он мог бы властвовать. Какой бы ни была причина, дед Anthrax’a принял этот брак в штыки и смешанная семья вскоре была отлучена от больших семейных сборищ.
Когда они переехали в Австралию, у них практически не было денег. В конце концов отец Anthrax’a нашел место офицера в тюрьме Пентридж в Мельбурне, где ему приходилось оставаться почти всю неделю. Он получал небольшое жалование, но работа явно была ему по душе. Мать Anthrax’a начала работать медсестрой. Несмотря на финансовую стабильность, семья не была крепкой. Отец не выказывал никакого уважения ни к своей жене, ни к своим сыновьям, и Anthrax платил ему тем же.
Когда Anthrax был уже подростком, его отец стал совершенно невыносимым. По уик-эндам, когда он бывал дома, он повадился бить Anthrax’a, иногда швыряя сына на пол и пиная его ногами. Anthrax пытался ускользнуть от физической расправы, но у тощего подростка было мало шансов против здоровенного тюремного офицера. Anthrax и его брат были спокойными детьми. Это казалось путем наименьшего сопротивления грубому отцу в грубом городе. Кроме того, было довольно трудно возражать, учитывая сильное заикание, от которого страдали и Anthrax, и его младший брат в начале подросткового периода.
Однажды, когда Anthrax’y было пятнадцать, он пришел домой и застал там полный разгром. Он прошел в спальню родителей. Его мать была там, очень расстроенная и эмоционально опустошенная. Отца не было поблизости, но Anthrax обнаружил его на диване в гостиной у телевизора.
Anthrax переполняло отвращение, и он ушел на кухню. Вскоре там появился его отец, чтобы приготовить себе поесть.
Anthrax с ненавистью следил за ним. Когда отец выходил из кухни, Anthrax заметил, что на стойке лежит большой нож для мяса. Не успел Anthrax завладеть ножом, как в дверях показался врач из «скорой помощи». Anthrax положил нож и вышел.
Но с этого момента он перестал быть спокойным. Он начал огрызаться дома и в школе, и это стало началом действительно серьезных проблем. В начальных классах и до этого дня его время от времени били. Но с этим было покончено. Когда одноклассник Anthrax’a прижал его к стене в раздевалке и принялся трясти его и размахивать кулаками, Anthrax потерял контроль. На секунду он увидел в лице обидчика лицо своего отца и начал с таким бешенством сопротивляться, что поверг того в жалкое состояние.
Вскоре отец Anthrax’a понял, как можно доставать сына. Агрессор всегда наслаждается слабым сопротивлением жертвы. Это вносит в процесс приятное разнообразие. Anthrax огрызался, и его отец получал дополнительную причину для жестокости. Однажды он едва не сломал сыну шею. В другой раз это была рука. Он схватил Anthrax’a и заломил ему руку за спину. Послышался жуткий хруст, а затем наступила резкая боль. Anthrax кричал отцу, чтобы тот прекратил. Но отец только сильнее заламывал его руку, затем сжал его шею. Мать Anthrax’a в истерике умоляла мужа отпустить ее сына. Но он продолжал.
– Послушай, как ты вопишь, – презрительно ухмыльнулся он. – Ты отвратительное животное.
– Сам ты животное, – крикнул Anthrax, снова огрызаясь. Отец швырнул его на пол и принялся бить ногами по голове, по ребрам, везде.
Anthrax сбежал из дома. Он отправился на неделю в Мельбурн и спал где придется – на пустых по ночам строительных площадках, покинутых рабочими, которые в этот час спокойно спали в своих домах. Иногда он даже проникал в приемные покои больниц «скорой помощи». Если медсестра спрашивала, что он здесь делает, Anthrax вежливо отвечал: «Мне позвонили и назначили здесь встречу». Она кивала головой и уходила.
В конце концов, когда Anthrax вернулся домой, он начал заниматься боевыми искусствами, чтобы стать сильным. Он ждал.
Anthrax проник в шлюз. Шлюз объединяет две разные сети. Это, например, позволяет общаться двум сетям, которые используют разные языки. Шлюз может позволить войти в систему, базирующуюся на TCP/IP, такую, как Unix, из системы с языком DECNET. Anthrax переживал из-за того, что он никак не может пройти через шлюз System X и получить доступ к хостам на другой стороне.
Используя обычные адресные форматы для большинства сетей, он попытался приказать сети выполнить соединение. Х.25. TCP/IP. Что бы ни находилось по ту сторону шлюза, оно не отвечало. Anthrax искал повсюду, пока не нашел пример адреса во вспомогательном файле. Ни один из них не работал, но они дали ему ключ к возможному формату адресов.
Каждый адрес состоял из шести цифр. Первые три соответствовали телефонному коду Вашингтона, округ Колумбия. Anthrax взял один из кодов и попытался угадать три последние цифры.
Ручное сканирование, как обычно, утомляло, но если он будет методичным и упорным, что-нибудь получится. 111. 112. 113. 114. 115. И так далее. В конце концов он к чему-то подключился–в системе Sunos Unix – и получил полный IP-адрес на ее сообщении о входе. Все остальное было легко. С полным IP-адресом он мог подключиться к System X прямо через Интернет, – минуя шлюз, если захочет. Всегда полезно иметь несколько разных маршрутов, если тебе нужно запутать следы. И самое главное, он сможет проникнуть в System X не только через центральный вход.
Anthrax попробовал несколько обычных вариантов простейших логинов и паролей. Это не сработало. Система требовала более серьезной стратегии нападения.
Он уклонился от запроса логина, вышел из шлюза и отправился на другой сайт Интернета, чтобы посмотреть на System X с безопасного расстояния. Он «прощупал» этот сайт, по крупицам собирая информацию о System X, которую только можно было найти, сделав запрос в Интернете. Он искал лазейку методом тыка. И наконец, он ее нашел. Sendmail. [p162]
В версии System X у Sendmail была щель в системе безопасности, и Anthrax протащил через нее маленькую программу черного хода. Для этого он использовал функцию обработки почты System X и послал в нее «письмо», в котором находилась его скромная компьютерная программа. System X никогда бы не позволила запустить такую программу обычным путем, но она работала, как бомба, посланная по почте. Как только System X открыла письмо, программа выскочила из него и начала работать. Она сообщила системе, что к порту 2001 – интерактивной оболочке – может подключиться со своего компьютера кто угодно, даже не имея пароля.
Порт – это дверь во внешний мир. Компьютеры TCP/IP используют стандартный набор портов для определенных функций. Порт 25 для почты. Порт 79 для Finger. Порт 21 для FTP. Порт 23 для Telnet. Порт 513 для Rlogin. Порт 80 для WWW. В компьютерной системе TCP/IP 65535 портов, но большинство из них совсем не используется. На самом деле средняя система Unix использует только 35 из них, а остальные 65500 бездействуют. Anthrax просто взял один из этих спящих портов, смахнул с него паутину и подключил, использовав черный ход, созданный его крошечной почтовой программой.
Прямое подключение к порту могло повлечь за собой некоторые проблемы, потому что система могла не распознать некоторые команды с порта, например клавишу возврата. По этой причине Anthrax создал для себя учетную запись, которая позволяла ему осуществить вход на сайт и зарегистрироваться как обычному пользователю. Чтобы создать учетную запись и черный ход, ему нужны были более высокие привилегии.
Он начал искать уязвимые места в безопасности System X. Внешне она выглядела вполне надежно, но Anthrax решил использовать ошибку, которая уже успешно показала себя в других местах. Впервые он узнал об этой ошибке на международной телефонной конференции, где он обменивался информацией с другими хакерами и фрикерами. Брешью в системе безопасности была относительно незаметная программа загрузочного модуля системы. Программа добавляла системе новые функции, но гораздо важнее был тот факт, что после запуска она имела свободный доступ в систему. Это также означало, что другие программы, вызванные программой загрузочного модуля тоже получали привилегированный доступ. Если бы Anthrax’y удалось сделать так, чтобы эта программа запустила одну из его программ – маленький «троян», он получил бы привилегированный доступ в System X.
Ошибка загрузочного модуля ни в коей мере не была гарантией стопроцентного успеха в System X. Большинство коммерческих систем – например, компьютеры банков или кредитных агентств – очистили свои компьютеры Sunos от ошибки загрузочного модуля несколько месяцев назад. Но эта ошибка продолжала присутствовать в военных системах. Те были похожи на черепах – твердые снаружи, но мягкие и уязвимые внутри. Поскольку ошибка не могла быть использована, если хакера не было внутри системы, то чиновники, ответственные за безопасность военных компьютеров, не придавали ей особого значения. До System X Anthrax побывал во многих военных системах, и, по его опыту, больше 90 % компьютеров Sunos никогда не обращали внимания на ошибку.
Имея обычные привилегии, Anthrax не мог заставить программу загрузочного модуля запустить своего «трояна». Но он мог схитрить, чтобы сделать это. Секрет заключался только в одной клавише: /.
Компьютеры Unix в чем-то похожи на дипломатический протокол: небольшие вариации могут полностью изменить смысл. Хакеры тоже понимали значение мелких изменений.
Фраза /bin/program читалась в системе Unix совершенно отлично от фразы bin program.
Один простой символ – / – создавал огромную разницу. Компьютер Unix читал символ / как дорожный указатель. Первая фраза говорит компьютеру: «Следуй по дороге в дом пользователя по имени /bin/, и когда ты окажешься внутри, вызови файл под названием program и запусти его». Но пробелы говорили компьютеру нечто совершенно другое. Anthrax знал, что в этом случае компьютер должен был выполнить исходную программу. Вторая фраза говорила машине: «Найди программу под названием bin и запусти ее».
Anthrax подготовился к атаке на программу загрузочного модуля, установив свою собственную программу под названием bin во временной директории System X. Если ему удастся заставить System X запустить его программу с корневыми привилегиями, он получит высокий уровень доступа в систему. Когда все было готово, Anthrax заставил систему прочитать символ / как пробел. Затем он запустил программу загрузочного модуля и стал наблюдать. System X начала охоту за программой bin, быстро нашла ее и запустила «трояна» Anthrax’a.
Хакер наслаждался моментом, но останавливаться было рано. Несколькими быстрыми нажатиями клавиш он добавил строку к файлу пароля, создавая для себя базовую учетную запись. Он уничтожил соединение с портом 2001, двинулся кружным путем по другому маршруту, используя шлюз 0014, и зарегистрировался в System X с помощью вновь созданной учетной записи. Он испытал ни с чем не сравнимое чувство, войдя в систему через парадный вход.
Оказавшись внутри, Anthrax быстро осмотрелся. Система поразила его. В ней было только три пользователя-человека. Это было необычайно странно. Большинство систем имеют сотни пользователей. Даже маленькой системой может пользоваться 30–40 человек. А эта система была далеко не маленькой. Anthrax сделал вывод, что System X не была обычной машиной для отправки и получения электронной почты. Это была операционная машина. Она что-то делала.
Anthrax стал думать о том, как стереть свои отпечатки и обезопасить свою позицию. Хотя он едва ли обозначил свое присутствие, кто-нибудь мог обнаружить его появление, просто посмотрев на регистрационный список учетных записей в файле пароля. Anthrax дал своей контрабандной учетной записи незаметное имя, но он вполне допускал, что эти трое пользователей знали свою систему очень хорошо. Раз их было всего трое, возможно, с этой системой нужно было возиться, как с ребенком. После всех предпринятых усилий Anthrax нуждался в бдительной няньке, как в дырке в голове. Он поспешил укрыться в тени.
Он убрал себя из файлов WTMP и UTMP, где содержалась информация о том, кто был онлайн и кто до сих пор находится в системе. Anthrax не стал невидимкой, но админу пришлось бы внимательно изучить сетевые соединения системы и список процессов, чтобы обнаружить его. Следующая остановка – программа входа.
Anthrax не мог использовать слишком долго свою новую учетную запись для парадного входа – риск, что его обнаружат, был очень велик. Если он будет постоянно проникать в компьютер таким способом, админ в конце концов найдет его и уничтожит его учетную запись. Дополнительная учетная запись пользователя в системе, где их было всего трое, стала бы верным провалом. Потеря же доступа в System X, когда все стало таким интересным, вовсе не входила в планы Anthrax’a.
Anthrax откинулся на спинку стула и расправил плечи. Его хакерская комната представляла собой бывшую гардеробную, хотя ее прежний статус угадывался с трудом. Она выглядела, как чулан, – и в чулане царил страшный кавардак. Вся комнатка была по колено завалена исписанными бумагами, большинство из которых было покрыто с обеих сторон списками номеров. Время от времени Anthrax собирал бумаги и запихивал их в огромные мешки для мусора. В комнате всегда имелась пара-тройка таких мешков. Anthrax всегда имел смутное представление о том, куда он засунул те или иные записи. Когда он что-то искал, он вываливал содержимое мешка прямо на пол, рылся в этой куче и возвращался к компьютеру. Когда бумажный вал достигал критической массы, он снова запихивал все в мусорный мешок.
Компьютер Amiga 500 и старый телевизор Panasonic вместо монитора стояли на маленьком столе рядом со швейной машинкой матери. Ящики стола были битком набиты журналами вроде Computeи Australian Communicationвперемешку со справочниками по компьютерам Commodor, Amiga и системам Unix. Оставшееся место занимала старая стереосистема Anthrax’a и коротковолновое радио. Если Anthrax не слушал свою любимую передачу – программу для хакеров с какого-то подпольного радио в Эквадоре, – он настраивался на Московское радио или Всемирную службу ВВС.
Anthrax думал, что делать с System X. Эта система поразила его воображение, и он намеревался постоянно посещать ее.
Пора было заняться патчем [p163]для логина. Она заменяла обычную программу регистрации в системе и обладала специальной функцией – мастер-пароль. Такой пароль был подобен дипломатическому паспорту. Он позволил бы ему сделать все что угодно и попасть куда угодно. С мастер-паролем он мог зарегистрироваться как любой пользователь. Более того, если войти в систему через мастер-пароль, то ни один регистрационный файл не отражал твоего появления и ты не оставлял следов. Но вся прелесть патча заключалась в том, что во всем остальном она работала как обычная программа. Обычные компьютерные пользователи – все трое – могли, как обычно, регистрироваться своими паролями и даже не подозревать о том, что Anthrax бывает в их системах.
Он думал о том, как установить патч. Установить такую штуковину в System X – не то же самое, что заштопать пару джинсов. Он не мог просто прилепить полоску ткани и наспех пришить ее ниткой любого цвета. Это было похоже на починку кашемирового пальто. Ткань должна была идеально подходить по цвету и фактуре. Патч требовал высококачественных невидимых швов и точного соответствия размерам.
В каждом файле компьютерной системы существуют три разные даты: дата создания, дата изменения и дата последнего доступа. Проблема заключалась в том, что патч для логина должен был иметь ту же дату создания и изменения, что и оригинальная программа логина, чтобы не вызвать подозрений. Добыть эти данные было нетрудно, гораздо сложнее было перенести их в патч. Дата последнего доступа не имела значения, поскольку она менялась всякий раз при запуске программы – при подключения пользователя в System X.
Если бы Anthrax удалил ориганальную программу логина и поставил бы на ее место патч, на нем стоял бы штамп с новой датой создания. Он знал, что нет никакого способа изменить дату создания, кроме изменения времени всей системы, – а это могло вызвать проблемы в других областях System X.
Первое, что делает хороший админ при появлении подозрений насчет взлома, – старается обнаружить все файлы, созданные или измененные за последние несколько дней. Малейшее неверное движение, и хороший админ обнаружит патч Anthrax’a через пять минут.
Anthrax записал даты создания и изменения на клочок бумаги. Они скоро ему понадобятся. Он также сделал пометку о размере файла логина.
Вместо того чтобы разорвать старую программу и ввести на ее место совершенно новую, Anthrax решил наложить патч, скопировав его на место старой программы. Он загрузил свой патч логина вместе с находящимся в нем мастер-паролем в программу, но пока не установил ее. Он назвал свой патч troj (сокращение от «троян»). Он напечатал:
Anthrax начал пришивать последний уголок патча при помощи малоизвестной функции команды /usr/5bin/date. Затем он изменил дату изменения на оригинальную дату файла логина.
Он сделал несколько шагов назад, чтобы полюбоваться на свою работу с расстояния. Новенький патч идеально соответствовал оригиналу. Нужный размер. Та же дата создания. Та же дата изменения. Установив патч, он стер привилегированную учетную запись пользователя, которую создал при проходе через порт 2001. Когда уходишь, убирай за собой мусор.
Anthrax обожал телефоны и понимал власть телефонной системы. Многие фрикеры считали, что достаточно иметь возможность бесплатно звонить друзьям по всему свету. Или совершать хакерские набеги, не боясь, что тебя выследят. Но для Anthrax’a настоящая власть заключалась в контроле над голосовыми коммуникационными системами, которые делали возможными разговоры по телефону со всем миром. Он путешествовал по голосовым почтовым ящикам других людей, пытаясь представить, как они живут. Он хотел научиться подслушивать телефонные разговоры. Он хотел научиться перепрограммировать телефонные системы, даже разрушать их. Это была реальная власть, многие почувствуют ее на себе.
Желание власти зрело в Anthrax’e на протяжении всего отрочества. Он страстно хотел все знать, все видеть, играть с экзотическими системами других стран. Он стремился узнать назначение каждой системы, то, как она работает, как совмещается с другими системами. Понимание всего этого давало ему контроль.
Его одержимость телефонией и хакингом началась очень рано. Когда ему было около двенадцати, отец повел его на «Военные игры». Все, о чем думал Anthrax, выходя из кинотеатра, – как сильно он хочет стать хакером. Он уже получил свою порцию очарования компьютерами – родители подарили ему на день рождения простейшую машину Sinclair ZX81 с одним килобайтом памяти. Роясь на книжных развалах уличных ярмарок, он нашел несколько подержанных книг о хакерах. Он прочитал «За пределами внутреннего круга» Билла Лэндрета [p160]и «Хакеров» Стивена Леви. [p161]
К четырнадцати годам Anthrax присоединился к группе мельбурнских подростков под названием The Force. Ее члены обменивались играми для компьютеров Commodor 64 и Amiga. Еще они писали демки – короткие компьютерные программы – и с удовольствием взламывали защиту на копиях игр, а затем менялись ими с другими крэкерами по всему миру. Это было похоже на международный кружок по переписке. Anthrax’y нравилось бросать вызов, взламывая защиту программ, но немногие подростки из его городка разделяли это необычное хобби. Став членом The Force, он познакомился с огромным новым миром людей, думавших так же, как он.
Когда Anthrax впервые прочитал о фрикинге, он написал одному из своих американских знакомых по крэкингу и спросил у него, как начать. Тот прислал ему список номеров телефонных карт AT&T и бесплатный номер прямого набора, по которому австралийские операторы соединялись с американскими. Все карты были просрочены или аннулированы, но Anthrax’y было все равно. Его воображение поразила возможность бесплатно позвонить оператору, находящемуся по другую сторону Тихого океана. Anthrax попытался раздобыть побольше таких номеров.
Обычно он околачивался возле телефонной будки недалеко от дома. Это был неблагополучный район, где жили самые обездоленные горожане, но Anthrax, как правило, занимал телефонную будку по вечерам, не обращая внимания на окружающий его шум, и вручную искал бесплатные номера. Он набирал 0014 – начальные цифры международных бесплатных номеров, а затем несколько цифр наугад. Со временем он стал серьезнее и более ответственно подходить к решению задачи. Он выбирал ряд номеров, например от 300 до 400, и исследовал три последние цифры. Он набирал снова и снова, каждый раз повышая номер на один пункт. 301. 302. 303. 304. Как только он натыкался на рабочий телефонный номер, он записывал его. Он не истратил ни цента с тех пор, как получил в свое распоряжение все номера, начинавшиеся на 0014.
Anthrax нашел множество действующих номеров, но к некоторым из них были подключены модемы. Поэтому он решил, что настало время купить модем и продолжить дальнейшие исследования. Anthrax был слишком молод, чтобы работать легально, поэтому он соврал насчет своего возраста и нашел работу после уроков, занимаясь вводом данных для эскорт-агентства. В то же время он старался проводить каждую свободную минуту у телефона-автомата, продолжая искать и добавлять новые номера к своему растущему списку бесплатных модемных и операторских номеров.
Сканирование стало одержимостью. Иногда Anthrax стоял у телефона между десятью и одиннадцатью вечера. Иногда это случалось в три ночи. Телефон-автомат был дисковым, что только добавляло Anthrax’y трудностей, и он часто приходил домой с волдырями на кончиках пальцев.
Проработав около месяца, Anthrax смог скопить достаточно денег, чтобы купить себе модем.
Ручное сканирование утомляло, но не больше, чем школа. Anthrax регулярно посещал свою государственную школу, во всяком случае до десятого класса. В основном он делал это под влиянием матери. Она верила в образование и самосовершенствование и хотела дать своему сыну возможности, которых сама была лишена. Именно его мать – она работала медсестрой в психиатрической лечебнице – месяцами экономила и отказывала себе во всем, чтобы купить Anthrax’y его первый настоящий компьютер – Commodor 64 за $400. Именно она взяла ссуду, чтобы купить сыну более мощный Amiga в 1989 году. Она знала, что ее мальчик очень способный. Раньше он читал ее учебники по медицине, но за компьютерами было будущее.
Anthrax всегда хорошо учился, успевая с отличием с седьмого по десятый классы. За исключением математики. Хотя у него были несомненные способности. В шестом классе он получил награду за то, что разработал маятниковое устройство для вычисления высоты здания, используя начальные знания тригонометрии, которую он еще не изучал. Но все же Anthrax стал меньше посещать школу после десятого класса. Учителя продолжали говорить ему о том, что он уже знал, или то, что можно было гораздо быстрее узнать из книг. Если ему нравилась тема урока, он просто шел в библиотеку и читал об этом.
Примерно в это время атмосфера в семье становилась все сложнее. Семья Anthrax’a не переставала бороться с того самого момента, когда она перехала в Австралию из Англии, – ему в то время было двенадцать лет. Они боролись с бедностью, боролись с суровостью жизни в провинциальном городишке. Кроме того, Anthrax’y, его матери и младшему брату приходилось бороться с расизмом. Они были индийцами.
Этот городок был жестоким местом, пропитанным расовой ненавистью и этнической нетерпимостью. Этнические меньшинства жили обособленно в своих районах, но вторжения на вражескую территорию были обычным делом и почти всегда заканчивались насилием. Это был тот тип города, жители которого были способны превратить в драку обычный футбольный матч. Непростая среда для мальчика полуиндуса, полуангличанина, да еще и с жестоким отцом.
Отец Anthrax’a, белый англичанин, происходил из семьи фермеров. Он был одним из пяти сыновей и учился в сельскохозяйственном колледже. Там он познакомился с сестрой одного из студентов-индусов на стипендии и женился на ней. Этот брак произвел почти сенсацию. Одна местная газета вышла подзаголовком: «Фермер женится на индийской девушке». Семейная жизнь была далеко не безоблачной, и Anthrax часто удивлялся, зачем его отец женился на индианке. Возможно, это был способ протеста против деспотичного отца. Возможно, он просто был влюблен. Или ему нужен был кто-то, над кем он мог бы властвовать. Какой бы ни была причина, дед Anthrax’a принял этот брак в штыки и смешанная семья вскоре была отлучена от больших семейных сборищ.
Когда они переехали в Австралию, у них практически не было денег. В конце концов отец Anthrax’a нашел место офицера в тюрьме Пентридж в Мельбурне, где ему приходилось оставаться почти всю неделю. Он получал небольшое жалование, но работа явно была ему по душе. Мать Anthrax’a начала работать медсестрой. Несмотря на финансовую стабильность, семья не была крепкой. Отец не выказывал никакого уважения ни к своей жене, ни к своим сыновьям, и Anthrax платил ему тем же.
Когда Anthrax был уже подростком, его отец стал совершенно невыносимым. По уик-эндам, когда он бывал дома, он повадился бить Anthrax’a, иногда швыряя сына на пол и пиная его ногами. Anthrax пытался ускользнуть от физической расправы, но у тощего подростка было мало шансов против здоровенного тюремного офицера. Anthrax и его брат были спокойными детьми. Это казалось путем наименьшего сопротивления грубому отцу в грубом городе. Кроме того, было довольно трудно возражать, учитывая сильное заикание, от которого страдали и Anthrax, и его младший брат в начале подросткового периода.
Однажды, когда Anthrax’y было пятнадцать, он пришел домой и застал там полный разгром. Он прошел в спальню родителей. Его мать была там, очень расстроенная и эмоционально опустошенная. Отца не было поблизости, но Anthrax обнаружил его на диване в гостиной у телевизора.
Anthrax переполняло отвращение, и он ушел на кухню. Вскоре там появился его отец, чтобы приготовить себе поесть.
Anthrax с ненавистью следил за ним. Когда отец выходил из кухни, Anthrax заметил, что на стойке лежит большой нож для мяса. Не успел Anthrax завладеть ножом, как в дверях показался врач из «скорой помощи». Anthrax положил нож и вышел.
Но с этого момента он перестал быть спокойным. Он начал огрызаться дома и в школе, и это стало началом действительно серьезных проблем. В начальных классах и до этого дня его время от времени били. Но с этим было покончено. Когда одноклассник Anthrax’a прижал его к стене в раздевалке и принялся трясти его и размахивать кулаками, Anthrax потерял контроль. На секунду он увидел в лице обидчика лицо своего отца и начал с таким бешенством сопротивляться, что поверг того в жалкое состояние.
Вскоре отец Anthrax’a понял, как можно доставать сына. Агрессор всегда наслаждается слабым сопротивлением жертвы. Это вносит в процесс приятное разнообразие. Anthrax огрызался, и его отец получал дополнительную причину для жестокости. Однажды он едва не сломал сыну шею. В другой раз это была рука. Он схватил Anthrax’a и заломил ему руку за спину. Послышался жуткий хруст, а затем наступила резкая боль. Anthrax кричал отцу, чтобы тот прекратил. Но отец только сильнее заламывал его руку, затем сжал его шею. Мать Anthrax’a в истерике умоляла мужа отпустить ее сына. Но он продолжал.
– Послушай, как ты вопишь, – презрительно ухмыльнулся он. – Ты отвратительное животное.
– Сам ты животное, – крикнул Anthrax, снова огрызаясь. Отец швырнул его на пол и принялся бить ногами по голове, по ребрам, везде.
Anthrax сбежал из дома. Он отправился на неделю в Мельбурн и спал где придется – на пустых по ночам строительных площадках, покинутых рабочими, которые в этот час спокойно спали в своих домах. Иногда он даже проникал в приемные покои больниц «скорой помощи». Если медсестра спрашивала, что он здесь делает, Anthrax вежливо отвечал: «Мне позвонили и назначили здесь встречу». Она кивала головой и уходила.
В конце концов, когда Anthrax вернулся домой, он начал заниматься боевыми искусствами, чтобы стать сильным. Он ждал.
:)
Anthrax шнырял вокруг шлюза MILNET, когда наткнулся на дверь в System X. [48]Он уже несколько месяцев пытался найти эту систему, потому что однажды перехватил сообщение по электронной почте, которое вызвало его любопытство.Anthrax проник в шлюз. Шлюз объединяет две разные сети. Это, например, позволяет общаться двум сетям, которые используют разные языки. Шлюз может позволить войти в систему, базирующуюся на TCP/IP, такую, как Unix, из системы с языком DECNET. Anthrax переживал из-за того, что он никак не может пройти через шлюз System X и получить доступ к хостам на другой стороне.
Используя обычные адресные форматы для большинства сетей, он попытался приказать сети выполнить соединение. Х.25. TCP/IP. Что бы ни находилось по ту сторону шлюза, оно не отвечало. Anthrax искал повсюду, пока не нашел пример адреса во вспомогательном файле. Ни один из них не работал, но они дали ему ключ к возможному формату адресов.
Каждый адрес состоял из шести цифр. Первые три соответствовали телефонному коду Вашингтона, округ Колумбия. Anthrax взял один из кодов и попытался угадать три последние цифры.
Ручное сканирование, как обычно, утомляло, но если он будет методичным и упорным, что-нибудь получится. 111. 112. 113. 114. 115. И так далее. В конце концов он к чему-то подключился–в системе Sunos Unix – и получил полный IP-адрес на ее сообщении о входе. Все остальное было легко. С полным IP-адресом он мог подключиться к System X прямо через Интернет, – минуя шлюз, если захочет. Всегда полезно иметь несколько разных маршрутов, если тебе нужно запутать следы. И самое главное, он сможет проникнуть в System X не только через центральный вход.
Anthrax попробовал несколько обычных вариантов простейших логинов и паролей. Это не сработало. Система требовала более серьезной стратегии нападения.
Он уклонился от запроса логина, вышел из шлюза и отправился на другой сайт Интернета, чтобы посмотреть на System X с безопасного расстояния. Он «прощупал» этот сайт, по крупицам собирая информацию о System X, которую только можно было найти, сделав запрос в Интернете. Он искал лазейку методом тыка. И наконец, он ее нашел. Sendmail. [p162]
В версии System X у Sendmail была щель в системе безопасности, и Anthrax протащил через нее маленькую программу черного хода. Для этого он использовал функцию обработки почты System X и послал в нее «письмо», в котором находилась его скромная компьютерная программа. System X никогда бы не позволила запустить такую программу обычным путем, но она работала, как бомба, посланная по почте. Как только System X открыла письмо, программа выскочила из него и начала работать. Она сообщила системе, что к порту 2001 – интерактивной оболочке – может подключиться со своего компьютера кто угодно, даже не имея пароля.
Порт – это дверь во внешний мир. Компьютеры TCP/IP используют стандартный набор портов для определенных функций. Порт 25 для почты. Порт 79 для Finger. Порт 21 для FTP. Порт 23 для Telnet. Порт 513 для Rlogin. Порт 80 для WWW. В компьютерной системе TCP/IP 65535 портов, но большинство из них совсем не используется. На самом деле средняя система Unix использует только 35 из них, а остальные 65500 бездействуют. Anthrax просто взял один из этих спящих портов, смахнул с него паутину и подключил, использовав черный ход, созданный его крошечной почтовой программой.
Прямое подключение к порту могло повлечь за собой некоторые проблемы, потому что система могла не распознать некоторые команды с порта, например клавишу возврата. По этой причине Anthrax создал для себя учетную запись, которая позволяла ему осуществить вход на сайт и зарегистрироваться как обычному пользователю. Чтобы создать учетную запись и черный ход, ему нужны были более высокие привилегии.
Он начал искать уязвимые места в безопасности System X. Внешне она выглядела вполне надежно, но Anthrax решил использовать ошибку, которая уже успешно показала себя в других местах. Впервые он узнал об этой ошибке на международной телефонной конференции, где он обменивался информацией с другими хакерами и фрикерами. Брешью в системе безопасности была относительно незаметная программа загрузочного модуля системы. Программа добавляла системе новые функции, но гораздо важнее был тот факт, что после запуска она имела свободный доступ в систему. Это также означало, что другие программы, вызванные программой загрузочного модуля тоже получали привилегированный доступ. Если бы Anthrax’y удалось сделать так, чтобы эта программа запустила одну из его программ – маленький «троян», он получил бы привилегированный доступ в System X.
Ошибка загрузочного модуля ни в коей мере не была гарантией стопроцентного успеха в System X. Большинство коммерческих систем – например, компьютеры банков или кредитных агентств – очистили свои компьютеры Sunos от ошибки загрузочного модуля несколько месяцев назад. Но эта ошибка продолжала присутствовать в военных системах. Те были похожи на черепах – твердые снаружи, но мягкие и уязвимые внутри. Поскольку ошибка не могла быть использована, если хакера не было внутри системы, то чиновники, ответственные за безопасность военных компьютеров, не придавали ей особого значения. До System X Anthrax побывал во многих военных системах, и, по его опыту, больше 90 % компьютеров Sunos никогда не обращали внимания на ошибку.
Имея обычные привилегии, Anthrax не мог заставить программу загрузочного модуля запустить своего «трояна». Но он мог схитрить, чтобы сделать это. Секрет заключался только в одной клавише: /.
Компьютеры Unix в чем-то похожи на дипломатический протокол: небольшие вариации могут полностью изменить смысл. Хакеры тоже понимали значение мелких изменений.
Фраза /bin/program читалась в системе Unix совершенно отлично от фразы bin program.
Один простой символ – / – создавал огромную разницу. Компьютер Unix читал символ / как дорожный указатель. Первая фраза говорит компьютеру: «Следуй по дороге в дом пользователя по имени /bin/, и когда ты окажешься внутри, вызови файл под названием program и запусти его». Но пробелы говорили компьютеру нечто совершенно другое. Anthrax знал, что в этом случае компьютер должен был выполнить исходную программу. Вторая фраза говорила машине: «Найди программу под названием bin и запусти ее».
Anthrax подготовился к атаке на программу загрузочного модуля, установив свою собственную программу под названием bin во временной директории System X. Если ему удастся заставить System X запустить его программу с корневыми привилегиями, он получит высокий уровень доступа в систему. Когда все было готово, Anthrax заставил систему прочитать символ / как пробел. Затем он запустил программу загрузочного модуля и стал наблюдать. System X начала охоту за программой bin, быстро нашла ее и запустила «трояна» Anthrax’a.
Хакер наслаждался моментом, но останавливаться было рано. Несколькими быстрыми нажатиями клавиш он добавил строку к файлу пароля, создавая для себя базовую учетную запись. Он уничтожил соединение с портом 2001, двинулся кружным путем по другому маршруту, используя шлюз 0014, и зарегистрировался в System X с помощью вновь созданной учетной записи. Он испытал ни с чем не сравнимое чувство, войдя в систему через парадный вход.
Оказавшись внутри, Anthrax быстро осмотрелся. Система поразила его. В ней было только три пользователя-человека. Это было необычайно странно. Большинство систем имеют сотни пользователей. Даже маленькой системой может пользоваться 30–40 человек. А эта система была далеко не маленькой. Anthrax сделал вывод, что System X не была обычной машиной для отправки и получения электронной почты. Это была операционная машина. Она что-то делала.
Anthrax стал думать о том, как стереть свои отпечатки и обезопасить свою позицию. Хотя он едва ли обозначил свое присутствие, кто-нибудь мог обнаружить его появление, просто посмотрев на регистрационный список учетных записей в файле пароля. Anthrax дал своей контрабандной учетной записи незаметное имя, но он вполне допускал, что эти трое пользователей знали свою систему очень хорошо. Раз их было всего трое, возможно, с этой системой нужно было возиться, как с ребенком. После всех предпринятых усилий Anthrax нуждался в бдительной няньке, как в дырке в голове. Он поспешил укрыться в тени.
Он убрал себя из файлов WTMP и UTMP, где содержалась информация о том, кто был онлайн и кто до сих пор находится в системе. Anthrax не стал невидимкой, но админу пришлось бы внимательно изучить сетевые соединения системы и список процессов, чтобы обнаружить его. Следующая остановка – программа входа.
Anthrax не мог использовать слишком долго свою новую учетную запись для парадного входа – риск, что его обнаружат, был очень велик. Если он будет постоянно проникать в компьютер таким способом, админ в конце концов найдет его и уничтожит его учетную запись. Дополнительная учетная запись пользователя в системе, где их было всего трое, стала бы верным провалом. Потеря же доступа в System X, когда все стало таким интересным, вовсе не входила в планы Anthrax’a.
Anthrax откинулся на спинку стула и расправил плечи. Его хакерская комната представляла собой бывшую гардеробную, хотя ее прежний статус угадывался с трудом. Она выглядела, как чулан, – и в чулане царил страшный кавардак. Вся комнатка была по колено завалена исписанными бумагами, большинство из которых было покрыто с обеих сторон списками номеров. Время от времени Anthrax собирал бумаги и запихивал их в огромные мешки для мусора. В комнате всегда имелась пара-тройка таких мешков. Anthrax всегда имел смутное представление о том, куда он засунул те или иные записи. Когда он что-то искал, он вываливал содержимое мешка прямо на пол, рылся в этой куче и возвращался к компьютеру. Когда бумажный вал достигал критической массы, он снова запихивал все в мусорный мешок.
Компьютер Amiga 500 и старый телевизор Panasonic вместо монитора стояли на маленьком столе рядом со швейной машинкой матери. Ящики стола были битком набиты журналами вроде Computeи Australian Communicationвперемешку со справочниками по компьютерам Commodor, Amiga и системам Unix. Оставшееся место занимала старая стереосистема Anthrax’a и коротковолновое радио. Если Anthrax не слушал свою любимую передачу – программу для хакеров с какого-то подпольного радио в Эквадоре, – он настраивался на Московское радио или Всемирную службу ВВС.
Anthrax думал, что делать с System X. Эта система поразила его воображение, и он намеревался постоянно посещать ее.
Пора было заняться патчем [p163]для логина. Она заменяла обычную программу регистрации в системе и обладала специальной функцией – мастер-пароль. Такой пароль был подобен дипломатическому паспорту. Он позволил бы ему сделать все что угодно и попасть куда угодно. С мастер-паролем он мог зарегистрироваться как любой пользователь. Более того, если войти в систему через мастер-пароль, то ни один регистрационный файл не отражал твоего появления и ты не оставлял следов. Но вся прелесть патча заключалась в том, что во всем остальном она работала как обычная программа. Обычные компьютерные пользователи – все трое – могли, как обычно, регистрироваться своими паролями и даже не подозревать о том, что Anthrax бывает в их системах.
Он думал о том, как установить патч. Установить такую штуковину в System X – не то же самое, что заштопать пару джинсов. Он не мог просто прилепить полоску ткани и наспех пришить ее ниткой любого цвета. Это было похоже на починку кашемирового пальто. Ткань должна была идеально подходить по цвету и фактуре. Патч требовал высококачественных невидимых швов и точного соответствия размерам.
В каждом файле компьютерной системы существуют три разные даты: дата создания, дата изменения и дата последнего доступа. Проблема заключалась в том, что патч для логина должен был иметь ту же дату создания и изменения, что и оригинальная программа логина, чтобы не вызвать подозрений. Добыть эти данные было нетрудно, гораздо сложнее было перенести их в патч. Дата последнего доступа не имела значения, поскольку она менялась всякий раз при запуске программы – при подключения пользователя в System X.
Если бы Anthrax удалил ориганальную программу логина и поставил бы на ее место патч, на нем стоял бы штамп с новой датой создания. Он знал, что нет никакого способа изменить дату создания, кроме изменения времени всей системы, – а это могло вызвать проблемы в других областях System X.
Первое, что делает хороший админ при появлении подозрений насчет взлома, – старается обнаружить все файлы, созданные или измененные за последние несколько дней. Малейшее неверное движение, и хороший админ обнаружит патч Anthrax’a через пять минут.
Anthrax записал даты создания и изменения на клочок бумаги. Они скоро ему понадобятся. Он также сделал пометку о размере файла логина.
Вместо того чтобы разорвать старую программу и ввести на ее место совершенно новую, Anthrax решил наложить патч, скопировав его на место старой программы. Он загрузил свой патч логина вместе с находящимся в нем мастер-паролем в программу, но пока не установил ее. Он назвал свой патч troj (сокращение от «троян»). Он напечатал:
cat<troj>/bin/loginКоманда cat сказала компьютеру: «Сходи за данными файла troj и помести их в файл /bin/login». Он сверился с записанными на бумаге оригинальными данными создания и изменения файла и сравнил их с датами патча. Дата создания и размер совпадали с оригиналом. Дата изменения все еще отличалась, но Anthrax прошел только две трети пути.
Anthrax начал пришивать последний уголок патча при помощи малоизвестной функции команды /usr/5bin/date. Затем он изменил дату изменения на оригинальную дату файла логина.
Он сделал несколько шагов назад, чтобы полюбоваться на свою работу с расстояния. Новенький патч идеально соответствовал оригиналу. Нужный размер. Та же дата создания. Та же дата изменения. Установив патч, он стер привилегированную учетную запись пользователя, которую создал при проходе через порт 2001. Когда уходишь, убирай за собой мусор.