Глава 1. Основы
Существует два способа написать книгу о компьютерных взломах.
Можно написать энциклопедию всех известных систем, их номеров доступа, паролей, лазеек и способов повышения уровня доступа. Это неплохой способ, если забыть о том, что ко времени выхода такого издания большая часть ее содержания станет устаревшей. И уж, конечно, напечатанные в книге пароли можно будет считать недействительными. Такой подход лучше оставить для периодики, некоторые печатные и электронные издания пытаются этим заниматься.
Второй путь — написать книгу, которая являлась бы энциклопедией методов взлома систем. Это решит проблему распространения постоянно меняющейся информации, читатели же смогут следовать описанным в ней алгоритмам, добавляя немного собственного воображения и не боясь оказаться в какой-либо совершенно новой, не указанной в книге ситуации. Именно таким способом и написана эта книга.
Я старался построить данную книгу в логичной последовательности и сделать ее понятной, но порой мне приходилось нарушать плавное течение повествования, возвращаясь к уже сказанному в предыдущих разделах.
Если вам встретится незнакомый термин или ситуация — забудьте об этом. Скоро вы обретете опыт. Можете заглянуть в глоссарий, возможно, там содержится ответ на ваш вопрос.
ЗАМЕЧАНИЯ
В данной книге описаны различные методы взлома компьютерных систем.
Легко сказать — взлома. В наши дни люди больше обеспокоены проблемой компьютерной безопасности, чем раньше. Но, несмотря на это, в защитной броне любой системы существует немало прорех. Системные администраторы могут бесконечно усиливать зашиту, но способ обойти ее все равно найдется. Запомните первое правило хакерства: то, до чего додумался один человек, додумается и другой, что один скрыл — другой раскроет. Люди в большинстве своем мыслят и действуют одинаково, и хакеры должны использовать это единомыслие.
Что же такое хакер? (Если вы не согласитесь с данным определением, можете закрыть эту книгу.)
Хакер — это человек, который чем-то увлечен, будь то компьютеры, написание книг, природа или спорт. Это человек, который, благодаря этой своей увлеченности, испытывает любопытство ко всему, связанному с его увлечением. Если хакер любит компьютеры, то будет стараться узнать как можно больше о компьютерах, а также о том, как ими пользуются другие люди. Хакеры уважают предмет своего увлечения. Для компьютерного хакера это означает уважение к компьютерам, которые предоставляют людям возможность входить в контакт друг с другом и получать информацию со всего мира, а это в свою очередь означает, что он уважает других людей и не допустит умышленного использования своих знаний о компьютерах в целях развлекательных или разрушительных. Серьезный компьютерный взломщик просто хочет знать обо всем, что делается в мире, особенно в мире компьютеров. Настоящий Компьютерный Взломщик — это компьютерный энтузиаст, и, что более важно, вселенский энтузиаст. Я надеюсь, что вы будете энтузиастами.
Итак, вы готовы познавать?
ОБОРУДОВАНИЕ
Для того, чтобы стать удачливым компьютерным взломщиком, вам потребуется один прибор — ваши мозги. Вам не нужен даже компьютер. Более того, иногда бывает лучше вообще не иметь компьютера, как вы увидите в дальнейшем. Впрочем, для начала вам все же потребуется компьютер, модем и телефонная линия для связи с внешним миром.
Компьютер может быть каким угодно. Гораздо важнее, какой у вас модем и коммуникационное программное обеспечение.
Хакерство — хобби, не требующее большого количества снаряжения; но если вам приходится что-то покупать, покупайте самое лучшее из того, что вы сможете себе позволить. Это не означает, что вы должны приобретать то, что вам предлагают продавцы или специальные журналы. Выбирайте то, что вам больше всего подойдет. Уверен, вы захотите, чтобы ваш модем был быстрым. Когда я приобрел свой первый модем, то считал 140-бодный модем просто копушей. Теперь я смотрю на 300-бодный и не понимаю, как я мог управляться с этой каракатицей.
Какой бы скоростью ни обладал ваш модем, он всегда будет работать несколько медленнее, чем вы ожидали. Из-за помех на линии модем бывает вынужден перепосылать данные снова и снова, пока не передаст или не примет их в неискаженном варианте. Модемы могут работать вполовину указанной скорости, и, если у них плохое настроение, и того медленнее. При передаче на дальние расстояния или если удаленные компьютеры слишком загружены, или при доступе к одному компьютеру через несколько других — чтобы вас труднее было выследить — скорость снижается еще больше.
Итак, если вы хотите получать удовольствие от своих занятий — покупайте высокоскоростной модем.
КОММУНИКАЦИОННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ
Бывает трудно найти действительно подходящую коммуникационную программу, но именно от нее, в совокупности с подходящим модемом, и зависит, принесет ли вам радость ваша работа в режиме он-лайн или только разочарует вас.
Существует много видов терминальных программ. Если какой-то пакет приложен к вашему модему, это еще не значит, что он вас устроит. Хорошая программа должна обладать нижеперечисленными свойствами и все они для хакера необходимы или хотя бы желательны.
Программа должна эммулировать достаточно большое количество разных терминалов, таких, например, как ANSI, VT52, VT100 и т. д. Неплохо, если программа располагает адресной таблицей — возможностью переводить входящие и выходящие символы в другие символы. Программа должна быть в состоянии посылать и принимать файлы, используя Xmodem, Ymodem, Zmodem и Kermit протоколы. Удостоверьтесь, что ваша терминальная программа располагает, по меньшей мере, этими четырьмя протоколами. Программа должна позволять управлять модемом используя «АТ»-команды. Вам также понадобится возможность обращаться к вашей операционной системе во время поддержания связи, т. к. иногда в процессе работы онлайн бывает нужно запустить другую программу. Программа должна включать в себя телефонную книжку, позволяющую хранить множество номеров, имен и комментариев. У вас должна быть возможность хранить более чем десятизначные телефонные номера, а также программа должна обеспечивать возможность написания сценариев соединения. Полезно также иметь автонабор, который сможет периодически перенабирать занятые телефонные номера. Наконец, программа должна быть простой и приятной в обращении. Если вы не можете найти одну программу, отвечающую всем вашим требованиям, имейте под рукой несколько, для выполнения различных функций. Я рекомендую коммуникационную программу PC Tools Desktop. Она не обладает многими из вышеперечисленных свойств, но весьма удобна в обращении. ProComm Plus для IBM и Macintosh, коммуникационная программа Lotus 1-2-3 — огромный пакет, обладающий всеми мыслимыми свойствами. Хорошая общедоступная программа для IBM — Qmodem. И последнее, что необходимо хакеру. Ваша терминальная программа должна обладать возможностью сбора данных. Это значит, что, когда информация проходит через ваш модем и появляется на экране, вы можете сбросить ее в файл на диске.
Функция сбора данных должна быть включена всегда, когда вы используете свой модем. Когда я вхожу в какую-либо систему, мне нравится иссследовать все имеющиеся там текстовые файлы, но, разумеется, я не читаю их в режиме онлайн. Вместо этого я включаю сбор данных, сохраняю все эти сотни страниц текста в отдельных файлах, а затем, отключившись от линии, сортирую собранные данные. Иногда бывает проше забрать эти файлы без просмотра.
Сбор данных удобен также для записи текста, который пробегает по экрану так быстро, что вы не успеваете его прочесть. А иногда текст вообще немедленно стирается сразу же после ввода. К тому же приятно иметь документированное свидетельство своей хакерской деятельности, которое можно использовать для справок и исследований.
ПРОШЛОЕ И БУДУЩЕЕ
Читая издания о хакерстве, вы еще многое узнаете об оборудовании, программном и аппаратном обеспечении и о том, что необходимо хакерам, специализирующимся в конкретных областях. Но пока вам необходимо понять…
Читая литературу по защите данных, можно всерьез обеспокоиться. Прошли времена ошибок и лазеек в системах и времена наивных пользователей. Прошли, казалось бы, времена благоговейного страха перед хакером-одиночкой, среди ночи проникающим в секретные правительственные базы данных, и времена самих хакеров-одиночек.
Так кажется.
Но это не так! Всего несколько лет назад Роберту Моррису-младшему удалось проникнуть в систему, используя ошибки, которые никто не потрудился заметить и исправить. Кто знает, сколько еще таких ошибок ждет своего часа? Не забывайте и о глупости: существуют демонстрационные режимы, меры по безопасности, которые никто не уничтожил и не изменил.
В июле 1987 года группа членов клуба Chaos Computer Club взломала компьютерную сеть системы NASA SPAN. Эти хакеры использовали изьян в инфраструктуре VMS, по заявлению DEC Corporation, реконструированной тремя месяцами раньше. А это свыше ста VAX компьютеров с неисправной операционной системой. Члены клуба посмеивались, что для «зашиты» этой системы часто использовались примитивные пароли, подчас взятые прямо из руководства пользователя. С одной стороны мы видим суперсекретные компьютеры, опекаемые NASA, а с другой — 4000 пользователей этих компьютеров. Понятно, что 4000 человек не сохранят секрета.
Глава 2. Исследования перед взломом
Любой серьезный взлом требует некоторых подготовительных исследований, которые должен произвести хакер перед тем, как усесться за компьютер. Грамотному «взломщику» необходимо владеть определенным объемом информации.
Чтобы заняться хакерством, вам, естественно, следует обладать кое-какими сведениями о компьютерах и телекоммуникациях (на уровне идей), но для реального взлома нужен, в первую очередь, телефонный номер, или какой-либо другой путь получения доступа к «вражескому» компьютеру. И в том, и в другом случае понадобится предварительное исследование. При первом обращении к компьютеру вам также придется исследовать возможные способы взлома и выбрать подходящий. И, наконец, вы будете производить исследования уже после того, как получите доступ к вожделенной системе, дабы извлечь как можно больше пользы из открывшихся перед вами возможностей. Последние рассматриваются в разделе под названием «Что делать, когда вы оказались внутри». А сейчас давайте обсудим, что же следует сделать, прежде чем начать военные действия.
ВЫБОР цели
Под «прицеливанием» я подразумеваю процесс, в ходе которого хакер решает, что именно из существующего программного обеспечения стоит попытаться «ломануть». Эта тема по многим причинам может показаться тривиальной, но, тем не менее, она заслуживает обсуждения.
Предположим, что вы новичок в этом деле. Допустим, вы получили — путем каких-то собственных исследований, или же по воле случая — некую информацию, которая, как вам кажется, может помочь проникнуть в определенную систему. Например, через нелегальные компьютерные каналы вы раздобыли телефонный номер большой правительственной базы данных со сведениями о шпионаже. Само собой, может показаться разумным просто набрать этот номер, чтобы убедиться, верны ли ваши сведения. С другой стороны, лучше сначала исследовать «дичь» и проверить, стоит ли она затраченного времени и денег за телефонный счет, а также оправдывает ли она связанный с взломом риск. Поишите данный номер в перекрестном телефонном каталоге данного региона. Такие каталоги можно найти во многих библиотеках. Это книги, как правило, выпушенные без лицензии телефонной компании, содержат список имен и адресов с номерами телефонов. В отличие от обычных телефонных книг, в перекрестных каталогах имя отыскивается по номеру, а не наоборот. Если вам не удастся найти такой каталог, позвоните оператору АТС и ангельским голосом осведомитесь, кому принадлежит данный номер. Естественно, что предпочтительнее самому просмотреть каталог, не выходя на контакт с сотрудниками телефонной компании (лишние свидетели). Если номер общедоступен, то это, скорее всего, вообще не компьютерная линия, и его можно оставить в покое. Вам может показаться бессмысленным тратить время на поиск номера, вместо того чтобы просто его набрать, но не забывайте: прежде чем трогать «дичь», следует накопить как можно больше информации о ней. Если номер действительно принадлежит сверхсекретной базе данных, будьте готовы к тому, что ваш звонок могут отследить; во всяком случае, он вызовет подозрение.
Новички обычно жаждут совершить свой первый большой взлом, и по горячности совершают опрометчивые поступки. Возможно, у вас еще не было опыта по изменению данных телефонной компании, или звонков с автомата, или каких-то иных способов замаскировать свой вызов. Новичок, набирающий секретный номер после предварительных исследований, вероятно, тоже глупо рискует, но он все же продвинулся на несколько ступеней выше по профессиональной хакерской лестнице, чем салага, который звонит вообще без всякой подготовки — это непростительная глупость.
Итак, когда цель избрана, вам не обязательно приступать немедля к вашему первому большому начинанию. Может оказаться более предпочтительным выждать, пока у вас не наберется достаточно опыта, чтобы выполнить все как надо. Если вам стало кое-что известно о «дичи», и больше это неведомо никому, лучше всего помалкивать, пока вы не произвели взлом. Если вы станете действовать, руководствуясь своими знаниями, и попытка провалится, шансы на повторную попытку будут близки к нулю, поскольку администраторы системы тоже не будут сидеть сложа руки. Запомните следующее: выше головы не прыгнешь. Прежде чем нырять с аквалангом за покоящимся на дне сокровищем, научитесь сначала держаться на воде, иначе утонете и это будет скучно и бездарно, как сказал один человек.
«Прицеливание» включает в себя также исследования другого рода. Что, если у вас в руках действительно оказался некий заманчивый секрет, позволяющий куда-то проникнуть? Вероятно, сперва следует подумать о наилучшем способе проникновения в эту систему. Например, если искомая система входит в Интернет, вам придется измыслить способ войти в сеть под чужим именем. Но имейте в виду, что на вашу «дичь» может положить глаз и другой охотник. Так что возможности вести подготовку годами у вас нет. Что же, хакерство — это такая штука, где побеждает наиболее энергичный.
Сбор Информации
Прежде чем приступить к своим исследованиям, вам следует выяснить, какого рода информацию вы стремитесь получить. Существует три темы, о которых должен иметь представление хакер: телекоммуникации вообще, системы вообще и конкретные системы в частности. Вам следует обладать определенным уровнем знаний о компьютерах, модемах, телефонных сетях и о человеческой натуре. Я весьма надеюсь, что эта книга ознакомит вас с подобной полезной информацией. Если нет — а я с готовностью признаю, что данная книга не является чем-то вроде Вселенской Библии — отправляйтесь на поиски специальных библиотек и ищите там то, что вас интересует. Возможно, вам и не требуется никаких особенных знаний. Но вам наверняка захочется ознакомиться с последними достижениями технологии, равно как и с теми организациями, чьи компьютеры вы собираетесь «взламывать». Даже если вы считаете, что знаете все, что только можно знать, совсем не помешает убедиться: в самом ли деле вы являетесь знатоком своего дела — особенно, если речь идет о таких стремительно меняющихся вещах, как аппаратное обеспечение, программное обеспечение и телекоммуникации.
Ступайте в близлежащую библиотеку. Найдите полки с книгами по компьютерам, полки с книгами по уголовному праву и полки с книгами по управлению бизнесом. Там вы обнаружите «легальные» книги о хакерстве и компьютерных преступлениях. Изредка следует просматривать также книги по телекоммуникациям. Если вы хотите получить понятие о различных ситуациях, в которые вы можете попасть, значит, вам понадобятся книги об информационных службах, интерактивных базах данных, компьютерных преступлениях, операционных системах, BBS и обо всем, что имеет отношение к действиям, производимым с компьютером и модемом. Поищите в каталоге карточки со словами «телекоммуникации», «зашита», «компьютеры», «хакерство», «телефонные системы», «модемы», и т. п. Не забудьте и о справочниках — там содержится много полезных материалов. Хакер-ству лучше всего обучаться в деле, но в технической литературе тоже можно найти немало хороших приемов и хитростей. Кстати, вы знаете, кто публикует больше всех в мире книг? Правительство Соединенных Штатов. Если ваша библиотека является государственной, прочтите все правительственные публикации на интересующую вас тему. Из них вы сможете почерпнуть немало полезной информации.
Я вовсе не хочу сказать, что вам следует прочесть каждую книгу в библиотеке, и уж конечно, не имею в виду, что все это надо прочесть до того, как вы начнете ваши первые хакерские опыты. Я просто довожу до вашего сведения следующее: зачастую люди не представляют себе, сколь богатую информацию можно почерпнуть из вполне доступных источников, не прибегая ни к каким взломам. К тому же, читая книги, вы узнаете о том, как выглядят компьютерные системы изнутри. Вы ознакомитесь с различными необходимыми командами, форматами имен и паролей, которые используются в различных системах. Вдобавок, зачастую в таких книгах спокойно можно найти списки доступных номеров — позвонив по ним, вы сможете проверить различные системы либо получить информацию по этим системам. Все эти сведения пригодятся вам и помогут двигаться вперед.
Придя в библиотеку, загляните в отдел периодики и возьмите там несколько компьютерных журналов и газет. Предпочтение следует отдать тем, которые вы обычно не читаете, или таким, о которых вы вообще не слышали. Полезно бывает посылать в журнал заказы на интересующую вас информацию, а также заполнять карточки Службы Чтения для получения доступных сведений на эти темы. Просто диву даешься, какие компании порой отвечают на такие послания, и еще более удивительно, сколько зацепок для хакера содержит выдаваемая информация. Лично я вхожу в число постоянных адресатов нескольких компаний по компьютерной защите. Я знаю все, что мне необходимо, обо всех их программных продуктах, о новейших достижениях, о том, кто пользуется этими программами. Вооруженный такими сведениями, я могу прокладывать свой путь в обход продукции данных компаний. Зная, как они ловят хакеров, я знаю, как избежать поимки. С другой стороны, иногда более практичным оказывается выклянчивание у библиотекарей подаренных библиотеке книг. Многие библиотеки принимают в дар книги — для распродажи или чтобы пополнить собственные запасы. Большую часть этих книг составляют старые технические руководства различных компаний — по компьютерам, программному обеспечению и работе операционных систем. Библиотекари, имеющие дело с подаренными материалами, увидев такие веши, обычно выбрасывают их за ненадобностью. Постарайтесь подружиться с библиотекарем, и он, скорее всего, предпочтет отдавать такие вот «ненужные» издания вам, нежели выкидывать. V меня набралось множество ценных пособий, справочников, руководств по операционным системам и магнитных дисков подобного рода. Я могу похвастаться даже замечательной и вполне злободневной подборкой закрытых изданий ATandT. Порой найденные вами книги содержат заметки, нацарапанные на полях или на обложке. Моя любимая пометка такого сорта — телефонный номер и групповой идентификационный код доступа. Код доступа с тех пор устарел, но телефонный номер еще существует, так же как и гостевой пароль, который иногда удается обнаружить в подо бных руководствах.
Некоторые нестандартные методы исследований
Эти методы не столь уж необычны, поскольку в дело идет все, что может принести пользу в вашем отважном предприятии. Раздобыв идею нового способа получения большего количества сведений об интерактивной системе или о работающих в ней людях, постарайтесь опробовать ее на практике. В принципе, любые сведения могут оказаться полезными. Все, что вы обнаружите, поможет вам проникнуть либо в тот компьютер, который интересует вас на данный момент, либо в другой — когда-нибудь в будущем. К тому же, согласитесь, всегда приятно обнаружить закрытые данные или тайные секреты системы. Поделитесь своими открытиями с другими хакерами, а те в долгу не останутся как пить дать отблагодарят вас, поведав что-нибудь этакое.
Существует пять нестандартных методов исследований: диалоговые руководства и модели программ; копание в мусоре; анализ найденных дискет; изучение фотографий; «вынюхивание». Помните — все эти методы исследований работают.
Диалоговые обучающие руководства и модели программ
Руководства и модели программ часто используются для обучения работе с компьютерной системой. Эти программы имитируют компьютерные экраны, какими видел бы их пользователь в процессе реальной работы в сети. Руководства и модели отличаются от реальной работы тем, что сообщают пользователю о стандартных методах общения с системой и иногда даже показывают ему необходимые в работе специальные детали. Если пользователь не прошел курс обучения, ему обычно выдается сборник упражнений для работы с облегченной версией настоящей системы, причем, как правило, выдается вместе с богатым набором всевозможных шпаргалок.
Руководства и модели дают новым пользователям практический опыт общения с программным обеспечением, с которым им придется иметь дело, знакомят с его функциями и задачами. Такие программы весьма часто используются в учебных целях вместо реальной системы, или же как дополнение к ней. На то имеется несколько причин. Что, если система еще внедряется, или проходит стадию обновления? А может быть, новичка слишком накладно обучать на «живой» системе — мало ли что. Модели решают подобные проблемы, так как их можно инсталлировать на любой компьютер.
Агентства по временному найму могут использовать программное обеспечение какой-либо компании для подготовки своих работников, особенно, если компания выделяет данному агентству много рабочих мест. Или же постоянные сотрудники могут захотеть подучить возможность взять обучающий диск в библиотеке компании, чтобы попрактиковаться дома. Наконец, хорошая обучающая программа или модель дает уверенность в том, что все сотрудники получат одинаково точные инструкции, не пропускающие важных деталей, о которых может забыть рассказать инструктор-человек.
Как добраться до этих программ? Программы-модели можно получить в общественных, специализированных и даже научных библиотеках. Можно также заказать такую у производителя. Напишите производителю программного обеспечения, что мол вы собираетесь круто раскошелиться на его продукцию. Льстите, лгите, грейте в производителе чувство собственной сверхполноценности, а потом, будто бы невзначай, вверните: а нет ли, случаем, у господ хороших какой-нибудь «демонстрашки»? Дескать, я готов брать все оптом, а партнеры колеблются. Впрочем, если вы лицом подходящий и скользкий как угорь, а вдобавок терпеть не можете писать писем, то не исключено, что вам удастся даже добыть такую программу у дружески настроенного сотрудника компьютерного отдела компании (займитесь социальной инженерией! представьтесь менеджером или супервизором компании).
Модели и руководства — незаменимая вещь в хакерском деле; их польза очевидна. Они помогут вам изучить систему, и, вероятно, раскроют используемые по умолчанию имена точки входа; не исключено, что в них окажется даже описание недостатков системы.