Электронные доски объявлений
Глава 8. Электронные доски объявлений
Прочтя в черноморской вечерке объявление: "Си. ПР. КОМ. В. УА. В. Н. М. ОА. ИН. ХОЛ.*, и мигом сообразив, что объявление это означает — 'Сдается прекрасная комната со всеми удобствами и видом на море одинокому интеллигентному холостяку", Остап натянул белые прохладные брюки и отправился по указанному в объявлении адресу.
И. Ильф, Е. Петров. Золотой теленок.
С электронных досок объявлений (BBS) начинается знакомство большинства людей с компьютерными телекоммуникациями. BBS — это программа, которую каждый может установить на своем компьютере. Она наблюдает за модемом, ожидая телефонного звонка. Если вызов идет от другого модема, происходит соединение двух компьютеров. После этого позвонивший человек может использовать компьютер, находящийся на другом конце линии, как если бы непосредственно сидел за этим компьютером. Программа BBS позволяет тому, кто произвел вызов, выбирать различные опции из меню, давая ему возможность посылать сообщения на терминалы других пользователей, читать сообщения, посылать и получать файлы, либо играть в игры на удаленном компьютере. В сущности, вызывающий пользователь управляет компьютером по телефонной линии. Впрочем, он может управлять лишь программой BBS. Данная программа отделяет вызывающего пользователя от самого компьютера (по крайней мере, пытается).
Часто BBS запускают на своих домашних компьютерах компьютерные любители, рассматривая их как способ получения информации в духе настоящих хакеров. Обычно для вызова и просмотра программы платы не требуется, но это остается на усмотрение того, кто запускает BBS — системного оператора. Школы, библиотеки, магазины, группы пользователей, церкви и другие организации также часто используют BBS — для распространения своей информации и поддержания связи между своими пользователями. Иногда электронные BBS устанавливают компании, чтобы клиенты могли заказывать их продукцию по электронной почте, получать информацию о новых видах продукции, или информировать компанию о проблемах, возникших при использовании их товаров либо услуг.
Электронную доску объявлений установил даже Конгресс США. Она была запушена в конце 1991 года на программном обеспечении RBBS конгрессменом Бобом Вайзом и его подкомитетом Палаты Государственных Операций по государственной информации, праву и сельскому хозяйству, дабы государственные сотрудники могли анонимно информировать инспекторов о непорядках на их рабочих местах.
Существуют частные BBS, телефонные номера которых доступны далеко не каждому. К примеру, ФБР имеет в своем распоряжении National Crime Information Center — NCIC (информационный центр по государственным преступлениям), используя BBS для поиска пропавших людей, тех, кто находится в розыске и присмотра за людьми, неоднократно преступавшими закон. Привилегированные предприятия, типа ресторанов “быстрой еды”, часто используют BBS для ежедневной загрузки описей или финансовых сведений в компьютер, расположенный в штаб-квартире их компании. Ну и, само собой, существуют также “общественные” BBS, которые хранят молчание, поскольку люди, использующие их, делают это в нелегальных целях.
Доступ к большинству BBS контролируется комбинацией имя, пароль. Когда вы вызываете BBS, вас просят ввести свое имя, либо NEW, если вы делаете вызов в первый раз. Если вы новый пользователь, вас спрашивают, хотите ли вы зарегистрироваться в системе; если ответ положительный, вам зададут несколько вопросов, поприветствуют в системе, возможно, сделают краткий обзор и ознакомят с принятыми правилами (“Просим не засорять сообщения... Нельзя вести обсуждение нелегальных действий, таких, как компьютерное хакерство, телефонное, краденые номера кредитных карточек, и т. д....”).
Затем вам, вероятно, дадут гостевой доступ к BBS, пока системный оператор не сможет проверить достоверность вашего запроса для допуска, а возможно, вас отключат и попросят перезвонить на следующий день. Конечно, такая процедура не всегда применяется, но системные операторы всегда хотят убедиться в том, что вы именно тот, за кого себя выдаете - вдруг вы зарегистрировались с фальшивым телефонным номером? Им хочется знать, достойны ли доверия те люди, которым они разрешают использовать свой компьютер.
Электронные доски объявлений, по многим причинам, очень важны для компьютерных энтузиастов и хакеров. Они дают нам возможность общаться (порой анонимно, или почти анонимно) с другими пользователями. Мы имеем возможность учиться у тех, кто более опытен в этом деле, и использовать BBS, чтобы помочь “новобранцам” армии компьютерщиков.
Естественно, существуют аморальные и нелегальные способы использования BBS, способы эксплуатирования самих систем и связанных с ними людей ради собственной выгоды, пути установления контактов с компьютерным андеграундом всего мира, в том числе и с хакерами.
кяк найти номера BBS
Как только вы найдете один номер BBS, вы автоматически получите в свое распоряжение буквально тысячи других. Системные операторы BBS не конкурируют друг с другом. Их мало волнует, используете ли вы только их систему, или же вызываете по очереди все существующие BBS. Таким образом, в любой BBS, которую вы вызовете, почти всегда можно найти список других BBS. Список может включать в себя все BBS страны, или только местные; в нем указаны названия BBS, телефонные номера, иногда имя системного оператора и специальные характеристики каждой системы. Каждая BBS также обычно располагает центром сообщений, или таким местом, где другие системные операторы могут рекламировать свои системы.
Итак, вызвав одну BBS, вы получите телефонные номера множества других. Вся проблема, особенно для новичков, заключается в том, чтобы найти первый номер.
Аля начала спросите у своих знакомых, имеющих у себя компьютер и модем, нет ли у них номеров BBS.
BBS есть у многих групп компьютерных пользователей, у библиотек, религиозных организаций, школ.
BBS часто располагают компании, выпускающие модемы и другое оборудование для телекоммуникаций, равно как и компании, выпускающие программное обеспечение. Если в пакете нет информации о BBS, можно позвонить в компанию и уточнить. Например, Hayes располагают общегосударственной 1-800? BBS, которую можно вызвать, чтобы получить информацию о продукции и списки BBS со всей страны.
Ее номер 1-800-US-HAYES.
Номера BBS публикуются в компьютерных журналах. Существует много книг по телекоммуникациям, в приложениях некоторых из них даны списки BBS по всей стране. Списки даются также в некоторых компьютерных телефонных книгах. Вдобавок можно найти рекламу BBS на обычных досках объявлений или в ближайшем компьютерном магазине.
как найти хакерские доски объявлений
Настоящие хакерские BBS не занимаются саморекламой, но не волнуйтесь: как только вы станете опытным хакером, вы сразу же узнаете об их существовании, и там вас примут с распростертыми объятиями.
Существует много хакеров и тех, кто считает себя хакерами, которые открыто рекламируют свои BBS, посвященные именно тем сведениям, которые вам нужны. Их информация может оказаться интересной;
но может случиться и так, что, загрузившись в такую систему, вы не обнаружите там ничего, кроме перебранки каких-то безмозглых субъектов. Вы можете поспрашивать на открытых хакерских (криминальных) досках, не знают ли их участники о существовании каких-либо других хакерских досок объявлений (можно также просмотреть представленные там списки BBS), но, вероятно, вам не удастся просмотреть открытые криминальные доски, поскольку они часто разоряются. Так как они не содержат ничего, кроме общедоступной или бесполезной информации, но не стоит думать, что вы много теряете, избегая такие BBS.
Иногда можно найти электронную беседу, обладающую некоторой интеллектуальной ценностью. Включитесь в нее, и вскоре вы обнаружите, что вас принимают, как своего. Если вы найдете такую BBS, члены которой заявляют, что они хакеры, но их беседы не содержат в себе ничего предосудительного, можете не сомневаться, что там есть лазейки, за которыми прячутся “под-доски”, где и обсуждаются настоящие хакерские новости. Покажите себя полноценным членом подпольного сообщества, и через некоторое время системные операторы и ассистенты операторов примут вас в свою элиту. Чтобы вас признали хакером, надо обмениваться информацией. У вас должна быть хорошая информация, чтобы делиться ею.
Если вы вошли в респектабельную BBS, которая, как вы подозреваете, содержит секретный хакерский подраздел, время от времени при загрузке пробуйте вводить различные не установленные команды (не больше одной команды в сеанс входа, чтобы не возбуждать подозрений). Если одна из ваших команд сработала, и у вас спрашивают пароль, знайте — вы напали на след. Поговорите с системным оператором или с другими членами группы о вашем отношении к хакерству, и спросите, что они думают по этому поводу. Сдержанно сообщите о ваших хакерских достижениях. На них произведет впечатление уже сам факт того, что вы нашли секретный раздел, но не хотите волновать их, взламывая его. И вы, разумеется, не станете печатать публичное сообщение о том, что нашли их секретную лазейку, — можете не сомневаться, что вокруг слоняется множество других жаждущих получить секретный доступ. В частном порядке побеседуйте о вашей находке с системным оператором и ассистентом, по электронной почте или в режиме онлайн.
Если вы взломали хакерскую BBS, хотя ее пользователи не знакомы с вами, они не могут быть уверены в том, что ваши намерения честны. Если их побеспокоить, они примут меры, чтобы защититься. В беседе с оператором лучше упомянуть о том, что вы не собираетесь взламывать обнаруженную вами лазейку, чтобы дать им убедиться в том, что вы — такой же брат-хакер, а не полицейский.
установление связей
Многие BBS, в которые вы войдете, строго запрещают нелегальные действия. Никаких разговоров о хакерстве, распространения способов взлома, и уж конечно, никакой скользкой информации для новичков. Вам придется начинать со вступления в уже устоявшиеся, довольно нудные беседы.
Соблюдайте вежливость и постарайтесь приносить пользу. В беседе вставляйте комментарии к месту. Если среди ваших друзей есть опытный хакер, это даст вашим способностям такую рекламу, как ничто другое, — кроме, разве что, настойчивости, любознательности и удачи.
Вскоре у вас появится несколько излюбленных систем, которые вы будете вызывать регулярно, но время от времени вам следует расширять этот круг, пробуя все новые системы, которые вам попадутся, в конечном итоге добиваясь получения доступа в “компьютерный андеграунд”.
Конечно, единого и организованного андеграунда как такового не существует, но зато существуют отдельные группы хакеров и просто тех, кто интересуется техникой. Они держат в секрете свои беседы о нелегальной деятельности, так что обнаружить их будет нелегко. Доски объявлений, которые они используют для общения, часто прячут от новичков, a BBS с самыми интересными новостями вообще не обнародуют свои телефонные номера. Лучше всего просто продолжать поиски. Если вам начнет казаться, что некто на одной из досок объявлений может быть связан с нетрадиционными методами использования компьютеров, вы можете послать ему (или ей) тактичное частное сообщение, в котором спросите, не интересуется ли он подобными вещами, и если да, то не желает ли он обмениваться информацией? Но помните:
любое сообщение, которое вы посылаете на BBS, могут прочесть системные операторы и, возможно, другие системные менеджеры, находящиеся ниже в этой иерархии, так что будьте осмотрительны, если главные действующие лица настроены анти-хакерски.
Множество людей обладают компьютером и модемом, и вы столкнетесь с множеством различных людей на электронных досках объявлений. Если вы будете искать там, где надо, вы, несомненно, найдете среди них и компьютерных взломщиков. Значительно сложнее может оказаться заставить их принять вас за своего. Хакеры любят рисоваться, но обычно не любят объяснять, в чем заключаются их уловки. Вам
придется показывать им, что вы — умный, изобретательный, логичный человек, который может заниматься хакерством на том же уровне, что и они сами — а также делиться с ними информацией.
Бродя по чащобе электронных досок, постарайтесь не заблудиться, записывайте свой маршрут. Сделайте список различных BBS с примечаниями о том, какое программное обеспечение используется в каждой, и какие особенности у них имеются. В частности, отмечайте такие признаки, как возможности передачи файлов, существование списка BBS, пользовательские списки и входы.
характерные особенности BBS
BBS представляют собой нечто большее, нежели просто доски объявлений, и это верно — они больше, чем просто место для написания и чтения сообщений.
BBS с секторами передачи файлов дают возможность бесплатно посылать (upload) компьютерные программы и файлы на BBS, и бесплатно получать (download) файлы с компьютера BBS. Многие наиболее серьезные BBS считают передачу файлов пустой тратой времени и места на диске, но все же они часто встречаются, особенно у тех операторов, которые стараются угодить программным пиратам (или бутле-герам), имеющим дело с защищенным от копирования программным обеспечением.
Существуют различные виды списков пользователей и входов в BBS. Они варьируются от ответов пользователя на анкету до небольшого ознакомительного сообщения о пользователе, краткого описания
его пристрастий и интересов. Часто можно посмотреть журнал регистрации пользователей, в котором записано, кто загрузился в BBS непосредственно перед вами, в начале дня или даже раньше.
“Двери” используются для выхода из программы BBS. Когда вы выходите через дверь (выбрав соответствующую команду в меню), то оказываетесь в совершенно другой программе. Двери обычно используются для игр в режиме онлайн, но через них можно попасть в любую программу. Все зависит от того, какое программное обеспечение используется в данной BBS и от прихотей оператора.
Вот другие характерные особенности BBS:
• Стены граффити. На них пользователи могут помешать короткие записки, рекламу или шутки.
• E-mail (электронная почта). Позволяет пользователям посылать личные сообщения другим пользователям системы.
• Беседы. Позволяет вести разговор в режиме онлайн с системным оператором, если тот на месте.
• Библиотеки текстовых файлов. Содержат анекдоты, шутки, “Добро пожаловать на BBS”, полезную информацию, технические файлы и многое другое, что люди могут захотеть прочесть.
Начав использовать BBS, вы познакомитесь со многими вещами, которые обычно можно найти на BBS... а также со способами их использования в своих гнусных хакерских целях!
ЭКСПЛУАТАЦИЯ BBS
Когда-то давным-давно, если вы хотели взломать компьютерную систему, можно было легко воспользоваться ошибками в ее программном обеспечении, или устанавливаемыми по умолчанию паролями.
Теперь дело обстоит несколько хуже. Все эти дефекты и пароли по умолчанию, в основном, отошли в прошлое.
Конечно, вы можете их использовать, если знаете, что делаете, — но, к несчастью, полагаясь на эти методы, вы почти наверняка зайдете в тупик. Вам следует использовать новый вид системных дефектов.
Если вы не страдаете соответствующей фобией, вы не станете бояться, что вас поразит молния, каждый раз, когда будете выходить из дома. Это не столь большая опасность, чтобы о ней беспокоиться. Но что, если в один прекрасный день вас действительно ударит молния? Разве это не изменит ваш взгляд на вещи?
Вот моя точка зрения: самым слабым звеном в любой системе обеспечения безопасности являются люди, которые должны проверять, не нарушена ли безопасность. Среднестатистического компьютерного пользователя не волнуют проблемы безопасности — да и зачем? У него нет никаких причин о ней беспокоиться. Его файлы не уничтожал ни один вирус, номера кредиток никто не крал, а бюджет никто не взламывал. Поистине слабое звено.
Как же использовать слабость этого звена? Типичный пользователь одновременно является типичным человеческим существом. Он немного увлекается компьютерами, но не является компьютерным фанатиком (таким, каким, наверно, являетесь вы). А человеку сложно запомнить пятьдесят разных паролей. Значит, он будет использовать один и тот же пароль для каждой компьютерной системы и BBS, в которых у него есть бюджет. Пользователь придумывает легко угадываемые пароли, а то и вообще обходится без керов. Посудите сами. Новичок скорее, чем опытный пользователь, выберет неудачный пароль. Новички (или люди, не интересующиеся компьютерами), как правило, постоянно выбирают очевидные пароли.
Итак, если вы узнали, какова область интересов какого-либо пользователя (особенно новичка), вам будет “легко” отгадать его (или ее) пароль. Если вам известно, что данный человек использует компьютер на работе или по месту учебы, то он, скорее всего, имеет один и тот же пароль для обеих систем.
Я не хочу сказать, что отгадывать пароли легко и просто.
Это не так — вам понадобится терпение и немалое количество времени. Но существуют более быстрые, приятные — и более технические — способы проникновения в бюджет Джо Блоу на BBS, нежели метод грубой силы. Давайте их рассмотрим.
Как преодолеть ЗАЩИТУ BBS
Несмотря на то, что BBS используют средства компьютерной зашиты, существует по меньшей мере восемь факторов, которые делают их уязвимыми для находчивого хакера. Вот эти лазейки:
1. Знакомство хакера с удаленным аппаратным обеспечением.
2. Запуск BBS на домашнем компьютере.
3. Знакомство хакера с программным обеспечением BBS.
4. Знакомство хакера с людьми, имеющими отношение к BBS.
5. Разнородный состав людей, имеющих отношение к BBS.
Сектор передачи файлов
Осведомленность хакера о тех моментах, когда системный оператор наблюдает за системой, и когда нет.
8. Осведомленность хакера о шаблонах использования.
Каждая из этих лазеек дает хакеру немало возможностей взломать ту BBS, которая ему понравится. А если все вышеперечисленные факторы имеют место, для хакера становится невозможным НЕ добиться успеха при взломе данной BBS.
В отличие от остальных ситуаций, в которые попадает хакер, — например, первого сеанса связи с большим правительственным компьютером, — в данном случае вам будут известны практически все особенности избранной вами BBS. В меню BBS часто присутствует опция, которая позволяет посмотреть, какое оборудование используется для работы системы. Вы также сможете узнать тип программного обеспечения и завести знакомства, регулярно общаясь с пользователями и системными операторами. Все эти данные дадут вам громадное преимущество при написании и загрузке так называемых “троянских коней”, при поиске дефектов, которыми можно воспользоваться, и, естественно, при угадывании паролей.
Обычно при входе BBS сообщают, можно ли побеседовать с системным оператором. На самом деле нет никакой гарантии того, что оператор отсутствует на самом деле, когда система сообщает об этом, но сообщение “Sysop is IN” (“Оператор на месте”), по крайней мере, служит предупреждением, дабы вы соблюдали большую осторожность.
Даже если оператора действительно не окажется на месте, само программное обеспечение BBS может наблюдать за вами зорко, словно ястреб, распечатывая при этом каждое ваше действие или попытку взлома программы. К примеру, программное обеспечение электронной доски объявлений RBBS-PC дает возможность системному оператору вести постоянный вывод на печатающее устройство всех имен вызывающих систему пользователей, все изменения файлов и сообщения об ошибках, которые возникают при работе системы. Как будет видно из дальнейшего содержания этой главы, это может причинять различные неудобства, в зависимости от способа вашей атаки BBS.
ЗАПУСК BBS
Самый простой способ сбора паролей —дождаться, пока люди начнут сами раскрывать их вам. Именно так и случится, если вы запустите свою собственную BBS.
Быть системным оператором — значит очень много работать, а к тому же иметь собственный компьютер, модем, телефонную линию (линии) и, возможно, собственный принтер. Прекрасный набор для взломщика!
Вот три исходных мотива для совершения взлома локальных BBS: 1) любопытство и жажда острых ощущений; 2) возможность попрактиковаться, особенно не рискуя; и 3) возможность получения паролей, которые могут использоваться их обладателями и в других компьютерных системах. Если вы заведете собственную BBS, первые две мотивации исчезнут, как не бывало. Останется только третий повод— сбор паролей, притом, что для этого существуют и более эффективные методы. Впрочем...
Хакер, запускающий свою BBS, получает некоторые преимущества, независимо от того, желает ли он злоупотребить доверием, которое пользователи испытывают к системному оператору, или нет. Например, хакер может установить BBS специально для других хакеров, чтобы те могли ставить свои вопросы и обмениваться информацией. Если вы хотите поступить именно так, вам следует соблюдать предельную осторожность в своей рекламе и при приеме новых пользователей, чтобы быть уверенным в том, что вы не пропускаете на свою доску объявлений полицейских или враждебно настроенных хакеров.
Я еще упомяну о правилах безопасности в конце данной главы, а теперь вернемся к нашей теме.
Запуск BBS — или, по крайней мере, установка ее в своей системе, даже если вы не собираетесь ее обнародовать — поможет вам узнать о работе BBS больше, нежели любой другой способ. На хакера всегда благотворно действует тот факт, что он знает, как работает система, от А до Я — это греет его душу. Вы можете попытаться также установить ограниченную BBS и практиковаться, взламывая ее с компьютера своего друга, или попросить других попытаться ее взломать (речь идет только о самых близких друзьях). Таким образом, вы узнаете, что можно и чего нельзя сделать с программным обеспечением вашей конкретной BBS, и поднаберетесь хакерского опыта. Вдобавок вы сможете предупредить других системных операторов о слабых местах их систем. Сам я никогда не запускал BBS — мне никогда не хотелось ни отдавать свой компьютер и телефонную линию, ни тратить свое время на электронную доску объявлений. Но я побывал ассистентом оператора нескольких BBS, со всеми операторскими полномочиями, и узнал немало хитростей, с помошью которых люди пытаются взломать эти системы.
ПОЛНОЧНЫЙ Маскарад
Однажды ночью, около 1.30, Treacherous Den BBS почтил своим визитом хакер. Хакер несколько раз пытался войти в систему, используя мое прозвище, The Knightmare. Системный оператор, мой друг DR dendryte, сидел, наблюдая его бесплодные усилия, пока, наконец, не нажал функциональную клавишу перехода в режим беседы. Ниже приведена запись последовавшего разговора, скопированная прямо с распечатки системного оператора, но с опушенными ненужными повторениями. (Мои собственные комментарии заключены вот в такие скобки.)
— Системный Оператор хочет начать Беседу!
— Это DR dendryte. Кто вы такой?
— Это Knightmair я Забыл свой пароль. Впусти меня.
(Теперь DR dendryte уже точно знал, что разговаривает с самозванцем. Ему было известно, что я никогда не вызываю так поздно ночью, и что я никогда в жизни не забыл бы свой пароль, учитывая тот факт, что я несколько лет пользовался одним и тем же паролем.
Но DR dendryte все же решил продолжить игру.)
— Как же ты мог забыть свой пароль??!
— Не знаю, он как-то вылетел у меня из головы, наверное!
— Я не могу так вот просто раскрывать подобные пароли.
— И не надо........ты можешь просто впустить меня в систему.
— Если ты действительно The Knightmare, тогда скажи мне свое НАСТОЯЩЕЕ ИМЯ! Пауза, затем:
— Неужели ты не веришь своему лучшему другу и со-оператору? Давай же.....
— Я не могу тебе поверить!!!!! Никакой ты НЕ The Knightmare... (Здесь DR dendryte намекает на неграмотность хакера; DR dendryte знал, что в моих беседах онлайн я весьма щепетильно отношусь к правописанию.) Он никогда не делает таких дурацких орфографических ошибок, и с грамматикой у него тоже все в порядке, и... (Теперь они пытаются печатать одновременно. DR dendryte дает высказаться кракеру.)
— Это просто глупость! Я тебе больше не друг! Можешь стереть меня из BBS.
— Если ты и вправду тот, за кого себя выдаешь, давай перейдем на голос!
(Это значит, что DR dendryte просит хакера выключить свой модем и поднять телефонную трубку — перейти на голос.)
— Я не могу поверить, что ты не доверяешь мне.
— ПЕРЕЙДИ НА ГОЛОС.
— У меня в комнате нет телефона..
— Как это нет!? На книжной полке рядом с тобой!
— Он сломался.
—ХА!! Ты должен был сказать: “НА КАКОЙ полке?” V тебя в комнате НЕТ книжной полки! ХА-ХА- ХА-ХА-ХА-А. + + +
(Щелчок.)
На следующий день, когда DR dendryte поведал мне эту историю, я сказал: “Тебе стоило сказать ему:
„The “nightmare — это Я!" То-то он смутился бы!”
Подобное самозванство может сработать, но только в том случае, если вы достаточно близко знакомы с человеком, чью роль вы собираетесь сыграть. В данном случае хакер решил при входе в систему сыграть мою роль, правильно предположив, что в полночь я не могу находиться у системного оператора дома. Возможно, хакер также предполагал, что DR dendryte в это время будет спать.
Мне сдается, что подобная уловка скорее сработает на компьютере какой-нибудь большой корпорации, где никто не знает друг друга, а сотрудники могут и не питать такой любви к своей компьютерной системе, как системные операторы — к своим.
взлом по электронной почте
Treacherous Den BBS являлась лакомым куском для хакеров. Это была большая система, с множеством пользователей (многие из них сами были системными операторами других BBS), которая располагала десятками игр и цифровых порнографических картинок, которые можно было загрузить.
Эта система была списана с пиратской копии программного пакета одной популярной BBS, но DR dendryte так изменил его, что ему удалось официально зарегистрировать систему на свое имя. Как-то раз давний пользователь системы задал ему по телефону безобидный технический вопрос насчет BBS. DR dendryte попросил его подождать минутку у телефона, пока он поищет ответ в руководстве.
— О, вы купили его? — спросил пользователь, конечно, имея в виду программное обеспечение BBS.
— Ага, — ответствовал DR dendryte, имея в виду руководство, которое приобрел за четверть иены в букинистическом магазине.
DR dendryte ответил на вопрос, поговорил еще немного и повесил трубку. Он больше не вспоминал об этом разговоре, пока через месяц не получил по почте картонный конверт. Это был дискетный конверт с напечатанной на компьютере наклейкой обратного адреса, которая указывала, что данный адрес принадлежит компании, производящей программное обеспечение BBS. DR dendryte открыл конверт. Внутри оказалось письмо на его настоящее имя, подписанное автором программного обеспечения BBS, человеком, который также являлся основателем и владельцем компании. Письмо гласило:
Дорогой м-р А. Г.!
К... Software приняла новую политику обновления программного обеспечения. Все клиенты, приобретшие non-entertainment пакеты ао июля 1986 года, получают право на бесплатное ежегодное обновление.
Данная новая версия вашей программы полностью совместима с предыдущей. Для обновления необходимо лишь вставить прилагающуюся дискету и набрать START.
Благодарим Вас за покупку отличной продукции К... Software. Надеемся в будушем вновь увидеть Вас среди наших покупателей.
Искренне Ваш
(Подпись)
DR dendryte с первого взгляда не только понял, что это совершеннейшая липа, но и догадался, кто имел глупость послать ему такое письмо.
Он сразу же сократил входной доступ того пользователя, с которым говорил тогда по телефону, до статуса однократного посетителя. Затем он написал записку ядовитого содержания и послал ему по электронной почте. Этот самый пользователь был единственным человеком, кроме меня, который знал о существовании руководства. Но я-то, разумеется, был в курсе, что DR dendryte не покупал программы, а руководство добыл иными путями. Пользователь же ошибочно решил, что, раз у системного оператора есть книга, значит, он купил BBS.
Изучив присланную по почте дискету, мы обнаружили, что она содержит восемь файлов.
Там был текстовый файл, где говорилось о “чудесных и волнующих мгновениях, которые вы испытаете, получив вашу обновленную версию L...BBS Software”. Еще там был файл инструкции под названием START, повторявший содержание того текстового файла. START должен был “обновить” старую версию программы на “новую”.
Еще на дискете присутствовали четыре файла, в точности совпадавшие с теми, что находились среди программного обеспечения настоящей BBS (явная попытка отвлечь наше внимание), а вот пятая программа не совсем совпадала с оригиналом! (Сравнить два файла можно с помощью команды MS-DOS “comp”, или используя соответствующие возможности Нортона или другой программы типа Нортона.) Наконец, на дискете был пустой файл под названием Т, который не нес никакой смысловой нагрузки.
Нам понадобился не один час, чтобы выяснить, для чего этот пользователь запрограммировал свою “новую” версию. Программы отличались двумя моментами.. Копия файла пользовательской информацией была создана, чтобы отправляться по электронной почте пользователю при первой загрузке; также была вставлена лазейка, которая должна была дать временный доступ в операционную систему любому, кто нажмет control-E, control-X, control-1, control-T, control-! в ответ на приглашение ввести имя пользователя.
Вам не удастся проделать подобный трюк, пока вы не получите доступ к исходной программе программного обеспечения, что, видимо, удалось сделать тому пользователю (если вы не хотите потом восстанавливать по кусочкам всю электронную доску объявлений).
Вот так была отбита еще одна атака этих назойливых хакеров!
разрушение BBS
На другой BBS, в которой я участвовал, системный оператор-каждый день, возвращаясь из школы домой, обнаруживал, что его система разрушена. Она просто зависала, и ее приходилось перезагружать. В конце концов, он узнал от кого-то, что в данной версии этой BBS имеется дефект. Комбинация “\х”, напечатанная в ответ на приглашение ввести пароль, приводила к останову всей системы. Ключевые узлы программного обеспечения BBS были написаны на легко изменяемом, понятном Бейсике. Для устранения данной проблемы я просто ввел строку после приглашения, которая должна была отсоединять любого, пытавшегося набрать ужасный “\х”.
Это подействовало. Я всегда удивлялся насчет этого “\х”. Как там могла оказаться такая вредоносная вещь? Я не могу представить себе программиста, намеренно вставившего ее, разве что он собирался досадить нелегальным пользователям своей программы. Возможно, это была какая-то лазейка, не сработавшая должным образом. Возможно, если бы я повнимательнее изучил программу, то понял бы, что это значит.
Вполне возможно также, что дефект был вставлен в программу тем человеком, который дал оператору копию программного обеспечения, или тем, который сделал первую пиратскую копию, или еще кем-либо из этой цепочки. Пиратское программное обеспечение так быстро распространяется по стране и по всему миру, что буквально тысячи людей могли бы добавить этот дефект с “\х” и распространять программу дальше в таком виде. Эй, у вас еще не появилось никаких идей по этому поводу? У меня они уже есть!
Можно либо написать собственную программу для BBS, или изменить уже существующую, добавив некоторые секретные свойства, такие как выход в DOS, или любую другую лазейку на ваше усмотрение. Можно добавить строку, которая будет обнаруживать при вводе наиболее сложные и необычные управляющие коды и присуждать таким пользователям наивысший уровень доступа к системе.
Метод, похожий на эту тактику, — написать или изменить терминальную программу, которую вы дадите пользователю.
Когда она примет внутренний код во время соединения с вашей BBS, вы получите доступ к вызывающему компьютеру. Например, вызывая вашу BBS, пользователь запускает вашу специальную терминальную программу. BBS должна послать на модем вызывавшего пользователя код, который позволит вам разгуливать по жесткому диску данного пользователя. Чтобы сделать свое присутствие незаметным, лучше всего входить во время передачи какого-нибудь длинного файла или, если скорость передачи модема невысока, в перерывах между его работой. Пока вы исследуете диски удаленного пользователя, терминальная программа может продолжать делать вид, что принимает данные.
PRODIGY, графически ориентированной интерактивной службе онлайн, летом 1991 года было предъявлено обвинение в занятиях подобными вещами. Пользователи обнаруживали свои личные данные, спрятанные внутри программного обеспечения, которое использовалось для вызова PRODIGY. После жалоб пользователей на грубое нарушение их прав главный вице-президент PRODIGY выслал оскорбленным утилиту, предназначенную для удаления несущественных данных из терминального программного обеспечения службы. В сопроводительном письме он без тени раскаяния заявлял:
Как мы уже утверждали публично и сообщали онлайн, программное обеспечение PRODIGY не считывает, не собирает, а также не перелает компании службы PRODIGY никакую информацию либо данные, не имеющие прямого отношения к вашему использованию службы. Мы хотим заверить вас, что продолжим работу над обеспечением безопасности личных данных всех наших участников.
Может, они и не делают ничего такого — но вы-то ведь можете!
Несколько лет назад группа предприимчивых хакеров распространила доморощенную терминальную программу с дефектом для компьютеров Macintosh. Программа предлагала пользователям удобную опцию, позволяющую хранить пароли и другие процедуры входа на дискете, чтобы можно было не бояться их забыть. Информация хранилась в зашифрованной форме на спрятанной части дискеты. Через несколько занесенных туда паролей и телефонных номеров программа “портилась”.
Хакеры надеялись, что пользователи отошлют дискеты обратно, и в результате у них окажется богатый выбор входной информации.
Но на деле все оказалось не так, как задумывалось. Это PRODIGY может отмахнуться от вопросов пользователей благодаря своему уникальному графическому интерфейсу. А пока вам не удалось разработать в своей терминальной программе нечто подобное, нечего и мечтать о том, что пользователи возьмут на себя труд инсталлировать и изучать вашу программу, в то время как они уже знакомы с одной или несколькими коммерческими пакетами. Примерно такая судьба и постигла эту группу хакеров. Вначале их терминальная программа вызвала большой интерес (они свободно распространяли ее), но ни у кого не возникло желания ее использовать. Проблема была в том, что хакеры отдали программу в руки опытных пользователей, которые уже были близко знакомы, по крайней мере, с одной коммерческой программой. Хакерский терминальный пакет никому не понадобился, и великая идея с треском провалилась.
Что касается той первой идеи — изменить BBS, включив в нее лазейки, — это действительно возможно. Всегда найдутся люди, желающие установить свою BBS, или те, кто хочет приобрести новое программное обеспечение. Проблема распространения здесь имеет меньшее значение, нежели проблема программирования — особенно учитывая тот факт, что вам придется не только вставлять программу для лазейки, но и, для достижения лучших результатов, придумать способ, как спрятать эту программу от любопытных глаз.
“Троянские кони”
Для хакера обычно не составляет большого труда начинить BBS какой-либо версией программы типа “троянский конь”. Хакер пишет программу, предназначенную для выполнения какой-нибудь интересной функции, например, запуска игры или вывода на экран привлекательных картинок. В программе спрятаны инструкции для прочтения файлов паролей BBS, или выполнения другой скрытой операции. Затем хакер подзагружает программу в BBS и — внимание, это важно! — надеется, что системный оператор запустит программу.
Для написания “ троянского коня” вам понадобится достать копию программы BBS, чтобы точно знать, каковы будут ваши тайные инструкции. Иначе как же вы узнаете, в какие файлы следует заглядывать и в каком секторе диска находится нужная информация?
Какие действия, помимо секретных, могут выполнять “троянские кони”? Вот несколько предложений:
Можно тайно перепрограммировать саму BBS так, чтобы в ней оказалась лазейка. Если программа BBS написана на интерпретируемом языке, “троянский конь” может добавлять несколько строк, которые дадут вам операторский доступ при вводе определенного кодового слова. Именно так и произошло с популярной электронной доской объявлений Commodore 64, написанной на Бейсике.
Вы можете запрограммировать “троянскую лошадку” так, что она будет заглядывать в файл, содержащий пароли, и каким-либо образом пересылать содержащиеся в нем данные обратно к вам. Во многих BBS существует секция текстовых файлов. Можно сделать так, что ваша программа будет зашифровывать пароли, добираясь до них, а затем присоединять в конец одного из текстовых файлов. Затем вам останется только загрузиться, просмотреть файлы, взять закодированные пароли и расшифровать их. Другие люди, читая текстовые файлы в режиме онлайн, примут случайно расположенные на первый взгляд символы за помехи в линии передачи или безвредное искажение файла.
Другой способ отправить себе информацию о паролях состоит в использовании функции электронной почты BBS. Дабы избежать подозрений (системные операторы обожают читать электронную почту, которую пользователи посылают друг другу), вам следует, опять же, закодировать информацию и включить ее в какую-либо другую порцию электронной почты.
“Троянский конь” может содержать приближенную версию какой-либо ключевой части самой программы BBS. Затем “лошадка” извлекает искомый кусок и копирует его поверх легальной версии, записанной на диске.
как скрыть деятельность “Троянских коней”
Когда вы загружаете в систему программу, содержащую “троянского коня”, вам следует иметь в виду два момента:
• Вашу “лошадку” могут обнаружить в процессе ее работы.
• Ее могут обнаружить либо до, либо после прогона.
Давайте по очереди рассмотрим эти две проблемы.
во время работы
Рациональному хакеру легче избежать этой опасности, чем злонамеренному разрушителю системы. Дело в том, что, если Юнец Джо напишет программу, которая тайно переформатирует жесткий диск, в то время как лампочки жесткого диска будут непрерывно зажигаться, на экране должно происходить нечто, способное отвлечь внимание пользователя. Юнцу Джо следует с умом соорудить некий не интерактивный “тайм-киллер”, который будет развлекать пользователя на протяжении всего времени, которое понадобится для форматирования диска или для уничтожения файлов. Это может быть порнографическая картинка (возможно, дополненная цифровыми звуковыми эффектами: “О! О, детка! М-м-м...”), или цифровая музыкальная партитура; программа может также посылать графическое изображение на принтер. Между тем ваши быстродействующие “троянские кони” (“спринтеры”) будут в срочном порядке делать свое дело.
Никогда не допускайте вашу программу на жесткий диск (или любое периферийное устройство), если системный оператор не сможет увидеть причины для этого. В то время как “троянский конь” будет заниматься своим делом, на экране должно быть сообщение, дезинформирующее оператора о работе программы. Например, если “лошадка” спрятана в игре,
она должна посылать на экран сообщение вроде: “Сохранение вашего последнего счета...”, тогда как на самом деле программа будет копаться в пользовательских файлах доступа (или делать что-то еще, на ваше усмотрение). Не забудьте о том, что попутно программа действительно обязана сохранить новое количество очков пользователя, а общее время ее работы должно быть весьма кратким. Как только “троянский конь” закончит работу, программе следует стереть с экрана сообщение; это позволит убедиться в том, что работа программы с жестким диском не вызвала подозрений. Если будет возможность, сотрите сообщение с экрана посреди работы “троянского коня”, чтобы создать иллюзию очень малого времени обращения к жесткому диску.
Другой способ незаметно добраться до диска состоит в том, чтобы в начале работы программы выдать на экран нечто типа:
AutoCheck Virus Detection Program v1.3 ©opyright 1992 Paul Bradley Ascs.
Scanning file FILENAME.1 for viruses..... Scanning file FILENAME.2 for viruses...
А тем временем “троянский конь” будет “проверять” жесткий диск компьютера на пароли!
В качестве FILENAME.1, FILENAME.2 и т. д. можно вставить имена программ и файлов данных, которые были загружены вместе с приложением. Замечательным штрихом будет не мгновенное, а постепенное появление на экране скобок (...) после каждого обращения к жесткому диску, дабы создать впечатление, что программа действительно проверяет файлы на вирусы.
“Прикрыть” деятельность “троянского коня” (в соответствующих обстоятельствах) можно также с помощью сообщений типа: открытие файла данных, чтение данных, сохранение выбора перед выходом,
загрузка текста
Сообщения всегда должны соответствовать тому, что в действительности происходит в видимой части программы.
“Троянские кони”, выполняющие функции BBS (такие, как изменение паролей), должны, если возможно, делать это путем прямого доступа к диску, не используя программу BBS. Это позволит вам обойти любые защитные протоколы и распечатки подозрительных действий.
до и после
Системные операторы, администраторы систем и даже обычные пользователи стали теперь осторожнее относиться к пересылке файлов. Они, как минимум, опасаются вирусов, и изучают программы перед тем, как их использовать, более тщательно, чем когда бы то ни было раньше.
Это означает, что они будут проверять ваши подгруженные программы на вирусы с помощью сканера. Такая проверка практически неизбежна, но бояться нечего, так как существующие программы проверки на вирусы не смогут обнаружить вашего “троянского коня” ни в одном из законных файлов. Вам следует опасаться только того, что системный оператор или менеджер станет собственноручно изучать ваши подгруженные программы в поисках нецензурных слов или ошибок.
Как и в предыдущем случае, сознательным разрушителям и системным вандалам придется труднее, чем вам. У них есть текст, который им придется прятать внутри своих программ. Например, всем известен вирус, или логическая бомба, которая вопит “GOTCHA!!” (“Попался!”), когда записывается поверх таблицы размещения файлов. Существующие программы ищут в файлах именно подобные веши. Даже если у оператора не имеется соответствующей программы, но он достаточно наблюдателен, разрушительское “GOTCHA!!” будет замечено еще до того, как программа начнет работать.
Ваших “троянских коней” не придется прятать слишком тщательно. Весь текст в ваших программах будет состоять из текста, который так или иначе будет выведен на экран: текст, либо являющийся частью прикладной программы, либо текст, который исходит из программы, а на самом деле прикрывает деятельность “троянского коня”. К тому же в вашей программе не будут торчать, подобно ослиным ушам, команды типа “format с:”. Таким образом, ваша работа легче, чем у кракера, хотя далеко не является пустяком.
В вашей программе могут быть команды чтения, записи или изменения хранящихся в BBS личных файлов. Системный оператор не должен обнаружить ни таких команд, ни, тем более, имен файлов. Использовать для кодирования команд и имен шифр “на одну букву выше” нежелательно, так как существуют программы, которые сканируют файл и выводят на экран содержащийся в нем удобочитаемый текст. Если вы просто замените все буквы следующими по порядку (т.е. PASS превратится в QBTT, и т. п.), в программе все равно останется текст в закодированном виде, и
оператор может догадаться, что он означает. Лучше, если вы закодируете текст, используя цифры, символы или иностранные алфавиты.
Программа, в которую вы вставите “троянскую лошадку”, может являться не откомпилированным исходником или пакетным файлом. В этом случае, чтобы спрятать “троянских коней”, вам понадобится некоторая ловкость рук. НИКОГДА не загружайте пакетный файл просто так, в его первоначальном виде.
Представьте себе состояние системного оператора, получившего от пользователя следующее:
cd BBS\USERS
open USERINFO.TXT
read USERINFO.TXT: User#44
set systemlevel 3 == systemlevel 99
close
exit
Это не настоящая программа. Я привел ее в качестве примера наглой попытки повышения уровня доступа, которая неминуемо привлечет внимание системного оператора.
Один из способов избежать этой проблемы — заставить ведущую прикладную программу создавать пакетные файлы и другие программы, которые для этого требуются. Пакетные команды запускаются как закодированная абракадабра в прикладной программе. Требуется подпрограмма, которая открывала бы текстовый файл, расшифровывала команды, наполняла ими файл, а затем делала свое дело. Создание и использование файла могут происходить в различные промежутки времени, чтобы не удлинять время нелегального доступа к диску.
В легко читаемых источниках “троянская лошадка” также не должна стоять в самом начале или в конце листинга. Засуньте ее поглубже в программу. Добавьте комментарии, способные отвлечь внимательного читателя. И помните, если ваша прикрывающая программа будет особенно умно сделанной, системному оператору может захотеться проанализировать ее, чтобы понять, как это вы добились столь выдающихся результатов! Это означает, что прикрывающая программа может оказаться объектом пристального внимания, и вашего “троянского коня” могут случайно обнаружить.
После использования “троянского коня” программа должна его уничтожить, т. е. последние несколько действий “троянского коня” должны стираться из программы.
Стереть прикладную программу, а вместе с ней и “троянского коня”, может и сам системный оператор. Это может оказаться сложным — заставить системного оператора стереть все загруженные вами файлы, не вызывая никаких подозрений. Способ заключается в следующем: прикладная программа должна являться чем-то уже имеющимся у оператора, или чем-то похожим на его версию, но похуже.
Вы можете даже просто послать системному оператору письмо по электронной почте, в котором сообщите, что обнаружили в программе потенциально опасную ошибку, а “в случае, если вы решите уничтожить ее, я вышлю вам исправленную версию”.
Так можно поступать только в случае, если прикладная программа, которую вы послали, откомпилирована, иначе системный оператор сможет и сам устранить ошибку (уж он-то устранит!)
Встречаются операторы-параноики, которые пересылают все подгруженные файлы на другой компьютер, прежде чем запустить их. Могут также быть установлены иные, чем вы ожидали, директории, или сама BBS может загружать файлы не на жесткий диск, а на гибкий. Помните об этом, когда будете создавать свою программу, чтобы ваша “троянская лошадка” срабатывала лишь тогда, когда компьютер установлен так, как предполагалось. Таким образом, она будет запускаться, только получив доступ к файлам с паролями, или для чего вы там ее предназначите. Это необходимо также потому, что, если ваша прикладная программа окажется достаточно качественной, системный оператор сделает ее доступной для загрузки другими пользователями.
“сделай сам”: пять узелков на память
Мы с вами уже говорили о хакерских BBS. Что, если вы будете усердно искать подходящую BBS, чтобы приобретать знания и делиться информацией, но ваши поиски не увенчаются успехом? Вы можете создать собственную BBS, полностью отвечающую вашим потребностям. Раздобудьте подходящее программное обеспечение, соберите самых верных друзей — и установите собственную электронную доску объявлений! Запуск собственной системы означает, что отныне вам не придется особенно много работать на своем домашнем компьютере и использовать свою телефонную линию. Это не станет проблемой, если вы занимались исключительно хакерством, поскольку теперь ваши возможности значительно расширятся благодаря использованию лап-топов и т. п. Но вы, скорее всего, используете свой компьютер и в других целях: играете, набираете тексты, программируете, а также легально пользуетесь модемом. Не забывайте об этом, прежде чем загоритесь идеей создания собственной BBS.
Один из способов обойти данную проблему — а вместе с ней и многие другие проблемы, которые возникают при установке BBS — применить ваши хакерские способности и взломать какой-либо мэйнфрэйм, находящийся далеко от вашего дома, а затем использовать его для установки вашей электронной доски объявлений.
Где бы вы ни решили установить вашу систему, вам понадобится фальшивый фасад, чтобы система выглядела легальной, и обратная сторона, заключающая в себе закрытую область только для избранных хакеров. Приглашайте в этот круг только тех, кого вы знаете как разумных и достойных доверия хакеров, а остальную часть доски пусть использует, кто захочет.
Я видел, как создавались просто фантастические BBS, которые кончали весьма плачевно. И видел средненькие BBS, которые быстро зарекомендовали себя самым лучшим образом. Что до хакерских BBS, вам не придется испытать значительного взлета, поскольку хакерские BBS редко занимаются саморекламой — в конце концов, вы же не хотите, чтобы в вашу BBS входил кто попало. Но вам все же захочется привлечь и удержать новых пользователей — кто знает, вдруг они окажутся именно теми, кого вам хотелось бы в личном порядке пригласить в ваш секретный “уголок хакера”, к вашему взаимному удовольствию?
Стратегия привлечения и удержания новых пользователей заключается в том, чтобы установить, подключить и не выключать вашу BBS. Многие неопытные системные операторы, взволнованные перспективой запуска своей собственной системы, постоянно отключают свои BBS от линии и производят в них усовершенствования. Не делайте этого! Если кто-то захочет сделать вызов, и ваш компьютер не ответит, повторного вызова он уже не сделает.
Рекламируйте вашу BBS на других BBS, членов которых вы хотели бы видеть и у себя.
Пусть члены вашей BBS проводят разведку, пытаясь обнаружить подпольные хакерские BBS. Вы сможете приобрести полезную информацию для обмена, а может вам повезет и вы обнаружите хакера, достойного принятия в ваш клуб.
Прежде чем допустить незнакомого хакера в потайную область ваших хакерских “под-досок”, вы должны не раз и не два удостовериться в том, что он или она не является полицейским. Настоящие хакерские BBS устанавливают для новых членов настоящий обряд инициации, включающий рекомендации от уважаемых хакеров, полное раскрытие хакером личной информации, которую можно проверить, и автобиография с подробным описанием достижений и того, что хакер может дать группе.
Не окажитесь в дураках! Убедитесь, что тот, кто называет себя хакером, не является на деле агентом ФБР — проверьте величину его кредита, данные телефонной компании и участие в других компьютерных системах. Вам следует призвать на помощь все свои хакерские способности, чтобы убедиться, что данная вам личная информация соответствует реальной личности. Это вовсе не паранойя, а здравый смысл. Очень многие хакеры были обмануты самозванцами. Безопаснее всего вообще не принимать в вашу BBS новых членов; но это не лучший выход, поскольку таким образом вы теряете громадное количество информации.
Можно весьма приятно провести время, изучая электронные доски. Это поможет вам отточить ваше умение и очень многому вас научит. BBS так бесконечно много, что хакер может обнаружить, что дни и ночи просиживает, соединяясь с ними, не испытывая удовольствия от настоящего взлома. Учитывая всю опасность занятий хакерством, это не самый худший вариант.
В следующей главе мы еще рассмотрим способы, с помощью которых хакер может уйти от закона. А теперь давайте вернемся к хакерству — все самое полезное и интересное впереди!
Что греховно, а что нет
Глава 9. Что греховно, а что нет
— Балаганов, — представился рыжеволосый. — Шура Балаганов.
— О профессии не спрашиваю, — учтиво сказал Бешер, — но догадываюсь. Вероятно, что-нибудь интеллектуальное? Судимостей за этот гол много?
— Две, — свободно ответил Балаганов.
— Вот это нехорошо. Почему вы пролаете бессмертную душу? Человек не должен судиться. Это пошлое занятие. Я имею в виду кражи. Не говоря уже о том, что воровать грешно, — мама, вероятно, познакомила вас в детстве с такой доктриной, — это к тому же бесцельная трата сил и энергии.
И. Ильф, Е. Петров. Золотой теленок.
Я хочу поговорить о некоторых не хакерских методах разрешения хакерских проблем. Бывают случаи, когда по какой-то причине хакеру требуется совершить взлом за какой-то определенный короткий промежуток времени. В таких ситуациях обычные методы, занимающие много времени, не годятся, и тогда приходится прибегать к крайним мерам. По большей части речь идет о хакерстве как профессии, и я чувствую необходимость рассказать здесь об этом, поскольку в последнее время в мире хакеров стало модным работать “хакером по найму”.
хакерство по найму
Некоторые хакеры “перевоспитываются”, становясь консультантами по компьютерной безопасности в корпорациях и правительстве. Такие “перебежчики” подвергаются нападкам с двух сторон. Хакеры говорят: “Как вы смеете так поступать с нами!” (Возражение: “Настоящие хакеры не станут выдвигать
такие обвинения. Настоящий Хакер получает удовольствие, пытаясь перехитрить другого хакера и не дать ему пробить брешь в компьютерной защите”. Законопослушные граждане тоже недовольны:
“Раньше ему нельзя было доверять, почему же мы должны верить ему теперь?”, или: “Если вы знаете, как взломать систему, это еще не означает, что вы знаете, как защитить ее от взломщиков”. Это достаточно разумные доводы.
Если у вас есть желание заняться этим делом, знайте — вы не одиноки. Компании платили по 20 000$ и более хакерам, которые соглашались попытаться проникнуть в их компьютеры.
“Команды тигров” (“Tiger teams”) — так называют группы хакеров, а порой и хакеров-одиночек, которых нанимают организации для проверки своей компьютерной зашиты на прочность. Если вы решили избрать этот путь, вам придется создать себе репутацию профессионала, которому можно доверять. Вы должны будете доказать, что вы компетентный хакер, но не следует давать понять, что в вас живет бунтарский дух.
Помните, что компьютеры подвергаются опасности не только со стороны кракеров. Существуют вирусы, неподходящие для компьютеров условия, растяпы-сотрудники и другие беды, способные отправить на дно самый непотопляемый корабль. Предупреждая владельцев компьютеров о возможных неприятностях, вы завоюете себе исключительное уважение и рекомендации для других нанимателей.
Что касается критики со стороны “защитников закона”, важно предлагать средства для ликвидации любых прорех в компьютерной защите, которые вы обнаружите в ходе своих исследований. Вы — хакер, а значит, знаете хакерский способ мышления. Вам известно, что у них на уме, известны их методы, следовательно, вы действительно имеете основания давать рекомендации по защите систем от вторжения. Объясните своему работодателю, почему для него очень важно следовать всем вашим советам. Сообщите, как вы проникли в систему, какие слабые места обнаружили, расскажите о потенциальных недостатках, которые могут повлечь за собой неприятности в будущем.
Подходящими клиентами могут стать также частные лица, которые обеспокоены неприкосновенностью информации, хранящейся в их базах данных. Хакеров нанимали для изменения телефонных номеров, поиска отсутствующих в каталогах номеров и адресов, перемещения файлов, просмотра лицензированных данных, изменения учебных уровней и т. д. Взлом компьютеров предприятий по договору с этими же предприятиями — абсолютно законное занятие, но, помогая людям проникать в файлы данных и даже изменять их, вы нарушаете закон. Отсюда следует, что выбирать тех, с кем вы будете иметь дело, и раскрывать им свои личные данные надо весьма осторожно.
Хакерство — это хобби. Если же за него вам начинают платить, перед вами встает вопрос: что, если вы не сумеете выполнить работу?
Конечно же, для Супер-Хакера вроде вас не бывает никаких преград; но порой поджимают сроки, или возникают непредвиденные трудности, и система, в начале выглядевшая такой хрупкой, вырастает в громадного непробиваемого монстра, преодолеть которого вы не в силах. Тогда-то и начинается игра не по правилам. Надеюсь, вам не придется прибегать к этим не хакерским методам. С другой стороны, если настал момент, когда вы должны выбирать — либо опустить руки, либо закончить работу с помощью нетрадиционных способов, лучше выбрать последнее, дабы не запятнать своей репутации.
Кроме того, к чему ограничивать себя чисто хакерской техникой, в то время как куча взломщиков не постесняется использовать эти нестандартные методы, захоти они проникнуть в систему? Если компания платит вам за то, чтобы вы остановили взломщиков, вам следует проверить, не сработают ли грубые приемы, широко распространенные среди жаждущих получить доступ к компьютеру не-хакеров. Более того, вы обязаны таким образом проверить на прочность систему, за безопасность которой вам платят.
ГРЯЗНЫЕ уловки
Я называю эти уловки грязными, поскольку такие веши присуши лишь грубым дилетантам. Эта “техника” — как раз для не хакеров. Скажу больше: такие веши присуши только тем, кто вообще не является компьютерным пользователем! Под “компьютерными пользователями” я подразумеваю тех, кто использует компьютеры потому, что им этого хочется, а не по необходимости.
Зачастую эти уловки используются для совершения грабежа или шпионажа — областей, которые имеют отношение к настоящему хакерству лишь постольку, поскольку имеют отношение к компьютерам. Настоящий хакер должен знать о существовании этих уловок, но прибегать к ним только в последнюю очередь, и только тогда, когда у него имеются серьезные причины для совершения взлома.
взятки
Возможно, не стоит давать взятку самому администратору системы, но, возможно, найдется некто рангом пониже, тоже обладающий “наивысшим доступом”, кто захочет за определенную плату одарить тем же доступом вас.
Лучше использовать взятки для получения доступа к системе, чем подкупать человека, чтобы тот выполнил за вас компьютерную задачу. В конце концов, вы же не хотите втягивать его в свои дела; если вы занимаетесь шпионажем посредством компьютера, то вам меньше всего нужен сотрудник компании, знающий о ваших занятиях.
Используйте взятки либо для получения доступа к бюджету того, кому вы даете взятку, либо к только что созданному бюджету привилегированного пользователя. В последнем случае входите в систему только в отсутствие того, кому вы дали взятку, чтобы тот не захотел из любопытства посмотреть, чем вы занимаетесь.
плохое отношение
Это не совсем “грязная уловка”, но что-то вроде этого. Если вам удастся найти сотрудника, особенно программиста, который зол на компанию, а может, даже собирается увольняться, — считайте, что дело сделано. Используйте его или ее обиду на компанию против компании. Напомните ему, как нехорошо компания поступила с ним, что его работу не оценивали должным образом, постоянно отдавая предпочтение другим. Не вдаваясь в подробности, сообщите, что вы хотите помочь ему отомстить компании. Конечно, такие веши недостойны хакера, но если вам удастся привлечь на свою сторону оскорбленного сотрудника, он-то и понесет ответственность за ваши хакерские дела (да, временами я бываю жесток, знаю).
В любом случае, сотрудники, которые ищут лучшей доли, или те, кому опротивели их начальники, являются богатейшим источником закрытой информации, включая профессиональный жаргон компании, телефонные директории, процедуры и стратегию. И, разумеется, пароли.
Если вашей целью является система с наивысшей степенью зашиты, ваша последняя надежда — обзавестись другом, работающим в данной организации. Но бывший сотрудник будет рассержен тем, что его использовали. Если вы услышите о сотруднике, который собирается увольняться, или которого собираются уволить, — используйте эту возможность для сбора необходимых вам данных. Ведь компьютерные бюджеты будут существовать еще долго после того, как сотрудник покинет компанию.После того, как это произойдет, ему станет все равно, используете вы его пароль, или нет.
Что делать, когда вы внутри
Глава 10. Что делать, когда вы внутри
Остап вдруг опечалился. Стало ему немного скучно, как Роальлу Амундсену, когда он, пронесясь в дирижабле "Норге” над Северным полюсом, к которому пробирался всю жизнь, без воодушевления сказал своим спутникам: *Ну, вот мы и прилетели”. Тайна раскрыта, цель достигнута, делать больше нечего, и надо менять профессию.
И. Ильф., Е. Петров. Золотой теленок.
Кажется, все получилось. Вы вошли в систему, вы внутри. Замечательно! Оглядитесь вокруг! Конечно же, именно этим вы и займетесь, когда проникнете в систему и мысленно похлопаете себя по плечу. Но что дальше? Чтобы ответить на этот вопрос, мы должны еще раз обдумать наши цели и намерения.
вернемся к хакерским мотивациям
Мотивами настоящего хакера являются его желание учиться, познавать, и применять свои хитрости с умом и безопасно.
Остальные, также использующие хакерские уловки, могут делать это или потому, что им хочется научиться секретам своего конкурента; или потому, что они хотят узнать, почему им постоянно недоплачивают; либо для того, чтобы с умом перехитрить компанию или частное лицо, которые что-то задолжали им, и таким образом осуществить свою месть.
Итак, что мы понимаем пол словом “хакер”? Свободомыслящего компьютерного энтузиаста, затем — промышленного шпиона, политико-промышленного шпиона, кракера-мстителя и, наконец, хакера по найму. Все вышеупомянутые взломщики при совершении взлома в основном добиваются получения низкого уровня доступа. Так происходит потому, что бюджеты с низкой степенью зашиты превалируют, а многие хакерские хитрости рассчитаны на наивных пользователей, которым обычно и принадлежат бюджета низкого уровня.
Хакерам по найму и хакерам-шпионам приходится ориентироваться на конкретные компьютеры, а порой и на конкретных людей. Они либо ищут определенную комбинацию имя, пароль, либо добиваются любого доступа с уровнем, достаточно высоким для получения тайного доступа в бюджет их “мишени”.
Вандалы и хакеры-мстители, само собой, стремятся к получению более высокого уровня доступа, чем тот, который им удалось получить при взломе, но при отсутствии достаточной сноровки они, скорее всего, изберут тактику внезапной стремительной атаки с последующим отступлением.
Это означает, что их вполне устроит взлом под любым паролем и причинение возможно большего вреда; после этого они ретируются, отправив по электронной почте ядовитое послание. Они могут атаковать снова и снова, до тех пор, пока их не арестуют, либо выставят из системы навсегда. Такие “хакеры”, скорее всего, удовлетворятся добытым низким уровнем доступа, чтобы делать свое дело. Но уж если они обладают определенными навыками, или компьютерным “ноу-хау” —тогда берегись!
Настоящий хакер необязательно доводит свой взлом до самого конца. Ему или ей может показаться, что не стоит расходовать свои силы, чтобы повысить свой уровень системного доступа. Это вовсе не сдача своих позиций, а всего лишь практичный взгляд на веши. Если искомая информация незначительна, или ее можно добыть и другим способом, незачем тратить время на ее получение. Хакер может также не настолько хорошо знать данный компьютер, или работающих на нем пользователей, или операционную систему, чтобы чувствовать себя способным достичь наивысшего уровня доступа. Это естественное и разумное чувство; если хакер сознает, что он в чем-то не дотягивает, он вполне может остановиться, чтобы подзубрить то, в чем пока несведущ. Если происходит нечто подобное, то, возможно, хакеру достаточно лишь провести дополнительные исследования, чтобы снова напасть на след, ведущий к статусу привилегированного пользователя. Вот что сказал об этом хакер по прозвищу “Умник”: “Я знаю, что компьютер от меня никуда не денется. Мне нравится взламывать, но и проводить исследования я тоже не прочь. Иногда я чувствую, что исследования, которые могут помочь мне войти в бюджет — работу с книгами, или социальную инженерию, — лучше отложить на потом, а сейчас пора заняться НАСТОЯЩИМИ исследованиями компьютера”.
Войдя в систему, хакер получает возможность не только повышать свой системный статус. Он может также:
— Читать доступные документы и запускать программы.
— Загружать файлы.
—Довести до сведения системного администратора данные о наличии изъянов в обеспечении безопасности.
— Изучать коммуникационно-вычислительное оборудование.
— Проверить, не соединен ли данный компьютер с другими.
— Покидая систему, каким-либо образом прикрыть свое отступление.
— А еще можно просто выйти из системы и никогда больше в нее не возвращаться.
Если вы приняли решение раздобыть какие-либо данные, которые, по вашему мнению, могут обладать определенной ценностью, вы можете захотеть продать эти данные, а на вырученные деньги сделать очередное компьютерное приобретение. Я настоятельно рекомендую никогда не поступать подобным образом. Профессия шпиона всегда сопряжена с серьезной опасностью. Вдобавок такие действия способствуют падению имиджа хакеров в глазах общественности, и в отдаленном будущем могут повлечь за собой весьма неприятные последствия для хакеров вообще, а в ближайшем будущем —для вас лично (если вас поймают).
Хотя большинство законников и офицеров безопасности со мной не согласится, я уверен в том, что простой просмотр файлов системы, без вмешательства в процесс ее работы, вряд ли может кому бы то ни было повредить. Во всяком случае, чтение личных данных — не большее преступление, чем сам взлом. Вам следует установить для себя определенный “кодекс чести”, и я искренне надеюсь, что он будет основан на хакерском кодексе чести, о котором идет речь и в начале, и в конце этой книги.
Немедленный выход из системы с тем, чтобы никогда в нее не возвращаться, — поступок, характеризующий сумасшедших хакеров-фанатиков. Я не могу понять, как можно морально оправдывать сам взлом системы, в то же время открещиваясь от входа в нее. Мне кажется, что хакеры, которые отсоединяются от системы, не входя с ней во взаимодействие, поступают так либо потому, что для них имеет значение лишь сам факт взлома, либо потому, что они панически боятся всего нового.
Все другие возможности, о которых я упомянул, — повышение статуса, помошь системным операторам, изучение — предполагают различные степени знакомства со взломанной системой. Давайте поговорим о том, где вы оказались, и чем вам следует заняться, войдя во взломанную систему.
Начнем с того, что взломанный вами бюджет может являться бюджетом отдельного пользователя, групповым, корневым, или “специальным” бюджетом.
Если вы вошли в главный (корневой) бюджет — примите мои поздравления! Теперь вы можете делать все, что захотите. Это бюджет системного администратора, или одного из системных администраторов (его называют также бюджетом аватара, божественным бюджетом, администраторским бюджетом, бюджетом привилегированного пользователя, бюджетом полубога, бюджетом “сисопа” и т. д.)
“Групповой бюджет” принадлежит сразу многим людям. Он может вводиться, например, в отделе, где каждый из сотрудников входит в систему с помощью одной и той же комбинации имя, пароль. Иногда определенные пользователи имеют внутри него отдельный собственный бюджет. Так, многие компании устанавливают ограниченные бюджеты для секретарей, временных сотрудников и т. п. Групповые бюджеты бытуют и там, где доступ к терминалам имеют несколько человек, которые обладают различными уровнями защищенности. В данном случае изучать базу данных могут все пользователи, но вносят в нее изменения только те, кто входит под определенным паролем.
“Специальные бюджеты” включают в себя гостевые или демонстрационные бюджеты, которые дают пользователю возможность сделать краткий обзор, прежде чем воспользоваться услугами системы. Это могут быть и проверочные бюджеты, установленные системными программистами. Специальные бюджегы могут также, в учебных и других целях, давать доступ прямо к программе, минуя приглашение операционной системы. Если вы решили взломать специальный бюджет, вам придется нелегально выходить из него в операционную систему, чтобы повысить свой уровень доступа. В любом случае, прежде чем действовать, вы должны выяснить, какой у вас доступ, какими правами вы обладаете, и каким образом лучше их использовать. Возможно, вам понадобится специальная информация о машине и ее программном обеспечении. Но есть одна малюсенькая штуковина, которую вы должны знать назубок. Я уже дважды упоминал о ней — это операционная система.
операционная система
Забудьте все, что вы знаете о компьютерах, и давайте начнем с самого начала.
Допустим, у вас есть компьютер, предназначенный только для одной функции. Например, на нем можно играть в игру. Когда вы включаете такой одноцелевой компьютер, игра автоматически запускается, а больше этот компьютер делать ничего не может.
Теперь давайте дадим этому компьютеру еще одну функцию. Пусть на нашем компьютере теперь можно будет не только играть, но и использовать текстовый процессор. Таким образом, мы будем иметь двухзадачный компьютер.
Что произойдет при включении такого компьютера? Может быть, запустится игра? Да нет — а вдруг мы включили его, чтобы поработать с текстовым процессором? Как видите, теперь нам приходится делать выбор. При включении компьютера потребуется каким-то образом сообщить компьютеру, что нам нужно — игра или текстовый процессор. Как же дать компьютеру знать, что именно нам необходимо?
Конечно, можно сделать два разных переключателя — левый для запуска игры, а правый — для текстового процессора. Идея неплоха, но только на время. Вдруг мы захотим добавить третью функцию? Четвертую? Нельзя же все время добавлять все новые переключатели?
Вместо добавления аппаратных переключателей я добавляю третью программу — программный переключатель. Такая программа называется операционной системой (ОС) и автоматически запускается при включении компьютера.
Операционная система — это программа, которая и позволяет сделать выбор между игрой и текстовым процессором. Например, при запуске она будет выдавать на экран окно: “Какая программа?”, на которое следует ответить: “Игра”, или “Текстовый процессор”.
Как вам известно, практически то же самое и происходит в реальных ОС. Когда компьютеры только зарождались, и могли выполнять только запуск считанного количества программ, управляющее программное обеспечение называлось “монитором”. Затем, когда компьютеры усложнились, понадобилось управлять множеством пользователей, большим количеством периферийных устройств, безопасностью и хитросплетением программных функций, монитор превратился во всеобъемлющую программу, которая могла делать намного больше, чем просто давать пользователю возможность выбора между несколькими программами.
Таким образом, сейчас для обозначения этой сложной программы используется термин “операционная система”.
ОС управляют работой всего компьютера: контролируют распределение ресурсов, использование памяти, запуск программ. Когда вы разберетесь в этой абсолютной программе, то поймете, что представляет собой управление компьютером.
Вот некоторые из операционных систем, с которыми вы, вероятно, столкнетесь: UNIX, MS-DOS или PC-DOS (на IBM-совместимых), PRIMOS, RSTS (на PDP-11) и VMS. В последнее время вместе с компьютерами нового поколения все большее распространение получили Windows (Windows 3.11 или Windows 95) — капризные и “навороченные” графические оболочки, которые, тем не менее, дают знающему человеку почти неограниченный простор для всевозможных забав.
Вам необходимо разбираться в ОС, поскольку:
1. Если вы не будете знать команд и синтаксиса, вы не сможете заставить компьютер работать на себя.
Когда вы разберетесь в ОС, то сможете обнаружить ее недостатки, а значит, прорехи в компьютерной защите.
Вам необходимо ознакомиться с ограничениями ОС.
4. Разобравшись в ОС, вы узнаете, каким образом компьютерные менеджеры станут вас ловить, выслеживать и не давать вернуться обратно.
Из этого следует, что, если вы хотите стать НАСТОЯЩИМ ХАКЕРОМ, вы должны кое-что знать о компьютерах. Если вы хотите управлять компьютером, вы должны уметь приручать системное программное обеспечение, а в первую очередь — операционную систему.
Конечно, можно обходиться и социальными методами, время от времени добавляя чуточку программирования то тут, то там; однако нельзя обойти тот факт, что настоящее хакерство предполагает настоящие знания. Я имею в виду знания, полученные САМОСТОЯТЕЛЬНО. Так что вам придется засесть за учебу.
Вас это пугает? Тогда, возможно, вы не совсем понимаете, что такое быть настоящим хакером.
Теоретически возможно взломать любую компьютерную систему. И хороший хакер способен взломать большинство систем. Еще более хороший хакер может взломать их все. А самый лучший хакер может не только проникнуть в любой компьютер, но, оказавшись внутри, еще и сделает кое-что для того, чтобы взлом не оказался напрасным.
Одно дело — просто проникнуть в базу данных, и другое — суметь так изменить записи в этой базе, чтобы вас не поймали за руку.
Чтобы стать самым лучшим хакером, необходимо знать основные команды ОС — как работать с файлами, посылать и получать почту и т. д. Хакер также должен знать малоизвестные команды, а также файлы, программы и директории, обычно встречающиеся в машинах под управлением данной ОС, изучить руководства по ОС и ее язык; знать, кто и как использует ОС, и разбираться в сообщениях об ошибках.
Но мы еще не добрались до самого сложного. Видите ли, все вышесказанное является лишь надводной частью айсберга. Ведь вся эта информация является вполне доступной и ее можно найти в справочниках и руководствах. Хакеру же необходимо знать секретную часть ОС, которой нет в руководствах, а если и есть, то она описывается настолько техническим и туманным языком, что понять ее способны лишь немногие. Списки “основных ве-шей, которые необходимо знать хакеру” посвящены тому, что такое ОС и что она делает, но хакер — чтобы успешно входить в любую систему, которая ему или ей понравится, и уметь ею пользоваться — должен знать, КАК она работает, и почему она работает именно так.
Операционные системы настолько огромны, что просто невозможно толком проверить их, дабы ликвидировать все малейшие дефекты. Порой компьютерные менеджеры изменяют ОС, включая в них свойства или функции, которые им понравятся, и тем самым создают лазейки в системной зашите. Иногда мульти программисты, работающие над различными частями ОС, даже не советуются между собой по жизненно важным аспектам, что в конечном итоге может привести к системному конфликту, когда эти программные блоки соединяются друг с другом.
Случайный пользователь не помнит о возможных нарушениях компьютерной зашиты. Хакер тоже может не помнить о них; но, если он обладает фундаментальными знаниями ОС, которая лежит в основе всех этих нарушений, то сможет, подумав, обнаружить лазейки и использовать их. В данной книге я не собираюсь углубляться в изучение технических аспектов каждой операционной системы, да настоящим хакерам это и не нужно.
Найдите любую ОС, с которой сможете ознакомиться. Изучите основные команды и узнайте, как они запрограммированы. Вычислите способы, с помощью которых можно сымитировать команду, не набирая ее непосредственно в ответ на приглашение ОС. Что происходит с памятью при использовании команды? Можно ли изменить память? Вот такие веши важны для хакера, который хочет, чтобы его заветные мечты стали реальностью.
В оставшейся части этой главы приведены примеры подобных технически ориентированных ха-керских методов. Причина проста и неоспорима:
ничто хорошее в этой жизни не дается даром. Вам придется немало поработать, чтобы вершить великие дела, попав в систему. Конечно, никто не мешает просто изучать определенные веши, только когда приспичит, — например, какой-нибудь командный язык, или метод работы прикладной программы. Но, не обладая знаниями об основных принципах работы ОС, вы станете совершать свои взломы вслепую, и все особенности и дефекты системы пройдут мимо вашего внимания, как и любого обычного пользователя.
А теперь давайте вернемся к началу главы: что же все-таки делать после того, как вы окажетесь внутри?
оглядитесь ВОКРУГ
Что можно обнаружить, взломав систему или сеть? Да что угодно!
Там могут быть файлы для чтения, программы, которые можно запустить, пути соединения одного компьютера с другими, или одной сети с другими сетями.
Поищите резервные файлы или файлы с автоматическим сохранением через определенный промежуток времени. Некоторые текстовые редакторы оставляют подобные файлы, которые может прочесть каждый, кто на них наткнется, и, если системный администратор недавно редактировал с помощью такого редактора файл, содержащий ценную информацию, например, файл с паролями, значит, вам повезло. Электронная почта тоже не всегда уничтожается автоматически, а скапливается в файлах на диске (возможно, спрятанных). Уничтоженные недавно файлы порой могут не уничтожаться немедленно, а становиться спрятанными, или переноситься в специальную директорию.
Вы можете обнаружить журналы регистрации.
При загрузке неопытные пользователи часто набирают пароли в окне приглашения к вводу имени, и в журналах встречаются сообщения о подобных ошибках. Например, если Джордж Вашингтон пытается войти в свой бюджет в UNIX, используя свой пароль “cherrytree”, но набирает его слишком поспешно, происходит следующее:
WashingtonUs [Enter] ername:cherrytree [Enter] Password:
Джордж соображает, что поторопился. Он напечатал свое имя еще до того, как появилось входное приглашение, и его пароль, отнюдь не в виде звездочек, появился в строке пользовательского имени. Он несколько раз нажимает [Enter], чтобы очистить экран, но ошибка-то уже сделана. Где-то в административных директориях появился регистрационный файл следующего содержания:
Unsuccessful login of user cherrytree @ Tue, Mar 24,1992, 14:16:03
Теперь вам остается только перебрать различных пользователей системы, пока вы не найдете того, кому принадлежит этот пароль.
Журналы системных операторов иногда содержат также записи отосланных и полученных файлов, ошибки, явившиеся результатом ввода несанкционированных команд, новых бюджетов или очередных пользователей, получивших статус привилегированного пользователя.
Если говорить о безопасности, первое, что вы должны сделать, загрузившись в чей-либо бюджет, — сразу же постараться узнать, кому он принадлежит (если вы еще не знаете этого). При загрузке вам, скорее всего, будет выдано сообщение о том, когда произошло последнее обращение к бюджету, и, возможно, данные о том, откуда пользователь устанавливал связь.
Если легальный пользователь, бюджет которого вы взломали, только что загружался сам, у вас могут возникнуть проблемы. Заметьте, в какое время дня пользователь входил в бюджет, и сами постарайтесь входить в это же время. Постарайтесь войти в бюджет одновременно с двух разных компьютеров — не появится ли на втором компьютере сообщение об ошибке. Можете ли вы распознать присутствие в бюджете вашего “конкурента”? Вам необходимо узнать обо воем этом, поскольку вам необходимо иметь возможность использовать бюджет, не вызывая подозрений со стороны его владельца.
Например, произошло так, что вы загрузились в бюджет, а в тоже время легальный пользователь, пытаясь сделать то же самое, получает сообщение:
“Пользователь такой-то уже установил связь через вход 11 б”. Вы не сможете узнать, что это произошло, но вы можете подготовиться к такому случаю. Пошлите настоящему пользователю сообщение якобы от системного менеджера, и оставьте не прочтенным. Когда настоящий владелец бюджета войдет в систему, его будет ждать нечто вроде:
Message #01
From 1513 SuperUser
То Al-l.USERS@calli.poo.mil
В подразделе группы С системы локальной сети произошла техническая неполадка, что привело к проблемам с работой нескольких из наших схем соединительных портов. Если во время загрузки вы получите сообщение о том, что вы уже вошли в систему, просим вас повторить свой вызов через несколько минут.
Мы приносим свои извинения по поводу возникших проблем и постараемся устранить неисправность как можно скорее, но наладка займет некоторое время. Нам пришлось выбирать между временными неудобствами и полным выключением системы. Мы надеемся, вы согласитесь, что лучше иметь систему с временными недостатками, чем не иметь системы вообще.
Мы ожидаем, что проблема будет решена к 3 марта. Спасибо за сотрудничество.
Пользователи часто хранят в своей директории личные ретроспективные журналы регистрации. Это могут быть ретроспективные отчеты о вводе команд, чтении новостей из определенных групп, передаче или уничтожении файлов. Из них вы сможете узнать, когда и как пользователь работает в системе, а также уровень его пользовательской компетентности.
Если взломанный вами бюджет используется нечасто, можете особенно не опасаться его настоящего владельца — разве что системный менеджер заподозрит неладное, заметив внезапно повысившуюся активность загрузки в бюджет, который никогда не отличался “посещаемостью”.
Но, с другой стороны, если обладатель бюджета работает в нем, как говорится, днем и ночью, вам следует опасаться его больше, чем системного оператора, который вряд ли распознает ваши сеансы входа среди множества других.
какие команды следует искать и использовать
Большинство ОС снабжены обширной помощью онлайн. В UNIX, чтобы посмотреть страницу помощи для определенной команды, следует набрать “man” (имя команды). Набрав “apropos” (слово), вы сможете просмотреть список команд, связанных с тем словом, которое вы зададите. Так, “apropos password” перечислит вам все команды, программы и переменные, которые имеют хоть какое-то отношение к паролям. А с помощью “man” (имя команды) вы сможете узнать, что означает каждая из этих команд.
В машинах TOPS можно набрать “help” или “help commandname” для получения информации онлайн.
Команды процесса сообщают о том, что происходит в системе и кто в ней работает. В UNIX команда “ps —
f” позволяет узнать, как работают на компьютере другие пользователи. Используя эти команды, вы поймете, какие из опций вам доступны. Вы также сможете выяснить, какие пользователи обладают доступом к другим компьютерам, если они соединялись с этими компьютерами с того же компьютера, за которым сидите вы. Если вам очень повезет, вы можете обнаружить в списке процессов шифровальный ключ, который может находиться там непродолжительное время перед тем, как шифровальная программа уберег его оттуда. Если некто набрал что-то вроде “crypt key < filename”, то вся команда, в том числе и ключ, появится в листинге. К сожалению, шифровальная программа стирает ключ из листинга, когда ключ задействуегся, но на непродолжительный период ключ становится общедоступен, и его может увидеть кто угодно. Такие случаи вам поможет обнаружить программа-“даемон” (см. глоссарий).
Соединяться с другими компьютерами позволяет программа “Telnet”. Я уже упоминал, что взломанный вами бюджет, скорее всего, является бюджетом низкого уровня доступа. У хакеров есть причина заниматься сначала бюджетами обычных пользователей:
им необходимо безопасное место, откуда можно совершать НАСТОЯЩИЕ взломы. Находясь в бюджете с низким уровнем, вы сможете делать все то, что никогда не стали бы делать, находясь в своем собственном бюджете, например, соединиться с помошыо “Telnet” с компьютерами Пентагона и начать атаку методом перебора.
В UNIX имеется также команда “cu” (Call Up), которая дает возможность пользователю вызвать определенный телефонный номер.
Вызов одного компьютера с другого позволяет хакеру избежать выслеживания. Это также хорошее практическое решение проблемы связи с определенным компьютером, так как некоторые компьютеры можно вызвать только из других сетей.
протокол передачи Файлов (FTP)
FTP — это программа, которая позволяет копировать файлы с одного компьютера на другой (соединенный с ним обычно посредством Интернет), и наоборот. Непосредственным пользователям BITNET приходится вместо FTP использовать для передачи файлов электронную почту.
Чтобы запустить программу, следует набрать “ftp”; затем можно ввести адрес любого компьютера и попытаться с ним связаться. У вас запросят имя пользователя и пароль. Зачастую на компьютерах предлагаются также анонимные FTP-директории: для получения доступа к текстовым файлам и программам, которые сделал доступными местный администратор, можно загружаться под именем “anonymous”.
Входящая директория в анонимных FTP, как правило, установлена с разрешением на запись и использование, но не на чтение. Пользователи могут загружать файлы, которые они хотят использовать совместно с другими пользователями, без ведома последних. Системный оператор определяет, какие файлы можно сделать общедоступными.
Распространенный недостаток анонимных FTP состоит в том, что в их бюджете часто размешаются две вспомогательные директории “etc.” и “bin”. Если они не защищены от записи, любой пользователь имеет возможность загрузить свои собственные враждебные версии системных программ и пакетов.
игры
На взломанном вами компьютере могут оказаться Xtrek иди Empire, и любые другие многопользовательские игры для режима онлайн, особенно, если компьютер стоит в колледже. Так как игры являются многопользовательскими, для входа в них необходим пароль, но такие пароли не столь уж секретны, и часто хранятся в обычных текстовых файлах. Просмотрите эти файлы — пользователи могут применять одни и те же пароли везде, где у них имеется доступ.
сеть пользователей (USENET)
USENET представляет собой то же самое по отношению к локальным BBS, что и Тадж-Махал по отношению к муравейникам.
USENET — это BBS Интернет, которая управляет тысячами конференций. USENET — не просто “компьютерная” доска объявлений. В ней есть разделы, в которых можно разговаривать о программном и аппаратном обеспечении, вирусах, хакерах, индивидуальных операционных системах, принтерах, и об электронных таблицах, и об этике, и ... дополните список сами. Каждая область называется группой новостей (newsgroup) или конференцией. Существуют конференции, посвященные музыке, автомобилям, сексу, преступлениям, парашютизму, книгам, телевидению и многому другому — с ума сойдешь, пока перечислишь все эти темы.
Некоторые конференции подвергаются специальному цензурированию. Имеется в виду, что некая контролирующая организация просматривает их и решает, каким из них дать экранное время. Большинство групп не просматривается таким образом, и является общедоступными.
Получить доступ в USENET можно, запустив такие программы как “readnews”, “news” или “nn”. Вы сможете прочесть посланные кем-то сообщения, или написать свое собственное. Каждое сообщение посылается на все узлы связи, так что, вы, задав какой-либо вопрос, выносите его на громадный международный форум, и сможете выбрать подходящий ответ.
КАК стать привелигерованным пользователем
Проникновение в систему может стать бесполезным, если вы окажетесь в пустой корневой директории с таким низким уровнем доступа, что нельзя сделать ничего интересненького. Если вы взломали бюджет низкого уровня, принадлежащий, например, секретарю, вводящему данные, вы не сможете особенно развернуться, и вам захочется, по возможности, повысить свой уровень доступа. Это можно осуществить с помощью исследований изнутри, мистификации, программистских уловок, либо социальной инженерии.
Завершив свои исследования” осмотрите систему, в которую только что проникли, и выясните, какие опции доступны для вас. Прочтите все файлы, запустите все программы.
Большинство технических взломов совершаются благодаря ошибкам в солидном, казалось бы, программном обеспечении. Большинство таких программ каким- либо образом связано с бюджетами других пользователей. Программы электронной почты и “бесед” доступны, равно как и текстовые редакторы. Если вы найдете любой язык программирования, вы должны быть на седьмом небе, поскольку существуют сотни различных программистских уловок, с помощью которых можно получить более высокий уровень. Давайте начнем с мистификации.
МИСТИФИКАЦИЯ
Мистификация обычно заключается в том, что вы посылаете электронную почту таким образом, что кажется, будто ее послал кто-то другой. Этим термином обозначают также любое действие хакера, с помощью которого он выдает себя за кого-то другого. Но давайте сперва остановимся на первом, более распространенном, значении, и рассмотрим некоторые способы, посредством которых мистифицированная электронная почта может услужить имеющему низкий уровень доступа хакеру добиться чего-то большего.
Один из типичных примеров мистификации — послание якобы от системного администратора. Susie User {Пользователь Сюзи), весьма влиятельное лицо в системе, занимается своими обычными делами в режиме онлайн. Она проверяет свой почтовый ящик и с удивлением обнаруживает там письмо от системного администратора. В письме говорится о том, что ввиду наличия прорех в компьютерной безопасности пароли пользователей будут теперь изменяться каждые шесть недель: “Ваш новый пароль D4YIL”, — написано в полученном Сюзи послании. — “Вы можете изменить его сами с помощью команды “SET_PASS”. He забудьте его! Не раскрывайте его никому! Компьютерная безопасность — очень важный аспект, которым нельзя пренебрегать!”
Через несколько секунд вы замечаете, что Сюзи набрала команду “SET_PASS”, а еще немного погодя загружаетесь под ее именем, получая, таким образом, все привилегии ее более высокого уровня. И это срабатывает всегда! Но вся хитрость в том, что необходимо знать, как именно следует проделать мистификацию.
Прежде чем вы сможете послать мистифицированную электронную почту, вам следует понять, каким образом это возможно. Итак, если вы когда-либо пользовались любой из программ электронной почты, на мэйнфрэйме, или же на локальной BBS, то вы знаете, что, чтобы послать электронное письмо, пользователь, как правило, вводит три порции информации: пункт назначения, тему и текст письма. Некоторые “почтовые” программы допускают еще большее усложнение, например, включение других текстовых файлов или программ, уведомление о получении, и т. д., но давайте остановимся на наиболее примитивном виде программ электронной почты, так как они используются чаше всего.
Когда вы посылаете электронное письмо другому пользователю, компьютер автоматически помешает заголовок в начало письма, чтобы идентифицировать письмо как пришедшее от вас. Для мистификации вам понадобится изменить этот заголовок таким образом, чтобы письмо казалось присланным одним из тех, кто отвечает за систему.
Электронную почту обычно посылают, запуская специальную программу. Программа включает в себя текстовый редактор и устройство для отправки почты другим пользователям. Но во многих случаях для отправки почты можно и не использовать специальную программу. Обычно существует основная команда процессора, позволяющая послать текст или файл в директорию файлов другого пользователя. То же самое делает и программа электронной почты: посылает текст вашего сообщения в специальный файл под названием MAIL.TXT или что-то в этом духе, и когда пользователь Сюзи запускает свою программу электронной почты, она показывает содержание этого файла.
Вам не составит труда открыть текстовый файл, напечатать заголовок, похожий на заголовки посланий системного администратора и добавить в коней файла свой собственный текст. Затем с помощью команды “send file” поместите этот файл в директорию пользователя с более высоким уровнем доступа, чем ваш.
Иногда ОС сама выполняет подобные действия. Так, один из протоколов Интернет предполагает участие двух компьютеров в передаче почты, для составления заголовков писем.
Чтобы мистифицировать Интернет, можно соединиться с главным компьютером через порт 25, который отвечает за доставку электронной почты. Обычно таким путем соединяются только два компьютера; на месте могут присутствовать средства зашиты, но, если таковых не имеется, вы можете сыграть роль компьютера, посылая команды для генерации электронного сообщения. Они включают в себя “mail from” и “rcpt”, которые устанавливают, кем являются отправитель и получатель. Чтобы получше разобраться в этом, используйте “help”.
Многие многопользовательские системы дают пользователям возможность общаться друг с другом с помощью команд TALK, WRITE и т. п. Когда вы набираете команду TALK, на экране реципиента появляется сообщение о том, что вы хотите с ним побеседовать. Если другой пользователь разделяет ваше желание, он тоже набирает команду TALK. После этого все, что вы будете печатать у себя на экране, станет появляться на экране вашего собеседника, и наоборот. С помошыо команды TALK можно проделать множество трюков. Одним из популярных трюков является передача с помощью TALK сообщения типа:
“Сбой в системе. Прошу выключить ваш терминал, не прерывая связи с системой, для предотвращения дальнейших нарушений. Системный администратор” на экран другого пользователя. Пока его терминал будет отключен, вы сможете беспрепятственно копаться в его бюджете.
Как и в случае с мистификацией электронной почты, с помощью TALK можно помешать текст на экран другого пользователя. Вам следует обратиться к исходному коду программы TALK, узнать, каким образом она посылает текст на другой экран, и использовать те же команды. Такие маневры в обход средств зашиты являются неотъемлемым свойством команды TALK. Если вы используете настоящую команду TALK, чтобы послать приведенное в качестве примера сообщение об ошибке, получатель увидит, что это ВЫ, а вовсе не системный администратор, послали это сообщение. Вам следует эмулировать заголовок TALK, в котором сообщается имя пользователя, пославшего текст. Вам придется также спуститься к основным операторам “send text”, так как вам совсем не нужно, чтобы пользователь использовал опцию отказа от общения с вами.
Известно, что мистификацию можно достаточно легко применять в большинстве систем — достаточно войти в режим онлайн и разобраться в исходных программах и руководствах. Еще одна хитрость — послать с помощью TALK сообщение, которое сможет понять “умный” терминал. При использовании TALK вы не вводите слова в ответ на приглашение ОС — ОС просто помешает то, что вы набираете, на экран удаленного терминала. Один из способов обойти это основан на использовании удаленного аппаратного обеспечения. Некоторые “умные” терминалы обладают управляющей последовательностью Send или Enter, которая говорит терминалу, что необходимо послать текущую строку в систему так, будто пользователь ввел ее с клавиатуры. Можно использовать TALK, чтобы послать сообщение, содержащее подходящую управляющую последовательность для выполнения разных гнусностей, вроде отправки к вам конфиденциальных документов и т. п.
Хакер может использовать в своих целях не только электронную почту и команду TALK, но и любую другую команду, которая позволяет взаимодействовать с другим терминалом. Если вам попадется команда, дозволяющая такое взаимодействие, изучите ее внимательно, чтобы посмотреть, как можно ее применить.
Просмотрите также программы — нельзя ли с их помощью связаться с другими директориями на вашей собственной машине. Текстовый редактор GNU-EMACS, используемый в UNIX, позволяет переслать файл, с которым вы работаете, в директорию другого пользователя. Если вы назвали свой файл o.loginn(2), то, когда бы ни загрузился тот пользователь, будет запускаться этот резервный файл. Если этот файл включает в себя передачу по электронной почте в ваш бюджет секретных данных того пользователя — тем лучше для вас.
шифрование и дешифровка
Возвращаясь к старым уловкам: атака с помощью перебора может дать вам возможность дешифровать файлы с паролями, когда и как вам будет угодно. Даже если у вас бюджет с низким уровнем доступа, вы сможете скопировать зашифрованный файл с взломанной вами машины на более безопасный носитель.
Во всяком случае, вам удастся хотя бы просмотреть содержание пусть даже закодированного файла с паролями.
После этого откомпилируйте копию зашифрованной программы, изменив ее таким образом, чтобы она читалась в терминах специально подготовленного словаря, используйте словарь в качестве ключа, а результат распечатайте. Листинги исходных программ UNIX доступны для любого вида ОС. Даже если вы не можете найти дешифратор, который использовался компьютером для шифрования скопированного вами файла, вы всегда можете заглянуть в руководство, найти там алгоритм искомого шифра, и самостоятельно написать по нему программу. Метод перебора в случае с ключами к зашифрованным файлам с паролями действует гораздо эффективнее, чем атака самих паролей для входа в систему. Вскоре вы наверняка найдете ключ для расшифровки, и станете обладателем пароля привилегированного пользователя!
Атака с помощью перебора не всегда является необходимостью. Говорят о существовании известной инверсии шифровального алгоритма, использующегося в некоторых ОС, включая старые версии VMS. К сожалению, сам я не знаю, в чем заключается данный метод инверсии, но я знаю, что существуют способы алгоритмического обратного преобразования команды “crypt” в UNIX. Эта команда использует шифровальный алгоритм World War II Enigma, который был превосходен для своего времени, но не представляет собой загадки для современных суперкомпьютеров. Конечно, для расшифровки вам все же потребуется какое-то время, но она не затруднит ваш компьютер, если у него достаточно “лошадиных сил”.
Впрочем, команда шифрования не очень широко используется из-за своей общеизвестной уязвимости. В основном “crypt” избегают по сентиментальным причинам. Шифр, наиболее часто использующийся для кодирования паролей, является версией государственного стандарта шифрования данных (Data Encryption Standart — DES). Вариант DES в UNIX не подходит для атаки с помощью перебора из-за невероятно сложных шифровальных ключей. Каким же образом версия в UNIX защищена от атак методом перебора?
Как известно, файлы паролей в UNIX доступны для чтения, копирования и печати, но сами пароли хранятся в зашифрованной форме. Однако это не совсем так: на самом деле файл паролей ВООБЩЕ не содержит никаких паролей. Когда новый пользователь входит в систему и вводит пароль, UNIX использует первые восемь символов этого пароля в качестве шифровального ключа для кодирования некоей константы (например, большого случайного числа).
Еще одна причина, по которой DES был избран для шифрования паролей, заключается в следующем: когда такой алгоритм используется в программном варианте, он действует медленно. А значит, атака с помощью метода перебора займет больше времени.
Говоря об этой теме, необходимо заметить, что стандарт шифрования данных может быть и не настолько безопасным, как некогда считалось. Основой DES стала система безопасности под названием “Аю-иифер”, разработанная IBM в 1973 году для Национального бюро стандартов. Прежде чем DES был принят в качестве официального (стандартного) шифра США, сверхсекретное Агентство по национальной безопасности (NSA) вмешалось в это дело, понизив сложность шифровального алгоритма и скрыв основные аспекты его устройства. Это выглядело весьма подозрительно! Зачем бы NSA объявлять код безопасным, в то же время делая его менее безопасным? Критики предупреждали, что в систему, возможно, была встроена лазейка.
В начале 1992 года два израильских ученых объявили, что они нашли способ победить систему. Если содержание зашифрованного сообщения кому-либо известно, с помощью определенных математических приемов можно вычислить ключ, использованный для шифровки сообщения. Затем не составит труда прочесть тексты, зашифрованные с помощью того же ключа.
Как бы то ни было, со времен семидесятых придумано уже немало гораздо лучших шифров.
В некоторых системах силовая атака на зашифрованные файлы затруднена тем, что шифровальный ключ, применяемый пользователями, шифрует не сам текст, а некую случайную последовательность символов, а эти символы, в свою очередь, зашифровывают текст.
Чтобы стать хакером, не обязательно быть слишком уж проницательным, достаточно просто обладать умом. Но для того, чтобы взламывать алгоритмы шифровки данных, необходимо быть не только умным и проницательным, но еще и разбираться в математике. К счастью для тех, кто не может похвастаться калькулятором вместо мозгов, существует много других методов для прочтения зашифрованных файлов (вспомните хотя бы прибор благословенного Ван Эйка).
бит за битом
Допустим, вы вошли в какой-нибудь незначительный бюджет, где нет доступа ни к чему интересному. Допустим также, что в данной системе вы можете прочесть файл с паролями, но не изменить его.
Например, пароль вашего бюджета в этом файле закодирован в виде “fg(kk3j2.”. Если у вас есть возможность загрузить файл паролей в текстовый редактор, вы сможете сменить зашифрованный пароль системного администратора на ваш собственный; но сохранить внесенные изменения вам не удастся, если у вас нет статуса привилегированного пользователя. Но так ли это?
Компьютерная зашита системы порой осуществляет проверку достоверности только на самых высоких уровнях защищенности. Пользователь, не обладающий определенным уровнем доступа (а следовательно и защищенности) не может использовать команды высокого уровня для уничтожения, перемещения, использования и изменения файлов; к командам же машинного уровня, скажем для перемещения головки чтения,записи в определенное положение, это не относится. Если бы так происходило со всей доступной областью памяти, каждый файл можно было бы полностью считать или переписать побитно. Если у вас имеется доступ к программному обеспечению или к дисковым носителям, вы сможете изменить расположение хранящихся личных данных, поменяв зашифрованный пароль системного администратора на свой.
С другой стороны, вы можете обнаружить, что компьютерная зашита не разрешает использование даже инструкций низкого уровня. Но не сдавайтесь слишком рано! Область памяти может быть, по разным причинам, — из-за забывчивости, ошибок, неумения или непрактичности, — только частично за-шишена таким образом.
Если это так, вам не удастся изменить файл паролей, но, вероятно, удастся переместить его в директорию другого пользователя, или изменить уже находящиеся в ней файлы. А это даст вам возможность широкого применения “троянских коней” и лазеек.
Если зашита отвергает любые попытки получения нелегального доступа, возможно, вам удастся заставить привилегированного пользователя поработать за вас. Напишите простую программу, например, игру, и введите в нее скрытые инструкции по изменению паролей. Затем откомпилируйте ее, сохраните, сделав доступной только для привилегированных пользователей, и поместите в общественную директорию. В конце концов какой-нибудь привилегированный пользователь наткнется на нее и запустит, таким образом задействовав те части вашей программы, которые, запусти вы их самостоятельно, привели бы к сообщениям об ошибках и, возможно, дополнительным отметкам в журнале регистрации.
применение программ
Большинство программ, применяемых хакерами, являются разновидностями “троянских коней”. А классический “троянский конь” использует ошибки других для достижения своей цели. Чаше всего это означает эксплуатацию врожденных недостатков РАТН-команд.
Большинство современных ОС позволяет вам организовывать свои файлы путем использования директорий и поддиректорий. Таким образом, поиск нужного файла облегчается, но зато для перехода из одной директории в другую приходится набирать длинные путевые имена.
Решение заключается в использовании команд PATH. Команда PATH говорит ОС: “Если ты не найдешь этот файл в текущей директории, посмотри вон там... А потом — там... И еще вон там.” Другими словами, вы определяете путь, по которому будет следовать ОС в поисках файлов. Таким образом, для получения доступа к этому файлу вам не нужно находиться в той директории, где он содержится.
Команды PATH обычно помещаются в ВАТ-файлы, которые запускаются при загрузке. Они особенно часто используются на больших машинах, которые содержат множество файлов и кучи директорий.
В подобных случаях, особенно, если пользователь является обслуживающим оператором и ему нужен неограниченный доступ, очень много директорий может определяться с помощью PATH.
Пути поиска очень важны для хакеров, особенно, если поиск ведется по всем директориям системы.
Для начала хакер переписывает часто используемую программу, вставляя в нее “троянского коня”. Затем он помешает программу в директорию, которая предположительно находится на пути привилегированного пользователя. Привилегированный пользователь или программа (типа сценария заполнения “пустой” экспертной системы) могут случайно запустить, скажем, вашу программу установки даты вместо “официальной” версии, хранящейся в директории ОС. Если так случится, ваша спрятанная программа сделает свое дело.
“Троянские кони” могут делать многие веши — собирать пароли, создавать ложные приглашения к входу в систему, лишать файлы зашиты от чтения,записи, либо создавать впечатление фатального сбоя системы (а когда пользователь выключит свой терминал и уйдет, вы сможете набрать секретный управляющий код, который позволит “троянскому коню” снова “вломиться” в бюджет этого пользователя). “Троянские кони”, безусловно, составляют значительную часть хакерского арсенала, но существует и другой способ повышения уровня доступа с помощью программ — использование компьютерных вирусов.
ВИРУСЫ
Вирус возник путем скрещивания трех видов программ: “троянского коня”, червя и логической бомбы.
Логическая бомба — это небольшая программа, спрятанная внутри большей программы. Обычно она представляет собой не более чем высказывание IF THEN (ЕСЛИ ТО). ЕСЛИ что-то верно, ТО надо сделать нечто. Что обычно представляет собой ТО, можно догадаться, исходя из самого названия — логическая бомба.
Классический пример логической бомбы был использован, когда один системный программист был уволен за неверно выполненную работу. Через несколько дней после его ухода главы фирмы получают от программиста послание: “Заплатите мне Х долларов до 31-го июля, и я сообщу вам, как спасти ваши программы и записи от полного уничтожения”.
Он инсталлировал логическую бомбу, которая взорвется в определенный день.
У программы-червя есть лишь одна цель: саморазмножение. Он осматривается вокруг, и копирует себя, где только может, причем каждая новая копия продолжает заниматься тем же самым. Через некоторое время после начала работы такой программы компьютер или сеть оказываются буквально забиты сотнями или даже тысячами неудержимо размножающихся программ.
Вирус выполняет функции обеих вышеописанных программ. Программа (спрятанная, подобно “троянскому коню”, внутри прикладной программы) саморазмножается, пока возможно, а затем взрывается (как логическая бомба).
Логические бомбы опасны, но, по крайней мере, известно, чего от них ждать. Вирусы же и черви, в отличие от логических бомб, не только опасны, но и непредсказуемы. Я убежден, что настоящий хакер никогда не создаст червя, поскольку они слишком деструктивны и бессмысленны. Но он может воспользоваться вирусом, при условии, что вирус не причинит вреда системе, самоуничтожаясь по мере своего продвижения, и ни разу не появится на одном и том же месте дважды.
Вирус может пересылать пароли с помощью электронной почты по определенному адресу, с помощью метода перебора в конце концов проникать в системы и т. п. Существует много путей применения вирусов, но их трудно использовать безопасно.
Ходили слухи об одном микрокомпьютерном вирусе, который, если бы он действительно существовал, согрел бы сердце каждого хакера. Он назывался AT&Tack Virus. Скопировав себя на компьютер, он сразу же пытался найти Hayes-модем или совместимый. Если таковой существовал, вирус выключал динамик модема и соединялся с заранее запрограммированным номером. После этого, естественно, любой, кто находился по вызванному им номеру, получал удаленный доступ к вашему компьютеру.
Лично мне кажется, что это не более, чем слух. Разумеется, на данный момент ни одна из коммерчески доступных программ обнаружения вирусов не содержит никаких упоминаний о AT&Tack Virus. Но мне кажется, что такая штука лучше работала бы в качестве “троянского коня”, размешенного в графической программе, нежели в качестве вируса.
Одним из достоинств “троянских лошадок” и вирусов является конструирование каналов для сбора данных и пересылки их к вам в удобочитаемой форме. Допустим, вирус присоединяется к программе загрузки и собирает пароли. Нет смысла отправлять этот вирус гулять по всему свету, не питая надежд заполучить в свои руки те пароли, которые он соберет. Как я уже упоминал, вирус может периодически пересылать вам пароли с помощью электронной почты (но только не в ваш легальный бюджет!).
Можно также шифровать почту перед отправкой. Проблема с шифрованием состоит в том, что вам понадобится ключ. Любой, кто обнаружит ваш вирус или “троянского коня”, легко сможет вычислить ваш ключ и понять, что за почту пересылает вирус (или какие временные файлы создает “троянский конь”). Значит, вам придется зашифровать этот ключ... а для этого нужен еще один ключ... а его тоже надо как-то обезопасить... значит, еще один ключ... И так — до бесконечности. Но давайте разберемся в ситуации.
Если вы собираетесь так или иначе прибегать к кодированию, будет проще заставить ваш вирус или “троянского коня” посылать зашифрованные данные в какую-либо большую, не подвергающуюся цензуре конференцию. Недостаток: вам придется мистифицировать почту, иначе кто-либо заметит, что пользователь (который, сам того не зная, приводит в действие ваш вирус) посылает слишком много “мусора”.
Вы можете также подгрузить зашифрованный файл во входную директорию какого-нибудь анонимного FTP. Убедитесь, что компьютерная зашита позволит вам затем выгрузить файлы из этой директории, поскольку зачастую она не разрешает это делать.
Для пересылки коротких сообщений (например, одного пароля) ваша программа-обманка может временно переименовать какой-либо файл с очень низкой степенью зашиты (атрибуты которого способен изменить кто угодно) в это сообщение. Ваш “троянский конь”,вирус будет входить в директорию, маскируясь под различных пользователей сети, и пытаться переименовать файл в данное сообщение. Ваш “троянский конь”,вирус не должен оставлять сообщение об ошибке. (Вы можете “вживить” блок постоянного наблюдения, который в виде фоновой задачи будете следить за состоянием этого файла; как изменится имя файла, фоновый процесс сохранит новое имя, а после вернет файлу его первоначальное имя.
Другие короткие сообщения можно пересылать по битам. Например, если файл Х находится в определенной директории, ваша программа посылает вам цифру 1, а если директория пуста — цифру О. Фоновая задача в то же время следит за появлением и исчезновением из вашей директории этого файла. Когда соберется необходимое количество нулей и единиц (восемь для ASCII-кодов), программа переводит их в символы сообщения. Например, 01000001 — это заглавная “А”. 01000010 — “В”, и т. д. Чтобы послать восьмизначный пароль, вашему вирусу или “троянскому коню” потребуется 64 уничтожения и восстановления файла X. Биты будут пересылаться по одному, тогда, когда спрятанная программа сможет делать это незаметно.
КАК выбраться ИЗ заточения на волю
Допустим, вы совершили взлом, но единственный доступ, который вы обнаружили, это доступ к двум-трем командам или неинтересному информационному блоку. В этом случае вам придется думать, как выбраться из этой программы-тюрьмы и вернуться на уровень операционной системы. Если прежде вы серьезно занимались программированием, ваша задача облегчится.
Программист знает типы лазеек и ошибок, а также способы их обнаружения. Если он завязнет в бюджете, который запускает информационную программу, то использует все, даже самые неожиданные, способы в поисках вещей, от которых человек, создавший эту программу, не додумался защититься, в надежде получить сообщение об ошибке и вырваться к приглашению ОС.
Вот что можно попробовать.
Вводить неверные, неподходящие или слишком длинные ответы на приглашения; особенно подойдут буквенные ответы вместо требуемых числовых. Или, если вас просят ввести число, которое будет анализироваться функцией, попробуйте ввести слишком маленькое или несуразно большое. Попытайтесь вводить ответы с прерыванием, типа Ctrl-Z, Ctrl-C или даже Ctrl-P. Постарайтесь использовать команду “Find” для поиска вне доступных ресурсов. Посмотрите, нельзя ли установить программы для несуществующего аппаратного обеспечения или объема памяти.
Если в ловушке имеется нечто вроде текстового редактора, например, программы для пересылки почты системным операторам, попробуйте создать резервный файл и послать ваше сообщение в качестве команды на выполнение.
Можно также попробовать создавать несоразмерно большие сообщения. Если в редакторе имеются специальные функции проверки текста, напишите громадный абзац, поместите в буфер и скопируйте под первый. Затем проделайте то же самое с двумя абзацами, и т. д., до тех пор, пока программа либо не даст сбой, либо не разрешит вам продолжать. Если это письмо, посмотрите, что получится, если вы попытаетесь сохранить или послать все сообщение целиком.
Вы можете оказаться в программе, похожей на обычную ОС или управляющую программу, в которой меню со списком опций либо недоступно, либо вызывается с помощью команды HELP. Вам выдается приглашение к вводу команды. К некоторым прикладным командам добавляется имя файла, с которым вы собираетесь работать (например, для редактирования файла с помощью текстового процессора:
“WORD_PROC STORY.DOC”). Если система работает в режиме онлайн, попробуйте ввести таким образом слишком много данных (“WORD_PROC STORY.DOC FILE.ONE FILE.TWO...”) или неподходящие данные. Например:
WORD_PROC WORD.PROC WORD_PROC \directoryname WORD_PROC nonexistent-filename WORD_PROC ,etc,date, [или другая команда].
Тактика “неподходящих данных” с успехом применялась до последнего времени. Можно прибегнуть также к переполнению стека команд, т. е. размещению множества команд в одну линию. Команды могут быть разделены пробелами, скобками, слешами, или другими знаками пунктуации. Синтаксический анализатор может оказаться не в состоянии интерпретировать слишком большое количество команд. Если строчный редактор не разрешит вам вводить столько строк, попробуйте с помощью программирования создать впечатление, что большой стек команд послан прямо с клавиатуры.
Если в вашем распоряжении имеется язык программирования или компилятор, попробуйте поставить какие-либо величины на места, вовсе для этого не предназначенные. Возможно, вам удастся откомпилировать программу в специальные области памяти, записав ее поверх машинной программы, которая препятствует вашему продвижению вперед, или заставить программу переместиться в новое положение, где можно будет прибегнуть к дополнительным инструкциям.
Наконец, попробуйте загрузить программу в редактор электронной почты, или любой другой, или программу-доктор, и изменить ее так, чтобы она разрушалась при запуске.
Дефекты наиболее часто встречаются в следующих видах программного обеспечения:
• Новое ПО (программное обеспечение) — одна из первых версий, или прошедшая Бета-проверку и т. п.
• Программы, по каким-то причинам финансового или рекламного порядка “слепленные” на скорую руку.
• Программы, годами остававшиеся неизменными, несмотря на изменения аппаратного обеспечения и пр.
• Обновляющееся ПО.
• ПО, не обладающее коммерческой ценностью.
Путешествуя по сетям, выберите время, чтобы остановиться и прочесть заметки о новых версиях старого программного обеспечения. В них часто сообщается об исправленных дефектах старых версий. К тому времени, как вы об этом прочтете, еще далеко не все успеют поменять свои старые версии программ на новые.
возвращение к месту действия
Предусмотрительный хакер всегда обеспечит себя лазейкой, чтобы в дальнейшем, если понадобится, беспрепятственно войти снова. Обычно это делается с помощью установки фиктивного бюджета для использования в успешных взломах. В конце концов, нет никакой гарантии, что бюджет, который вы использовали при первом взломе, сохранится к тому времени, как вы загрузитесь снова, или что пароль или другая важная входная информация не изменится, закрыв вам доступ. Если вы получили доступ не с помощью пароля, а какими-то командными или техническими средствами, вам тем более понадобится такой потайной вход, чтобы заново не возиться со всей этой ерундой.
Во многих ОС можно запускать программы даже после того, как пользователь вышел из системы. Иногда можно установить программу на начало работы в определенное время. Написание подходящей программы и ее запуск с помощью одной из этих команд поможет вам, если вы захотите вернуться к месту своего действия.
задание выполнено... но не совсем!
Эй! Взгляните-ка, что у вас получилось! Итак, вы провели исследования, нашли нужный компьютер, взломали его, и теперь разгуливаете внутри.Это четыре составляющих хакерской деятельности. Это и означает — быть хакером.
Первые четыре составляющих выполняются по порядку, одна за другой. Но вот последняя часть на самом деле вовсе не последняя. О ее выполнении следует заботиться с самого начала и до конца, ни на секунду не забывая о ней.
Ведь то, чем вы занимаетесь, — ХАКЕРСТВО, а это, как вам известно, вещь незаконная. Значит, вы должны подумать о собственной безопасности.
Давайте теперь рассмотрим, что же такое хакерство, которое считается незаконным в нашем обществе, как можно заниматься хакерством, не попадаясь при этом в лапы закона, а в заключение мы подведем итоги и поговорим о вашем будущем в качестве хакера.
Kак не попасть в лапы закона
Глава 11. Kак не попасть в лапы закона
Козлевичу не везло. Его ловили и тогда, когда он применял излюбленные им технические средства, и тогда, когда он обходился без них. Его ловили на вокзалах, пристанях, на пароходах и в гостиницах. В вагонах его тоже ловили. Его ловили даже тогда, когда он в полном отчаянии начинал хватать чужую собственность по предварительному сговору с другим лицами.
И. Ильф, Е. Петров. Золотой теленок.
Хакерство — это здорово. Черт возьми, да это просто потрясающе! Но вместе с тем хакерство — нелегальное, порой аморальное и обычно наказуемое занятие. Даже если вы не сделали ничего плохого, для судей вам придется подыскать достаточно веское обоснование своим действиям. Самое малое, что может произойти, это заделка прорех в компьютерной безопасности, которые вы использовали для взлома. Более серьезные наказания могут варьироваться от штрафов и вплоть до тюрьмы. Неофициальные наказания могут заключаться в разрушении вашего оборудования и невозможности устроиться на работу, имеющую отношение к технике. Занимаясь своим делом, предусмотрительный хакер преследует две цели:
1. Не попасться. 2. Если попался, постараться не усугублять дела.
В этой главе рассказывается о стратегиях, с подошью которых можно следовать этим правилам. Хакерство предполагает не только технические знания, но и особый склад ума. И часть этого ума должна быть отдана знаниям о том, как обеспечить собственную безопасность, иначе оставшаяся часть будет тратиться зря. Приведенные здесь стратегии следует не только знать и применять, но и уметь приспосабливать их к новым ситуациям. Не забывайте, сколько компьютерных преступников отправились в тюрьму. Правда, некоторые из них умудрялись заниматься хакерством и там. Некоторые даже научились хакерству в тюрьме. Но если вы все же не стремитесь туда попасть, везде и повсюду помните приведенные ниже советы.
в процессе исследований
На вашей территории проживания могут действовать местные законы, запрещающие машинам или людям постоянно набирать номера и отключаться сразу после набора (так поступает, например, программа автонабора, когда ищет входные наборы).
Если вы делаете звонки самостоятельно, лучше говорить тому, кто поднимет трубку: “Извините, я ошибся номером”, нежели просто бросать трубку. Помните правило: чем больше людей вы разозлите, тем больше вероятность, что вас начнут преследовать и, в конце концов, накажут.
при ЗАНЯТИЯХ СОЦИАЛЬНОЙ инженерией
Социальная инженерия, а еще чаше обратная социальная инженерия, предполагает контакт с зарегистрированным пользователем по телефону или посредством электронной почты. Это рискованно, так как при этом вы даете свой адрес или телефонный номер людям, которых собираетесь обмануть. Для решения данной проблемы хакеры разработали несколько оригинальных методов.
Однажды я вышел на небольшое предприятие, которое закрывалось на несколько недель. Проведя некоторые исследования и свершив несколько взломов, мне удалось найти программу, которая оставляла сообщения на их автоответчике. С ее помощью я смог входить в контакт с людьми, не сообщая им, кто я такой. Я поместил телефонную рекламу компьютерной сети, приглашавшую людей звонить и оставлять свои имена и данные. Я мог в любое время вызвать компьютер, набрать заветный код и прослушать эти сообщения. Когда предприятие вновь открылось, я позвонил им, сказав, что я из телефонной компании, и сообщил владельцу, что несколько линий пересеклись, из-за чего к ним иногда могут проходить непонятные звонки.
Некоторые хакеры просто переводят телефонные автоматы в резидентное состояние и работают с них. Для занятий социальной инженерией по почте можно арендовать личный почтовый яшик. Один хакер нашел более простое решение. Он заметил, что почтовый яшик в колледже, находящийся прямо под его ящиком, всегда пустует и, по-видимому, никому не принадлежит. Он долгое время пользовался им, с помощью нехитрого приспособления опуская туда свою секретную корреспонденцию (позднее я показал ему, как открывать эти ящики).
использование: телефона
Если хотите сохранить что-то в секрете, не говорите об этом по телефону. Нельсон Рокфеллер
Если вы новичок, у вас может не возникнуть никаких затруднений с вызовом удаленных компьютеров из собственного дома.
Но однажды вы можете оказаться в ситуации, когда не будете точно знать, не прослушивают ли ваш телефон и не следят ли за тем, как вы используете компьютер. Значит, если вы уже вышли из хакерского “детства”, вам не следует делать незаконных вызовов из своего дома и вообще с любого телефона, по которому вас могут выследить.
Неприятности могут произойти, даже если вы действительно новичок. Представьте себе, что вы стали членом TECHRIME-USA BBS как раз тогда, когда ФБР собирается начать акцию против системных операторов, использующих свои доски объявлений в нелегальных целях! Вам совсем не захочется быть втянутым в это, особенно, если вы не делали ничего противозаконного. Даже намек на полуправдивые слухи, циркулирующие по каналам технического андеграунда, может заставить телефонные компании начать следить за проходящими по их линиям модемными сообщениями и записывать их. Это может проделываться автоматически с помощью детекторов, которые прослушивают тоны модемов и передают их на записывающее устройство. В любом случае надо учитывать следующее: 1. Технология, позволяющая делать такие веши, существует, и 2. Известно, что прослушиваются очень многие телефоны. Итак, если вам необходимо общаться с известными компьютерными преступниками, или с доказанными хакерами, соблюдайте крайнюю осторожность.
Делать телефонные вызовы можно не из дома, но откуда-либо еще. Возможно, придется раскошелиться на портативный лап топ. Сделав это, купите к нему также акустический соединитель и внешний модем. Все это обойдется вам в одну-две тысячи долларов — гораздо меньше, чем потребует с вас адвокат, если вы попадетесь. Акустический соединитель необходим, так как не везде имеются телефонные розетки. Во внешний модем вы будете вставлять соединитель. Многие лап топы уже снабжены модемами, но это внутренние модемы, которые нельзя подсоединить к телефону.
Итак, вы обзавелись оборудованием. Куда бы его ^ поместить? Существует много возможностей. Ночью и на уик-энд бывает можно проникнуть в здание какого-нибудь большого офиса и, если дверь не заперта, устроиться в одной из смежных комнат.
Два года назад летом, прогуливаясь в центре своего города около девяти вечера, я заметил, что окна всех учреждений открыты — и это вечером! Днем стояла жара, и, вероятно, их таким образом проветривали. Будь я в соответствующем настроении, я мог бы беспрепятственно проникнуть в любое здание и подключить свой портативный компьютер к телефону, находясь всего в нескольких сотнях метров от полицейского участка.
Если у вас водятся деньги, или вам удалось взломать какой-нибудь счет, вы можете заниматься хакерством в гостинице или мотеле. Денежные проблемы беспокоят хакеров и по другой причине. Телефонные счета растут, как на дрожжах, поэтому многие хакеры являются также и фриками. Фрик — это человек, занимающийся взломами телефонных сетей. Одним из основных аспектов этого занятия является создание тональных кодов, которые заставляют телефонную систему выполнять специальные функции, такие, как бесплатные звонки на дальние расстояния. Фрикерство, разумеется, представляет собой обширную область для хакерских исследований, и с телефонными системами — а особенно с компьютерами, обслуживающими эти системы, — должен быть близко знаком каждый хакер. Многие хакеры считают, что любое другое хакерство, нежели взлом таких компьютеров, — это детские игры. В чем-то они правы.
Телефонные компьютерные сети — это невероятно большие, распространенные, замечательные массивы хитроумных функций, громадных баз данных, технических операций и прочих чудес, на фоне которых бледнеет все прочее хакерство. Покинув ваш дом, телефонный сигнал отправляется на местную АТС, которая управляет всеми телефонами вашего района. Каждая АТС управляется собственным компьютером. Такие компьютеры и являются потенциальными целями взломщиков телефонных компаний; если вы получите доступ к компьютеру, у вас будет доступ ко всем телефонам, которыми он управляет. Вы сможете включать и выключать телефоны, перенаправлять вызовы, изменять номера. Не будь вы хакером, вы могли бы устроить таким образом немалый переполох.
Существуют также коммутируемые сети, которые соединяют между собой компьютеры, управляющие коммутаторами.
Из них можно проникнуть в региональные системы типа COSMOS (одной из функций которой является создание и уничтожение телефонных номеров). Когда вы поближе познакомитесь с особенностями этих телефонных компьютеров, вы можете использовать их для собственной зашиты. Например, вы не хотите делать хакерские телефонные звонки из собственного дома. Вы можете соединиться с компьютером вашей местной АТС, взять телефонные номера нескольких автоматов и сделать их бесплатными. Затем вы можете взламывать из этих автоматов хоть целый мир.
Вы можете также использовать региональную обслуживающую систему, чтобы временно изменить ваш настоящий номер телефона на номер, допустим, близлежащей церкви. Если ваши звонки и отследят, слежка отправится по ложному пути. Должен заметить, что вызов удаленных компьютеров — не такая безопасная вещь, как может показаться. Иногда соединение с помощью телефона или компьютера дает ложное чувство защищенности, особенно, если вы уже достигли успехов в хакерстве и фрикерстве и утратили чувство бдительности. Не допускайте подобного. Всегда следуйте правилам безопасности. Не приобретайте никаких привычек. Делайте звонки всегда из разных мест и в разное время дня. Когда лучше всего делать вызовы? Каждый хакер ответит на этот вопрос по-разному. Поздний вечер хорош тем, что системные администраторы, скорее всего, уже дома — но то же самое можно сказать и про большинство полноправных пользователей, и вы со своим звонком будете выделяться, как клоун на похоронах. Можно попытаться также звонить в самый разгар рабочего времени, в середине утра и после обеда, но в это время мэйнфрэймы работают медленнее всего, вашу деятельность нетрудно будет заметить, да и бюджет, который вы взломали, может быть занят. Наилучшего времени для вызовов не существует — вам могут помочь разве что исследования организации устройства компьютерной зашиты конкретного предприятия. Замечайте время, в течение которого вы были соединены с машиной по телефону. Если это местный звонок, сигнал идет мгновенно, и чуть дольше — если вы звоните издалека.
Но не стоит висеть по полдня на одной и той же линии. Лучше сделать несколько вызовов с разных телефонных номеров на разные номера доступа. Если на избранном вами объекте имеется несколько коммутируемых линий, следует время от времени бессистемно пользоваться каждой из них.
советы по лап топам
Если вы делаете вызов бог знает откуда со своего портативного лап топа, я могу предложить вам несколько полезных советов. Если вы находитесь в незнакомом месте, например, в офисе, отеле, аудитории после уроков и т. п., ваш лап топ является неоспоримой ценностью — до тех пор, пока он работает. Никогда не подключайте ваш модем к незнакомому телефону. Сначала убедитесь, что не сожжете таким образом ваше оборудование. Многие конторы устанавливают свои собственные электронные телефонные системы, или РВХ (private branch exchange) — частные телефонные станции, для выполнения специальных функций, таких как переговоры внутри здания, либо чтобы не дать определенным телефонам делать телефонные звонки на дальние расстояния. По проводам некоторых РВХ течет ток, достаточный, чтобы повредить ваш хрупкий модем. Чтобы проверить безопасность линии, сначала попробуйте подсоединить к ней обычный дешевый телефон. Если он заработает, то и модем тоже будет работать. Телефоны, объединенные в РВХ, могут не работать с вашим модемом из-за специальных звуковых или цифровых кодов, используемых в локальных процедурах маршрутизации. Если на вашем проверочном телефоне имеется сигнал в линии, но модем не работает, значит, данная РВХ неисправна. Для устранения этой проблемы вы можете включить модем в телефонную розетку, а комнатный телефон (не тот, что взяли для проверки!) — к модему (для этого вам может понадобиться специальный двойной порт). Чтобы использовать модем, вы делаете звонок с комнатного телефона, а затем, услышав звонок удаленного компьютера, включите модем и подсоединяйтесь.
Вы можете приобрести устройства для обработки сигналов, проходящих между телефоном и модемом. Такое устройство приспосабливает обычные сигналы модема к цифровым системам вроде РВХ.
Для вас это будет более приемлемым, особенно если вам часто приходится сталкиваться с РВХ. Иногда попадаются такие места, где есть телефон, но нет розетки для вашего модема. В этом случае надо отвинтить рупор микрофона телефона и с помощью кабеля с присоединенными “крокодильчиками” соединить красные и зеленые провода вашего модема с двумя серебристыми контактами микрофона телефонной трубки. Это может повлечь за собой возникновение слабого сигнала, поэтому, если в вашем распоряжении есть настоящий телефонный аппарат (а не одна трубка), снимите с него корпус и соедините красные, зеленые провода модема с красными, зелеными проводами телефонного преобразователя. Чтобы позвонить, вам придется придерживать рычаг телефона.
ваше походное снаряжение
Прежде чем выхолить на большую дорогу, не забудьте прихватить с собой следующие предметы: лап топ, иди другой портативный компьютер. Обязательно модем. Лучше два: внутренний и внешний, с чашечками акустического соединителя. Один небольшой, дешевый, надежный телефонный аппарат для проверки напряжения на линии. Можно использовать готовый тестер, но телефон удобнее использовать, например, в мотелях, где акустический соединитель может не подойти к местному телефону. Телефонный шнур с модульным зажимом на одном конце и зажимами- "крокодилами” на другом. Ножницы для обрезки проводов, отвертки и набор шнуров с портами разного размера.
ХОДЬБА на ЦЫПОЧКАХ
Большинство менеджеров смотрят даже на самых честных, избегающих разрушений хакеров как на дьявольское отродье. Поэтому, если вас застали за взломом чужих компьютеров, ждите неприятностей. Даже если ваш взлом не принес никому вреда, вас все равно, скорее всего, накажут. Я читал статьи о том, что компьютерные преступления ежегодно уносят, по крайней мере, от 3 до 5 биллионов долларов. Другие же источники приводят данные до ста биллионов. Лично мне даже три биллиона кажутся несколько завышенной, для пущей убедительности, суммой. Но правительство и владельцы предприятий считают иначе.
Они понимают, что большинство компьютерных преступлений остаются нераскрытыми, и реальные убытки могут оказаться гораздо больше официальной суммы. Даже если все эти биллионы долларов — не более, чем выдумки, государство и промышленники в них верят, и полны решимости наказывать всякого, кто отнимает у них такие деньги.
Давайте теперь рассмотрим случай, произошедший с BBS Гринвудской “Pretty Theft” ( “Вороватая милашка”)—так звали одну женшину-хакера, с которой я время от времени обшался. Однажды она послала мне на BBS сообщение, в котором спрашивала, не знаю ли я, как проникнуть в компьютеры одного госпиталя неподалеку от меня. Я был в недоумении — задача была проше простого, и взлом данной системы можно назвать одним из моих первых успехов. При загрузке в эту систему появлялось следующее сообщение (все имена и номера, разумеется, изменены):
Добро пожаловать в GFH-NET! 300-2400 бод (123)45&-7890 GREENWOOD FAMILY HOSPITAL GFH-NET обслуживается Роджером Корнуоллом и Гарольдом Липником. Если у вас возникнут вопросы или комментарии, напишите им по электронной почте!!! Ваше имя? Введите имя и фамилию:
Ваш пароль? Если у вас нет пароля, нажмите “RETURN” после ввода:
Через несколько месяцев после того, как я активно занялся хакерством, я сидел за компьютером и одновременно смотрел выпуск вечерних новостей. В новостях я увидел репортаж об одном из членов правительства, который сломал руку и был вертолетом отправлен в больницу. Тогда я подумал: “Эге, ведь в больницах наверняка есть компьютеры, верно? Так почему бы мне не взломать такой компьютер!” Итак, я раздобыл якобы закрытый номер доступа в сеть Гринвудской семейной больницы, и в ответ на вызов получил такой вот гостеприимный экран. Догадываетесь, что я сделал вслед за этим? Нетрудно догадаться — я, конечно же, ввел в качестве имени имя Роджера Корнуолла. К сожалению, у настоящего Роджера Корнуолла имелся какой-то пароль; а нажав “RETURN”, я просто получил сообщение об ошибке. Тогда я попробовал имя Гарольд Липник.
Тот же результат. Я достал телефонную книгу, нашел телефонный номер Гринвудской семейной больницы и позвонил. Женский голос сказал: — Гринвуд. Чем я могу вам помочь? — Извините, — сказал я, — нельзя ли пригласить Тома? — Кого? — М-м... Есть у вас один парень, я с ним уже говорил... Супервизор, или что-то в этом роде... — Вы имеете в виду Аи Брауна? — спросила она. — Ну да, вот именно. (Не знаю, почему я решил, что его зовут Том.) А он на месте? — Нет. Ли ушел в пять. — Понятно, спасибо. — Пока.
Я вернулся к своему компьютеру, снова вызвал GFH-NET и попробовал ввести в качестве имени “Ли Браун”. Но мне опять не повезло. Впрочем, сделав еще несколько телефонных звонков по разным телефонам данной больницы, приведенным в книге, я вышел-таки на парня, не имевшего пароля. GFH-NET, как выяснилось, не представляла собой ничего особенного. Она не имела ничего обшего с больничными счетами, записями о пациентах и т. п. Это была обычная медицинская BBS. Насколько мне удалось понять, данная система была создана для того, чтобы студенты-медики могли обсуждать различные проблемы с врачами. Никакой передачи файлов или чего-нибудь в этом роде; самая простая система сообщений. Она оказалась неинтересной, но зато было интересно в нее проникать.
На следующий день я просматривал телефонные номера врачей на желтых страницах, и нашел восемь номеров врачей Гринвудской больницы. Из них трое не имели пароля. Таким образом, я был несколько озадачен тем, что у Вороватой Милашки возникли затруднения с этим взломом. Я вызвал BBS Гринвудской больницы, в первый раз за несколько лет, и, к своему удивлению, наткнулся на такой вот угрожающий экран:
ДАННАЯ СИСТЕМА ПРЕДНАЗНАЧЕНА ТОЛЬКО ААЯ САНКЦИОНИРОВАННЫХ ПОЛЬЗОВАТЕЛЕЙ! ЕСЛИ ВЫ НЕ ЯВЛЯЕТЕСЬ ТАКОВЫМ, ВАМ СЛЕДУЕТ НЕЗАМЕДЛИТЕЛЬНО ОТКЛЮЧИТЬСЯ!
Всю полезную информацию как ветром сдуло! Осталась только это грозное предупреждение и бесполезное приглашение к вводу пароля. Я попытался войти под теми же именами, которыми пользовался когда-то, и обнаружил, что все они обзавелись паролями.
Затем я попытался прибегнуть к социальной инженерии, но все те, с кем я разговаривал, словно воды в рот набрали. (Впоследствии мне удалось проникнуть в настоящую больничную систему с помощью нескольких милых секретарш из административного отдела.) Я отправил Вороватой Милашке ответное письмо по электронной почте, в котором спрашивал, что же там произошло. На следующий день я получил ответ
В прошлом месяце мой друг лежал в больнице, и мне захотелось взглянуть, не удастся ли изменить его счет. Я помнила, что года два тому назад плавал мне этот номер, я посмотрела в блокнот и, к своему удивлению, обнаружила, что номер по-прежнему там. Я знала, как зовут лечащего врача моего приятеля, а навещая его в больнице, я узнала еще больше из справочной системы и объявлений на стенах. Затем я пыталась войти в систему, используя все эти имена, но в это время появимся системный оператор и вышвырнул меня. И каждый раз, когда я хотела продолжить свои попытки, происходило то же самое. Но на следующее утро, около восьми часов, мне наконец удалось проникнуть в систему. Один из врачей, имя которого я использовала, вводил вместо пароля собственное имя. Ты, наверно, догадываешься, что изменить счет моего друга мне не удалось, и больше вообще ничего не удалось...после того, как я ввела имя и пароль, система просто зависла. Вечером я попыталась еще раз, и вместо запроса имени на экране появилось следующее сообщение:
БОЛЬШАЯ ЧАСТЬ ВАЖНЫХ ФАЙЛОВ БЫЛА УНИЧТОЖЕНА КЕМ-ТО ИЛИ ЧЕМ-ТО. СИСТЕМА ВРЕМЕННО ПРЕКРАЩАЕТ СВОЮ РАБОТУ— РОАЖЕР.
Через неделю я попыталась проникнуть в систему еще раз, но безуспешно. Мне кажется, системный оператор решил, что я или кто-то еще уничтожил файлы, хотя на самом деле я этого не делала. Несколько дней назад я позвонила еще раз, просто так, и увидела — ну, ты знаешь, что. Как видно, они поумнели!
Да, Милашка была права. Они действительно поумнели и усилили свою защиту. Вот почему хакерам не следует открыто подходить к системе или привлекать внимание каким-либо другим способом.
На самом деле существует только один случай, когда следует обнаруживать себя системному оператору, и только тогда, когда вы уже изучили всю систему и больше никогда не собираетесь в нее возвращаться. Кое в чем Рожер и Гарольд действительно поумнели, а кое в чем нет. Я проявил некоторое упорство и снова взломал GFH-NET. Как выяснилось, я и сам малость поумнел: медицинские беседы между докторами и студентами показались мне гораздо более понятными, чем каких-то два года назад. А может, это студенты поглупели? Я увидел также старое объявление одного из системных операторов. Он рассказывал то, что ему было известно о случившемся инциденте с системой (а известно ему было немного.) Речь в основном шла о том, что определенные файлы были уничтожены, а многие объявления заменены натуралистическими описаниями особенностей женской анатомии. Автор, похоже, считал, что файлы могли быть стерты или каким-то недоумком-оператором, либо хакером-злоумышленником. После некоторых исследований я обнаружил, что, хотя Данная опция и не присутствует в меню, нажатие клавиши “F” отправляет прямо в несуществующую систему передачи файлов. Подумав несколько минут, я ясно увидел, каким образом можно было подгрузить программу уничтожения любых файлов корневой директории после перезагрузки системы. На следующий день я послал системным операторам больницы длинное письмо, в котором подробно объяснял, каким образом можно устранить данную проблему, и как ликвидировать другие прорехи в защите. Подписался я так: “Искренне ваша, полай Ваниа Хакер”. Затем я снова вызвал BBS и загрузил им свое послание. Вскоре после этого я получил сообщение от Милашки: “В больнице появился новый экран загрузки. Там написано: “СПАСИБО, ПОЛАЙ! — Р.К. и Г.Л.” Я был совершенно счастлив.
Уроки, полученные в больнице
Вы уже знаете, что системные операторы не жаждут приветствовать вас в своей системе. Поэтому-то вы и совершаете взлом. Но если вы обнаружите свое присутствие, у вас, естественно, возникнут осложнения.
Системные операторы GFH-NET чуть с ума не посходили, когда поняли, что их компьютеры взломаны, и сделали так, что проникнуть в систему стало намного труднее.
В случаях с такими маленькими BBS не имеет большого значения, проникнете вы в них, или нет, но если вы имеете дело с чем-то вроде правительственной организации, дополнительные сложности вам вовсе ни к чему.
Если вы каким-то образом обнаруживаете свое присутствие — например, вводя в качестве пароля подряд все слова из словаря, и каждый раз получая сообщение “НЕПРАВИЛЬНО ВВЕДЕНЫ ВХОДНЫЕ ДАННЫЕ”, — системные операторы, как минимум, обеспокоятся. Это означает, что вам уже не удастся получить никакой информации по телефону, а также возможно изменение паролей всех легальных пользователей либо чистка неиспользуемых бюджетов, которая, впрочем, может облегчить вход. С другой стороны, если вы испытываете теплые чувства по отношению к той или иной системе, и не хотите, чтобы ей был причинен вред (и вас мало беспокоит то, что вы можете в нее никогда больше не вернуться), вы можете принять решение известить операторов обо всех маленьких недостатках, которые вы обнаружили в их замечательной системе. Во многих случаях вам просто не поверят. Они могут даже не потрудиться проверить ваши сообщения, либо потому, что уверены в собственной непогрешимости, либо потому, что примут вашу информацию за какую-то уловку, да бог знает, почему еще. Но если они действительно поверят вам и примут ваши советы, они будут весьма благодарны и, если вы попросите, наградят вас доступом невысокого уровня или сообщат какие-нибудь интересные сведения. Скажите им, что вы будете их неофициальным “советником по безопасности”. Некоторые из них с радостью примут ваше предложение, хотя остальные предпочтут больше не иметь с вами дела.
Зашита BBS
Этот раздел посвящен двум предметам безопасного использования BBS хакерами: хакер-пользователь и хакер — системный оператор. Эти две ипостаси тесно взаимосвязаны, поскольку системные операторы одной BBS могут в то же время являться пользователями других. Вы должны применять эти меры предосторожности на всех BBS, которые вы используете и запускаете, и не стоит. связываться с системами, которые не обеспечивают высокой степени хакерской безопасности.
Не помешайте сообщений, содержащих сведения о нелегальной деятельности на BBS, в безопасности которых вы не уверены полностью. Не следует также расписывать свои хакерские достижения в своей личной электронной переписке. Если вы всерьез увлечены электронными системами объявлений, постарайтесь всеми силами подружиться с “неблагонадежными” системами, если не хотите портить себе перспективу вашего дальнейшего существования в компьютерном мире. Но всегда следует убедиться, что ваши сообщения на этих досках никак не втянут вас ни во что криминальное. Поймите меня правильно. Я вовсе не утверждаю, что размещение хакерских сообщений на хакерских BBS гарантирует вам безопасность — это совсем не так. Если вы начали делиться информацией с другими хакерами на хакерской BBS, вам лучше убедиться, что системный оператор соблюдает следующие меры предосторожности: ложный фасад, спрятанные полдоски, полная двойная анонимность, шифровка и проверка намерений. Самым главным аспектом любой хакерской группы, клуба или BBS является секретность. Настоящая хакерская BBS не станет давать рекламу, поскольку не нуждается в новых членах. Хакерская BBS снаружи может казаться очень домашней, этакой семейной BBS, но стоит набрать кодовое слово, не указанное в меню, ввести один-два пароля — и вот вы вошли в секретную область. Хакерская BBS должна также заботиться о своей безопасности, разрешая вход в секретные разделы только определенным пользователям, чтобы не дать несанкционированным хакерам-пользователям или псевдо хакерам взломать ваше место сбора. Любая хакерская BBS, пренебрегающая этими простыми правилами, необходимыми, чтобы казаться легальной, является несерьезной, опасной, и с ней не следует иметь дела. Многие BBS делают еще большие с глупости — я встречал такие системы, для получения доступа в секретные разделы которых достаточно было набрать в качестве пароля слова вроде “DEATH” (“СМЕРТЬ”) или даже “PASSWORD” (“ПАРОЛЬ”). Нечего и говорить, что информация, которую можно найти на таких досках, не обладает высокой ценностью, и обычно состоит из взаимной перебранки между пользователями.
Ни один новый пользователь не должен быть до-пушен на хакерскую BBS до тех пор, пока один или несколько действительных пользователей не смогут подтвердить, что он не из полиции, что он будет соблюдать принятые в данном сообществе нормы поведения, располагает полезной информацией и умеет держать язык за зубами.
В качестве системного оператора вы можете получить удовольствие, составляя список правил, определяющих процедуру приема на BBS новых членов. Помните о том, что, пока новый человек не будет принят на BBS, он не должен даже знать о ее существовании. Это позволит вам избежать встречи с полицейскими и сделать секреты системы доступными только для самых лучших хакеров. Как только новый человек будет принят, частная информация о нем должна быть стерта из памяти компьютера.
Вообще, поразмыслите о тех BBS, членом которых вы являетесь на данный момент. Нет ли среди них таких, которые могут накрыть во время полицейской облавы? Лаже если ни вы сами, ни остальные члены системы не совершают никаких нелегальных действий в данной системе, федеральным агентам на это наплевать. Если вы не хотите оказаться замешанным в деле о компьютерном преступлении, даже незначительном, попросите оператора подпольной BBS, членом которой вы являетесь, заменить вашу личную информацию — имя, адрес, телефон, — на ложную. Если вы решили распрощаться с какой-либо BBS, обязательно информируйте оператора о том, что вы хотите, чтобы ваша информация была уничтожена. (Одна из вполне законных — с точки зрения хакера, конечно, — причин для взлома BBS — именно желание убедиться, что такая информация была изменена или уничтожена.) Обязательно проделывайте все эти веши, поскольку блюстители порядка обожают заставать хакеров врасплох. В случае, если представитель закона не сомневается в том, что конкретный хакер пользовался конкретной хакерской BBS, он может и сам совершить взлом, чтобы добраться до настоящего имени этого хакера. Так или иначе, убедитесь в том, что ваши настоящие данные никогда не всплывут в мутной водице.
Прежде чем мы продолжим разговор о том, что следует делать, будучи системным оператором хакерской BBS, я хотел бы привести наглядный пример того, что случается с хакерами, которые НЕ следуют приведенным выше советам. В 1986 году в Детройте появилась BBS с простым, но высокопарным названием — “The ВоагсЬ(игра слов —доска или министерство, совет и т. п.) Аоска использовала компьютер НР2000, и влекла к себе хакеров и кракеров (а также тех, кто только хотел стать таковыми) отовсюду, 20-го августа при загрузке в систему на экране появлялось следующее сообщение:
Добро пожаловать на “осиную” BBS команды (1-ТЕАМ) МАЙКА ВЕНЛААНЛА! (Компьютерное обеспечение — BOARDSCAN) 66 мегабайт 300,1200 бод — 24 часа. V нас есть (3) линии — и ни одной занятой. 313-ХХХ—ХХХХ
Если в тот день вы вызывали систему и читали новые сообщения, вас могло удивить такое сообщение:
Лоска объявлений:
Общая информация и BBS Сообщение: 41 Заголовок: ВАС НАДУЛИ!!!
Кому: ВСЕМ
От кого: ГЛАВНЫЙ ТЕХНИК Отправлено: 8,20,86 @ 12.08 часов
Приветствуем:
Вы находитесь на THE BOARD, “осиной” BBS, оператор МАЙК ВЕНАЛАНА из команды WDIV-TV. Цель:
продемонстрировать и задокументировать существование криминальной и потенциально противозаконной деятельности хакеров и телефонных мошенников, или так называемого “хакерского сообщества”.
Благодарим вас за сотрудничество. В течение последних полутора месяцев мы получили от вас информацию всех видов, которая обнаруживает ваше участие в подделке кредитных карточек, телефонных счетов, вандализме и, возможно, в насильственном проникновении в государственные компьютеры либо компьютеры общественной безопасности. Самое главное, теперь у нас есть ваши объявления, ваши электронные адреса, и — что важнее всего — ваши НАСТОЯЩИЕ имена и адреса. Что мы собираемся со всем этим делать? Не уходите с канала News 4. Я планирую специальные серии докладов о наших экспериментах с THE BOARD, которую посещали пользователи от побережья до побережья, а также пользователи Канады в возрасте от 12 до 48 лет.
Наши постоянные пользователи знали меня как ГЛАВНОГО ТЕХНИКА, не считая других ID. Ажон Максфилд из Boardscan
являлся нашим консультантом и обеспечил нам НР2000, который поддерживал это “осиное гнездо”. С помошью ретрансляции звонков и других современных средств, которые стали возможными благодаря телефонной технологии, данная BBS взаимодействовала с удаленными пользователями, находясь непосредственно здесь, в Детройте. Когда будут готовы наши доклады? Через несколько недель мы собираемся непосредственно вступить в контакт с многими из вас, подключив полицию и агентов по безопасности из компаний по производству кредитных карточек и из телефонных служб. Докладов будет чертовски много. Спасибо за помошь. И не затрудняйте себя излишним беспокойством. Помните — у нас есть ВАШИ настоящие имена.
Майк Вендланд The ,-team WDIV, Detroit, Ml.
Доска объявлений:
Основная информация и BBS Сообщение: 42 Заголовок: BOARDSCAN Кому: ВСЕМ
От кого: КОСИАЬШИК Отправлено: 8,20,86 @ 3.31 часа
Это Джон Максфилд из Boardscan (1). Приветствую! Просьба отправлять все бомбы Майку Вендлан-ду из WDIV, Detroit. Эта доска — его идея. КОСИАЬШИК (он же Cable Pair)
Нужны ли здесь какие-либо комментарии? Теперь вы видите, что люди, которые охотятся за хакерами — то есть, за ВАМИ, — отнюдь не просто тупые копы. Максфилд знал достаточно, чтобы придумать прозвища “k001 ”, типа Косильшика (The Reaper) и Cable Pair. Пароль для новых пользователей, желающих попасть в систему, был HEL-N555,Elite,3 — неплохой пароль, если принять во внимание его происхождение. Макс-филды разбираются в хакерстве не хуже, чем мы с вами. Они знают нашу культуру, жаргон и способ мышления. Последнее причиняет особенно много неприятностей, а значит, вам следует обладать своим собственным стилем мышления. Вы не станете хакером высшего класса, пока не научитесь полностью использовать свой здравый смысл. Помните об этом, вызывая BBS. У нас есть право запускать свои собственные BBS и обмениваться информацией с их помошью. Но информацию с хакерской доски вы вряд ли стали бы показывать своей матушке.
Заявления типа “ На данной BBS запрошены любые противозаконные дискуссии...” бесполезны, но они могут послужить дополнением к следующему утверждению: многие традиционные законы против хакерства говорят о “намеренном причинении вреда”. Можно ли доказать, что хакер или кракер умышленно повредил компьютер? Если вы основали хакерскую BBS или клуб, вы должны убедиться в честности намерений ее участников. Пусть они подпишут соглашение о том, что они никогда не нанесут умышленного вреда чужому компьютеру или его содержимому, что обмен информацией, которая появляется на BBS, имеет под собой исключительно познавательную цель, что никакие обсуждения нелегальной деятельности не станут преследоваться и т. д. Таким образом члены BBS будут следовать вашему своду правил “хакерского кодекса чести”, который может появляться на экране во время прохождения процедуры загрузки. Такое соглашение, возможно, и не убережет вас от столкновения с законом, но позволит вам достичь двух целей: нарушившие соглашение члены BBS будут исключаться; а судьи, благодаря ему, возможно, поверят, что ваша BBS — всего-навсего невинный кружок для людей, которых объединяет общее хобби. Системным операторам стоит заставить участников своей BBS подписать такое соглашение еще и затем, чтобы в случае рейда блюстителей закона пользователи могли на законном основании потребовать вернуть им деньги за разрушенное оборудование, потерянное время, ложные аресты, причиненное беспокойство и т. п.
Электронную почту следует всегда держать под рукой, чтобы можно было истолковать в свою пользу Акт о неприкосновенности электронных коммуникаций. Данный акт предусматривает арест каждого служителя закона, который прочтет электронную почту, являющуюся частной в течение 180 дней. Подобное же, впрочем, ждет каждого пользователя, хранящего свою почту на вашей BBS. Итак, если ваши веселые хакеры подпишут такое соглашение и у каждого пользователя будет храниться образец электронной почты (которая может обновляться каждые 180 дней), вам следует продемонстрировать все это вторгшимся на вашу территорию полицейским.
Можно сделать для них специальное сообщение о том, что, в соответствии с законом, некоторые хранящиеся в данной системе материалы и электронная почта, а также сама система и компьютер, на котором она расположена, по закону являются неприкосновенной частной собственностью. Как системный оператор, можете попросить их довести до вашего сведения любую информацию о незаконной деятельности в рамках системы, если таковая будет обнаружена, поскольку вы “не потерпите подобного на своей BBS”.
Джон Максфилд, консультант по компьютерной безопасности, просматривает BBS в поисках свидетельств хакерской деятельности, а обнаружив их, информирует об этом компанию, подвергшуюся взлому. Вы сами знаете, как хрупка бывает компьютерная безопасность. Размещая сообщения или посылая электронную почту на BBS, вы словно открываете ее всему миру. Не позволяйте таким вот охотникам на хакеров копаться в ваших личных делах.
Другие меры по обеспечению безопасности в режиме онлайн
Если вы станете следовать какой-либо определенной схеме, вам станет проще жить, но зато другим будет легче найти то, что вы хотели бы спрятать, и заметить вас, когда вы предпочли бы остаться незамеченным. Один работник нефтяной компании попросил системного менеджера каждый раз до начала компьютерного сеанса устанавливать для него временные резервные записи, чтобы он мог прочесть их перед тем, как приступить к работе. Менеджер сразу заподозрил, что этот человек ищет резервные данные, которые сохраняли до него на этих лентах другие сотрудники. Этого промышленного шпиона, как и многих других, поймали из-за того, что он действовал в рамках определенных установок. Преступники, в том числе и хакеры, любят создавать планы своих действий. Но любой придуманный вам план должен содержать в себе элементы случайности. Не позволяйте себе всегда делать вызовы удаленного компьютера в одной то же время, использовать одни и те же рабочие станции или телефоны, поскольку в один прекрасный день, придя на излюбленное вами место, вы можете обнаружить, что некто поджидает вас там с парой наручников.
Однажды мне в руки попал список номеров социальной безопасности: это был первый урок в компьютерном классе, и профессор попросил студентам сделать для него список с их именами и номерами, чтобы затем создать их компьютерные бюджеты. Я подождал, пока бюджегы будут созданы, но не стал перебирать все подряд. Вместо этого я вводил новое имя через каждые несколько часов чтобы создать впечатление, что это разные люди входят в систему под своими именами. После первой загрузки система попросила меня сменить мой пароль. После этого мне удалось использовать команду изменения паролей операционной системы, чтобы настоящий пользователь смог войти в нее, введя свой номер социальной безопасности. Но в каждой из пользовательских директорий я оставил спрятанную программу, дабы позднее использовать ее для удаленного просмотра файлов и игр. Если вы попадете в ситуацию, когда будете не в состоянии сменить измененный вами пароль обратно на пароль легального пользователя, попытайтесь снова ввести пароль, подобный номеру социальной безопасности — например, 123-45-6780 вместо 123-45-6789, словно вводивший пароль ошибся клавишей. Переходя от одного взломанного бюджета к следующему, важно изменить также свой образ действия. Как вам известно, оказавшись в системе, следует постараться создать новый бюджет для себя. Но всегда используйте разное имя и пароль, причем вводимые данные должны иметь как можно меньше отношения к реальным данным о вашей персоне.
Журналы регистрации (Log-файлы)
Вам не составит труда заставить производителей продукции по компьютерной защите послать вам по электронной почте всю информацию об их товарах. Аля меня имеет значение, в основном, такое программное обеспечение, которое незаметно следит за тем, что происходит в системе, проверяет ресурсы системы на предмет неправильного и беспорядочного использования и ведет журнал регистрации на диске или в распечатках. Сотрудник компании может заглянуть в журнал и сказать себе: “Ого! М-р Полтри каждый раз входит в систему в три часа ночи.
Странно... Надо бы поговорить с ним...” Внезапно вы оказываетесь в опасной ситуации, даже не зная об этом.
Производя исследования конкретного компьютера, который вы собираетесь взломать, вы узнаете, какие из программ компьютерной зашиты используются в данном случае (можно узнать об этом у системных операторов, прикинувшись консультантом по компьютерам, или зайти в библиотеку компании и заглянуть в справочник). Закажите у производителя программ по защите образцы его продукции, чтобы “знать своего врага в лицо”. Журналы регистрации могут предупреждать администраторов обо всех ваших привычках. Даже если вы не собираетесь обзаводиться привычками, вы, возможно, станете причиной каких-либо проблем, что также будет отражено в журнале регистрации. Если вы не собираетесь немедленно покидать взломанный компьютер, а, например, хотите выходить из него в сеть, вы должны обнаружить следящую программу компьютерной зашиты и
обезвредить ее. Не стоит разрушать такую программу, просто перепрограммируйте ее так, чтобы она оставляла без внимания ваш вход в систему. Иди выясните, каким образом она ведет запись происходящего и посмотрите нельзя ли уничтожить записи вашей деятельности. Если вы сможете это сделать — прекрасно, значит, вам, скорее всего, достался корневой доступ. Если вы в течение некоторого времени загружались одним и тем же образом, вам надо изменить соответствующие записи, чтобы создать впечатление случайности при прохождении входных процедур. Возможно, вам также удастся использовать команду установки времени или даты, чтобы в свою очередь следить за следящей программой.
ВНИМАНИЕ!
Очень многие хакеры, пытаясь осторожно отредактировать записи следящей программы со своими действиями, обнаруживали к своему ужасу, что уничтожили больше, чем требовалось. Другие пытались оказать помощь, очищая грязную программу и т. п., что приводило к различным несчастьям. Всегда создавайте резервные копии, особенно на компьютерах, которые принадлежат не вам. Если вам необходимо изменить чужой файл, изменяйте его копию.
Затем убедитесь, что сделали все правильно, и только после этого уничтожайте оригинал и переименовывайте копию.
Одни из простейших задач, которую выполняют большинство следящих программ и многие средства зашиты ОС — запись неудачных попыток входа в систему. Аля того, чтобы узнать, каким образом избранный вами компьютер реагирует на неправильные входные данные, вам опять же понадобятся исследования. Некоторые программы позволяют сделать три-четыре попытки ввода комбинации имя, пароль, после чего перезагружаются, сохраняя последнюю попытку. В этом случае вместо ввода последнего пароля лучше нажать Control-C или что-то другое, позволяющее вернуться к предыдущему уровню взаимодействия.
Следящие программы могут стать досадной помехой при такой большой работе, как атака с помощью грубой силы. Если получится, попробуйте написать программу для перебора паролей так, чтобы обмануть журнал регистрации. Можно обратиться прямо к аппаратному обеспечению, или, в зависимости от того, какие веши записывает журнал, переименовать могущие показаться подозрительными команды.
Распечатанные журналы являются большой проблемой. Можно попытаться изменить записи на ленте или диске, но что если программа зашиты одновременно делает распечатку происходящего? Тут-то ничего уже не исправишь. Не допускайте ошибок. Ограничьте подозрительную деятельность до тех пор, пока не сможете вывести из строя принтер. Возможно, вам удастся запрограммировать принтер на печать несуществующим шрифтом, или если принтер цветной, на печать таким цветом, которого нет на ленте или картридже. Конечно, если вы действуете по телефонной линии, вам неизвестно, какое оборудование используется. Впрочем, существует еще возможность заставить компьютер выводить данные на другой, несуществующий принтер. Иногда удается даже заставить компьютер думать, что он выводит данные на принтер, в то время как они идут через его модем — в таком случае, вы будете получать репортажи о своей собственной деятельности.
Более неприятная разновидность журналов регистрации ведет запись: кто из пользователей что сделал, когда и почему.
В некоторых компаниях сотрудники заносят в журнал все телефонные звонки, а каждый месяц сравнивают сделанные записи с телефонными счетами. Если вы проникнете в офис и станете делать удаленные вызовы, вас легко обнаружат. Лаже если вы занимаетесь этим дома, или в телефонной будке, журнал может вас засечь. Компании могут заносить в журнал приход и уход сотрудников и то, как используется оборудование. В этом случае нельзя допустить ни малейшей ошибки.
“в людях” и на местности
Занятия хакерством на людях — взлом общественных компьютеров или терминалов, социальная инженерия, даже исследования в библиотеке, и т. п., — гораздо опаснее, нежели занятия хакерством у себя дома. В этом случае появляется дополнительная опасность того, что вас узнают или арестуют.
Выбирая место для “публичного” хакерства, используйте проверенные взломшические уловки. Когда взломщик входит в дом, он прежде всего находит все выходы. Не садитесь за компьютер, от которого можно убежать только в одном направлении. Взломщик всегда рад любому кусту, за которым можно спрятаться; постарайтесь выбрать компьютер, который был бы каким-то образом “спрятан”, если за спиной у вас будет стена, а впереди — что-то еще, никто не сможет заглянуть вам через плечо.
Никогда не позволяйте себе забыть, где вы находитесь, увлекшись работой. Ведь именно это и происходит с обычными пользователями, когда вы занимаетесь “подглядыванием через плечо”. Хакер должен думать о безопасности больше, чем легальный пользователь. Приготовьте правдоподобную историю на случай, если вас заметят. Одевайтесь соответственно случаю, и всегда в чистую одежду. Наконец, помните, что в компьютерном зале почти всегда найдется хотя бы один хакер или кракер. Опасайтесь “подглядывателей” и прочих хитрецов. Сидя за общественным компьютером, я всегда несколько раз нажимаю клавишу “Break” перед окончательной загрузкой, на случай, если кто-то установил поддельную программу-ловушку. При выходе тоже соблюдайте осторожность. Некоторые терминалы снабжены буфером экрана.
Этот буфер после выхода из системы часто не очищается сразу, и вы можете со спокойной душой выйти из-за компьютера, оставив на нем запись всех проделанных вами действий.
связь с компъютером прервана: минмизация потерь
Но что, если все эти советы вам не помогут, и вас все-таки поймают? Стоит подготовиться к такому повороту событий, чтобы блюстители закона не могли найти, в чем бы вас обвинить.
сопровождение вашего компьютера
Следует регулярно просматривать файлы, хранящиеся на вашем компьютере, и уничтожать те, которые вы незаконно присвоили. Не просто стирайте их: записывайте на их место тексты, состоящие из единственного повторяющегося символа, шифруйте самыми сложными ключами, и только затем стирайте. Можно использовать программу “Wipefile”. Тогда компьютерным копам не к чему будет придраться. Помните, что иногда куски файлов теряются, или отрываются от основной части, или дублируются где-нибудь на диске. Регулярно ишите таких “сироток” и стирайте их, если они содержат что-то нелегальное. Аюбой файл, который вы не можете просто уничтожить, надо шифровать и, в идеале, скрывать под не вызывающим подозрений именем.
На вашем компьютере могут быть и другие веши, которые можно использовать в качестве обвинения против вас: терминальные программы, автонаборы, базы данных с номерами модемов и кодов доступа, списки номеров BBS и т. п. Чтобы сделать их безопасными, наряду с программными “замками” на своем компьютере я использую замки физические.
Прежде чем начать работу, мои компьютеры проверяют, был ли набран на клавиатуре определенный ключ. Если компьютер загружается, не обнаружив ключа, он знает: что-то не так. Тогда он вызывает подпрограмму времени и даты, которая показывает правильное время и дату, тем самым давая мне возможность откорректировать их. Я должен ввести определенные время и дату, в противном же случае компьютер выдаст сообщение “ИДЕТ ЗАГРУЗКА МЕНЮ” и перенесет директорию, в которой я храню все свои безобразия. Там тоже будет открытое меню, но в него никто не сможет войти или выйти из него, не введя правильный пароль.
К счастью, мои компьютеры ни разу не конфисковали. Если это произойдет, мне жаль того простака, которому придется продираться сквозь насаженные мною дебри; все мои системы настроены на уничтожение незаконного содержимого в определенных ситуациях. Даже если он подготовится к этому, он не сможет узнать, как это предотвратить!
Как хранить остальные матерьялы
Если у служителя закона имеется ордер на ваш арест, он сможет совершенно легально забрать все ваши компьютеры, периферийное оборудование, чистые дискеты и аудиокассеты, коммерческое программное обеспечение и документацию, распечатки, телефоны и т. п. — любое электронное оборудование, равно как и любые бумаги, подтверждающие, что вы являетесь владельцем этого оборудования, книги, журналы — все, что угодно. Именно так и происходит во время полицейских рейдов. Вдобавок, если преступления, в которых вы подозреваетесь, связаны с конкретным местом или человеком, у вас заберут любые свидетельства того, что существует связь между этим местом, или личностью, и совершенным преступлением. Ордера на арест пишутся специально для того, чтобы узаконить захват такого количества предметов, и будьте уверены — они возьмут все, что захотят. И не рассчитывайте, что вам хоть что-то вернут. Именно поэтому вначале я упоминал, что хакеру необязательно иметь собственный компьютер.
Печально, но факт — вам лучше всего прятать свое имущество, когда вы не находитесь дома или не пользуетесь им. Распечатки и заметки лучше хранить в папках с названиями типа “Школьные сочинения”, написанными крупными буквами, — тогда они, может быть, и не привлекут внимания. Весьма распространен миф о том, что компьютерные распечатки якобы не могут использоваться на суде в качестве вещественного доказательства, т. к. их легко подделать. На самом деле распечатки являются таким же доказательством, как и любые другие записи, если удастся доказать, что они были сделаны во время подготовки или совершения незаконных действий. Распечатки, сделанные позднее, и не вами, доказательством не являются.
Но, с другой стороны, если в памяти вашего компьютера хранятся свидетельства ваших незаконных действий, блюстители закона найдут способ представить их суду в качестве доказательства. (Правда, они настолько любят разбивать конфискованные компьютеры, что вам, право же, не о чем беспокоиться!)
Пряча свое имущество, важно сделать так, чтобы оно выглядело как нечто, не имеющее отношения к компьютерам или электронике. Офицеры полиции умудряются получать такие ордера, которые разрешают им забирать все, что имеет хотя бы отдаленное отношение к электричеству. Например, незаконная информация подпольно распространяется на аудиокасоетах. Конечно, мы поместим подобную информацию на купленные в магазине кассеты с надписями вроде “Битлз”, но копы знают об этом, и захотят забрать все наши записи, включая и те, которые выглядят совсем невинно.
Хакеры обмениваются информацией и хранят записи на дискетах. Значит, если у вас есть коробка подобных дискет, вы не можете просто наклеить на них этикетки с названиями игр — вас все равно заподозрят. К тому же, полиция вряд ли станет разбираться с надписями на дискетах. Значит, вам придется спрятать сами дискеты, способом, не имеющим отношения к технике. То же самое относится и к прочему электронному оборудованию. Так, я храню свои резервные дискеты в коробке из-под крекеров — при этом я не являюсь параноиком. Мой лаптоп хранится в большой коробке из-под хлопьев на верхней полке чулана. Мне так спокойнее. Вы уже знаете, что компании и предприятия могут оставлять ценную информацию в мусорных баках. Вам необходимо осознать, что и ваш мусор может так же пригодиться тому, кто хочет обвинить вас в компьютерном преступлении. Все подобные отходы следует сначала подвергать необратимому разрушению, а затем уносить подальше от дома. Распечатки намачивайте, и лишь затем разрывайте. Содержимое дискет шифруйте, потом уничтожайте. Дискеты размагничивайте сильным магнитом, потом крошите на куски. Это не сумасшествие — методы восстановления уничтоженной электронным способом информации существуют.
После все это можно выбросить в общественный мусорный контейнер. Я не шучу! Следуйте этим советам — и на вас не навесят ярлык “похитителя промышленных секретов”!
заключение: КАК сделать чтобы вас поймали
На этот раз я хотел бы предложить вам список методов, которые НЕ НАДО использовать, иначе у вас
будут неприятности. Вот пять способов, с помощью которых можно схватить хакера за руку: 1. С помощью слежки или техническими средствами. 2. С помощью доносчика. 3. Объединив против него несколько агентств. 4. По его ошибке, или 5. Узнав его.
Вас могут поймать, выследив по телефонным линиям или другими техническими средствами, вроде журналов регистрации. Так что не оставляйте за собой следов. Все время меняйте компьютеры и телефоны, с которых вы делаете удаленные вызовы. На вас могут донести. Будьте осторожны, общаясь с другими хакерами. Не рассказывайте всем подряд о своих достижениях. Прежде всего, обращайтесь с людьми, с которыми ведете разговоры о хакерстве или вместе занимаетесь хакерством, так, как вам хотелось бы, чтобы они обращались с вами. Если на вас станут охотиться сразу много агентств, вас непременно поймают. Не крадите, не разрушайте, не занимайтесь вандализмом. У хакеров и так неважная репутация, в основном, потому, что большинство пытающихся практиковать хакерство — это прыщавые псевдоанархисты старшего школьного возраста. Если вы соблюдаете хакерскую этику, на вас не станут устраивать травлю. Вас могут поймать из-за вашей собственной ошибки. Ошибкой является несоблюдение нижеследующих предосторожностей.
Всегда подумайте, прежде чем действовать. Не раскрывайте никаких сведений о себе. Не забывайте уничтожать, а не стирать, резервные файлы; это особенно касается временных файлов, которые создаются без вашего участия, автоматически. Если вы будете осторожны, вам удастся практически полностью избежать ошибок. Но даже самый осторожный хакерможет попасться, веруя в стопроцентный успех своего плана действий, тогда как на деле в нем куча недостатков. Например, в 1974 году преступник в Токио пытался использовать одно из основных свойств электронной передачи данных — задержку, которая происходит в то время, когда данные идут по кабелям или телефонным линиям.
Преступник открыл банковский счет, использовав фальшивое имя Кобаяши, и начал потихоньку перетягивать небольшие суммы из банкоматов, разбросанных по всей Японии. Каждый раз, перетащив немного денег, он звонил в банк, чтобы узнать текущее состояние своего счета. Таким образом ему удалось выяснить, что центральному компьютеру банка требуется двадцать минут, чтобы зарегистрировать отток денег с удаленной машины. Позднее Кобаяши решил воспользоваться этой информацией. Он перевел на свой счет 5 миллионов йен, рассчитав, что у него в запасе будет двадцать минут, чтобы унести ноги, пока служащие банка станут ожидать, когда главный компьютер получит информацию о том, с какого автомата была снята такая сумма. План провалился — Кобаяши не подумал, что программисты банка смогу перепрограммировать центральный компьютер для немедленной идентификации использованной преступником машины. Грабитель не успел снять со счета свои деньги, как его схватили.
Просматривайте свои планы на случай неожиданных поворотов, и помните, что по ту сторону линии могут быть люди, стремящиеся вас схватить. И, наконец, вас могут узнать. Постарайтесь не выделяться среди массы людей. Самый надежный способ никогда не попасться — никогда не начинать заниматься хакерством. Тогда все, что вы сможете делать с компьютером, — это заниматься делами, решать задачки и иногда играть. Но, занявшись хакерством, вы приобретете целый мир. Вот и все. Желаю всем нам еще много мирных счастливых взломов!
Ваше будущее в качестве хакера
Глава 12. Ваше будущее в качестве хакера
— И что это за профессия такая, прости господи! Сын лейтенанта Шмидта, Ну, год еще, ну, два. А дальше что? Дальше ваши рыжие кудри примелькаются, и вас просто начнут бить.
— Так что же делать! — забеспокоился Балаганов.
— Надо мыслить, — сурово ответил Остап.
И. Ильф, Е. Петров. Золотой теленок
Многие хакеры и не хакеры излагают свои версии “хакерской этики”, и почти все версии похожи друг на друга. Но часто крутые ребята-хакеры сначала следуют принципам, моральным установкам — Кодексу чести, — а затем их уводит в сторону. Им начинает казаться, что, зная закон, они получают право его нарушать: “Мы не действуем вслепую”. Так поступают крутые ребята — они знают, что они крутые, забывая при этом, что порой даже самые крутые хакеры на поверку оказываются полными тупицами.
Я хочу изложить вам свою собственную версию хакерского Кодекса чести. Это список моих убеждений, относящихся к миру компьютеров. Возможно, у вас совсем другие убеждения, но это не страшно — хакеры люди независимые. Впрочем, я хочу, чтобы вы поняли, почему так важно сформулировать кодекс чести и следовать ему. Это может уберечь вас от неприятностей. Я не хочу сказать, что, если вас поймают, суд обратит внимание на то, что вы вели себя в соответствии со своими принципами, особенно если эти принципы включают в себя незаконную деятельность. Я имею в виду, что мне хотелось бы верить в следующее: если вы сформулировали свой моральный кодекс, и если все хакеры из вашего круга подпишут заверения в своей верности этому кодексу, то, быть может, судья или присяжные скажут себе: “Господи, да ведь он не собирался причинять никакого вреда”. Вы, возможно, помните наш разговор об умышленном причинении вреда. Хотелось бы думать, что суд обратит на это внимание, хотя в действительности люди редко пытаются посмотреть на веши с чужой точки зрения. По крайней мере, обладая кодексом чести, вы сможете избавиться от нежелательных людей, и участники вашей группы будут счастливы и в безопасности.
Но еще более важно то, что в подобном кодексе, которому вы следуете, присутствует какая-то необъяснимая скрытая ценность. Вам кажется, что я читаю вам проповеди? Ну что ж, я не стану спорить. Вот мой Кодекс Чести Хакера. Здесь мои принципы, касающиеся компьютеров и хакерства, которым я стараюсь следовать.
мой кодекс: чести
Компьютеры дали возможность каждому получать огромные количества информации быстрее и дешевле, чем когда-либо прежде. Свободное распространение информации является благом, но лишь постольку, поскольку не ущемляет прав человека. Существует два вида прав человека—права отдельной личности и права человечества в целом. Человечество должно иметь возможность виртуального доступа к любой информации, и эта информация должна использоваться в моральных целях.
Люди должны знать то, что они хотят знать, и нельзя скрывать от них информацию. Новые идеи должны публиковаться и обсуждаться. Знания должны доходить до людей. Технологии должны использоваться на благо людей, но не ради наживы и не в политических целях. Каждый человек должен иметь право на то, чтобы связанная с ним информация не использовалась во вред ему. Люди должны иметь право знать, если их личная информация внесена в базу данных, знать о том, кому и когда она отдается или продается. Они должны иметь право следить за тем, каким образом используется эта информация. Человек должен иметь право проверять информацию о самом себе, если она занесена в компьютерный файл или базу данных, и в этом ему не должны чиниться препятствия. Он должен иметь право беспрепятственно исправлять неточности в этих данных, и убирать оскорбительную для себя информацию. Аюди должны иметь гарантию, что те, кто создает и обслуживает базы данных, будут своевременно предоставлять им эти права.
Так должно быть, и в некоторых ситуациях эти права действительно имеют силу. Но большинство этих прав почти единодушно игнорируется. Значит, взломы необходимы.
Хакерство позволяет использовать компьютеры в соответствии с вышеперечисленными идеалами.
Хакеры обладают идеалами относительно всех людей и всего человечества в целом, и у меня есть набор таких идеалов, которые лично я использую. Вот главные из них:
• Никогда и никаким образом не наноси вред ни компьютеру, ни программному обеспечению, ни системе, ни человеку, ничего не изменяй и не уничтожай.
• Если вред все же был нанесен, сделай все, что в твоих силах, чтобы исправить содеянное, и предотвратить подобное в будущем.
• Не позволяй ни себе, ни другим откровенно наживаться на взломах.
• Сообщай компьютерным менеджерам о наличии прорех в защите их компьютеров.
• Учи других, если тебя просят об этом, делись знаниями, если тебе есть чем делиться. Это не необходимость, но простая вежливость.
• Помни о своей уязвимости во всем, что касается компьютеров, включая секреты, которые тебе удалось узнать с помощью взломов.
• Будь осторожен. Проявляй настойчивость, но не делай глупостей и не рискуй понапрасну.
Я не хочу сказать, что следование этим принципам делает мои занятия хакерством моральными или правомочными. Но я также не считаю, что мое хакерство аморально. И я не стану выслушивать ничьих возражений по этому поводу. Мы-то знаем, что законно, а что — нет. Я собираюсь заниматься хакерством вне зависимости от того, насколько моральным я его считаю. И если у вас возникнет вопрос типа “Неужели вы действительно думаете, что этот ваш кодекс чести может оправдать что-нибудь вроде „вынюхивания"?”, значит, у вас в крови нет хакерства.
комбинирование принципов
В данной книге я попытался предложить основные указания по различным темам, которые подготовят вас к любой, связанной с компьютерами, ситуации, в которой вы можете оказаться.
Когда речь заходит о понятии “хакерства”, невозможно говорить о какой-то определенной последовательности шагов, которые следует предпринимать для достижения своих целей. Надо, скорее, выбрать основные идеи, дополнять их по мере необходимости, и взламывать до тех пор, пока что-то не выйдет. Зная, что вас ожидает, вы будете знать, как реагировать на очередное изменение, — и ваши хакерские способности только увеличатся.
Я хочу рассказать вам еще одну, последнюю, историю. Она демонстрирует многое из того, о чем вы прочли в книге: исследования, копание в мусоре, подглядывание через плечо, упорство и логические рассуждения, программистские методы и методы грубой силы, общие знания о компьютерах, простую и обратную социальную инженерию, анализ экранов и модели систем. Эта история показывает, как все это вместе работает на конечный результат — удачный взлом.
“команда тигров” в моем лице
Недавно мне представилась возможность показать себя в хакерстве, взламывая только что установленную компьютерную систему специализированной библиотеки. Директор библиотеки был в курсе дела, поскольку они недавно обратились к этой новой системе, которая, в отличие от предыдущих, давала возможность получения коммутируемого доступа с внешних линий. Директор захотел узнать, возможно ли, находясь в режиме поиска, проникнуть в запретные зоны, имеющие дело с штрафами за просроченные книги, именами и адресами клиентов и можно ли вообще выйти из библиотечной программы в ОС? И многое-многое другое. Я сообщил ему, что буду счастлив разобраться с этой проблемой. Он предложил дать мне один из номеров для соединения с системой, но я отказался. Ведь я — хакер! (На самом деле я просто хотел произвести на него впечатление — я уже знал этот номер, когда он демонстрировал мне работу общедоступной части системы.)
Я вызвал систему из дома и изучил ее вдоль и поперек. Это была система, работавшая по командам. На экране я смог выбрать функцию, вводя такие команды, как CAT для поиска библиотечного каталога, и HOL, чтобы помечать пункты. Правильно завершать сеанс работы следовало с помошыо команды END. Я попробовал вводить другие, не указанные, команды. Очень часто бывает так, что часть системы является открытой, а часть —• секретной. Почти всегда общедоступная часть располагает по крайней мере одной секретной командой для входа в закрытую часть. Итак, я использовал множество ключевых слов: EXIT, BYE, LATER и т. д. Я видел, что некоторые из них используются в действующих прикладных программах.
Так, команда LEAVE открывала доступ в специальную область для кураторов и сотрудников музея. Но ни одна из испробованных мною команд не сработала. Так как система была новой и не устоявшейся, я не сомневался, что в ней должна быть куча ошибок, которые я смогу обнаружить. В разговоре с директором он упомянул о том, что определенные функциональные клавиши на терминалах еще не установлены, и их нажатие означает провал в непонятную программную оболочку. Ага! Вот это-то мне и надо! Но, если вы вызываете систему по телефонной линии, вы не сможете добраться до функциональных клавиш. Я думал, что, возможно, функциональные клавиши являлись макросами команд, которые пользователь так или иначе должен вводить вручную, но я не знал этих команд.
Под покровом ночи я извлекал содержимое находящихся возле здания мусорных контейнеров в поисках полезной информации, и наконец нашел кое-что — ужасно изорванную брошюрку — документацию по интересующей меня системе. Лома я увидел, что среди перечисленных в карточке вешей были и имена команд, присвоенных функциональным клавишам. Одну-две из них можно было прочесть, остальные же прочесть не удалось. Но и двух было достаточно. Мне сразу стало ясно, что я исходил из неверных предпосылок — не ВСЕ команды представляли собой стандартные слова английского языка или аббревиатуры. Присутствовали и двузначные команды, и точечные. Вводя точечную команду, вы набираете сперва точку, а вслед за ней — буквенно-иифровую команду. Они часто используются в прикладных программах, когда непосредственный ввод буквенно-цифровой команды может быть истолкован как ввод данных. В программах часто используется точка перед командами, поскольку точка — простой, неприметный символ, который очень просто набрать. Но иногда в “точечных” командах используются и другие символы — слеш, апостроф и т. п. Из карточки я узнал, нажатие клавиши F1 соответствует команде .QUIT, a F2 — команде .HELP. Это показалось многообещающим — .QUIT могла давать доступ к закрытым областям, а помощи, скорее всего, вообще пока нет, так как система только что установлена.
Возможно, эта функция
и ведет к остановке системы. Я вызывал компьютер по внешней линии, а через модем нажатие функциональных клавиш передать невозможно; так что мне оставалось надеяться на .QUIT и .HELP. Конечно, я уже пытался их вводить, но без точки. Может быть, теперь... Нет! Ничего! Команда .QUIT просто отсоединила меня от компьютера. В ответ на .HELP экран очистился, и на нем появилось следующее:
*EOF\txt\hlp\helpOOO* Я предположил, что это означало End Of File helpOOO в директории \txt\hlp, то есть файл существовал, но был пустым. Я тут же обрадовался — теперь я знаю о директориях текстовых файлов и файлов помощи. И я заметил еще кое-что:
каждый раз при смене экрана вверху появлялось нечто вроде:
*** J. Smith Co Special Library On-Line ***
(000)U,SYSv55.6 Три цифры в скобках изменялись в соответствии с тем, какую часть программы я использовал. Три нуля, возможно, означали открытый экран, где я пытался набирать не указанные в списке команды. Если я наберу команду .HELP вместе с номером экрана, допустим, (013), значит, решил я, система начнет искать файл “\txt\hlp\help013”. Так и случилось. Аля ввода эта система использовала, в том числе, и команды, сопровождающиеся номером. Мне стало интересно, подходит ли такой формат и для команд помощи. Я попробовал ввести “HELP99999”, надеясь, что такое большое число система просто не проглотит — ведь, такого экрана просто не может быть. В ответ я получил сообщение о неверной команде. Я попробовал другие варианты, но они тоже не сработали. Наконец, я снова набрал “HELP99999”, и на этот раз команда подействовала! Наверно, в первый раз я сделал ошибку. Теперь система полетела, и я оказался в отладочной среде программы. Это было нечто вроде мини-системы для редактирования текстовых и командных файлов. Я не нашел в ней ничего ценного, кроме копирайта с первыми буквами названия компании, выпустившей программу. Я просмотрел несколько каталогов компаний по производству программного обеспечения, пытаясь расшифровать аббревиатуру, и наконец мне это удалось.
Позвонив туда, я выяснил, что именно они написали интересующую меня программу. Я попросил прислать мне запасную документацию к пакету. Конечно, сказали они, просто вышлите нам серийный номер своей программы, и они вышлют мне книгу за соответствующую плату. Я попытался схитрить, но не тут-то было: секретарша сообщила, что серийный номер можно найти на ярлыке инсталляционных дискет. “У меня сейчас нет дискет... Я звоню из машины. Я уверен, что высылал свою карточку, может, вы проверите? Меня зовут Ажонатан Смит из ...” Я молил бога, чтобы настоящий J. Smith посылал им свою карточку. Но — нет. Мне пришлось сказать, что я перезвоню на следующий день. Я решил, что в библиотеке компании должна быть эта документация, но не мог же я там появиться и попросить директора дать мне ее на время. Я должен был действовать как независимый хакер. Пришло время серьезно заняться социальной инженерией. Директор для этой цели не годится — он знает мой голос. Все, что мне было надо, — это серийный номер. Я позвонил секретарше библиотеки и сказал, что я — программист из компании, которая установила им новую компьютерную систему, и хотел бы знать, нет ли у них восьмой версии программы? Этого она, конечно, не знала, но я вежливо объяснил, что ей нужно просто найти несколько дискет с приклеенными на них ярлычками... Найдя их в директорском офисе, она сообщила мне серийный номер. Одной из его цифр оказалась восьмерка, и я сказал ей, что все верно, и я просто хотел убедиться, что компания поставила им самую новую версию, и как только появится девятая версия, мы пошлем ее им.
Я больше суток разбирался в отладочной документации. Я обнаружил, как можно обойти программное окружение и как — самое главное! — выйти из него. Выйдя из отладки, я оказался перед приглашением к загрузке. Нажав в ответ “circ” и “JSC” — J. Smith Co. — я вошел внутрь. Разумеется, здесь я привожу вымышленное имя. После ввода верного пароля я оказался на втором уровне зашиты — circ,JSC была общая входная комбинация, известная любому легальному пользователю.
Я знал, что означает “ваш личный девятизначный код”. Номер социальной безопасности! Я знал, где родился и вырос директор, так что первые три цифры у меня были. Я написал программу для перебора последних шести цифр, и вскоре нашел верную комбинацию. Мне выдали сообщение: “Добрый вечер, Ажейн Торнбакл! Пожалуйста, введите ваш личный пароль”. Директора звали иначе. Теперь мне был нужен пароль Ажейн. Я снова попробовал метод грубой силы, но безрезультатно. Я не знал, кто такая Ажейн Торнбакл, но у меня была извлеченная из мусора пачка рекламных проспектов компании. А вот и ответ: Торнбакл оказалась сотрудницей отдела службы управления информацией — то есть программистом. Вычислить ее пароль мне так и не удалось; продолжив перебирать номера социальной безопасности, я опять вышел на номер директора библиотеки. Итак, чего я достиг? Программная оболочка — вещь интересная, и я научился с ее помощью как угодно редактировать файлы и т. п. Я сумел использовать одну из отладочных команд поиска для обнаружения слова “circ” в файлах системы. В одном из них среди абракадабры я обнаружил слово “minicirc”, а затем “circ”. Я попытался расшифровать абракадабру, идущую после “circ”, думая, что это зашифрованное “JSC”, и надеясь таким образом найти ключ к абракадабре после “minicirc”. Безрезультатно. Вернувшись к входному приглашению, я попытался использовать “minicirc” с различными паролями. Проблема была в том, что я не знал, что такое “mini”. Я подумал, что это может быть модель программы или руководство. Наконец, я нашел верный пароль — T.CIRC1. Он-то и привел меня к заветному сообщению: “Пожалуйста, введите вам личный девятизначный идентификационный код”. Через несколько секунд я нашел нужный номер, и экран очистился. “Доброе утро, Новый Пользователь!” — появились на нем слова. — “Пожалуйста, введите ваш личный пароль”. Я надеялся, что это — последний уровень зашиты. И точно: через несколько мгновений мне удалось войти, использовав пароль “TRAIN”. Я гордился собой — я взломал-таки закрытую часть системы.
Но приключения еще не закончились — ведь “minicirc” была всего лишь учебной моделью настоящей системы. Ее можно было использовать для проверки книг для выдачи посетителям, регистрации новых посетителей, поиска в базах данных и т. д. Но в базе данных содержались только вымышленные имена и адреса. Многие другие свойства системы были бесполезны, но мне помогло само их наличие.
Там была электронная лоска объявлений, на которой инсталлировавшие программу оставили несколько стандартных сообшений-приветствий. Прочитав их, я узнал немало полезного. Каждое сообщение открывалось списком пославших его, и тех, кому оно предназначалось. Я заключил, что можно посылать сообщения из “minicirc” в “circ”, и наоборот. Во-вторых, там оказались сообщения, предназначавшиеся одному пользователю, но по ошибке посланные всем. С помошью текстового редактора я написал письмо и лично послал его. Затем вышел, перезвонил и снова оказался в программной оболочке. Использовав редакторы отладчика, я нашел написанное мною письмо, и изменил его содержание, адресовав его директору библиотеки. Свое имя, под которым хранился файл, — “Новый Пользователь” — я изменил на фиктивное имя представителя компании, произведшей программное обеспечение. В послании содержалась просьба к директору позвонить этому представителю для разговора насчет новой, девятой, версии — обратная инженерия! Телефонный номер, который я дал директору, принадлежал одному моему другу, которому я кратко объяснил, как действовать в случае, если директор позвонит. На всякий случай мы установили автоответчик. Когда директор позвонил, мой друг немного рассказал о новых разработках, а затем задал несколько технических вопросов о способе, с помошью которого в библиотеке была инсталлирована программа. Директор не знал этого, но сказал, что может посмотреть у себя на терминале, загрузившись в систему... “Отлично”, — сказал мой друг. — “Делайте все то же, что обычно. Circ. JSC. Так, номер... Кстати, вы используете все тот же личный пароль?” “Ну да, „Firebird".
Ну вот, я загрузился...” Итак, последний шаг оказался самым легким.
Для завершения проекта мы стали думать, что же можно сделать, используя директорский системный доступ. Оказалось, что сделать можно многое. Покинув данный уровень, мы вышли на сетевой сервер, а оттуда загрузились в один из главных компьютеров, используя имя и пароль директора. Под конец, для подтверждения своего успеха, я использовал редактор интерактивного отладчика и изменил программу так, чтобы вместо пояснений к командам она выдавала на экран непристойную шутку. Затем я оставил файл в директории директора библиотеки, в котором объяснил, каким образом был совершен взлом.
комбинирование принципов
Если вы хотите быть по-настояшему удачливым хакером, вы должны стать “хакером на все руки”. Недостаточно хорошо владеть методами социальной инженерии, или быть гением-программистом, и т. д. Вы должны обладать всеми этими навыками в совокупности с богатым воображением и установкой на конкретные цели. Плюс этика. Я действительно считаю, что хакерство без этики не ведет ни к чему хорошему — если вы будете причинять неприятности другим, то неприятности вскоре начнутся и у вас. Присутствовала ли этика в описанном мною взломе? Конечно — ведь я просто переименовал экранный файл, а неприличную шутку поместил в другой, под прежним именем. Позднее мы вместе с директором и программистами компании вместе обсудили план действий по заделыванию дыр в защите системы.
мысли в заключение
Спросите мудреца о цели существования вселенной, или еще что-нибудь в том же духе — и он ответит:
— Этого нельзя выразить словами. Я знаю ответ, я его чувствую, но неописуемое словами не опишешь. “Ну и чушь!” — подумаете вы. Конечно. Но вместе с тем это правда. Мудрец действительно верит в то, что знает обо всех тайнах вселенной, но вы этого не поймете, пока сами не почувствуете то же самое. Вот ваш проводник в мире хакерства, лежащем за пределами этой книги. Из книги вы узнали идеи, методы и факты, которые позволят вам начать заниматься хакерст-вом, сводя к минимуму возможность совершения ошибок.
Но это еще не все. Это хобби (игра? профессия?) требует, как и любое хобби, времени, сил, практики и еще, и еще, до тех пор, пока у вас все не начнет получаться так, как вы хотите.
несколько советов обеспокоенным администраторам
Если же вы прочли эту книгу с точки зрения соблюдения закона и обеспечения компьютерной безопасности — что ж, теперь вы знаете множество способов взлома самых “непробиваемых” систем. Вы, наверное, уже составили список мер, которые примете против описанных мною методов. Объясните вашим пользователям, что никогда нельзя открывать никакую конфиденциальную информацию по телефону, по почте или в режиме онлайн. В ответ на просьбу открыть пароль следует отвечать просто: “в этом я не смогу вам помочь”. Нельзя раскрывать имена или телефонные номера, адреса электронной почты иди физические адреса. Если человек спрашивает такие веши, он, скорее всего, является хакером.
Установите правила, по которым легальные пользователи задавали бы вопросы любому подозрительному типу, шатающемуся по офисам. Но не стоит и слишком давить на пользователей проблемами безопасности. Если вы проявите излишнюю бдительность — например, поменяете все пароли, — пользователи могут вас не понять. Объясните им, что они потеряют, если компьютерная безопасность будет нарушена. Убедите их, что это важно для всех сотрудников организации. Чтобы убедиться в нерушимости зашиты на все 100%, возьмите за правило регулярную проверку и очистку компьютеров. Найдите и залатайте дыры в защите вашей системы. Уберите все отладочные опции, которые могут быть причиной появления таких дыр. Если вы увольняете сотрудника, немедленно сотрите его доступ и поменяйте код всех остальных. Существует специальная литература о мерах по компьютерной безопасности, которые должен предпринять администратор. Прочтите ее. Немного хорошей работы — и ваш труд не пропадет зря.
несколько советов обеспокоенным хакерам
Вы прочли всю книгу, и все еще сомневаетесь в успехе? Я гарантирую вам — если вы прилежно обучаетесь хакерству, вы станете настоящим мастером этого искусства.Лаже если вам пока не удалось совершить ни единого взлома, вы все же можете считать себя настоящим хакером — ведь у вас благородные намерения, вы соблюдаете правила хакерской безопасности, вы не станете вредить системе, которую взломаете, и вы стремитесь наслаждаться жизнью во всей ее полноте. А все это и есть хакерство. Поздравляю вас и желаю удачи: теперь вы знаете все Секреты Супер-Хакера! То есть ваши секреты.
Глоссарий
Глоссарий
acoustic coupler (акустический соединитель) — прибор, состоящий из двух чашечек на основании, в которые вставляется микротелефонная трубка. Акустический соединитель соединяется с модемом, который посылает свои сигналы прямо на микрофон телефонной трубки, а принимает сигналы с телефона. Полезен для “хакерства на ходу”.
amplifier (усилитель) — прибор для увеличения амплитуды сигнала без изменения его свойств.
analog signal (аналоговый сигнал) — выходной сигнал, который изменяется пропорционально изменениям входного сигнала.
anonymous FTP (анонимный протокол передачи файлов FTP) — возможность переноса файлов с удаленного компьютера, соединенного с Интернет, без обладания бюджетом на удаленном компьютере. Вместо имени пользователь вводит: “anonymous”, а вместо пароля — обычно адрес электронной почты.
asynchronous (асинхронный) — название множественных программ или процессов, которые перекрывают друг друга в использовании и, возможно, в памяти. Асинхронная атака на систему заключается в том, что одна программа пытается изменить те параметры, которые другая программа проверила на достоверность с положительным результатом, но еще не использовала.
avatar (аватар) — альтернативное наименование для привилегированного пользователя системы (обычно UNIX). В индийской мифологии аватар — инкарнация бога.
backbone site (магистральный узел) — ключевой узел USENET и электронной почты, обрабатывающий большое количество поточной информации. Получает и посылает на другие узлы новости и сообщения.
back door — см. Trapdoor baud (бод) — единица скорости передачи информации, импульс, секунду, причем импульсы равны по амплитуде. Один бод равняется одному биту в секунду.
BITNET — сеть, состоящая из миникомпыотеров или мэйн-фрэймов. В ITN ЕТ объединяет множество учебных заведений. Дает возможность посылать электронную почту и передавать файлы, но не позволяет осуществлять удаленный вход.
BBS — Bulletin Board System (Электронная доска объявлений) — компьютер, установленный на прием вызовов с модема.
Пользователи устанавливают с ним связь и получают доступ к различным услугам, включая электронную почту, обмен сообщениями, игры и т. д.
boffin (боффин) — термин, использовавшийся во времена второй мировой войны для обозначения людей, подобных хакерам, которые стремились понять, как устроен этот мир, и использовали свои знания на благо этого мира.
buffer overflow (переполнение буфера) — переполнение происходит, когда в буфер поступает избыточное количество новых данных. Причин может быть две: буфер недостаточно велик, чтобы вместить все данные, которые необходимо, до начала обработки этих данных; либо несоответствие между приемом и обработкой данных.
С (Си) — язык программирования, с которым, равно как и Си++, должен быть знаком каждый хакер. На Си написана UNIX.
chat (беседа)—беседа с другом в режиме онлайн.
CCTV — внутренние системы телевизионного наблюдения.
СЮ (Chief Information Officer) — главный офицер службы информации.
console (консоль) — операторский терминал на мэйнфрэй-ме, с помощью которого оператор управляет системой.
console РВХ — настольный коммутатор.
covert channel (“плохой канал” ) — канал, не предназначенный для передачи информации, по которому все же можно нелегально получить секретную информацию о системе.
cracker (кракер) — хакер, плохо относящийся к компьютерам, которые взламывает.
cty — консоль tty (также ctty).
daemon (Disk And Execution Monitor) — “даемон”, программа, которая не запускается пользователем или программой пользователя, но дожидается определенных условий, после чего запускается сама.
demodulation(дeмQдyляuия) — процесс перевода аналогового сигнала в цифровой.
demon — “демон”; то же, что даемон, но может вызываться пользователем.
DES (Data Encryption Standard) — стандарт шифровки данных.
detector — детектор, электрическая схема, используемая для изъятия модуляции из несущего сигнала.
dual-tone multifrequensy dialing — двухтональный многочастотный набор, метод коммутации с использованием пары тонов, высокого и низкого.
Используется в кнопочных телефонах.
dumb terminal — “глупый” терминал, устройство, предназначенное только ввода в компьютер и вывода из него. Ср. “интеллектуальный” терминал.
duplex — дуплексный канал, позволяет одновременную связь в двух направлениях.
EDP (Electronic Data Processing) — электронная обработка данных.
e-mail — сокр., электронная почта.
firewall mashme — машина, оснащенная различными защитными свойствами. Используется в качестве шлюза для зашиты главных компьютеров.
FTP (File Transfer Protocol) — протокол передачи файлов. Набор протоколов, с помощью которых можно передавать файлы с одного компьютера на другой.
group accounts — групповые бюджегы, бюджета группового доступа. Компьютерная директория иди бюджет, защищенный паролями, принадлежащими группе пользователей.
hacker — прочтите эту книгу и вынесите собственное суждение о значении этого термина!
handshaking (квитирование, подтверждение связи) — процесс, в результате которого два независимых друг от друга устройства аппаратного обеспечения координируют свои сигналы и получают возможность работать совместно.
intelligent terminal — интеллектуальный терминал.
interoffice telephone (внутренний телефон) — телефон, которому нельзя позвонить во “внешний мир”.
iron box — ловушка для неосторожных хакеров.
LAN — локальная вычислительная сеть.
letterbomb (текстовая бомба) — фрагмент электронной почты, содержащий “живые” данные с целью нанесения вреда системе-реиипиенту.
limited-use passwords (ограниченное использование паролей) — система паролей, содержащая как обычные пароли, так и пароли однократного применения.
line (линия) — провода, соединяющие телефон с центральной станцией.
Listserv — программа, посылающая файлы и почту с одного компьютера на другие.
live data (“Живые данные”) — информация в файле, которая, при определенных обстоятельствах, может быть интерпретирована как инструкции компьютеру.
log (журнал) — запись работы компьютера.
login (вход, начало сеанса связи) — получение доступа к компьютеру после ввода имени и пароля.
logic bomb (логическая бомба) — программа, внедренная в прикладную программу; запускается при определенных условиях.
macro (макрос) — ключевая строка или короткое имя, использующаяся для ссылки на более обширный текст.
modulation (модуляция) — перевод цифрового сигнала в аналоговый.
modem — модулятор,демодулятор.
multiplexing (мультиплексирование) — Использование различных модуляционных частот для одновременной передачи нескольких сигналов.
net — сокр. от network.
network (сеть) — две и более машин, соединенные вместе с целью обмена данными.
newsgroup (группа новостей) — раздел USENET, посвященный определенной теме.
поое(узел) — самостоятельная машина, соединенная с другими сетью.
once-only code (код однократного применения) — пароль, который можно использовать только для однократного доступа.
operating system (операционная система, ОС) — управляющая программа, которая следит за интерфейсом системы с пользователем и периферией.
PAD — пакет ассемблер,диассемблер.
РАВХ (Private Automatic Branch exchange) — закрытый автоматический обмен. PAX с возможностями внешнего соединения.
packet assembler,diassembler (ассемблер,диассемблер пакетов) — один из узловых компьютеров сети общественных данных.
packet switching (коммутирование пакетов) — метод передачи данных, при котором каждое сообщение перед отправлением разбивается на пакеты.
parser (анализатор) — программа, считывающая введенный текст и анализирующая его значение.
passive computing (пассивное электронное считывание данных) — тайное наблюдение за компьютерным экраном, например, с помощью прибора Ван Эйка.
PAX (Private Automatic Exchange) — закрытый автоматический обмен. Сеть телефонов, не соединенных с внешними линиями.
РВХ — сеть телефонов, каждый из которых оснащен собственными средствами коммутации.
PDN (Public Data Network) — сеть общественных данных.
phreak (фрик) — человек, взламывающий телефонные системы
piggybacking — проникновение в закрытое здание, следуя по пятам за тем, кто имеет право туда войти.
plaintext (шифровка) — зашифрованный файл или сообщение.
PLE (Public Local Exchange) — локальный общественный обмен. Локальная телефонная сеть в отдельном здании и,или офисе, управляемая снаружи телефонной компанией.
post — опубликование письма, статьи, рассказа и т. д. путем его пересылки в область сообщений.
BBS,PPN (Project-Programmer Number) — применяется для обрашения к ID пользователя.
pps (pulses for second) — импульсы в секунду.
premises wiring — провода внутри здания для соединения телефонов с телефонными линиями компании.
PRIMOS — ОС для компьютеров PRIME.
process (прогон) — программа, которую компьютер “прогоняет” в данный момент.
process command (команда процесса) — команда ОС для распечатки всех активных процессов.
protocol (протокол) — набор правил, используемых программным обеспечением для взаимодействия с аппаратным обеспечением.
public data netwoik (сел” передачи данных общего пользования) — сеть типа Telnet, использующая коммутирование пакетов для соединения компьютеров.
pulse (импульс) — моментальное протекание тока, характеризующееся резким подъемом и падением.
pulse frequensy (частота импульсов) — число импульсов в секунду.
receive only telephone (телефон только для приема звон' ков) — телефон, который может только принимать, но не производить звонки.
reverse social engineering (обратная социальная инженерия) — тактика, при которой системный пользователь обращается к хакеру за советом.
root (корневой бюджет) — бюджет привилегированного пользователя, занимающий главенствующее положение.
salami technique (техника “салями”) — метод для краж больших сумм в течение длительного промежутка времени.
scavenging (копание в мусоре) — проверка мусорных контейнеров в поисках информации.
script (сценарий) — командный файл, автоматически запускающийся после квитирования коммуникационным программным обеспечением вызывающего.
security through obscurity (безопасность посредством неясности) — обеспечение безопасности системы путем ее маскировки.
serial (побитная передача) — прохождение информации побито в последовательном порядке.
shoulder surfing — подглядывание через плечо пользователя за тем, что набирает пользователь на клавиатуре и что появляется на экране.
simplex (симплекс) — однонаправленные коммуникации.
simulation (модель программы) — программа, устанавливаемая хакером, имитирующая открытую часть системы.
smart terminal (“умный”, он же интеллектуальный терминал) — терминал, обладающий памятью, командами для редактирования, графикой и т. д., в отличие от “глупого” терминала.
social engineering (социальная инженерия) — использование обмана, мошенничества, своего актерского мастерства и владения словом для выманивания у легального пользователя системных секретов.
stand-alone (автономный) — термин для обозначения компьютера или компьютерной системы, которая функционирует без дополнительного оборудования.
superzap •— использование специальной отладки или компьютерного сопровождения для модификации данных.
ТАР (Technological Assistance Program) — программа технической ПОМОЩИ.
temet — набор протоколов, используемых для получения доступа к одной машине через другую.
tiger team (“команда тигров”) — хакер или группа хакеров, нанятых организацией для проверки безопасности ее компьютерной системы.
tone generator (генератор тонов) — прибор для генерации тонов, необходимых для задействования телефона; состоит из акустического соединителя и телефонной клавиатуры.
trapdoor (лазейка) — недокументированный способ получения доступа в компьютерную систему.
tracking (выслеживание) — использование системных журналов и т. п. для выслеживания хакеров.
trashing — см. scavenging Trojan horse (“троянский конь”) — программный кусок “с секретом”, спрятанный внутри прикладной программы.
trusted hosts (проверенные главные компьютеры) — в некоторых приложениях UNIX, список других компьютеров и пользователей, которым не требуется пароль для входа.
TSR program(Terminate and Stay Resident) — загружается в память и остается там после загрузки других программ, собирая информацию.
UNIX — ОС, созданная Кеном Томпсоном и Аеннисом Ри-чи из Computer Research Group.
USENET — обмен сообщениями на базе Интернет.
vandal (вандал) — кракер, уничтожающий файлы, разрушающий системы и т. п.
VMB (Voice Mail Box) — компьютеризированный автоответчик, который сохраняет приходящие сообщения в цифровой форме, на диске.
VMS (Virtyal Memory System) — система виртуальной памяти; ОС, используемая на миникомпьютерах VAX.
WAN (Wide Area Network) — сеть широкого распространения. Сеть, которая соединяет между собой машины, находящиеся очень далеко друг от друга, обычно с помощью телефонных линий.
WATS (Wide Area Telecommunications Service) — телекоммуникационная служба широкого распространения. Позволяет делать удаленные вызовы внутри определенного географического региона, в т. ч. международные.
worm (“червь”) — программа, целью которой является бесконечное саморазмножение — пока хватает места на диске.
Основы
Основы
— Скажите, а вы-то сами помните восстание на броненосце “Очаков”?
— Смутно, смутно, — ответил посетитель. — В то героическое время я был еще крайне мал. Я был дитя.
— Простите, а как ваше имя?
— Николай... Николаи Шмидт.
—А по батюшке?
“Ах, как нехорошо!”— подумал посетитель, который и сам не знал имени своего отца.
—Аа-а, — протянул он, уклоняясь от прямого ответа, — теперь многие не знают имен героев. Угар нэпа. Нет того энтузиаста.
Председателю показалось позорным, что он забыл имя очаковскою героя. •Действительно, —думал он, глядя на воодушевленное лицо героя, — глохнешь тут за работой. Великие вехи забываешь”.
И. Ильф, Е. Петров. Золотой теленок
Существует два способа написать книгу о компьютерных взломах.
Можно написать энциклопедию всех известных систем, их номеров доступа, паролей, лазеек и способов повышения уровня доступа. Это неплохой способ, если забыть о том, что ко времени выхода такого издания большая часть ее содержания станет устаревшей. И уж, конечно, напечатанные в книге пароли можно будет считать недействительными. Такой подход лучше оставить для периодики, некоторые печатные и электронные издания пытаются этим заниматься.
Второй путь — написать книгу, которая являлась бы энциклопедией методов взлома систем. Это решит проблему распространения постоянно меняющейся информации, читатели же смогут следовать описанным в ней алгоритмам, добавляя немного собственного воображения и не боясь оказаться в какой-либо совершенно новой, не указанной в книге ситуации. Именно таким способом и написана эта книга.
Я старался построить данную книгу в логичной последовательности и сделать ее понятной, но порой мне приходилось нарушать плавное течение повествования, возвращаясь к уже сказанному в предыдущих разделах.
Если вам встретится незнакомый термин или ситуация — забудьте об этом. Скоро вы обретете опыт. Можете заглянуть в глоссарий, возможно, там содержится ответ на ваш вопрос.
Компьютерные взломы связаны с громадным количеством информации.
Готовя книгу к печати, мне приходилось решать, стоит ли углубляться в подробности в том или ином разделе, или открывать некоторые тайные уловки. Кое-что мне пришлось опустить. На самом деле важно не написание книги, а прочтение ее и претворение в жизнь новых идей. Хакерство — это не чтение, а действие, это работа, работа для себя и над собой. Я рад, если мне удалось указать вам верное направление, но я не смогу быть проводником на вашем пути.
Я хотел бы поблагодарить Р. С. и Аж. за критику отдельных разделов моей книги, сотрудников Loompanics за понимание того, что наша конституция дает прессе право на свободу, а также многих хакеров за внесенные ими ценные предложения.
ЗАМЕЧАНИЯ
В данной книге описаны различные методы взлома компьютерных систем.
Легко сказать — взлома. В наши дни люди больше обеспокоены проблемой компьютерной безопасности, чем раньше. Но, несмотря на это, в защитной броне любой системы существует немало прорех. Системные администраторы могут бесконечно усиливать зашиту, но способ обойти ее все равно найдется. Запомните первое правило хакерства: то, до чего додумался один человек, додумается и другой, что один скрыл — другой раскроет. Люди в большинстве своем мыслят и действуют одинаково, и хакеры должны использовать это единомыслие.
Что же такое хакер? (Если вы не согласитесь с данным определением, можете закрыть эту книгу.)
Хакер — это человек, который чем-то увлечен, будь то компьютеры, написание книг, природа или спорт. Это человек, который, благодаря этой своей увлеченности, испытывает любопытство ко всему, связанному с его увлечением. Если хакер любит компьютеры, то будет стараться узнать как можно больше о компьютерах, а также о том, как ими пользуются другие люди. Хакеры уважают предмет своего увлечения. Для компьютерного хакера это означает уважение к компьютерам, которые предоставляют людям возможность входить в контакт друг с другом и получать информацию со всего мира, а это в свою очередь означает, что он уважает других людей и не допустит умышленного использования своих знаний о компьютерах в целях развлекательных или разрушительных.
Серьезный компьютерный взломщик просто хочет знать обо всем, что делается в мире, особенно в мире компьютеров. Настоящий Компьютерный Взломщик — это компьютерный энтузиаст, и, что более важно, вселенский энтузиаст. Я надеюсь, что вы будете энтузиастами.
Итак, вы готовы познавать?
ОБОРУДОВАНИЕ
Для того, чтобы стать удачливым компьютерным взломщиком, вам потребуется один прибор — ваши мозги. Вам не нужен даже компьютер. Более того, иногда бывает лучше вообще не иметь компьютера, как вы увидите в дальнейшем. Впрочем, для начала вам все же потребуется компьютер, модем и телефонная линия для связи с внешним миром.
Компьютер может быть каким угодно. Гораздо важнее, какой у вас модем и коммуникационное программное обеспечение.
Хакерство — хобби, не требующее большого количества снаряжения; но если вам приходится что-то покупать, покупайте самое лучшее из того, что вы сможете себе позволить. Это не означает, что вы должны приобретать то, что вам предлагают продавцы или специальные журналы. Выбирайте то, что вам больше всего подойдет. Уверен, вы захотите, чтобы ваш модем был быстрым. Когда я приобрел свой первый модем, то считал 140-бодный модем просто копушей. Теперь я смотрю на 300-бодный и не понимаю, как я мог управляться с этой каракатицей.
Какой бы скоростью ни обладал ваш модем, он всегда будет работать несколько медленнее, чем вы ожидали. Из-за помех на линии модем бывает вынужден перепосылать данные снова и снова, пока не передаст или не примет их в неискаженном варианте. Модемы могут работать вполовину указанной скорости, и, если у них плохое настроение, и того медленнее. При передаче на дальние расстояния или если удаленные компьютеры слишком загружены, или при доступе к одному компьютеру через несколько других — чтобы вас труднее было выследить — скорость снижается еще больше.
Итак, если вы хотите получать удовольствие от своих занятий — покупайте высокоскоростной модем.
коммуникационное программное обеспечение
Бывает трудно найти действительно подходящую коммуникационную программу, но именно от нее, в совокупности с подходящим модемом, и зависит, принесет ли вам радость ваша работа в режиме он-лайн или только разочарует вас.
Существует много видов терминальных программ. Если какой-то пакет приложен к вашему модему, это еще не значит, что он вас устроит. Хорошая программа должна обладать нижеперечисленными свойствами и все они для хакера необходимы или хотя бы желательны.
Программа должна эммулировать достаточно большое количество разных терминалов, таких, например, как ANSI, VT52, VT100 и т. д. Неплохо, если программа располагает адресной таблицей — возможностью переводить входящие и выходящие символы в другие символы. Программа должна быть в состоянии посылать и принимать файлы, используя Xmodem, Ymodem, Zmodem и Kermit протоколы. Удостоверьтесь, что ваша терминальная программа располагает, по меньшей мере, этими четырьмя протоколами. Программа должна позволять управлять модемом используя "АТ"-команды. Вам также понадобится возможность обращаться к вашей операционной системе во время поддержания связи, т. к. иногда в процессе работы онлайн бывает нужно запустить другую программу. Программа должна включать в себя телефонную книжку, позволяющую хранить множество номеров, имен и комментариев. У вас должна быть возможность хранить более чем десятизначные телефонные номера, а также программа должна обеспечивать возможность написания сценариев соединения. Полезно также иметь автонабор, который сможет периодически перенабирать занятые телефонные номера. Наконец, программа должна быть простой и приятной в обращении. Если вы не можете найти одну программу, отвечающую всем вашим требованиям, имейте под рукой несколько, для выполнения различных функций. Я рекомендую коммуникационную программу PC Tools Desktop. Она не обладает многими из вышеперечисленных свойств, но весьма удобна в обращении. ProComm Plus для IBM
и Macintosh,
коммуникационная программа Lotus 1 -2-3 — огромный пакет, обладающий всеми мыслимыми свойствами. Хорошая общедоступная программа для IBM — Qmodem. И последнее, что необходимо хакеру. Ваша терминальная программа должна обладать возможностью сбора данных. Это значит, что, когда информация проходит через ваш модем и появляется на экране, вы можете сбросить ее в файл на диске.
Функция сбора данных должна быть включена всегда, когда вы используете свой модем. Когда я вхожу в какую-либо систему, мне нравится иссследовать все имеющиеся там текстовые файлы, но, разумеется, я не читаю их в режиме онлайн. Вместо этого я включаю сбор данных, сохраняю все эти сотни страниц текста в отдельных файлах, а затем, отключившись от линии, сортирую собранные данные. Иногда бывает проше забрать эти файлы без просмотра.
Сбор данных удобен также для записи текста, который пробегает по экрану так быстро, что вы не успеваете его прочесть. А иногда текст вообще немедленно стирается сразу же после ввода. К тому же приятно иметь документированное свидетельство своей хакерской деятельности, которое можно использовать для справок и исследований.
Однажды я вызвал электронную доску объявлений (BBS)
местной компании, созданную в рекламных целях. Модемы соединились, я несколько раз нажал ввод, на экране появились обычные случайные символы, и я стал ждать появления приглашения. Приглашение к загрузке несколько запоздало, чему я удивился, но все казалось обычным, и я приступил к работе.
Позднее я рассматривал распечатки, сделанные во время взлома, и повнимательнее взглянул на обычный загрузочный "мусор". Среди мешанины символов я увидел следующее: "d-b". А на следующей строке, между двумя плюсами, — "уе!" Получилось: "d-Ьуе". То есть, я обнаружил вторую половину слова "good-bye!". Я знал, что это означает прощание после выхода из системы. Другими словами, я вызвал систему непосредственно после того, как кто-то другой из нее вышел, и я поймал остаток его прощания. Значит, у того компьютера было что-то не в порядке с разьединениями. Это означало ошибку, которую можно было использовать. Я снова вошел в систему и открыл журнал пользователей, чтобы найти запись своей последней загрузки. Предыдущий пользователь являлся легальным пользователем системы, и его выход из системы записался как мой вход.
Затем, используя данную лазейку, мне удалось притвориться системным оператором: я вызывал систему сразу же после того, как настояший оператор заканчивал очередную проверку сопровождения.
Я написал ему письмо, объяснявшее, в чем дело, и, спустя несколько дней, ошибку устранили.
Итак, вам следует быть готовыми ко всяким странностям и уметь анализировать их. Может случиться и такая неожиданная ситуация, когда системный оператор начинает проверку сопровождения системы у вас на глазах. Со мной такое случалось два раза на одной и той же неделе.
Однажды, когда я еще учился в старших классах, я заболел и остался дома, занимаясь вызовом BBS. В первый день я как раз подключился к системе и собрался посмотреть свою электронную почту, когда меня прервал системный оператор, которому срочно понадобилось кое-что сделать. Он вошел во внутренние экраны программы BBS, затем вышел на жесткий диск и снова вернулся. Я не успел проследить за его действиями, но позднее, выйдя из системы, я просмотрел файл, в который смог занести это событие, и проанализировал его. Это помогло мне не совершить никакого взлома, но я получил новые сведения о том, как работает программа на BBS.
Через несколько дней я находился в другой системе. Теперь уже этот оператор опаздывал на встречу, но перед этим ему потребовалось сделать какие-то перестановки. На этот раз я сумел понять, что происходит; среди прочего оператору было необходимо зарегистрировать пароль нового пользователя, возможно, оператор не понял, что я за ним наблюдаю. Я сбросил все это в текстовый файл, таким образом приобретя новый пароль.
прошлое и будущее
Читая издания о хакерстве, вы еще многое узнаете об оборудовании, программном и аппаратном обеспечении и о том, что необходимо хакерам, специализирующимся в конкретных областях. Но пока вам необходимо понять...
Читая литературу по защите данных, можно всерьез обеспокоиться. Прошли времена ошибок и лазеек в системах и времена наивных пользователей. Прошли, казалось бы, времена благоговейного страха перед хакером-одиночкой, среди ночи проникающим в секретные правительственные базы данных, и времена самих хакеров-одиночек.
Так кажется.
Но это не так! Всего несколько лет назад Роберту Моррису-младшему удалось проникнуть в систему, используя ошибки, которые никто не потрудился заметить и исправить.
Кто знает, сколько еще таких ошибок ждет своего часа? Не забывайте и о глупости: существуют демонстрационные режимы, меры по безопасности, которые никто не уничтожил и не изменил.
В июле 1987 года группа членов клуба Chaos Computer Club взломала компьютерную сеть системы NASA SPAN. Эти хакеры использовали изьян в инфраструктуре VMS,
по заявлению DEC Corporation, реконструированной тремя месяцами раньше. А это свыше ста VAX
компьютеров с неисправной операционной системой. Члены клуба посмеивались, что для "зашиты" этой системы часто использовались примитивные пароли, подчас взятые прямо из руководства пользователя. С одной стороны мы видим суперсекретные компьютеры, опекаемые NASA, а с другой — 4000 пользователей этих компьютеров. Понятно, что 4000 человек не сохранят секрета.
В наши дни хакерство может показаться более трудным занятием, нежели раньше, но на самом деле оно не стало таким. Меры по безопасности могли стать строже, но сам пользователь ничуть не изменился в своей беспечности, равнодушии, добродушии по отношению к другим пользователям. Более опытные пользователи всегда рады помочь менее осведомленным, а те, в свою очередь, просят совета у "гуру". Значит, социальная инженерия, простая и обратная, живет и побеждает, как вы увидите далее.
Людьми всегда руководит стремление к простоте. Никто не выберет в качестве пароля нечто вроде "bWoQt 0(@vbM-34trwX51 "!
Сегодня создано немыслимое количество систем, в которых работает множество пользователей. Раньше на компьютерах работали лишь немногие, теперь же их может купить и использовать кто угодно. И далеко не все, кто этим занимается, помнят о компьютерной безопасности. Фактом является то, что большинство компьютерных систем не защищено от вторжения. Многие люди, связанные с компьютерами, понимают это, но ничего не предпринимают по этому поводу.
Причин, по которым компании не повышают уровень компьютерной безопасности, много. При этом приводятся следующие доводы:
• Усиление зашиты влечет за собой исчезновение открытости и доверия, которые мы стремимся развивать.
• Компьютерная зашита слишком неудобна.
• Усиление зашиты только привлечет любящих приключения хакеров.
• Закрывать существующие лазейки в защите слишком дорого и трудно.
• Перепрограммирование может повлечь за собой новые проблемы с безопасностью.
• У нас никогда не было проблем с безопасностью!
• Наша информация не нужна никому, кроме нас.
• Мы только что подверглись взлому; но уж теперь-то они точно не вернутся!
• А разве хакеры еще не исправились?
Все эти доводы не корректны. Последний вообще не выдерживает критики: компьютеры имеют такое большое значение в нашей жизни, что хакеры будут существовать всегда, пока существуют компьютеры.
В некоторых из этих доводов есть своя правда, во всяком случае, люди, занимающиеся компьютерами, верят в эти утверждения, так что работа для хакера всегда найдется.
компьютерные преступления
К сожалению, в нашем мире существует такая штука, как компьютерные преступления. Хакерство занимает последнее место в списке безобразий, которые люди проделывают с компьютерами, и не имеет ничего общего с обычными преступлениями, убийствами, кражами и т. п. Настоящее хакерство не оставляет жертв, и я считаю его преступлением лишь чисто условно. Возможно, оно аморально, но есть и куда худшие веши.
Компьютерные преступления делятся на семь основных категорий, так или иначе связанных с хакерством: финансовые кражи, саботаж, кражи аппаратного обеспечения, кражи программного обеспечения, кражи информации и электронный шпионаж. А седьмое "преступление" — компьютерное хакерство.
денежные кражи
Финансовые кражи происходят, когда компьютерные записи изменяются в иелях присвоения чужих денег. Часто это делается с помощью программы, направляющей деньги на конкретный банковский счет, обычно с помощью техники "салями".
"Салями" — это метод, предполагающий кражи небольших сумм в течение длительного времени в надежде, что это не будет замечено. Воры перепрограммируют банковский или какой-либо другой компьютер так, чтобы пенни поступали на липовые счета.
Например, на счете может храниться 713.14863, где 863 случайные цифры, т. к. при умножении учитываются все знаки. Обычно компьютер показывает, что у данного лица в банке 713.15 $, округляя 4 до 5. Однако, компьютер, запрограммированный с "салями" отделяет эти экстра-числа и помешает их на отдельные счета. И теперь человек имеет только 713.14 $, ну кто же заметит или пожалуется на потерю пенни.
Компьютер сам не в состоянии производить новые деньги, он может только перевести легальные деньги на нелегальный счет. Такие кражи довольно трудно обнаружить. Как только на счете у вора скапливается большая сумма, он снимает деньги со счета и, в большинстве случаев, удаляется вместе с ними< Многие воры пытались использовать эту форму ограбления банка, и многие были пойманы, но сейчас это может сделать каждый.
Выявить применение подобной техники можно так:
на компьютере создается список всех счетов с указанием, сколько раз в течение одного или нескольких дней к счету обращались. Затем любой счет, который затребывался слишком часто, проверяется, чтобы установить, сколько денег с него снималось во время каждого обращения. Если это небольшая сумма - значит кому-то повезло.
Хотя сам я не занимаюсь подобными вешами, хочу все же указать, в чем заключается ошибка таких грабителей. Вместо того, чтобы перепрограммировать компьютер для прямой передачи небольших сумм на счет, им следовало просто вычитать эти деньги и следить за тем, сколько денег соберется в области, отдельной от файлов со счетами. Затем изменяются те части программы, которые распечатывают общее количество банковских вкладов, для учета скрытой суммы, чтобы эти деньги не казались утерянными. Когда спрятанное число достигает определенной величины, только тогда его следует переводить на счет вора, причем переводящиеся суммы должны равняться случайным величинам, дабы избежать подозрений.
Такие действия предполагают наличие доступа к компьютеру. Обычно их совершают сотрудники банка, и о настоящем хакерстве здесь речь не идет.
Впрочем, если такую кражу совершает сотрудник с ограниченным уровнем доступа или чужак, взлом бывает необходим.
САБОТАЖ
Компьютерный саботаж — это физическое разрушение аппаратного или программного обеспечения, либо искажение или уничтожение содержащейся в компьютере информации. Причиной саботажа может быть желание избавиться от конкурента или получить страховку. Компьютерное хакерство лишь косвенно связано с саботажем, поскольку целью большинства хакеров является сохранение компьютеров, а не разрушение. Впрочем, иногда в хакерстве присутствуют элементы саботажа. Обратная социальная инженерия использует нечто вроде саботажа, но на самом деле это всего лишь временный и легко устраняемый вывод компьютера из строя.
Компьютерные вандалы часто подвергают саботажу информацию, хранящуюся в компьютерах, сперва использовав хакерские методы получения доступа к ним. Но не стоит путать вандалов и других приверженцев саботажа данных с хакерами. Эти люди вводят ложную информацию в компьютерные системы, так или иначе повреждая базы данных.
другие виды краж
Могут включать в себя кражи аппаратного обеспечения или самого компьютера и периферии, а также воровство компьютерных разработок. Они относятся к хакерству постольку, поскольку украденный компьютер может использоваться для получения кодов доступа. В случае компьютерного пиратства хакер может тайно читать электронную почту или файлы разработчика, пытаясь украсть новые идеи.
Кражи программного обеспечения, или программное пиратство, — это нелегальное копирование программ, защищенных авторскими правами. Хакеры часто делают для себя копии программ, найденных в компьютерной системе, чтобы понять, как они работают. Что касается краж аппаратного обеспечения, здесь присутствует желание догнать конкурента в области новых разработок программ.
Кражи информации включают кражи кредитных карточек, результатов лабораторных исследований, данные о пациентах или клиентах и вообще любых данных, обладающих потенциальной ценностью. Электронным шпионажем называется продажа такой информации третьей стороне, когда хакер начинает шпионить на другую компанию или страну.
В обоих случаях для краж информации, а иногда и для установления контакта со шпионским агентством используется хакерская техника.
седьмой вид преступлений
Наконец, мы подошли непосредственно к хакерству. Хакеры способны совершать любые из вышеперечисленных преступлений, но они предпочитают этого не делать. Так можно ли считать их преступниками?
Конечно, перед тем, как сделать такой выбор, хакер нелегально взламывает чужие компьютеры. Но мы не видим никакого вреда в самом акте "взлома".
Там, где имеют место другие компьютерные преступления, мотивы преступника ясны. Вполне понятно, когда человек крадет компьютер, заказывает преступление из чуства мести или из корыстных побуждений.
Но в случае "чистого" хакерства мотивы могут и не лежать на поверхности.
Традиционная причина для занятий хакерством -стремление к знаниям. Но в наши дни этим стремлением могут руководить более сильные желания, например, жажда денег. Существуют хакеры, относящиеся к своему таланту не как к хобби, а как к профессии. Насчитывается несколько причин, как моральных, так и аморальных, для занятий хакерством за деньги. Прежде чем начать разговор о том, как заниматься хакерством, давайте рассмотрим, почему им занимаются.
мотивы для занятий хакерством
Самым честным побуждением к занятиям хакерством является распространение информации. Том Форестер и Перри Моррисон в своей "Компьютерной этике" пишут, что после чернобыльской аварии хакеры Chaos Computer Club "...опубликовали большее количество информации о событиях, чем даже правительство Восточной Германии. Вся эта информация была получена путем незаконных взломов содержимого государственных компьютеров...". Конечно, это было весьма благородно и "по-нашему".
Хакеры занимаются также предотвращением компьютерных несчастий. Недавно несколько компаний по компьютерной безопасности из разных стран решили подвергнуть свою продукцию проверке. Они опубликовали телефонные номера, по которым могли бы звонить хакеры и пытаться проникнуть в систему.
Конечно, это был рекламный трюк, но сама идея была неплоха, поскольку дала хакерам возможность совершения взлома из лучших побуждений.
Хакеры, которые используют свои незаконные методы для предотвращения несчастий, обладают высокой нравственностью. Обнаружив прореху в защите системы (но не воспользовавшись ею!) они предупреждают о ней системного оператора. Таким образом, они помогают нашему миру свободно и безопасно пользоваться информацией. Мы только можем надеяться, что жизненное кредо хакеров не позволит им вести себя неэтично.
К сожалению, волнующая и заманчивая природа хакерства зачастую влечет к себе нравственно неразвитых людей, питающих слабость к вандализму и чужим кредитным карточкам. Настоящие хакеры не должны иметь никакого отношения к подобной деятельности, дабы не уронить звание "Хакера".
Многие хакеры, даже лучшие из них, внесли свой вклад в создание плохой репутации хакерства, т. к. ими руководили сомнительные мотивы. Встречаются и хакеры-разрушители, и такие, которые просто не могут вовремя выйти из игры.
Существует и "хакерство по найму". Частные лица готовы платить хакерам за то, чтобы те изменили для них информацию на компьютере: счета, уровни доступа и т. п. Иногда люди хотят уничтожить информацию о самих себе, поскольку скрываются. Частные сыщики тоже могут воспользоваться услугами хакеров, чтобы найти телефонные номера, адреса и другую необходимую им частную информацию, хранящуюся в компьютерах. Сотрудники офисов нанимают хакеров, чтобы прочесть электронную почту и файлы своих коллег и конкурентов. Хакеры могут заниматься не только промышленным, но даже государственным шпионажем. Все это ЕСТЬ, и этим занимаются хакеры, которые совершают взломы за деньги.
В хакерской среде с пренебрежением относятся к "наемникам". Один раз еще можно пойти на такое, но заниматься этим постоянно — значит лишиться хакерской чести. Мне хочется думать, что все читатели этой книги, в том числе и хакеры, будут использовать свои таланты для добрых дел: обеспечения общественной осведомленности, предотвращения трагедий, а также для изучения новых технологий и открытий в целях саморазвития.