Звездного неба над головой, и чтобы не было войны!

Международный форум городов мира

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Я Хакер

Сообщений 1 страница 20 из 33

1

https://forumupload.ru/uploads/001b/09/4d/2/t925858.jpg
Хакинг - это искусство взлома всевозможных систем и доведения данного
процесса до высот технического изящества. После 2000 года понятие «хакер»
окончательно изменилось. Это связано с появлением «хакеров-вандалов». Нет,
не хакеров, в изначальном понимании этого слова, но называющими себя именно
так, а так называемых взломщиков - крэкеров.
Хакерский взгляд на мир не ограничивается лишь культурой хакеров-программистов.
Есть люди, применяющие хакерский подход и к другим вещам,
вроде электроники или музыки. В действительности вы можете встретиться
с этим подходом на высших уровнях любой науки или искусства. Софтверные
хакеры признают таких близких по духу людей и тоже могут называть их «хакерами
», некоторые даже провозглашают, что хакерская природа на самом деле не зависит
от среды, в которой работает хакер. В этой книге мы сосредоточимся
на навыках и подходах софтверных хакеров, а также на традициях той общей
культуры, что породила термин «хакер».
Также вы узнаете о дефектах в системе безопасности, автор поделится с вами
мыслями о хакинге, введет вас в хакинг U N I X и ftpd и анонимный ftp, вы узнаете,
как зарегистрироваться под чужим именем, «троянских конях», о хакинге и
Internet, ложных DNS-запросах в Internet и о многих других интересных вещах.
В книге весьма подробно описаны применяемые хакерами программы
и инструменты, стратегии взлома, методы создания надежной и эффективной
защиты от атак хакеров, подробно обсуждаются различные факторы, влияющие
на защиту сети, приведены конкретные рекомендации по созданию различных
систем безопасности и примеры конкретных атак хакеров. Значительное внимание
уделено описанию систем взлома Windows NT, Linux и Unix и специфическим
для этих систем методам вторжения.
В общем, эта книга посвящена российскому хакерскому сообществу. Его
этике, юмору, жаргону, ну и, конечно, методам работы. Своей задачей автор
не ставит обучать читателя искусству хакинга - речь идет об исключительно
просветительных целях для тех, кто привык изучать все «самопалом» и так собирается
продолжать. Здесь собраны материалы, переведенные и обработанные
различными хакерами. Переработка в соответствии со стилистикой русского
языка порой исказила текст, но не технические термины, которые местами
остались не переведенными. Тем, кто желает стать «киллером на чате» или
«изгаляться» по-другому, автор советует обращаться к источникам более «компетентным
» и рискует повториться, что эта книга предназначена для вдумчивых
и решительных.
УДК 004.056
ББК 32.973.202
© Левин М., 2005
© ООО «Литературное агентство «БУК-Пресс», 2005
ISBN 5-9643-0049-9 © ЗАО «Новый издательский дом», 2005
Вместо вступления... 3
Вместо вступления, или
несколько слов от автора
Я - хакер. То есть я люблю забавляться с компьютерами: работать
на них, изучать их и писать умные компьютерные программы. Я- не взломщик
программной защиты и не делаю практики из ломки компьютерной защиты.
Нет ничего позорного в хакинге, которым занимаюсь я. Но когда я говорю,
что я - хакер, люди думают, что я позволяю себе делать нечто противозаконное,
потому что средства массовой информации неправильно
употребляют слово «хакер» и создают впечатление, что оно означает «прерыватель
защиты» (cracker) и ничего другого. Таким образом они делают
хакерам плохой имидж.
Самое грустное в том, что эта проблема увековечивается преднамеренно.
Многие знают различие между «хакером» и «крекером». Но большинство
людей употребляет слово «хакер» с оскорбительным оттенком. Пусть
будет так... Но если бы я был тем, кем вы меня считаете, то я должен в
ответ взломать ваш компьютер и разрушить его. Ноя - хакер, а не крекер.
Я не делаю таких вещей! У меня есть достаточно компьютеров, чтобы заниматься
ими дома, на работе; и я не нуждаюсь в вашем. Кроме того,
это - не мой способ ответа на оскорбления. Мой ответ - эта книга.
Вы задолжали хакерам извинения; но более этого, вы должны проявить
порядочное отношение к нам.
Искренне ваш,
Максим Левин...
4 Вначале было слово...
Вначале было слово...
Вначале было слово, и слово было 2 байта, а больше ничего не
было.
И отделил Бог единицу от нуля, и увидел, что это хорошо.
И сказал Бог: да будут данные, и стало так.
И сказал Бог: да соберутся данные каждые в свое место, и создал
дискеты, и винчестеры, и компакт-диски.
И сказал Бог: да будут компьютеры, чтобы было куда пихать дискеты,
и винчестеры, и компакт-диски, и сотворил компьютеры, и нарек
их хардом, и отделил хард от софта.
Софта же еще не было, но Бог быстро исправился, и создал программы
большие и маленькие, и сказал им: плодитесь и размножайтесь,
и заполняйте всю память.
Но надоело Ему создавать программы самому, и сказал Бог: создадим
программиста по образу и подобию нашему, и да владычествует над
компьютерами, и над программами, и над данными. И создал Бог программиста,
и поселил его в своем ВЦ, чтобы работал в нем. И повел Он
программиста к дереву каталогов, и заповедал: из всякого каталога можешь
запускать программы, только из каталога Windows не запускай, ибо
маcт дай.
И сказал Бог: не хорошо программисту быть одному, сотворим ему
пользователя, соответственно ему. И взял Он у программиста кость, в коей
не было мозга, и создал пользователя, и привел его к программисту; и
нарек программист его юзером. И сидели они оба под голым ДОСом и не
стыдились.
Билл был хитрее всех зверей полевых. И сказал Билл юзеру: подлинно
ли сказал Бог: не запускайте никакого софта?
И сказал юзер: всякий софт мы можем запускать, и лишь из каталога
Windows не можем, ибо маcт дай.
И сказал Билл юзеру: давайте спорить о вкусе устриц с теми, кто
их ел!
В день, когда запустите Windows, будете как боги, ибо одним кликом
мышки сотворите что угодно. И увидел юзер, что винды приятны для
глаз и вожделенны, потому что делают ненужным знание, и поставил их
Вначале было слово... 5
на свои компьютер; а затем сказал программисту, что это круто, и он тоже
поставил.
И отправился программист искать свежие драйвера, и воззвал Бог
к программисту и сказал ему: где ты? Программист сказал: ищу свежие
драйвера, ибо нет их под голым ДОСом. И сказал Бог: кто тебе сказал про
драйвера? Уж не запускал ли ты винды? Программист сказал: юзер, которого
Ты мне дал, сказал, что отныне хочет программы только под винды,
и я их поставил.
И сказал Бог юзеру: что это ты сделал? Юзер сказал: Билл обольстил
меня.
И сказал Бог Биллу: за то, что ты сделал, проклят ты пред всеми
скотами и всеми зверями полевыми, и вражду положу между тобою и
программистом: он будет ругать тебя нехорошими словами, а ты будешь
продавать ему винды.
Юзеру сказал: умножу скорбь твою и истощу кошелек твой, и будешь
пользоваться кривыми программами, и не сможешь прожить без
программиста, и он будет господствовать над тобой.
Программисту же сказал: за то, что послушал юзера, прокляты
компьютеры для тебя; глюки и вирусы произведут они тебе; со скорбью
будешь вычищать их во дни работы твоей; в поте лица своего будешь отлаживать
код свой. И выслал Бог их из своего ВЦ, и поставил пароль на
вход.
General protection fault.
6 Основы

0

2

Основы
Глава 1.
Кто такой хакер?
В этой книге вы найдете кучу определений для термина «хакер»,
большинство которых связано с технической компетентностью и удовольствием,
получаемым от решения проблем и преодоления преград.
Но если же вы хотите знать, как стать хакером, то действительно существенными
являются два аспекта.
Имеется некоторое сообщество, некая общая культура, состоящая
из опытных программистов и сетевых чародеев, которая ведет свою историю
от первых мини-компьютеров с разделением времени и от самых
ранних экспериментов с сетью ARPAnet. Члены этой культуры и дали
рождение термину «хакер». Хакеры построили Internet. Хакеры сделали
операционную систему Unix тем, чем она является сегодня. Хакеры ведут
Usenet. Хакеры обеспечивают работу World Wide Web. Если вы являетесь
частью этой культуры, если вы внесли в нее свой вклад и другие члены
этой культуры знают, кто вы, и называют вас хакером, то вы - хакер.
Хакерский взгляд на мир не ограничивается лишь культурой хакеров-
программистов. Есть люди, применяющие хакерский подход и к
другим вещам, вроде электроники или музыки. В действительности, вы
можете встретиться с этим подходом на высших уровнях любой науки
или искусства. Софтверные хакеры признают таких близких по духу людей
и тоже могут называть их «хакерами», некоторые даже провозглашают,
что хакерская природа на самом деле не зависит от среды, в которой
работает хакер. В этой книге мы сосредоточимся на навыках и подходах
софтверных хакеров, а также на традициях той общей культуры, что породила
термин «хакер».
Имеется и другая группа людей, громко именующих себя хакерами,
но они ими не являются. Это те люди (главным образом, молодежь,
мужского пола), кого тягают за взлом компьютерных и телефонных
систем.
Настоящие хакеры называют таких людей «крэкерами» и не желают
иметь с ними ничего общего. Настоящие хакеры в большинстве своем
считают крэкеров ленивыми, безответственными и не особо умными.
То, что человек способен взломать систему безопасности, не делает его
Основы 7
хакером, точно так же как умение угонять тачки не делает вас автомобильным
мастером.
К несчастью, многие журналисты и писатели введены в заблуждение
и используют слово «хакер» для описания крэкеров, и это бесконечно
раздражает настоящих хакеров.
Главное различие в следующем: хакеры строят вещи, а крэкеры их
ломают.
Если вы хотите стать хакером, то продолжайте чтение. Если же вы
хотите стать крэкером, то отправляйтесь читать ньюз-группу alt.2600 и
приготовьтесь отсидеть от пяти до десяти лет в тюрьме, когда обнаружите,
что не настолько ловки, насколько полагали.
Хакеры
Это - Индивидуум, который получает удовольствие от изучения
деталей функционирования компьютерных систем и от расширения их
возможностей, в отличие от большинства пользователей компьютеров,
которые предпочитают знать только необходимый минимум.
Это - Энтузиаст программирования, получающий удовольствие
от самого процесса программирования, а не от теоретизирования по этому
поводу.
Данная трактовка понятия «хакер» отличается от принятой в средствах
массовой информации, которые, собственно, и привели к подмене
понятий. В последнее время многие специалисты по компьютерной безопасности
начали аккуратнее относиться к этим терминам.
Крэкеры
Низменность мотивов крэкеров приводит к тому, что 9 из 10 из
них являются «чайниками», которые взламывают плохо администриру-
емые системы, в основном благодаря использованию чужих программ
(обычно эти программы называются exploit). (Причем это мнение тех самых
10% профессиональных крэкеров).
Эти профессионалы - бывшие хакеры, ставшие на путь нарушения
закона. Их, в отличие от крэкеров-«чайников», остановить действительно
очень сложно, но, как показывает практика, отнюдь не невозможно
(для примера вспомним противоборство Митника и Шимомуры).
Очевидно, что для предотвращения возможного взлома или устранения
его последствий требуется пригласить квалифицированного специалиста
по информационной безопасности - профессионального
хакера.
8 Основы
Однако было бы несправедливо мешать в одну кучу всех крэкеров,
однозначно назвав их ворами и вандалами. По нашему мнению, всех
крэкеров можно разделить на три следующих класса, в зависимости от
цели, с которой осуществляется взлом: вандалы, «шутники» и профессионалы.
Вандалы
Вандалы - самая известная (во многом благодаря повседневности
вирусов, а также творениям некоторых журналистов) и, надо сказать, самая
малочисленная часть кракеров. Их основная цель - взломать систему
для ее разрушения. К ним можно отнести, во-первых, любителей
команд типа: rm -f-d *, del *.*, format с: /U и т.д., и, во-вторых, специалистов
в написании вирусов или троянских коней. Совершенно естественно,
что весь компьютерный мир ненавидит крэкеров-вандаловлютой ненавистью.
Эта стадия крэкерства обычно характерна для новичков и
быстро проходит, если крэкеру удается совершенствоваться (ведь довольно
скучно осознавать свое превосходство над беззащитными пользователями).
Крэкеров, которые даже с течением времени не миновали эту стадию,
а только все более совершенствовали свои навыки разрушения,
иначе, чем социальными психопатами, не назовешь.
Шутники
Шутники - наиболее безобидная часть крэкеров (конечно, в зависимости
оттого, насколько злые они предпочитают шутки), основная
цель которых - известность, достигаемая путем взлома компьютерных
систем и внесения туда различных эффектов, выражающих их неудовлетворенное
чувство юмора. «Шутники» обычно не наносят существенный
ущерб (разве что моральный). На сегодняшний день в Internet это
наиболее распространенный класс кракеров, обычно осуществляющих
взлом Web-серверов, оставляя там упоминание о себе. К «шутникам»
также можно отнести создателей вирусов с различными визуально-звуковыми
эффектами (музыка, дрожание или переворачивание экрана,
рисование всевозможных картинок и т.п.). Все это, в принципе, либо
невинные шалости начинающих, либо - рекламные акции профессионалов.
Взломщики
Взломщики - профессиональные крэкеры, пользующиеся наибольшим
почетом и уважением в крэкерской среде, основная задача которых
- взлом компьютерной системы с серьезными целями, будь то
Основы 9
кража или подмена хранящейся там информации. В общем случае, для
того, чтобы осуществить взлом системы, необходимо пройти три основные
стадии: исследование вычислительной системы с выявлением изъянов
в ней, разработка программной реализации атаки и непосредственное
ее осуществление. Естественно, настоящим профессионалом можно
считать того крэкера, который для достижения своей цели проходит все
три стадии.
С некоторой натяжкой также можно считать профессионалом того
крэкера, который, используя добытую третьим лицом информацию об
уязвимости в системе, пишет программную реализацию данной уязвимости.
Осуществить третью стадию, очевидно, может в принципе каждый,
используя чужие разработки. Но то, чем занимаются взломщики, -
это обычное воровство, если абстрагироваться от предмета кражи. К сожалению,
у нас, в России, все не так просто. В стране, где большая часть
программного обеспечения, используемого каждым пользователем, является
пиратской, то есть украденной не без помощи тех же взломщиков,
почти никто не имеет морального права «бросить в них камень». Конечно,
взлом компьютерных систем с целью кражи ни в коем случае нельзя
назвать достойным делом, но и упрекать крэкеров-взломщиков могут
только те, кто легально приобрел все используемое программное обеспечение.
До сих пор мы все время рассматривали хакеров-крэкеров с позиций
распределенных систем, но не нужно забывать, что самая многочисленная
категория крэкеров занимается более обыденными вещами, а
именно: снятием защиты с коммерческих версий программных продуктов,
изготовлением регистрационных ключей (registration key) для условно-
бесплатных программ и т.п.
Электронные взломщики
Цель, которую преследует обыкновенный вор или мошенник, достаточно
проста. Как правило, его привлекают наличные деньги или материальные
ценности, которые можно легко продать. Правда, существуют
умельцы, которые взламывают сейфы и угоняют автомобили
исключительно - по их словам - из «любви к искусству». Но в искренность
таких признаний что-то не верится!
С хакерами дело обстоит сложнее. Хотя бы потому, что образ
«виртуального» взломщика не согласуется с привычным образом криминального
элемента - слишком уж сильно выделяется интеллектуальный
уровень хакера, и его знания в области компьютерной техники кажутся
просто феноменальными! Некоторые пользователи вполне резонно считают,
что хакеры - это своеобразные санитары компьютерных сетей, ко-
10 Основы
торые выявляют слабые места в том или ином сетевом продукте и помогают
тем самым определять скрытые дефекты техники и недоработки
программ. Сторонники данного мнения часто оперируют тем фактом,
что на раннем этапе развития компьютерной индустрии понятие «хакер»
определялось как «программист-фанатик, виртуоз, эксперт по программам
». В принципе, с этим определением можно согласиться. Однако не
будем забывать, что к положительному «портрету» хакера добавились
сегодня новые черты, которые не согласуются с обликом благородного
рыцаря.
Если вы откроете книгу рекордов Гиннеса, то на одной из ее страниц,
рядом с именами убийц и маньяков, можно увидеть начертанную
мелким шрифтом фамилию американца С. М. Рифкина, ставшего первым
компьютерным мошенником, зарегистрированным официально,
т.е. решением суда. Повышенный интерес к личности С. М. Рифкина
вызван тем, вероятно, что уголовные дела над злоумышленниками встречаются
редко. И тем более понятен интерес к личности первого официального
хакера!
Процесс по делу 32-летнего американского гражданина Рифкина,
рискнувшего сорвать запретный плод на ниве компьютерного криминала,
состоялся в середине 70-х годов, в эпоху «мэйнфреймов». Дело обстояло
так.
Господин Рифкин был владельцем небольшой фирмы, которая
специализировалась на платных консультациях по вопросам компьютерной
техники. Он хорошо знал вычислительные системы своих клиентов.
В частности, ему была знакома система автоматизированных платежей
в Тихоокеанском национальном банке в городе Лос-Анджелесе.
Однажды Рифкин явился в вычислительный центр этого банка;
служебный вход был открыт. Рифкин выдал себя за представителя государственной
ревизионной службы и поинтересовался у одного из работников
банка, какой пароль действовал в тот день для передачи денежных
сумм между банком и его партнерами. Служащий, не задумываясь, назвал
секретный пароль, менявшийся ежедневно.
В тот же день Рифкин позвонил в банк с телефона-автомата, под
именем одного из сотрудников. Он назвал пароль и попросил перевести
на счет (открытый им специально для этой преступной цели) «круглую»
сумму в $10 млн. Удивительно, но через некоторое время мошенник спокойно
получил деньги и скрылся. Полиции пришлось немало потрудиться,
чтобы заманить преступника обратно, на территорию Соединенных
Штатов, и арестовать. Однако еще труднее оказалось, как ни странно,
убедить руководство Тихоокеанского банка подать исковое заявление в
суд. Обманутые клерки упорно отрицали факт преступления; они ут-
Основы 11
верждали, что в их компьютерном «хозяйстве» все нормально - по крайней
мере, «ни компьютеры, ни люди не ошибаются!»
В финале этой истории Рифкин получил 8 лет тюрьмы, а в Тихоокеанском
банке была проведена серьезная реорганизация. В частности,
был заметно усилен контроль над вкладами, а у дверей автоматизированного
пункта платежей появился вооруженный охранник.
Самое удивительное, что за годы, прошедшие с момента суда над
Рифкиным, в отношениях между полицией и банками мало что изменилось.
Как раньше, так и сегодня пострадавшие от хакеров финансовые
учреждения крайне неохотно соглашаются на официальные расследования.
В чем тут дело? Оказывается, клерки просто боятся огласки! Любой
банкир, уважающий себя и свой бизнес, глубоко обеспокоен репутацией
своей фирмы. А поскольку в деловом мире ценится, прежде всего, надежность
и респектабельность, то есть полный резон молчать о своих
проблемах. Подумайте, о какой надежности может идти речь, когда
в компьютерной системе банка «пасутся» хакеры?!
На поверхность всплывают, как правило, самые «громкие» и наглые
преступления. В начале 90-х годов, например, в средствах массовой
информации появилось сообщение о грандиозном шантаже, предпринятом
неизвестными лицами в отношении (ни много ни мало) сразу пяти
ведущих британских банков!
Шантажисты требовали крупных денежных сумм. Они убежденно
заявляли, что знают путь в компьютерные системы каждого из пяти банков.
В знак серьезности своих целей преступники демонстрировали, как
ловко они умеют проникать в компьютерные системы, которые, казалось,
были надежно защищены. Действия хакеров вызвали сильнейшее
беспокойство руководителей банков (ведь повреждение компьютерной
системы требует огромных денежных средств на восстановление!). И, разумеется,
руководители банков наотрез отказывались от каких-либо
комментариев по поводу шантажа.
Практика замалчивания не дает возможности получить полную
и достоверную статистику о хакерских преступлениях; количество «взломов
», наверняка, больше, чем отражено в криминальных сводках!
А теперь обратимся еще разок к делу С. М. Рифкина. Надо заметить,
что уровень организации этого преступления вполне соответствовал
уровню развития компьютерных средств 70-х годов. Нетрудно догадаться,
что с развитием компьютерной техники «арсеналы» хакеров
пополнились новыми мощными средствами.
12 Основы

0

3

Глава 2.
Хакерский подход
Хакеры решают проблемы и строят вещи, они верят в свободу
и в добровольную взаимопомощь. Для того, чтобы вас воспринимали
как хакера, вы должны вести себя так, как если бы это была ваша собственная
позиция. А для того, чтобы вести себя так, будто это ваша позиция,
вы должны действительно верить в эту позицию.
Но если вы рассчитываете культивировать хакерские подходы
лишьдля получения признания в культуре, то вы упустили суть. Стать таким
человеком, кто верит в подобные вещи, - это важно для вас, потому
что это поможет вам научиться и поддержит стремление. Как и в любом
творчестве, самый эффективный способ стать мастером - это подражать
мировоззрению мастеров, не только интеллектуально, но также и эмоционально.
Так что если вы хотите стать хакером, то повторяйте следующие
вещи, пока не поверите в них:
• Мир полон пленительных проблем, ждущих своего
решения.
Быть хакером - это огромное удовольствие, но это удовольствие
такого рода, которое требует массы усилий. Для таких усилий нужна мотивация.
Атлеты-чемпионы черпают мотивацию из своего рода физического
удовольствия, получаемого от доведения собственного тела до совершенства,
от преодоления собственных физических пределов.
Подобно этому, чтобы быть хакером, вы должны получать максимум
удовольствия от решения проблем, от оттачивания своих навыков,
от тренировки своего интеллекта.
Если же вы не из тех, кто ощущает подобные вещи естественным
образом, то вам понадобится стать таким, чтобы сделаться хакером.
В противном случае вы обнаружите, что вся ваша хакерская энергия исчерпана
такими раздражителями, как секс, деньги и успех в обществе.
Вы также должны развить что-то вроде веры в ваши собственные
способности к обучению. Веры в то, что даже если вы, возможно, и не
знаете всего, что необходимо для решения проблемы, но если вы освоили
лишь кусочек и на этом научились, то уже знаете достаточно, чтобы
решить и следующий кусок - и так далее, пока все не будет сделано.
• Никто и никогда не должен решать проблему дважды.
Основы 13
Творческие мозги - это ценный и ограниченный ресурс. Не следует
растрачивать их на переизобретение колеса, когда вокруг ожидает
так много чудеснейших новых проблем.
Чтобы вести себя как хакер, вы должны верить, что время размышлений
других хакеров - драгоценно, причем настолько, что почти моральным
долгом для вас является поделиться информацией. Решить проблемы,
а затем просто раздать решения, чтобы другие хакеры могли
решать новые проблемы вместо того, чтобы беспрестанно возвращаться
к старым.
От вас не требуется верить, что вы обязаны раздать все плоды своего
творчества, хотя те хакеры, кто так делает, - наиболее уважаемы среди
других хакеров. С ценностями хакеров вполне согласуется продажа
плодов творчества, достаточная для обеспечения вас пищей, кровом и
компьютерами. Согласуется это и с использованием ваших хакерских
навыков для поддержания семьи и даже для того, чтобы разбогатеть, пока,
занимаясь этим, вы не забываете, что являетесь хакером.
• Скука ирутина -этозло.
Хакеры (и вообще творческие люди) никогда не должны заниматься
скучными вещами или погрязать в рутине монотонной работы,
потому что когда это происходит, то это означает, что они не делают того,
что могут делать лишь они, -решатьновые проблемы. Подобное расточительство
вредит каждому. Поэтому скука и рутина - это не просто
неприятные вещи, это зло.
Чтобы вести себя как хакер, вы должны верить в это так, чтобы желать
автоматизации всех скучных мелочей настолько, насколько возможно,
и не только для себя, но и для всех остальных (особенно для других
хакеров).
Но иногда хакеры занимаются вещами, которые могут показаться
монотонными или скучными стороннему наблюдателю, в качестве
упражнения для прочистки мозгов или же для выработки навыка. Либо
же для приобретения особого рода опыта, который невозможно получить
иным путем. Но все это делается по собственному выбору, никто из умеющих
думать никогда не должен принуждаться к скучной работе.
• Свобода - это благо.
Хакеры по самой своей природе анти-авторитарны. Любой, кто
может отдавать вам приказания, может остановить решение вами любой
из проблем, вас очаровавших. И, учитывая образ мышления авторитарных
мозгов, найдутся какие-нибудь потрясающе идиотские причины,
чтобы это сделать. Так что с авторитарным подходом следует
14 Основы
сражаться всюду, где вы его встретите, дабы он не душил вас и других
хакеров.
Это не то же самое, что сражаться со всеми властями. Детям нужно
руководство, преступность необходимо сдерживать. Хакер может соглашаться
на принятие какого-то рода руководства, когда есть возможность
получить то, что нужно, и не особо много времени тратится на
выполнение приказов. Но это ограниченная разумная сделка, что-то
вроде личной уступки.
Авторитаризм процветает в условиях цензуры и секретности. Его
адепты не верят в добровольное сотрудничество и в деление информацией,
им нравится только такое «сотрудничество», которым руководят они.
Поэтому, чтобы вести себя как хакер, вы должны выработать в себе инстинктивное
неприятие цензуры, секретности, а также применения силы
или лжи для принуждения ответственных взрослых людей. И действовать
необходимо исходя из такой веры.
• Позиция не заменит компетентность.
Для того, чтобы быть хакером, вы должны развить в себе некоторые
из перечисленных подходов. Но, ухватив лишь подход, вы сделаетесь
хакером не в большей степени, чем спортсменом-рекордсменом или
рок-звездой. Для того, чтобы стать хакером, требуются интеллект, практика,
самоотверженность и тяжкий труд.
Поэтому вам придется научиться с недоверием относится к позиции,
но с уважением к компетентности любого рода. Хакеры не позволят
позерам транжирить их время, но они поклоняются компетентности,
особенно хакерской компетентности, но компетентность хороша в чем
угодно. Особо ценится обладание такими необходимыми навыками, которые
мало у кого есть. А самое лучшее - это компетентность в таких навыках,
которые требуют проницательного ума, сноровки и концентрации.
Если вы боготворите компетентность, то вы получаете наслаждение,
развивая ее в себе. Тяжкий труд и преданность делу станут для вас
захватывающей игрой, а не рутиной. И это жизненно необходимо для того,
чтобы стать хакером.

0

4

Глава 3.
Основные навыки хакера
Хакерский взгляд на жизнь - это важно, но мастерство - многократно
важнее. Позиция не заменит компетентности, и существует опре-
Основы 15
деленный набор базовых навыков, которыми вам необходимо обладать,
прежде чем любой из хакеров помыслит назвать хакером и вас.
Этот базовый набор со временем потихоньку изменяется по мере
того, как технология порождает новые навыки и делает ненужными устаревшие.
Например, обычно упоминалось программирование на машинном
языке, но, вплоть до недавнего времени, в набор не включали язык
HTML. Однако в сегодняшний комплект вполне определенно входят
следующие компоненты:
• Научитесь программировать.
Это, конечно же, фундаментальный хакерский навык. Если вы не
знаете ни одного компьютерного языка, рекомендуем начать с языка
Python. Он понятно разработан, хорошо документирован и относительно
доброжелателен к новичкам. Несмотря на то, что он хорош для первого
языка, это не просто игрушка. Это очень мощный и гибкий язык, хорошо
подходящий для больших проектов.
Но знайте, что вы не достигнете хакерского уровня мастерства
(или даже просто уровня хорошего программиста), если будете знать
лишь один язык. Вам необходимо научиться мыслить о проблемах программирования
вообще, независимо от любого конкретного языка. Чтобы
быть настоящим хакером, вам надо достичь уровня, на котором вы
сможете выучить новый язык за несколько дней, соотнося положения
руководства с тем, что вам уже известно. Это означает, что вам следует
выучить несколько очень разных языков.
Если вы занимаетесь серьезным программированием, то вам придется
выучить Си, основной язык операционной системы Unix (хотя это
и не тот язык, который следует пытаться выучить первым). Другие языки
первостепенной важности для хакеров - это Perl и LISP. Язык Perl имеет
смысл выучить из практических соображений: он очень широко используется
для активных web-страниц и системного администрирования,
так что даже если вам никогда не придется писать на Perl, вы
должны научиться его читать. LISP стоит выучить ради тех глубоких просвещенных
познаний, которые вы обретете, когда наконец его освоите.
Эти познания сделают вас прекрасным программистом на всю оставшуюся
жизнь, даже если вы никогда особо и не будете использовать сам
LISP.
Лучше всего, на самом деле, выучить все четыре этих языка (Python,
С, Perl, и LISP). Помимо того, что это самые важные хакерские
языки, они демонстрируют очень разные подходы к программированию,
и каждый из них научит вас ценным вещам.
16 Основы
Мы не можем дать здесь развернутые инструкции относительно
того, как научиться программировать, - это сложное искусство. Но можем
сказать вам, что книги и курсы этому не научат (многие, возможно,
большинство лучших хакеров - это самоучки). Что этому учит, так это
чтение кодов и написание кодов.
Научиться программировать - это как научиться писать хорошим
естественным языком. Самый лучший способ для этого - почитать
что-то из написанного мастерами, затем написать немного самому; прочесть
побольше, написать немного побольше; прочитать еще больше, написать
еще побольше... И повторять этот процесс до тех пор, пока ваши
программы не разовьются в нечто мощное и экономичное.
Отыскать хорошие коды для чтения раньше было сложно, потому
что было очень мало больших программ, доступных в исходных кодах и
пригодных для изучения и возни юных хакеров. Ныне ситуация кардинально
изменилась: программы в исходных кодах, программистский инструментарий
и операционные системы (все это создано хакерами) теперь
широко доступны. Поэтому...
• Достаньте один из вариантов Unix в исходных кодах,
научитесь его использовать и с ним работать.
Полагаем, что вы имеете персональный компьютер или можете
получить к нему доступ. Единственный и самый важный шаг, который
любой из новичков может предпринять для приобретения хакерских навыков,
- это раздобыть копию Linux или одной из версий BSD-Unix, установить
ее на персональной машине и запустить.
Да, в мире есть и другие операционные системы, помимо Unix. Но
их распространяют в двоичном виде - вы не сможете читать коды и не
сможете их модифицировать. Учиться хакерству на машинах, работающих
под DOS, Windows или MacOS - это все равно, что учиться танцевать
полностью загипсованным.
Кроме того, Unix - это операционная система Internet. Хотя вы
можете научиться использовать Internet и не зная Unix, но вы не можете
быть Internet-хакером, не понимая Unix. По этой самой причине сегодняшняя
хакерская культура является весьма сильно Unix-сконцентрированной.
(Это не всегда было так, и некоторым из прежних хакеров такое
положение дел не очень по нраву, но симбиоз между Unix и Internet
стал настолько прочен, что даже сил Microsoft не хватает, чтобы серьезно
на это влиять.)
Так что заводите себе Unix, лучше всего Linux, но есть и другие варианты
(и да-да, вы можете работать как под Linux, так и под DOS/
Основы 17
Windows на одной и той же машине). Выучите эту ОС. Работайте с ней.
Возитесь с ней. Общайтесь через нее с Internet. Читайте коды. Модифицируйте
их. Вы получите такой программистский инструментарий
(включая С, Lisp и Perl), о котором любая из ОС Microsoft и не мечтала.
Вы получите удовольствие, и вы усвоите больше знаний, чем предполагали
в процессе обучения, когда оглянетесь на этот процесс уже будучи
мастером-хакером.
• Научитесь использовать World Wide Web и писать на
HTML.
Большинство из тех вещей, что созданы хакерской культурой, делают
свое дело невидимо, помогая работать фабрикам, учреждениям и
университетам без сколько-нибудь заметного влияния на жизнь не-хаке-
ров. WWW - это одно большое исключение, гигантская блестящая ха-
керская игрушка, которая даже по признанию политиков изменяет мир.
Лишь по одной этой причине (а также и множеству других приятных
причин) вам следует научиться работать с Web.
Это не означает, что нужно просто научиться управляться с браузером
(это любой умеет), но научиться писать на HTML, языке разметки
документов Web. Если вы еще не умеете программировать, то писание на
HTML обучит ваше мышление некоторым полезным привычкам, кото-
рые пригодятся при освоении языков программирования. Так что делайте
домашнюю страничку.
Но простое обладание домашней страничкой даже и близко не
подведет вас к тому, чтобы стать хакером. В Web полным-полно домашних
страничек. Большинство из них - это бессмысленный, бесполезный
хлам. Крайне броско и привлекательно оформленный хлам, бесспорно,
но все равно хлам.
Чтобы быть стоящей, ваша страничка должна иметь «контент» -
содержание. Она должна быть интересной и/или полезной для других хакеров.

0

5

Глава 4.
Статус в хакерской культуре
Как и большинство культур без денежной экономики, Хакерлан-
дия строится на репутации. Вы пытаетесь решить интересные проблемы,
но вот насколько они интересны и насколько в действительности хороши
ваши решения, - это нечто такое, о чем обычно могут судить только
(в техническом смысле) равные вам или превосходящие вас.
18 Основы
Таким образом, когда вы играете в хакерские игры, вы учитесь
вести счет главным образом по тому, что думают о вашем мастерстве другие
(именно поэтому вы не будете хакером до тех пор, пока вас не станут
так называть другие хакеры). Данный факт затеняют как образ хакера-
одиночки, так и определенные табу хакерской культуры (ныне существенно
ослабевшие, но все еще мощные), не допускающие, чтобы
чье-то эго или внешнее признание вообще могли бы быть мотивацией
для хакера.
В частности, Хакерландия - это то, что антропологи именуют
«культурой даров». Вы зарабатываете статус и репутацию не тем, что руководите
другими людьми, и не тем, что прекрасны, и не тем, что имеете
вещи, которые являются предметом вожделения других. Но скорее тем,
что раздаете вещи. В частности, одаривая своим временем, своим мастерством
и результатами своего творчества.
Есть пять основных типов вещей, которые вы можете делать, чтобы
вас уважали хакеры:
• Пишите программы с открытым исходным кодом.
Первое (самое главное и самое традиционное) - это писать программы,
которые другие хакеры считают забавными или полезными, и
раздавать исходные коды программ для использования всей хакерской
культурой.
Мы привыкли называть такую работу «свободно-доступным программным
обеспечением» (free software), но это привело в замешательство
очень многих людей, точно не понимавших, что подразумевалось
под словом «свободно-доступное». Теперь для такого программного
обеспечения многие из нас предпочитают использовать термин «с открытым
исходным кодом», или «open-source software».
Наиболее почитаемые полубоги Хакерландии - это люди, которые
написали большие и талантливые программы, отвечающие самым
широким потребностям, и которые раздали их всем, так что каждый теперь
их использует.
• Помогайте тестировать и отлаживать программы
с открытым исходным кодом.
Почитаемы также те, кто тестирует и отлаживает программы с открытым
кодом. В этом несовершенном мире мы неизбежно затрачиваем
самую большую часть времени разработки программы на фазу отладки.
Именно поэтому любой думающий автор программ с открытым кодом
скажет вам, что хорошие бета-тестеры (знающие, как внятно описать
симптомы, хорошо локализующие проблемы, способные исправлять
Основы 19
опечатки и применяющие несколько простых диагностических подпрограмм)
ценятся на вес золота. Всего один такой человек может превратить
фазу отладки из затянутого изнуряющего кошмара в просто полезную
задержку.
Если вы новичок, то попытайтесь найти разрабатываемую программу,
которая вам интересна, и станьте хорошим бета-тестером. Существует
вполне естественный путь продвижения от помощи в тестировании
программ к помощи в их отладке и далее, к помощи в их
модификации. Вы многому научитесь таким способом и породите добрую
карму в отношениях с людьми, которые помогут вам впоследствии.
• Публикуйте полезную информацию.
Еще одна хорошая вещь - отбирать и накапливать полезную и интересную
информацию на Web-страницах или документах типа ЧаВО
•(FAQ, или «часто задаваемые вопросы и ответы») и делать их общедоступными.
Ведущие основных технических ЧаВО почти столь же уважаемы,
как и авторы программ с открытым исходным кодом.
• Помогайте поддерживать работу инфраструктуры.
Хакерская культура (и инженерная разработка Internet, к слову
сказать) основана на добровольцах. Имеется масса необходимой, но не
особо эффектной работы, которую нужно делать, чтобы поддерживать
процесс: администрирование рассылочных листов, модерирование новостных
групп, управление большими архивами программного обеспечения,
разработка RFC и других технических стандартов.
Люди, хорошо делающие такого рода вещи, глубоко уважаемы,
поскольку каждый знает, что подобная работа требует кучу времени и не
так забавна, как игры с кодами. Эта работа свидетельствует о самоотверженности.
• Служите самой хакерской культуре.
Наконец, вы можете служить и распространять саму культуру (например,
составляя скрупулезное руководство «как стать хакером»). Но
этим не стоит заниматься до тех пор, пока вы не поваритесь в этом достаточное
время и не станете хорошо известны благодаря одной из четырех
первых вещей.
В хакерской культуре нет явных лидеров, но здесь есть «культурные
герои», «племенные старейшины», историки и ораторы. Когда вы
достаточно долго поживете в этих траншеях, то сможете вырасти в одного
из таких людей.
20 Основы
Но остерегайтесь: хакеры настороженно относятся к своим крикливым
племенным старейшинам, так что видимое достижение такого
рода славы таит в себе опасность. Вместо того, чтобы стремиться к
этому, вам лучше как бы не заботиться об этом, и тогда это само упадет
на колени, а уж затем можно быть скромным и милостивым в своем статусе.

0

6

Глава 5.
Связь междухакером и придурком
Вопреки расхожему мифу, вам не обязательно быть придурком,
чтобы быть хакером. Это, однако, помогает, и многие хакеры действительно
«придурки». Статус изгоя общества помогает вам оставаться сосредоточенными
на действительно важных вещах, таких как размышления
и хакерство.
Именно по этой причине многие хакеры носят ярлык «придурок»
и даже используют в качестве знака доблести более грубый термин «кретин
» - это их способ декларации своей независимости от общепринятых
в обществе оценок.
Если вы способны в достаточной степени сосредоточиться на хакерстве,
достигать здесь заметных результатов и при этом иметь личную
жизнь - что ж, прекрасно. Сегодня это намного легче. Культурный
мейнстрим стал теперь намного дружелюбнее к техно-придуркам. Есть
даже растущее количество людей, обнаруживающих, что хакеры зачастую
могут быть вполне качественными любовниками и супругами.
Если же вас влечет к хакерству по той причине, что у вас нет личной
жизни, что ж, и это неплохо. По крайней мере, у вас не будет проблем
с сублимацией. А личная жизнь - как знать, может, она придет
позже.

0

7

Глава 6.
Черты образа жизни
Итак, чтобы быть хакером, вы должны обрести мировоззрение хакера.
Есть несколько вещей, которые могут помочь в те моменты, когда
вы не находитесь рядом с компьютером. Они не заменяют хакерство (его
ничто не заменит), но многие хакеры ими занимаются и, по их ощущениям,
это на каком-то фундаментальном уровне объединяет их с сутью
хакерства.
Основы 21
Читайте научную фантастику. Ходите на встречи любителей фантастики
(это хороший способ познакомиться с хакерами и «прото-хаке-
рами»).
Изучайте Дзэн-буддизм и/или восточные искусства боя. (Их ментальная
дисциплина имеет, похоже, важные черты сходства).
Вырабатывайте в себе аналитический музыкальный слух. Учитесь
понимать специфические виды музыки. Учитесь неплохо играть на каком-
нибудь музыкальном инструменте или грамотно петь.
Вырабатывайте в себе понимание каламбуров и игр в слова.
Учитесь хорошо писать на своем родном языке. (Удивительно,
многие из хакеров являются качественными писателями.)
Чем больше из этих вещей вы уже делаете, тем больше вероятность
того, что вы представляете собой природный хакерский материал. Почему
перечислены именно эти вещи - не вполне ясно, но они связаны со
смешиванием навыков левого и правого полушарий мозга, а это представляется
важным (для хакеров необходимо уметь как выстраивать
стройные логические обоснования, так и время от времени оценивать
проблему вне связи с очевидной логикой).
И, наконец, несколько вещей, которые делать не следует.
• Не используйте глупые и напыщенные пользовательские
имена или клички.
• Не вовлекайтесь в свары и перебранки в Usenet (или
где-либо еще).
• Не называйте себя «кибер-панком» и не тратьте свое время
на тех, кто это делает.
• Не отправляйте письма или электронную почту,
переполненные ошибками правописания.
Единственная репутация, которую вы себе создадите, занимаясь
этими вещами, - это посмешище. У хакеров длинная память, и вам могут
понадобиться годы жизни, чтобы об этом забыли.

0

8

Глава 7.
Субкультура хакеров
Недавно сформировавшаяся субкультура хакеров является довольно
своеобразным социальным образованием.
22 Основы
Сам термин «хакер» имеет американские корни. Его развитие прослеживается
с конца 60-х годов до нашего времени и происходит, в определенном
смысле, от движения хиппи. Но, между тем, такую субкультуру
нельзя определить ни как общину, ни как политическое либо
религиозное движение.
Экстернальная культура хакеров аккумулирует в себе определенные
нормы и символику.
Внешний види составляющие...
В плане облика и манеры поведения наши герои не привлекают
к себе внимания. Длинноволосые интеллигентно-интенсивные, отвлеченные
и не всегда аккуратные молодые люди, читающие «Analog»,
«Scientific American» и «Smithsonian», они не читают журнал «Хакер» - такое
детство совсем не для них. Диапазон потребляемой литературы часто
удивляет постороннего наблюдателя, так как многие хакеры посвящают
чтению столько же времени, сколько средний американец посвящает
своему телевизору. Часто их дома забиты зачитанной до дыр литературой
по самым разнообразным направлениям, среди которых, помимо технических,
присутствует научная фантастика и шахматная тематика.
В еде часто предпочитают что-нибудь восточное - китайское, например.
Тайская пища пользуется потрясающей популярностью, как и
еврейские деликатесы. Существенное меньшинство средне- и юго-западных
хакеров предпочитают мексиканскую кухню. Для ночной работы
годятся как огромная пицца, так и не меньших размеров термос с кофе.
Политические взгляды не поражают разнообразием - хакеры несколько
слева от центра, за исключением мощного контингента вольнодумцев,
полностью отвергающих обыкновенное разделение на левых и
правых. Конечно, среди хакеров преобладают молодые люди, но пропорция
представительниц прекрасного пола выше, чем в других технических
профессиях. Хакеры как социальная группа настолько же различаются
цветом кожи и национальностью, как и иные группы, поэтому все расовые
предрассудки встречаются крайней враждебностью.
Вероисповедание достигает гигантского разброса - от атеиста до
неретивого иудея и неоязычника. Очень часто несколько религий находят
своего почитателя в лице одного человека.
Кроме того, на многих хакеров оказывает влияние буддизм или,,
реже, таоизм и их смесь с «родной» религией.
В общении наши герои предпочитают электронную почту, поскольку
свобода, разнообразие и вдохновение приходит к ним перед монитором.
Основы 23
Вопреки стереотипу, хакеры не ограничиваются узкими интеллектуальными
рамками и пытаются интересоваться всем, что способствует
умственной стимуляции, зачастую подолгу беседуя на разные отвлеченные
темы. В принципе, можно заставить хакера говорить о чем угодно,
если, конечно, удастся оторвать его от компьютера. Однако у них не всегда
развита способность к социальным контактам, присутствуют большие
недостатки в умении общаться, они подвержены психологическому
давлению, в подавляющей массе неорганизованны и неряшливы в общении
с внешним миром.
История возникновения...
Первыми в ряду представителей субкультуры хакеров были молодые
люди в возрасте от 16 до 22 лет, так называемые тинэйджеры, самовыражение
которых происходило посредством использования компьютерных
технологий. Такое увлечение, как правило, создает особое
психологическое восприятие, которое определяет дальнейший стиль
жизни, сохраняясь довольно продолжительное время.
Многие внешние проявления служат как бы опознавательными
знаками «своих»: обилие специфико-технических терминов в разговоре,
свободная манера поведения, простой, неопределенный стиль одежды,
небрежная прическа в дополнение к невыразительной внешности, рюкзаки
за спиной - символика их внешности. Графические знаки в виде
каких-либо вышитых на одежде фраз или знаков, подобно хиппи, встречаются
очень редко.
Однако «хакер» - это далеко не только дань возрасту. Наряду
с этим, хакер - это специалист, который стремится прежде всего к общению
с другими пользователями информационного сообщества, к выражению
своих мыслей, идей в свободной, творческой атмосфере.
Такие хакеры создавали программное обеспечение типа shareware
или freeware, криптографические системы наподобие известнейшей PGP
(Pretty Good Privacy) - детища пацифиста из Боулдера Филиппа Циммермана,
или нашумевшей программы «SATAN» (позволяющей выявлять
дыры в защите компьютерных систем) - творения неуживчивого
анархиста Дэна Фармера, и другие изобретения, которые позволяют
иным пользователям реально обладать независимостью в киберпро-
странстве, творя искусство и красоту. Фактически они используют свои
знания и способности на благо всех пользователей Internet - глобального
информационного сообщества.
Множество людей, предоставленных сами себе, формируют схожие
коммуникативные структуры. В субкультуре хакеров складывалась
трехслойная иерархия, где довольно относительно выражена элита, су-
24 Основы
ществует основная масса представителей субкультуры, сгруппированная
вокруг элиты, а также иные случайные представители, которые в принципе
не считаются настоящими хакерами, оставаясь в статусе «ламеров».
Можно говорить о нескольких «поколениях» хакеров, которые
способствовали технологическому прогрессу в силу своей деятельности.
На начальном этапе такая деятельность заключалась в преобразовании
огромных по размерам компьютеров первых поколений с использованием
так называемой технологии доступа «разделения времени»,
которая заключалась в создании некоторого подобия виртуальных персональных
компьютеров. Как следствие этого, вкладом второго поколения
хакеров явилось изобретение в конце 70-х годов персональных компьютеров.
Именно в те годы можно было наблюдать большое количество
ярких индивидуальностей в среде хакеров. Выразительным примером
может служить хиппи-битломан Стив Джобе, который вместе со своими
друзьями Ли Фельсенштайном и Стивом Возняком собирал и недорого
продавал приспособления, с помощью которых любой американец мог
долгое время совершенно бесплатно эксплуатировать телефонную сеть
США. Наиболее интересно, что впоследствии именно Ли изобрел первый
мобильный персональный компьютер «Осборн-1».
В дальнейшем многие представители третьего поколения устремились
в малый бизнес, принеся с собой, помимо прочего, новую философию
общения, построенную на многих традициях движения хиппи.
Однако успех в такого рода начинаниях не сопровождался изменением
их ценностей. Именно третье поколение хакеров в начале 80-х создало
большое количество прикладных программ для персональных компьютеров,
которые способствовали успеху платформы IBM. Созданные ими
организации, такие как «Фонд электронных рубежей» (Electronic Frontier
Foundation), основателем которого является небезызвестный Мич Кей-
пор - создатель популярной программы «Lotus 1-2-3», и в настоящее
время серьезно влияют на политику Вашингтона в области соблюдения
гражданских прав в киберпространстве.
Четвертое поколение хакеров создало то, что принято теперь,
называть мировым сообществом, киберпространством или Internet -
средой обитания и общения для более чем 50 миллионов человек. Но, наряду
с Internet, мы видим и еще одно гениальное изобретение, интегрированное
в эту среду, - систему сенсорного погружения или т.н. виртуальную
реальность, начальные основополагающие принципы и
концепция которой были разработаны еще одной яркой личностью первого
поколения хакеров - Джейроном Ланье.
На более ранних стадиях труд представителей четвертого поколения
хакеров можно было видеть в создании систем электронной почты
Основы 25
на основе BBS (Bulletin Board System - электронная доска объявлений),
а также сети USENET, созданной в начале 80-х (от User's Network - сеть
пользователей) двумя студентами-выпускниками университета Дьюк
Джимом Эллисоном и Томом Траскоттом. Именно в основе этой сети
впоследствии очень точно был сформулирован вечный принцип всех поколений
хакеров: участвовать может любой. Да и сама USENET может
считаться эталоном в плане своей структуры - полная децентрализация,
отсутствие иерархии, самоорганизация и резкое отрицание любого коммерческого
использования. Именно эти принципы были интегрированы
культурой хиппи в движение хакеров. И именно четвертое поколение хакеров
активно противостоит коммерсализации и узурпации какими-либо
государственными органами региональных и опорных высокоскоростных
коммуникационных магистралей Internet, руководствуясь
правом всеобщей доступности и бесплатности информации.

0

9

Глава 8.
Преступники или романтики?
Россия всегда славилась талантами. Не обошло это и компьютерную
сферу. Как вы знаете, компьютеры только недавно вошли в нашу
жизнь, намного позже, чем во всем мире. Но это не стало преградой для
российского человека. Появилось огромное число программистов, способных
померяться силами с западными ассами. Многие из них уехали за
рубеж и сейчас успешно работают в самых крупных софтверных компаниях.
Волна непобедимых Российских компьютерных вирусов переполошила
все мировое сообщество. Опять же Российские программисты
научились лучше всех бороться с этими вирусами. И вот в Россию пришел
«Internet». Многие западные аналитики с испугом ожидали этого
факта. И не ошиблись. Российские таланты погрузились в безграничную
паутину Internet.
Появились российские «Хакеры». Не пугайтесь этого слова,
в большинстве своем оно не носит криминального характера - основной
лозунг хакерского движения - «Информация должна быть бесплатной
и общедоступной», конечно, не все соглашаются с этим принципом,
и именно их информационные Web-ресурсы чаще всего подвергаются
атаке хакеров.
«Территория взлома», или HackZone - очень цивилизованный
русский хакерский сайт. На этих страницах вас приветствуют люди, способные
изъясняться на вполне литературном языке, здесь проводится
конкурс статей о хакерах, публикуется в русском переводе знаменитое
произведение Брюса Стерлинга «Охота на хакеров». В разделе «Закон
26 Основы
есть закон» начинающий взломщик может ознакомиться с текстами основных
законов РФ о правовой охране компьютерных программ, чтобы
всегда отдавать себе отчет в том, на какой срок могут потянуть те или
иные действия. Самый интересный раздел - это статьи: здесь можно узнать
о знаменитой истории со взломом Сити-Банка, о слабостях операционной
системы Windows NT, о том, насколько хорошо защищена от
вторжения внутренняя сеть компании Pepsi-Cola... Всем статьям, представленным
в разделе, можно тут же выставить оценки.
На сервере также публикуется еженедельное обозрение хакерских
и анти-хакерских сайтов под редакцией Дмитрия Леонова и постоянно
обновляются новости. Страничка «Подполье» содержит коллекцию рассказов
о нашумевших хакерских атаках. Есть и форум, где можно пообщаться
в реальном времени с другими посетителями сайта.
На санкт-петербургском сервере xpress.ru живет забавное «обозрение
пиратских технологий», которое называется «Вечерний D2MAC».
D2MAC - это один из телевизионных стандартов вещания, которым
пользуются «все мало-мальски приличные» спутниковые каналы ТВ.
Обозрение посвящено тому, как собственными силами настроить тюнер
на спутниковый канал, подправить положение тарелки-антенны... Если
у вас дома установлена спутниковая антенна, с ней возникли какие-либо
проблемы, а установщика вызывать не хочется - отправляйтесь в
Internet, и возможно, советы от Александра Борзова помогут вам справиться
самому. Как пишет автор, если уж вы сумели добраться до его
страницы в Internete, то спутниковую антенну сможете настроить и подавно!
Итак, «Вечерний D2MAC» предлагает новости из мира технологий
спутникового вещания, описание аппаратуры, полезные советы
и рассказы о том, как взламывают спутниковые каналы.
Операционная система Windows NT используется сейчас повсеместно,
и тем, кто с ней работает, полезно было бы знать, как защитить
эту систему от попыток взлома. Сайт NT Security, как явствует из названия,
полностью посвящен проблемам безопасности операционной системы
Windows NT и предлагает всевозможные рецепты защиты - начиная
со способов настройки и заканчивая маленькими программками,
латающими бреши в системе безопасности. Здесь, как и на множестве хакерских
сайтов, рассказывается о том, с каких сторон чаще всего подвергаются
атаке компьютеры с Windows NT и какими инструментами пользуются
для того, чтобы вывести такие компьютеры из строя либо
разведать нужную информацию, однако на сайте NT Security упор делают
не на технологию атаки, а на технологию защиты от нее. Сайт обновляется
по мере обнаружения новых брешей в защите Windows NT и по
мере появления новых способов вывести из строя эту систему - то есть
не реже, чем раз в месяц.
Основы 27
Страница «Хакерство с самого начала» так озаглавлена не зря: на
ней есть отличное руководство для начинающих хакеров, и каждый, кому
взбрело в голову стать взломщиком-профессионалом, может сразу
оценить, каковы его силы и возможности и хочет ли он в действительности
этим заниматься. Руководство весьма детальное, а список рекомендуемой
литературы настолько длинен, что десять раз задумаешься, прежде
чем купить и прочесть все эти книги - тем более, что большинство
упомянутых учебников и справочников в России стоит весьма недешево.
Раздел «Happy Hackers Guide» - «Руководство счастливого хакера
» - описывает вполне легальные и безвредные хакерские техники. Любому
пользователю Internet будет интересно и полезно узнать, как справиться
с надоевшей рекламной почтой или защитить свой компьютер от
самых распространенных атак извне.
Заявление создателей этого сайта гласит, что он предназначен для
того, чтобы облегчить продвинутым пользователям доступ к новостям и
полезной информации о безопасности компьютерных систем. В принципе,
то же самое пишут почти на всех хакерских серверах, но у этого
сайта есть своя специфика: в основном здесь рассказывают о взломе
Internet-серверов, в особенности о таких случаях взлома, в результате которых
подменяют заглавную страницу сервера. Авторы объясняют свой
интерес тем, что о взломе интернетовских серверов в прессе и на телевидении
обычно рассказывают всякие небылицы.
Сервер hacked.net всегда готов предоставить журналистам достоверную
информацию о том или ином взломе, чтобы избежать ошибок и
домыслов. На сервере масса интереснейших ресурсов: например, здесь
можно узнать, сколько серверов Всемирной Паутины было взломано за
весь прошедший год. Публикуется ежемесячный журнал хакерского сообщества.
Самый знаменитый хакерский альманах - это, конечно, «2600»..
Выходит он ежеквартально, то есть всего четыре раза в год, но сайт существует
настолько давно, что в ожидании свежего номера всегда можно
убить время за чтением не менее интересных архивов. Сам альманах публикуется
уже более 10 лет, а именно - с 1984 года (возраст для журнала,
тем более компьютерного, более чем почтенный). На сайте можно увидеть
все обложки бумажной версии альманаха с 1987 года по 1995-й.
Ссылка с обложки номера ведет к избранным материалам из него.
Как известно, каждый месяц читатели альманаха, то есть хакеры,
встречаются в заранее назначенном месте - практически в каждом крупном
городе мира есть такое место встречи хакеров. На отдельной странице
приводится список всех таких мест - включая одно достаточно известное
кафе в Москве.
28 Основы
Одно из самых забавных мест на сервере - галерея взломанных
веб-сайтов, где можно увидеть, как сайт выглядел до взлома и как после.
Галерея эта воистину бесценна, поскольку крупные коммерческие и
официальные сайты обычно восстанавливают очень быстро - а ведь так
интересно посмотреть, до чего доходит хакерская фантазия при подмене
главной страницы сервера!
LOpht (читается как «лофт») Heavy Industries - всемирно известное
объединение хакеров, которое существует приблизительно так же давно,
как и журнал 2600. На сайте этого объединения сейчас распространяется
последнее мощное орудие взлома - LOpht Crack версии 2.0, программа,
которая выуживает пароли из системы Windows NT.
В архивах сайта вы найдете массу руководств к действию, манифестов
и справочных материалов, включая архивы статей из таких изданий,
как Mondo 2000. В разделе «Лаборатория» вас ждут описания
проектов, над которыми в данный момент работают хакеры - при желании
можно внести свой посильный вклад в разработку очередной программы
или поучаствовать в просветительской акции. Есть и страничка,
где можно заказать различные товары - например, компакт-диски с ха-
керскими программами. И, конечно, не обошлось без живого общения,
хотя на этом сайте оно имеет несколько странную форму: одна из страниц
содержит видеоглазок, который позволяет наблюдать за хакерами
из группы LOpht в реальном времени. Иногда их можно застать за рабочим
столом и увидеть, как они ковыряются в каких-то хитрых микросхемах.
Сайт Nomad Mobile Research Centre - «Передвижной исследовательский
центр «Номад» - предлагает уже знакомый нам по предыдущим
серверам набор: снова безопасность Windows NT, руководства по
взлому и защите от него, полезные программы, различная документация.
На этом сервере также содержится страница проекта «Пандора», связанного
с взломом сетевых систем компании Novell. В разделе «Compute»
можно найти ссылки на сходные по теме сайты.
Ну какой же хакер без жаргона? Чтобы стать «своим» среди профессионалов-
компьютерщиков, нужно для начала понимать хотя бы десятую
часть тех словечек, которыми они пересыпают свою речь. Естественно,
попытки составить словарь компьютерного и хакерского
жаргона предпринимались в Internet не раз, и на этом сервере вы найдете
одну из многочисленных версий такого словаря - вместе с историей
создания этого ресурса. Надо отметить, что именно здесь располагается
основная, официальная страница «Нового хакерского словаря». Если вам
есть что к нему добавить, без колебаний шлите создателям сайта новые
слова, и, возможно, они через какое-то время включат их в словарь.
Основы 29

0

10

Глава 9.
Хакер - это почти факир
«Ремесло» склонного к наживе компьютерного пирата имеет множество
нюансов, однако можно выделить две основные линии поведения
хакера, которые определяют его лицо.
• Процедура электронного взлома с введением в систему
специальной подпрограммы, написанной, как правило, на
языке ассемблера, или способ «троянского коня».
В техническом отношении такой метод довольно сложен
и доступен немногим.
• Выведывание паролей и кодов у лиц, работающих
в информационных центрах. Например, у бухгалтерских
работников или у служащих банка.
Оба способа направлены, как легко догадаться, на получение незаконной
материальной прибыли. Они стали возможны благодаря широкому
внедрению в мировом сообществе разного рода систем электронных
платежей (когда клиенты снимают деньги при помощи кредитных
карточек через специальные автоматы или переводят крупные суммы с
•одного счета на другой, не выходя из своего офиса, с удаленного терминала).
С увеличением числа подобных систем, значимость защиты
информации повысилась во много раз. Финансовые учреждения всего
Земного шара обеспокоены безопасностью своих компьютерных сетей,
на усовершенствование которых тратятся миллионы долларов; считается,
система защиты должна обновляться, иначе хакеры подберут к ней
ключи!
Сегодня мы наблюдаем удивительное явление, когда и в криминальных
кругах Запада, и в службах технической безопасности банков
резко повысился интерес к классным программистам и специалистам-
электронщикам. Их борьба напоминает своеобразное «состязание
интеллектов», где победителем (с переменным успехом) бывает то защищающаяся,
то нападающая сторона.
Но целью преступлений электронных взломщиков далеко не всегда
является обогащение; намерения могут быть разные. В частности,
очень остро проявляется стремление сделать себе имя. И поэтому, вероятно,
в числе хакеров немало студентов и даже школьников.
Юный голландский хакер, взломавший компьютеры армии США,
не заработал ни цента, но он весьма «громко» продемонстрировал свои
30 Основы
способности, сделав себе, как специалисту, очень неплохую рекламу. Его
поступок можно сравнить с полетом Руста над Красной площадью.
Отметим здесь же, что компьютерное пиратство имеет хорошо заметную
тенденцию к объединению. Уже существует специальный международный
жаргон хакеров, который подразумевает прибавление на
конце слов буквы «-Z» вместо «-S». Существуют и специальные сайты в
пространстве Internet, где ведется открытый обмен похищенными программами.
Рассматривая в Internet материалы о хакерах, можно найти немало
удивительного. Здесь могут, например, сочинить какую-нибудь мерзость
и подписать это «чтиво» именем известного и вполне благопристойного
писателя, и даже указать его виртуальный адрес с
предложением высказаться о написанном. Здесь могут запросто подбросить
копию системного файла, зараженного вирусом. Здесь могут... Да
мало ли что здесь могут еще!

0

11

Internet и Intranet
Глава 1.
Общие принципы построения, адресация
Internet - крупнейшая компьютерная сеть в мире, объединяющая
множество компьютеров, соединенных самыми разнообразными способами:
от телефонных линий до систем спутниковой связи. В Internet используется
комплект протоколов TCP/IP, который включает в себя:
• IP (Internet Protocol) - межсетевой протокол, который
обеспечивает транспортировку без дополнительной
обработки данных с одной машины на другую;
• UDP (User Datagram Protocol) - протокол
пользовательских датаграмм, обеспечивающий
транспортировку отдельных сообщений с помощью IP
без проверки ошибок;
• TCP (Transmissing Control Protocol) - протокол
управления передачей, обеспечивающий транспортировку
с помощью IP с проверкой установления соединения.
Каждый компьютер, подключаемый к Internet, получает свой
уникальный IP-адрес.
Internet-адрес имеет в длину четыре байта и состоит из двух частей:
сетевой и машинной. Первая часть означает логическую сеть, к которой
относится адрес; на основании этой информации принимаются решения
о маршрутизации (routing). Вторая часть идентифицирует конкретную
машину в сети. По соглашению, IP-адреса записываются как десятичные
числа (по одному на каждый байт), разделенные точками, например
194.85.31.20.

0

12

Глава 2.
Доменная система имен (DNS)
DNS (Domain Name System) - это распределенная база данных,,
которая содержит информацию о компьютерах, включенных в сеть
Internet. Характер данных зависит от конкретной машины, но чаще
32 Internet и Intranet
всего информация включает имя машины, IP-адрес и данные для маршрутизации
почты. Для удобства, большинство компьютеров имеют
имена. Доменная система имен выполняет несколько задач, но основная
ее работа - преобразование имен компьютеров в IP-адреса и наоборот.
Пространство имен DNS имеет вид дерева доменов, с полномочиями,
возрастающими по мере приближения к корню дерева. Корень дерева
имеет имя, под ним находятся домены верхнего уровня (корневые
домены). По историческим причинам существует два вида доменов верхнего
уровня. В США домены верхнего уровня отражают организационную
структуру, и, как правило, имеют трехбуквенные имена:
.gov - государственные учреждения;
• .mil - военные учреждения;
х о т - коммерческие организации;
• .net - поставщики сетевых услуг;
• .org - бесприбыльные организации;
• .edu - учебные заведения.
Для доменов вне США, в соответствии с территориальным расположением,
используются двухбуквенные коды стран ISO. Например:
• wwwspm.ru - в России;
• wwwberlin.de - в Германии;
• wwwhotex.nl - в Нидерландах.

0

13

Глава 3.
Работа в Internet
Вы можете работать в Internet с помощью специальных программ.,
Вот некоторые из них:
• ping - позволяет определить время прохождения пакета до
хоста.
• traceroute - показывает путь прохождения пакетов по сети
(в Windows 95 и Windows NT - tracert.exe).
• nslookup - позволяет просматривать содержимое
DNS-серверов.
Internet и Intranet 33
• telnet - устанавливает соединение с удаленной машиной
(23 порт) и позволяет вам работать в режиме удаленного
терминала.
• ftp - позволяет передавать файлы между машинами по
протоколу FTP (File Transfer Protocol) (21 порт).
• finger - показывает информацию о пользователях,
находящихся в данный момент на какой-либо машине.
Для работы с WWW (World Wide Web) используются программы
Netscape Navigator, Internet Explorer и некоторые другие. Эти программы
устанавливают соединение с сервером (80 порт) и работают по протоколу
HTTP.
Важно: для работы с ftp, telnet, finger и www необходимо, чтобы на
машине, с которой вы устанавливаете соединение, были запущены соответствующие
программы-сервера.

0

14

Глава 4.
Как получить доступ в Internet
Это, вероятно, один из самых насущных вопросов для любого
начинающего пользователя.
Как показывает практика, для того, чтобы начать ломать
компьютеры в Internet, необходимо уже иметь туда выход, пусть даже
временный или минимальный. Не все так сложно, как вы думаете.
В наше время получить доступ в Internet не составляет никаких проблем.
Вот некоторые из них:
• Самый легкий - если ваш институт (если вы работаете на
кафедре, то все многократно упрощается) уже подключен
к Internet, то попытайтесь договориться о предоставлении
вам (или вашей кафедре) выхода туда.
• Если в вашем институте нет Internet, то это даже лучше -
вы можете стать основателем, остается только пойти к
руководству и убедить их в необходимости подключения.
(КАК?! У нашего любимого института нет выхода
в Internet?!Нет собственного WWW-cepeepa ?!Нетдаже
электронной почты ?! Данас не будут уважать! Каждый
уважающий себя ВУЗ должен иметь выход в Internet!)
2-2588
34 Internet и Intranet
• Если вам удалось убедить начальство - вы выиграли,
и у вас будет свой, бесплатный Internet.
• Если вы всерьез хотите всем этим заниматься, это один из
самых простых путей начать. Через некоторое время
желание что-то ломать пропадет.
• Если вы работаете в солидной фирме, не имеющей выхода
в Internet, то вышеприведенные рекомендации применимы
и в этом случае.
На этом стоит временно прервать перечисление и заметить: если
у вас есть возможность воспользоваться вышеперечисленными способами,
не читайте дальше эту главу, а попытайтесь просто воплотить их
в жизнь, и у вас не возникнет множества проблем.
Для всех остальных - продолжим:
• Платный доступ к Internet предоставляют находящиеся
в вашем городе фирмы (так называемые провайдеры).
Можно заметить, что большинству людей оплата их услуг
пока не по карману, особенно если доступ нужен без
определенной цели, т.е. вы не зарабатываете денег,
используя Internet.
• Кроме того, услугами по предоставлению доступа
в Internet могут заниматься фирмы, находящиеся за
пределами вашего города или страны, используя в качестве
транспорта Х.25 сети (например SPRINT).

0

15

Глава 5.
Сети пакетной коммутации
Общие принципы построения
Основу Х.25 сетей составляют Центры Коммутации Пакетов
(ЦКП), расположенные во многих городах и обеспечивающие доступ к
сети. Обычно абонент получает доступ к сети, соединяясь с ближайшим
ЦКП, т.е. можно получить доступ к сети из любого места, где есть телефонная
связь, без привязки к конкретному ЦКП.
Абоненты сети подключаются к ней для того, чтобы передавать
информацию или принимать ее от других абонентов или хост-машин.
Для этого в сети устанавливается временная логическая связь между этими
абонентами, называемая виртуальным соединением. После установ-
.Internet и Intranet 35
ления виртуального соединения между абонентами может происходить
обмен данными одновременно в двух направлениях (дуплекс), причем
задержка передачи пакетов данных не превышает долей или нескольких
секунд в зависимости от загруженности сети.
Терминология
INUA
(Network Users Address/Сетевой Адрес Пользователя)
Число, задающее сетевой адрес пользователя.
INUI
(Network User Identiflcator/Идентификатор Сетевого Пользователя)
Код доступа и пароль. Обычно предоставляется поставщиком сетевых
ресурсов и используется для определения оплаты за услуги.
DNIC
(Data Network Identification Code/Код идентификации сети)
Представляет из себя 4 цифры, которые в полном сетевом адресе
задают код сети данных.
PAD
(Packet Assemble Disassembler/Сборщик/разборщик пакетов)
Устройство, позволяющее с помощью обычного терминала работать
с сетями коммутации пакетов, т.к. терминалы передают не блоки
данных, а символы.
Работа с Х.25
Для работы с Х.25 требуется терминальная программа (например
Telemate или Telix). Позвонив модемом на ближайший узел сети пакетной
коммутации, вы подключаетесь к ПАД, который получает символы
для передачи по сети и формирует из них пакеты, а также выполняет и
обратную операцию разборки пакетов и передачи символов на терминал.
Сети пакетной коммутации являются транспортом, позволяющим
вам работать со многими системами, которые к нему подключены. Для
этого необходимо знать адрес системы, с которой вы предполагаете работать.
Кроме того, большинство систем снабжено средствами идентификации
пользователей, т.е. требуют для работы с ними имя_пользователя
36 Internet и Intranet
и пароль. Это связано, в первую очередь, с реверсивной оплатой сетевых
услуг - владельцы подключенной к сети системы платят провайдеру за
время соединения пользователей с ней, а затем могут брать с пользователей
плату за предоставляемые услуги.
Работа с ПАД
Работа пользователя с ПАД происходит в двух режимах: в командном
и передачи данных. В начале своей работы с ПАД, пользователь находится
в командном режиме. При установлении соединения, пользователь
переходит в режим передачи данных. В режиме передачи данных
происходит обмен информацией с удаленным ресурсом. При необходимости
непосредственного взаимодействия с ПО ПАД пользователь может
перейти в командный режим, введя символ внимания - как правило,
CTRL-P. В командном режиме пользователь может использовать
следующие команды:
• CON - установление соединения через сеть Х.25;
• LOC - установление локального соединения;
• CLR - разрыв соединения;
• PAR? - просмотр текущих значений параметров Х.З;
• SET - установление новых значений параметров Х.З;
• SET? - установление новых значений параметров Х.З и их
просмотр;
• PROF - установление новых значений совокупности
параметров Х.З;
• INT - посылка срочных данных;
• RESET - сброс соединения;
• STATUS - текущий статус соединения.
В ответ на команды пользователя ПАД выдает диагностические
сообщения:
• ОМ - соединение установлено;
• ERR - синтаксическая ошибка в команде;
• RESET - возможная потеря данных на пакетном уровне;
• FREE - ответ на команду ПАД STATUS при отсутствии
соединения;
Internet и Intranet 37
• ENGAGED - ответ на команду ПАД STATUS при
установленном соединении;
• CLRCONF - разъединение выполнено;
• CLR - индикация разъединения по одной из следующих
причин:
• О DTE удаленный DTE разорвал соединение;
• 1 ОСС номер занят;
3 INV - неправильный запрос средств;
• 5 NC - сеть переполнена;
• 9 DER - канал неисправен;
• 11 NS - доступ запрещен;
• 13 NP - нет доступа;
• 17 RPE - удаленная процедурная ошибка;
• 19 ERR - местная процедурная ошибка;
• 21 PAD - разъединил местный ПАД;
• 25 NRC - нет реверсивной оплаты;
• 33 INC - несовместимый адрес назначения;
• 41 NFC - нет быстрой выборки;
• 128 DTE - канал зарезервирован;
• 129 DTE - удаленный DTE не готов;
• 130 DTE - канал является исходящим;
• 131 DTE - DTE работает по протоколу Х.28;
• 132 DTE - DTE отсоединено;
• 133 DTE - DTE недоступно;
• 134 DTE - канал не существует;
• 135 DTE - канал рестартован;
• 136 DTE - нет связи по Х.25;
• 137 DTE - адрес удаленного DTE не существует;
• 138 DTE - нет виртуального канала.

0

16

Хакинг
Глава 1.
Искусство взлома
Хакинг - это искусство взлома всевозможных систем и доведения
данного процесса до высот технического изящества. Хакер вооружается
различными методиками, исходя из которых он строит собственную.
стратегию взлома той или иной программы. Зачем же быть хакером? Вы
наверняка найдете для себя несколько причин. Для некоторых, например,
это в первую очередь просто прекрасное развлечение. Но сейчас заниматься
хакингом становится все более опасно, поэтому будьте осторожны,
даже если у вас нет противозаконных намерений. Это очень
трудоемкое и к тому же рискованное дело. Так что будьте внимательны
и не попадитесь!
Глава 2.
Как не пойматься
Жизнь прекрасна, только когда вы не попадаетесь в руки спецслужб.
Конечно же, это зависит от того, чем именно вы занимаетесь. Но
может получиться так, что вы все равно попадетесь, несмотря на беспрекословное
выполнение всех наших рекомендаций.
Некоторые операторы спецслужб до отупения настойчивы и не
остановятся ни перед чем, чтобы вычислить и прижать вас к стенке. И если,
как только вы берете трубку телефона, мгновенно подключаются модемы,
или если до вас доходят слухи, что друзья-приятели называют вас
«хакером, на след которого напали спецслужбы», то мы предлагаем вам
затаиться на какое-то время и не заниматься взломом.
Существует несколько основополагающих моментов, которые
•обязан знать каждый использующий модем при компьютерном взломе.
Мы посчитали необходимым включить их в эту книгу для того, чтобы вы
ни в коем случае не упустили их из виду. Вы постоянно должны быть начеку
и следить за появлением таких настораживающих явлений, как:
1. Необычные шумы на линии, при том, что обычно их не бывает.
2. По телефонной линии прослушиваются другие голоса.,
Хакинг 39
Это иногда случается со старым оборудованием FDM, но может
быть вызвано и ответвлением провода, так что будьте осторожны!
3. Появление фургона или минифургона, припаркованного рядом
с:
а) телефонным столбом;
б) подземным паровым вентиляционным отверстием;
в) следите за появлением около телефонных столбов и вентиляционных
отверстий тряпок или кусков ткани с символикой MA BELL.
Это полный конец! Если вы заметили что-нибудь из вышеуказанного,
немедленно прекращайте все упражнения по крайней мере на месяц.
И обязательно убедитесь в том, что фургоны уехали, а не просто поменяли
место парковки.
Обратите внимание на провода, протянутые от фургона к телефонному
столбу или вентиляционному отверстию, и на цвет, в который
выкрашен фургон (обычно фургоны спецслужб белого цвета). Также следует
выяснить, не принадлежит ли он (т.е. фургон) телефонной компании.
4. Наличие незнакомого вам оборудования в нежилых комнатах
вашего дома обязательно должно вас насторожить.
5. С вашей телефонной линией происходит что-то странное, и вы
уверены в том, что соседи не имеют к этому никакого отношения.
В целом это все, о чем мы хотели бы предупредить вас, но, конечно
же, существует гораздо больше подозрительных явлений, которые могут
предупредить вас о том, что спецслужбы напали на ваш след.
Глава 3.
Ответвления провода
На сегодняшний день этот способ вычисления хакеров остается
самым распространенным. Мы предлагаем лучшее руководство для тех,
кто хочет выявить явное отклонение провода. Если вы в состоянии позволить
себе приобрести соответствующее оборудование, то сможете заниматься
тем, что называется «чистка» телефонной линии. Еще вы можете
собрать прибор, показывающий напряжение в сети. Если во время
телефонного разговора напряжение резко падает, то это означает, что от
вашего телефона ответвлен провод или кто-то подключился к линии.
Ниже приведены возможные показания прибора.
40 Хакинг
Напряжение, которое должно насторожить вас
90VnpH20-30Hz
На линии
30-50V
Среднее напряжение
600V. Осторожно! В модеме может сгореть MOV. Обычно при таком
напряжении телефонная сеть неисправна.
.Как правило, у спецслужб нет необходимого оборудования для того,
чтобы следить за вашим компьютером с помощью отвода провода,
и, уж конечно же, вряд ли у них будет база данных с вашим именем.
Глава 4.
Определение номера телефона
Спецслужбы используют еще один способ определения местонахождения
хакера. На сегодняшний день вычисление телефонного номера
стало доступным практически для всех. Недавно было обнаружено,
что если набрать 33 на некоторых телефонах, то на аппарате высветится
номер последнего звонка.
И мы уверены, что полиция будет пользоваться именно такими телефонами
для вывода вас на чистую воду. Но все это, в основном, касается
радиотелефонов, а не обыкновенных городских линий. Радиотелефонная
связь всегда была известна своей надежностью, но, конечно же,
не сейчас... Потому что такая телефонная станция - одно из самых лучших
мест для занятий хакингом. Но заклинаем вас, не предпринимайте
ничего подобного в своем собственном доме! Самое подходящее время
для хакинга - ночь, когда дежурный оператор спецслужб наверняка
спит.
Глава 5.
Считывани FI
Это один из новейших способов вычисления хакеров, и мы абсолютно
уверены в том, что уж его-то вам бояться не стоит. Для выполнения
он слишком сложен и к тому же не всегда срабатывает. Особенно если
вы находитесь в окружении телевизоров и компьютерных мониторов.
Считывание RFI осуществляется с помощью устройства, которое ловит
Хакинг 41
слабые радиочастоты вашего монитора и переводит их в видеосигналы.
И если это срабатывает, то оператор видит на своем компьютере изображение
с вашего монитора. Все это, конечно, впечатляет, но сначала пусть
оператор поймает ваш сигнал!
Глава 6.
ESS
Ко всем нашим радостям прибавляется еще одна - Electronic
Standardized Switching (или ESS), с чудесами которого мы все хорошо
знакомы. Вы помните резкое повышение цен около года назад? «В строй
введена новая компьютеризированная система, которая разгрузит вашу
телефонную линию». Вранье! Единственная цель этой системы - ловить
хакеров. Это единственное, для чего она предназначена, и надо сказать,
что делает это она очень и очень неплохо. С ее помощью телефонная
компания может вычислить любой номер за 55 секунд. В системе регистрируются
записи всех звонков, в том числе и местных! И даже если телефонный
аппарат неисправен, то ваша попытка с него куда-то позвонить
станет тут же известна полиции. Но не падайте духом! ESS еще не
конец света. Что бы там ни изобрели на нашу голову, мы как занимались
хакингом, так и будем. И, возможно, взломать ESS будет так же просто,
как и старую телефонную систему.
Прекрасно! Вводный курс закончен!
42 Руководство для начинающих
Руководство
для начинающих
Глава 1.
Опасно!
После рассмотрения довольно большого массива информации
привлекает внимание тот факт, что никогда не существовало хорошего
пособия, написанного для абсолютных новичков.
К сожалению, быть хакером стало гораздо опаснее, чем в начале
восьмидесятых: как мы уже говорили выше, телефонные полицейские
имеют большее количество ресурсов, большее понимание и больший интеллект,
чем они показали в прошлом. Становится все более трудно остаться
в живых как хакер достаточно долго, чтобы стать квалифицированным
в этом искусстве.
Данная книга предназначена в помощь тем, кто только начинает
становиться на эту стезю.
Глава 2.
Этика
Пока существует компьютер, существуют хакеры. В 50-х годах
в массачусетском институте технологии (MIT) студенты посвятили много
времени и энергии изобретению компьютеров. Правила и закон игнорировались.
Так же, как их привели в восторг итоги исследований, так
наши исследования приводят в восторг нас. Торжество хакера - не в нарушении
закона, а в волнующем процессе исследования и накопления
знаний. Хотим дать несколько рекомендаций, которых следует придерживаться
для того, чтобы не только не попасть в неприятное положение,
но и чтобы не повредить те компьютеры, которые станут объектом вашего
профессионального внимания.
• Не вредить преднамеренно ни одной системе.
Руководство для начинающих 43
• Не изменять никаких системных файлов, кроме
необходимых вам для дальнейшего доступа (троянские
кони, изменения в старых логах и т.п.)
• Не оставлять никаких настоящих данных в системах,
взломанных вами (перед использованием нового
программного продукта по взлому необходимо проверить,
не оставляет ли он ваш ID там, где вы побывали)
• Не оставлять ваш реальный номер телефона никому, кого
вы не знаете.
• Не трогать правительственные компьютеры.
• Наконец, вы должны фактически понять, что вы можете
прочесть все пособия в мире и прослыть знатоком, но пока
вы не начнете реально работать, все ваши знания равны
нулю.
Одно из самых безопасных мест для начала хакерской карьеры -
компьютерная система института. Университетские компьютеры имеют
слабую защиту и часто используются хакерами: поскольку каждый компьютер
используется множеством людей, маловероятно, чтобы вас реально
вычислили среди юзеров, если вы были обнаружены.
Глава 3.
Теленет
Лучшее место для тренировок начинающего хакера - одна из
больших сетей типа Telenet. Почему? Во-первых, на сетях имеется огромное
разнообразие компьютеров, есть из чего выбирать. Во-вторых,
сети довольно хорошо продокументированы. Проще найти кого-то, кто
может помочь вам с проблемой Telenet, чем искать помощи относительно
вашего местного компьютера колледжа или средней школы. Третье,
сети более безопасны. Из-за огромного числа запросов, которые проходят
каждый день по большим сетям, фактически тяжело отследить, откуда
и какой запрос сделан. Также очень просто маскировать ваше проникновение,
используя сеть, которая делает ваше хобби намного более
безопасным.
Telenet имеет большее количество компьютеров, соединенных
в сеть, чем любая другая система в мире, от Telenet вы можете иметь доступ
к Tymnet, ItaPAC, Janet, DATAPAC, SBDN, PandaNet, THENET
и целому набору других сетей.
44 Руководство для начинающих
Первый шаг, который вы должны сделать, - идентифицировать
ваш местный порт дозвона. Сначала вы получите подсказку, говорящую:
ТЕРМИНАЛ=
Это - ваш type терминала. Если вы имеете vt100 эмуляцию, напечатайте
это в ответ на запрос. Или нажмите возврат, и она станет стандартной
установкой для режима терминала ввода-вывода.
Теперь вы получите подсказку в виде значка @. В ответ напечатайте:
@с mail <сr>
и затем будет запрос об имени пользователя. Введите «phones» для
имени пользователя. Когда система запросит пароль, введите снова
«phones». Начиная с этого момента, это - управляемое меню. Используйте
его, чтобы определить ваш общий dialup. Когда вы вызываете ваш
local dialup, вы еще раз пройдете запрос
ТЕРМИНАЛ=
и еще раз вы будете представлены перед @. Эта подсказка сообщает,
что вы соединены с Telenet PAD. PAD обозначает или Ассемблер/дизассемблер
пакета (если вы говорите с инженером), или Public Access
Device (если вы говорите с представителями маркетинга Теленета). Первое
описание более правильно.
Telenet работает, собирая данные, которые вы вводите на PAD,
с которым вы соединены, связывая информацию в куски по 128 байтов
(обычно, но цифра может быть изменена) и затем передавая их на скорости
в пределах от 9600 до 19 200 бода на другой PAD, который получает
данные и передает их компьютеру или системе, с которой имеется соединение.
Изначально PAD позволяет соединить два компьютера, которые
имеют различные скорости или протоколы связи, на длинном расстоянии.
Иногда можно заметить запаздывание в отдаленном ответе машин.
Это называется Задержкой PAD и предназначено для ожидания, пока вы
пошлете данные через несколько различных линков.
Что вы делаете с этим PAD? Вы используете его, чтобы соединиться
с отдаленными компьютерными системами, печатая «С» для соединения
и затем Сетевой Адрес Пользователя (NUA) системы, к которой вы
хотите идти.
Если нет возможности соединения, вы получите сообщение типа
refused collect connections
в сопровождении кодов ошибки, идущих справа, и система вернет
вас в @ prompt.
Руководство для начинающих 45
Имеются два пути, чтобы двигаться в обход сообщения - Refused
Collect. Первый - использование сетевого ID пользователя (NUI).
NUI - это имя пользователя/pw комбинация, которая действует подобно
кредиту по открытому счету на Telenet.
Второй способ соединения состоит в том, чтобы использовать
частный PAD или через что-нибудь подобное Netlink от Главного компьютера.
Префикс в Telenet NUA часто (но не всегда) относится к телефонному
коду города, где находится компьютер (то есть 713 ххх обозначало
бы компьютер в Хьюстоне, Штат Техас.) Если имеется
специфическая область, интересующая вас, скажем, Нью-Йорк (код
914), вы можете набрать:
@>С 914 001 <cr>
Если соединение прошло, вы получите сообщение об этом и перейдете
к 914 002. Делайте это, пока не найдете каких-либо интересных
систем для занятия ими.
Не все системы находятся на простом ххх ууу адресе. Некоторые
составлены из четырех или пяти цифр (914 2354), а некоторые имеют десятичные
или числовые расширения (422 121А = 422 121.01). Вы можете
заниматься ими, но вы никогда не знаете, что вы можете найти.
Полное сканирование префикса займет десять миллионов вариантов.
Например, если нужно просмотреть 512 полностью, то необходимо
начать с 512 00000.00 и пройти до 512 00000.99, а затем увеличить адрес
на 1 и пройти от 512 00001.00 до 512 00001.99. Бесконечное
сканирование!
Имеется множество компьютеров для просмотра с тремя номерами,
так что не стоит заниматься безумством с большими расширениями.
Иногда при попытке соединения будет проходить одна или две
минуты ожидания. В этом случае вы можете прервать связь посредством
жесткого разрыва, затем, после того как вновь система выдаст
@ prompt
наберите «D»для отсоединения.
Outdials
Кроме компьютеров, NUA может подключить вас к некоторым
другим вещам.
Одна из наиболее полезных - outdial. Outdial - это не более чем
модем, которым можно заняться по telenet - подобно концепции преследования
PC, за исключением того, что тут не используются пароли.
46 Руководство для начинающих
После соединения вы получите сообщение, подобное
Hayes 1200 бода outdial, Detroit, MI
или
VEN-TEL 212 Modem
или, возможно
Session 1234 established on Modem 5588
Лучший способ выяснить команды состоит в том, чтобы напечатать
«H» или «Help» - это даст вам всю информацию, которая необходима.
Подсказка по безопасности здесь - когда вы будете взламывать
какую-либо систему через телефонный дозвон, всегда используйте outdial
или diverter, особенно если это местный номер телефона. Многие люди
занимаются хакингом на местных компьютерах.
Другая хорошая уловка, которую вы можете применить с outdial,
- использование повторного набора или функций макрокоманды,
которую многие из них имеют. Первая вещь, которую надо сделать после
соединения, - вызвать «Повторный набор последнего номера» (Redial
last number). Это будет номер того человека, который использовал канал
до вас. Запишите его, поскольку никто не вызвал бы номер без наличия
компьютера на нем. Это - хороший способ найти новые системы для ха-
кинга. Для VENTEL-модема наберите «D», и вам будет показано пять
номеров, сохраненных как макрокоманды в памяти модема.
И наконец, вы можете соединяться с тем, что называется «X. 25
Communication PAD», получив несколько больше материала, сопровождаемого
подсказкой @. Это PAD, точно такой же, как тот, с которым работаете
вы, за исключением того, что все предпринятые подключения
объявляются PAD, позволяя вам соединиться с теми узлами, которые ранее
отказались от подключения.
Когда пакет передан от PAD к PAD, он содержит заголовок, в котором
размещена информация о вашем местоположении. Например,
когда вы вначале соединяетесь с Telenet, вам может быть сообщено
212 44А Connected
если вы звоните с кода города 212. Это означает, что вы вызывали
номер 44А PAD в 212 области. 21244А будет проставлено на заголовке
всех отправляемых пакетов.
Как только вы соединяетесь с частным PAD, все пакеты, выходящие
от вас будут иметь этот адрес на них, но не ваш. Это может быть достаточным
буфером между вами.
Руководство для начинающих 47
Глава 4.
Идентификация операционных систем
Не имеет значения, как вы нашли компьютер, это могло произойти
через сеть или могло быть обнаружено при помощи сканирования телефонного
префикса вашей университетской сети. Важно, что вы уже
имеете подсказку, и вы задаете себе вопрос: какого черта это значит?
Мы не собираемся объяснять вам, что можно сделать, как только
вы окажетесь внутри какой-либо операционной системы. Мы расскажем,
как идентифицировать и распознать некоторые операционные системы
и как приблизиться к хакингу в них, как иметь дело кое с чем, чего
вы никогда не видели прежде.
VMS
VAX-компьютер создан Digital Equipment Corporation (DEC) и выполняет
VMS (Виртуальная система памяти) операционную систему.
VMS определяется по подсказке:
USENAME
Она не будет сообщать вам, если вы ввели неправильное имя
пользователя, и отсоединит вас после трех неудачных попыток входа в
систему. Также она следит за всеми неудачными попытками входа в систему
и сообщает владельцу учетную запись при его следующем выходе
в сеть.
Это - одна из наиболее безопасных операционных систем, что касаемо
защиты от внешнего проникновения, но и здесь имеется много
уловок для обхода защиты. VAX также имеет лучший набор справочных
файлов в мире. Только наберите «HELP» и читайте.
DEC-10
DEC-10 - более ранние модели оборудования компьютера DEC,
запускающие TOPS-10 операционную систему. Эти машины могут быть
опознаны по подсказке «.».
Серия DEC-10/20 весьма дружественна к хакерам, позволяя ввести
несколько важных команд без какой-либо регистрации в системе. Отчетность
находится в формате [ххх, ууу], где ххх и ууу - целые числа. Вы
можете получить листинг отчетности и имен процесса каждого на системе
перед регистрацией при помощи команды .systat (для системного состояния).
48 Руководство для начинающих
ЕСЛИ учетная запись читается как [234,1001] BOB JONES, то можно
попробовать набрать ВОВ или JONES или эти два слова вместе для
пароля на этой учетной записи. Чтобы войти, вы печатаете:
.loginxxx, yyy
и затем, после запроса, набираете пароль.
Система позволит вам неограниченные попытки проникновения
и не сохраняет отчеты неудачных попыток входа в систему. Также она сообщит
вам, если UIC, который вы пробуете (UIC = Код Идентификации
Пользователя) плох.
UNIX
Имеется множество различных машин, на которых установлен
UNIX.
В то время как некоторые могли бы доказывать, что это не лучшая
операционная система в мире, она наиболее широко используема. Система
UNIX будет обычно выдавать подсказку наподобие
login:
в строчных буквах. UNIX также даст вам неограниченные попытки
при регистрации (в большинстве случаев), и не имеется обычно никакого
журнала, сохраняющего неудачные попытки.
Prime
Компьютеры фирмы Prime, как правило, используют операционную
систему Primos. Ее очень просто определить по надписи
Primecon 18.23.05
или чего-то подобного, в зависимости от версии операционной
системы. Обычно не будет предлагаться никакой подсказки. Там, где появилась
эта надпись, наберите
login <username>
Если это версии до 18.00.00 Primos, вы можете нажимать связку ^С
для пароля. К сожалению, большинство людей использует версии 19 +.
Primos также располагает хорошим набором справочных файлов. Одна
из наиболее полезных особенностей Prime на Telenet - устройство по
имени NETLINK. Как только вы - внутри, напечатайте «NETLINK», и
следуйте указаниям справки. Это позволит вам соединяться с NUA'МИ во
всем мире, используя команду «nc».
Например, чтобы соединиться с NUA 026245890040004, вы должны
набрать
Руководство для начинающих 49
@nc:26245890040004
в подсказке netlink.
НР-хООО
Эта система сделана Hewlett-Packard. Их характерная подсказка
«:». HEWLETT-PACKARD имеет одну из более сложных последовательностей
входа в систему извне - вы набираете:
HELLO SESSION NAME, USERNAME, ACC0UNTNAME, GROUP
К счастью, некоторые из этих полей могут быть оставлены пустыми
во многих случаях. Так как любые или все эти поля могут быть запа-
ролированы, это - не самая простая система для проникновения, если
бы не факт, что имеется обычно некоторая отчетность вокруг без паролей.
Вообще, если значения по умолчанию не работают, вы будете должны
применить грубую силу, используя обычный список пользователей.
НР-хООО выполняет МРЕ операционную систему, подсказка для нее будет
«:», точно так же, как подсказка входа в систему.
IRIS
IRIS создан для Interactive Real Time Information System (интерактивная
информационная система в режиме реального времени). Первоначально
она выполнялась на PDP-1 l'S, но теперь выполняется на мно-
гих других мини-ЭВМ. Вы можете определить АЙРИС по заголовку
Welcome to «IRIS» R9.1.4 Timesharing
и подсказке
ACCOUNT ID?
Iris позволяет неограниченные попытки при хакинге и не сохраняет
никаких журналов неудачных попыток.
VM/CMS
VM/CMS - операционная система, выполняемая в IBM (International
Business Machines). Когда вы соединяетесь с одной из них, вы получите
сообщение, наподобие
VM/370 ONLINE
затем подсказку «.», точно так же как в Tops-10. Чтобы войти, наберите:
LOGON <username>.
50 Руководство для начинающих
NOS
NOS созданы для Networking operation system и выполняются на
компьютере Cyber, созданном Control Data Corporation. NOS идентифицируют
себя с готовностью, с заголовком
WELCOME TO THE NOS SOFTWARE SYSTEM. COPYRIGHT CONTROL DATA
1978,1987
Первая подсказка, которую вы получите, будет
FAMILY:
В ответ нужно только нажать return. Тогда вы получите подсказку
user name:
Имена пользователя - типичные 7 символов буквенно-цифрового
характера. Отчетность Оператора начинается с цифры, типа 7ЕТР-
DOC.
Decserver
Это не совсем компьютерная система, это, скорей, сетевой сервер,
который имеет много различных машин, доступных с его помощью..
Decserver может сказать:
Enter Username>
после первого соединения. Это - только идентификатор. Напечатайте
«с», поскольку это - наименее заметная вещь для ввода. Тогда вы
можете получить подсказку
Local>
Наберите здесь
с <systemname>
чтобы соединиться с системой. Для получения списка системных
имен напечатайте
sh servises
или
sh nodes
Если у вас есть какие-то проблемы, встроенная подсказка доступна
по команде «help». Ищите услуги по имени «modem», или «dial», или
что-то подобное, они часто могут быть полезны!
GS/1
GS/1 - другой тип сетевого сервера. В отличие от Decserver, вы не
можете предсказать то, какую подсказку GS/1 шлюз собирается дать вам.
Стандартная подсказка:
Руководство для начинающих 51
GS/1 >
но это предназначено для системных администраторов. Чтобы тестировать
GS/1, набирайте:
Если появится большой список значений по умолчанию (скорость
терминала, подсказка, четность, и т.д.), можно смело сказать, что вы
находитесь на GS/1. Вы соединяетесь тем же самым способом, как
и с Decserver, печатая:
С < systemname >
Чтобы выяснять, что системы являются доступными, наберите:
sh n
или
sh С
Все вышеупомянутое - это главные типы систем, используемых
сегодня. Имеются сотни вариантов этих систем, но написанного здесь
должно быть достаточно, чтобы дать вам возможность начать.

0

17

Глава 5.
Список программ для начинающего
хакера
Ниже приведен список программ для начинающего хакера. Сна-
чала инструменты: маленький список программ, которые достойны находиться
в арсенале любого хакера. Эти программы не сделают из вас хакера
и использование их не обязательно для того, чтобы стать им. Эти
инструменты (программы) могут помочь вам узнать много полезного
и необходимого.
ToneLoc v1.10
Эта программа является сканером. Задача этой программы - про-
сканировать местную телефонную линию на наличие модема на другом
конце. Если присутствует модем на другом конце линии, значит, возможна
связь с удаленным компьютером, не так ли?
Cracker Jack v1.4
Крекер паролей. Эта программа работает под ДОС, и задача ее со¬
стоит в нахождении и взломе пароля под Юникс.
52 Руководство для начинающих
Hacker's Utility V1.02
Эта программа включает в себя множество полезных утилит. В нее
входит:
• крекер паролей
• генератор паролей
• port scanner
• finger lookup
• file extractor и многое другое!
CyberKit v. 2.4
В этой программе есть:






Trace Route
WhoIs
Finger
Name Server Look Up
Time Synchronizer
Quote of the Day и многое другое.
PGP Freeware v5.0
Эта программа предназначена для шифрования информации. Ты
любишь секретность? Да? Значит, эта программа для тебя! Изучи эту
программу, используй ее. Зашифруй свою почту, зашифруй свои файлы,
зашифруй себя!
7th Sphere PortScan v1.1
Полезный и очень быстрый сканер портов от 7th Sphere. Очень
прост в установке и в работе.
А теперь два главных правила :
1. Чтобы стать хакером, понадобится много времени. И все это
время вы должны полностью использовать. Чтобы научиться чему-нибудь,
есть один только путь - вы должны читать, читать и еще раз читать.
Со временем у вас будут появляться все новые и новые вопросы, которые
вы сможете задать тому, кто знает на них ответ. Посещайте крэкерские
и хакерские форумы!
2. Изучайте программирование, язык скриптов, а предпочтитель-
ней языки под Юникс (C++, Perl, JavaScript и другие). Также следует
Руководство для начинающих 53
изучать ОС Unix, протоколы TCP/IP . Имея знания в этих областях, вы
сможете...
Глава 6 (вместо примера).
Как ломалась сеть РОСНЕТ
Несколько основных положений
1. Для начала вы должны осознать, что ничего серьезного лучше
не хакать (либо делать это очень осторожно), так как вас могут очень
быстро найти. Дело в том, что у Администратора системы высвечивается
куча всякой информации. С помощью этой информации он легко определяет
город, из которого вы вошли в Роснет, а также номер узла и номер
канала, по которому вы вошли; также возможно определить и промежуточную
сеть, из которой вы вышли в Роснет. А зная город, не составит
большого труда найти и абонента, который в этот промежуток времени
висел на номере входа в Роснет. Можно, конечно, войти сначала в одну
сеть, из нее в другую, потом в третью и т.д., а потом в Роснет, это, бесспорно,
замедлит поиск, но не исключит его.
2. Заниматься своим «темным» делом вы должны с 20:00 (не ранее!)
до 00:00 часов местного времени. Так как в это время админы уже не
работают, а следовательно, не следят за системой. Внимание! Иногда,
очень редко, админы работают круглосуточно. А выйти до 00:00 нужно
потому, что Ремарт регистрирует дату последней связи, а в 00:00 вся информация
обнуляется. Обнулить информацию можно и другим способом
- повесив Ремарт. Также следует помнить, что во многих системах
производится закрытие хоста на ночь (обычно это период 00:00-03:00).
Никогда не пытайтесь что-нибудь сломать днем или утром, все ваши попытки
будут пресечены, а если админ сильно рассердится, то и демо-вход
закроет.
3. Перед тем, как что-нибудь хакать, войдите на хост под гостевым
паролем (если такой имеется) и сразу же введите «/и», чтобы убедиться,
что в данный момент в системе нет админа или лиц, к нему приближенных.
Как только убедились, что админа нет, вводите «/r», чтобы посмотреть,
насколько давно админ был в системе. Если все ОК - приступайте...
4. Если вы зашли в систему, сразу попытайтесь залезть в директо- ..
рию администратора системы
GO ADMINi
54 Руководство для начинающих
редко, но иногда получается, если спросят пароль - попытайтесь
подобрать (хотя админы любят абсолютно «левые» крутые пароли). В директории
админа есть куча файлов с наиполезнейшей информацией.
5. Пробравшись под взломанным логином в меню регистрации,
ни в коем случае не меняйте пароль абонента и не переводите его деньги
на другой счет. Админ это обязательно заметит и примет меры.
6. После того, как вы лазили под чьим-то логином, обязательно
перезайдите под гостевым входом n'ное количество (везде по-разному)
раз. Этим вы забьете информацию о входивших пользователях - «/г» будет
показывать, что последние десять раз в систему входил «гость».
7. Если вы делали что-то, что другим знать не обязательно, обязательно
повводите какой-нибудь макрос (примерно тридцать раз). Этим
вы исключите просмотр выполнявшихся вами команд по «/е ?».
Как найти выход в РОСНЕТ
Номер телефона Роснета вы можете узнать очень просто - из списка
телефонов Роснета по СНГ. Но возможно, что указанные номера уже
не являются выходом в Роснет, так как их могли по какой-нибудь причине
сменить. В этом случае вы можете заняться сканингом. То есть взять
скрипт или соответствующую программу и перебрать номера в городе на
предмет коннекта.
Определение системы и обнаружение
гостевого входа
Для большинства хаков вам нужно иметь хотя бы минимальный
доступ на хосте. Поэтому мы решили начать именно с этого. Итак, допустим,
у вас есть горка адресов разных хостов, что же делать дальше?
Нужно проверить работоспособность этих адресов, выяснить, какая система
там установлена, уровень его защищенности и имеет ли этот хост
гостевой вход.
Итак, допустим, вы зашли на какой-нибудь приглянувшийся вам
хост.
Первым делом нужно попробовать определить систему, которая
там установлена. С ходу систему можно определить, конечно же, по приглашению.
Дальше идет несколько приглашений, свойственных той или иной
системе.
Руководство для начинающих 55
Ремарт
Display ANSI graphics ([Y]/N)? >
[...Какой-нибудь текст (его может и не быть)...]
UserlD :
Password:
Дионис
ENTER YOUR NAME = >
PASSWORD = >
LANGUAGE = >
REX400
Logical Channel: 0
REX400 v4.54.02, Copyright (C) 1992-1996, Club400 Ltd.
<« WELCOME TO REX400 ADMD=REX400 PRMD=RTS >»
M) Mail H) Help
G) Gateway Q) Quit
Hulti Host>
CISCO-Маршрутизатор
User Access Verification
Password:
Если вы обнаружили Ремарт, начинайте проверять хост на наличие
гостевого входа, попробуйте следующие комбинации:
(UserlD/Password):
Demo/Demo Test/Test Guest/Guest Gast/Gast Gost/Gost User/User
Demo/Guest Test/Guest Guest/Test Gast/Demo Gost/Demo User/Demo
Demo/Test Test/Demo Guest/Demo Gast/Guest Gost/Guest User/Guest
Demo/Gast Test/Gast Guest/Gast Gast/Test Gost/Test User/Test
Demo/Gost Test/Gost Guest/Gost Gast/Gost Gost/Gast User/Gast
Demo/User Test/User Guest/User Gast/User Gost/User User/Gost
Demo/New Test/New Guest/New Gast/New Gost/New User/New
Demo/Temp Test/Temp Guest/Temp Gast/Temp Gost/Temp User/Temp
New/New Temp/Temp
New/Demo Temp/Demo
New/Guest Temp/Guest
New/Test Temp/Test
New/Gast Temp/Gast
New/Gost Temp/Gost
New/Temp Temp/New
New/User Temp/User
Перепробуйте также все приведенные комбинации, добавляя
цифры, например:
56 Руководство для начинающих
Demo1/Demo1
и т.д., потом попробуйте просто вышепреведенные логины без паролей.
Для ускорения этого процесса используйте скрипт. В среднем за
ночь один хост (при помощи скрипта) вы «проштудируете».
Если гостевого входа нет
Если демо-входа не обнаружено, попробуйте следующее:
UUCP/UUCP
этот пароль стоит в Ремарте по умолчанию, и часто админы забывают
его сменить.
UUCP/PCUU
Возможно, пароль будет такой.
UUCP/UUAOMIN
А может быть, и такой.
В общем, пофантазируйте, может быть, что-нибудь и п о л у ч и т с я .
Если это не помогло, пробуйте следующие:
Alex/Alex Luda/Luda Boris/Boris
Ludmila/Ludmila Yura/Yura Dasha/Dasha
Alexey/Alexey Olga/Olga Boria/Boria
Alexandr/Alexandr Egor/Egor Katia/Katia
Alexander/Alexander Igor/Igor Anna/Anna
Dima/Dima Vladimir/Vladimir John/John
Dmitry/Dmitry Vova/Vova Nik/Nik
Dmitriy/Dmitriy Vladymir/Vladymir Kolia/Kolia Diman/Diman
Dimon/Dimon Toma/Toma Eugene/Eugene Vlad/Vlad Sergey/Sergey
Elena/Elena Den/Den Serg/Serg
Segre/Serge Victor/Victor Gera/Gera
Gosha/Gosha Nikolay/Nikolay Tonya/Tonya
Gesha/Gesha Denis/Denis Viktor/Viktor
Helen/Helen Sasha/Sasha Leonid/Leonid
Ira/Ira Greg/Greg Marina/Marina
Iren/Iren Misha/Misha Andre/Andre
I r i n a / I r i n a Stas/Stas Andy/Andy
Lena/Lena Gena/Gena Andrey/Andrey
Lio/Lio Yuri/Yuri Oleg/Oleg
Lion/Lion Yury/Yury K i r i l / K i r i l
Leo/Leo Yuriy/Yuriy Eugeny/Eugeny
Max/Max Anton/Anton Eugeniy/Eugeniy
Maxim/Maxim Peter/Peter Evgeniy/Evgeniy
Petr/Petr Svetlana/Svetlana Artur/Artur
Руководство А Л Я начинающих 57
Slava/Slava Ivan/Ivan Yaroslav/Yaroslav
Mih/Mih Valera/Valera Yar/Yar
Valery/Valery Valeriy/Valeriy Tomara/Tomara
и т.д.
Если ничего не получилось, то что-либо хакнуть на этом хосте вам
вряд ли удастся. Так как он довольно-таки неплохо защищен.
Как узнать ID
Если вы вошли в систему, сразу же попытайтесь узнать список
пользователей данного хоста.
Узнать список пользователей довольно легко. Зайдя в систему, по-
пробуйте попасть в меню «Регистрация». В этом меню можно ознакомиться
с полным списком абонентов данного хоста. Если через меню
вход закрыт, пробуйте так:
до reg
или
до registry
или
до onboardl
onboard - раздел регистрации.
Для того чтобы узнать имя раздела, нужно попасть в раздел MAIN
(GO MAIN или через меню системы пункт «Библиотека» и вызвать дерево
директорий TREE, либо TYPE LIB или TYPE LIBS или TYPE LIBTREE.
1 - номер меню «Список абонентов».
Совсем недавно был замечен новый глюк, в частности на 6100255
список абонентов можно узнать, просто скачав дерево директорий, там
для каждого пользователя системы создан одноименный каталог, к сожалению,
этот глюк быстро закрыли.
Если список взять не удалось, придется доставать ID другим способом.
Залезьте в библиотеку и там, исходя из того, что к каждому файлу
пишется имя абонента, закатавшего его туда, можно получить некоторое
количество ID. Теперь если есть доступ к почте, таким же образом можно
посмотреть ID авторов писем. Если этих ID вам мало, можно, орудуя
/и и /г, «выловить» еще 10-15 ID. Потом вызывайте паспорта найденых
абонентов (/а <имя_абонента>). «Сграбьте» их в файл. Теперь вы располагаете
достаточной информацией о пользователях - можно приступать
к подбору пароля.
58 Руководство для начинающих
Подбор пароля
Если вас не устраивают ваши полномочия, попробуйте подобрать
пароль у какого-нибудь другого пользователя.
Подбор бывает трех типов:
1 - Подбор паролей по словарю (словарный метод).
2 - Перебор (подбор пароля путем перебора).
3 - Интеллектуальный подбор (подбор с использованием дополнительной
информациии о пользователях.
Для первых двух способов подбора вы можете использовать
скрипт или осуществлять все действия «руками», первое, как вы понимаете,
предпочтительнее. Третий способ придется осуществлять «ручками
».
Ниже приводятся некоторые сведения, которые помогут вам при
подборе пароля:
• Большим недостатком Ремарта является то, что большие
и малые регистры не различаются.
• Логин и пароль могут совпадать.
• Пароль может быть из трех символов.
• Пароль не может превышать 8 символов.
Неограниченное количество попыток при вводе пароля.
• Несомненно, вам помогут списки пользователей хоста.
Неограниченное количество попыток при вводе пароля
Итак, чтобы на перебор паролей затрачивалось меньше времени,
то есть чтобы вам предоставлялось неограниченное количество попыток
при вводе пароля, нужно сделать следующее.
Ваш друг заходит на хост (допустим под позывом Demo и паролем
Demo). После того, как он зашел на хост под Demo/Demo, вы тоже начинаете
пытаться зайти на этот хост под тем же логином. Вам сообщают
следующее (или что-то вроде этого):
Абонент с таким позывным уже работает в системе!
Если Вы не знаете, кто бы это мог быть, и если это действительно
Ваш позывной, то срочно обратитесь к администратору системы за
разъяснениями.
Вы можете позвонить по телефону 206-85-70 или 924-74-85
Руководство для начинающих 59
И снова просят ввести ID и Password. Повторяете вышеуказанное
три раза (используете три попытки). И после этого можете пробовать любые
логины с любыми паролями бесконечное число раз!
К сожалению, как и многие другие «дыры», эту тоже кое-где прикрыли.
Так что она проявляется не везде.
Интеллектуальныйподборпароля
Итак, у вас есть несколько (или все) ID на интересующем вас хосте,
также у вас есть паспорта этих ID. Самое время приступить к интеллектуальному
подбору паролей.
Возьмем произвольного абонента:
Позывной Фамилия/Имя Отчество/
Телефон /Фирма /Город
Ukrpack Лазарев/Андрей Михайлович/
• (0482) 33-31-78/СП «ТЕЛНЕТ»/г. Одесса
Поехали:
• Ukrpack/Ukrpack
• Ukrpack/Kcaprku - наоборот
• Ukrpack/ Andrew - имя
• Ukrpack/Andy- имя
• Ukrpack/Andrey- имя
• Ukrpack/Fylhtq - имя (русскими буквами на английском
регистре) '
• Ukrpack/Kfpfhtd - фамилия (русскими буквами в
английском регистре)
• Ukrpack/Vbffqkjdbx- отчество (русскими буквами в
английском регистре)
• Ukrpack/Lam - ФИО
• Ukrpack/Aml - ИОФ
• Ukrpack/Mal - ОИФ
• Ukrpack/Lma - ФОИ
• Ukrpack/333178 - телефон
• Ukrpack/Telnet - фирма
60 Руководство АЛЯ начинающих
• Ukrpack/Ntkytn - фирма (русскими буквами в английском
регистре)
• Ukrpack/Odessa - город (кстати, именно такой пароль
и был)
• Ukrpack/Jltccf- город (русскими буквами в английском
регистре)
Так же проходимся по все остальным позывным, пять-шесть «лопухов
» - это практически гарантия.
Еще кое-что о подборе паролей
Самый лучший результат от подбора вы получите, совместив все
три способа. Сначала перебором проверяете варианты паролей от трех до
пяти (включительно) символов. Пароли более большей длины вам врят
ли удастся перебрать, так как количиство комбинаций расчитываеться
по следующей формуле:
X=S№
где X - количество комбинаций, S - число символов, используемых
для перебора, и № - число символов в пароле. Поэтому после того,
как вы перебрали все пароли в диапазоне от трех до пяти символов, вы
точно знаете, что пароль состоит из шести и более символов (в противном
случае вы его подобрали). Приступайте к подбору по паспорту абонента,
если все еще не удалось подобрать пароль, начинайте перебор по
словарю с «плохими паролями» (типа «qwerty» и «secret»), удалите из него
трех-, четырех- и пятисимвольные пароли (так как вы их уже перебрали)
и приступаете к перебору. И помните: главное - терпение.
Какузнать пароль абонента посредством «/U»
Также пароль можно можно узнать следующим способом:
• Зайдите на хост.
• Залогиньтесь под любым логином.
• Включите в своей «терминала» функцию Capture.
И вводите:



Если вам повезет, то какой-нибудь юзер-остолоп в спешке введет
вместо ID свой пароль, и он у вас благополучно зафиксируется в Сар'е.
Руководство АЛЯ начинающих 61
Лучше всего вышеуказанную операцию производить при помощи
скрипта.
Как узнать пароль абонента посредством < /Е ?»
Интересной возможностью Ремарта является команда /е ?. Эта
команда выводит список предыдущих команд. Посмотрев их, часто можно
узнать много интересного.
Кардинально новый способ взлома логина
Имеется одна интересная особенность узла РОСНЕТ: если войти
в какой-нибудь хост и наглым образом обломать связь, т.е. вырубить модем
или перегрызть провода, а потом сразу после этого позвонить на
узел, то оказывается, что ты опять в том же хосте. Вот это и является основным
ключом метода!
Самое главное - это дождаться, пока какой-нибудь несчастный
позвонит на роснетовский модем. Иногда это ожидание оказывается самым
тяжким. Если же вы все же дождались этого момента, то прежде всего
надо убедиться, что это не кто-то из друзей лезет куда-то под гостем.
Теперь необходимо позвонить в «Бюро ремонта ГТС» и попросить срочно
проверить номер N (т.е. номер РОСНЕТ'а) и тут же пытаться дозвониться
на него. На ГТС увидят, что номер N занят, и просто обломают
ему коннект в качестве профилактического действия. Если вам повезло,
то у того юзера, которого вы обломали, есть опция «Регистрация», а там
вы можете посмотреть пароль нажатием кнопки «Z» (это для Ремарт-си-
стем).
У этого метода есть один большой недостаток: все это нужно делать
в будний день, в часы работы «Бюро ремонта ГТС», т.е. днем, когда
любой нормальный хакер спит...
Как получить USRACC.DAT
Интересной особенностью Ремарта является то, что имена и пароли
юзеров хранятся в файле dat\usracc.dat в незашифрованном виде, а это
значит, что, если «уволочь» этот файл, из него можно почерпнуть множество
интересного.
Но существенной преградой является то, что обычно (если, конечно,
админы не лопухи) каталог, где хранится Ремарт, не попадает в доступные
разделы библиотеки. Чтобы его достать, необходимо иметь приоритет
не ниже 30 000 (вернее, приоритет определяется конфигурацией
данного Ремарта и может быть изменен).
Чтобы «уволочь» usracc.dat, можно использовать один из следующих
способов.

0

18

62 Руководство для начинающих
Способ 1
Если вы знаете полный путь к файлу usracc.dat, то забрать этот
файл не составит труда (местонахождения usracc.dat часто можно выудить
из файла структуры библиотеки в виде дерева).
Напишите письмо к самому себе, с атгачем в виде полного пути
к useracc.dat на хосте. При совпадении определенных событий может
прийти (должны быть заняты каналы!) не все, но загруженность должна
быть велика. Данная «фича» на 6100255 не работает.
Способ 2
Предположим, вы уже в Ремарте и у вас есть надлежащий приоритет
для создания раздела. Как это проверить? Войдите в библиотеку и
проверьте список доступных команд, введя «?;» если в конце списка будет
команда ml, вас можно поздравить. Далее действия следующие:
1. Создайте раздел, указывающий на корень диска с: и с именем,
к примеру, С:
ml /d с о Л
Параметр /d указывает на то, что должен создаваться dos-раздел.
Перейдите в раздел с командой с: и получите
С:\>
Затем командами cd и dir тщательно исследуйте подопытный раздел
на предмет наличия там программных файлов Ремарта (они обычно
размещаются в каталоге \remart или \remart.40, но могут быть и варианты).
Если РЕМАРТ не удалось найти в данном разделе, грохните его
(раздел) командой
П с
создайте новый раздел, указывающий на корень d:, и проделайте
вышеописанную операцию с ним. Так продолжайте до умопомрачения
или пока вас не выгонит админ.
Дальше диска i: продолжать бессмысленно, поскольку РЕМАРТ
в начальной своей конфигурации позволяет загружать файлы только
с дисков с, d, e, f, g, h, i, но можно и попробовать...
2. Если вы нашли каталог Ремарта, полюбуйтесь на файл usracc.dat
в надкаталоге dat. He пытайтесь загружать его немедленно или смотреть
по type - в лучшем случае система выдаст что-то вроде «Файл занят другим
пользователем», а в худшем - зависнет, и все ваши безобразия будут
видны как на ладони.
Руководство для начинающих 63
3. Загрузите из главной директории Ремарта файл remart.bat
и тщательно изучите его. Обратите внимание на ту часть, которая содержит
информацию о «ночной перегенерации». Желательно скинуть и те
файлы, которые пакетник грузит.
Просмотрите его на предмет команд типа pause и других - необходимо,
чтобы Ремарт нормально перезагрузился, иначе, встретив команду
типа pause, он будет ждать напряга клавиши на главной консоли,
а вы останетесь ни с чем.
Обычно remart.bat в процессе ночной чистки вызывает cleanup.bat,
в котором содержатся команды вызова внешних модулей. В инсталляционном
виде remart.bat вызывает чистку и перезапускается. Вот cleanup.bat
нам-то и нужен!
Не пытайтесь исправлять remart.bat - DOS в таком случае выдает
ругательство batch file missing, и главная консоль зависает.
4. Просмотрите cleanup.bat командой
type cleanup.bat
и запомните его содержимое. Теперь сделайте
del cleanup.bat
если у вас на это есть соответствующие права - и заново его наберите
type cleanup.bat
Наберите строки, которые ранее там были; в конец (или начало)
этого файла вставьте строку вида:
сору C:\REMART.40\DAT\USRACC.DAT С:\
Вместо remart.40 вставьте имя соответствующей директории, подправьте
имена дисков, чтобы можно было найти файл и чтобы его копию
можно было впоследствии слить.
5. Теперь самое время перезапустить РЕМАРТ. Узнайте, кто работает
в системе, и если это левые юзера, ненавязчиво отключите их. Лучше
всего это сделать командой hangup, поскольку если юзер видит у себя
«ноу карриер», он списывает это на недостатки нашей с вами связи, а если
РЕМАРТ ему выдаст что-то типа «Сейчас будет вежливый останов системы
», он может призадуматься.
После того, как в системе не останется юзеров (делать это надо
быстро), запустите перегенерацию командой cleanup из функций администратора
и закончите свой сеанс.
64 Руководство для начинающих
6. РЕМАРТ выйдет, пакетник remart.bat запустит соответствующие
проги, cleanup.bat (если вы ничего не перепутали) и запустит опять
Ремарт.
Ну, а вы в то время должны терпеливо звонить и ждать. Желательно
войти в систему первым (на всякий случай).
7. Теперь очень просто. Оттуда, куда вы указали копирование
usracc.dat, даунлоадните его, удалите командой del (не со своего винта!..)
и бегите опять в каталог Ремарта. Там восстановите cleanup.bat.
8. Напоследок грохните созданный вами раздел командой
rl имя_раздела
9. Можно грохнуть и аудит-файл...
Получение полномочий администратора
Чтобы получить права администратора, имеется очень старый
и древний способ.
Договариваетесь со своим другом о том, что в одну и ту же секунду
(!) вместе лезете на один и тот же хост. И оба вводите admin/admin, одному
из вас система скажет, что пароль неверный, другой зайдет в систему
под adminoM. Главное все это делать одновременно.
Как повесить хост РЕМАРТА
Повесить хост можно одним из следующих способов:
Способ 1
Зайдите на какой-нибудь хост. На вопрос системы: «Display ANSI
Graphics ([Y]/N)? >», введите «@». На некоторых хостах сразу же вешается.
На некоторых появляется две строки:
Login:
Password:
Теперь резко начинайте вводить всякую лабуду, не забывая жать
Enter. Через некоторое время (10-20 сек.) хост повиснет.
Надо заметить, что на многих хостах этот метод не проходит, ввиду
самодеятельности админа. То есть обычно для устранения этой «дыры
» символ «@» заменяют каким-нибудь другим. Также нужно помнить,
что хост будет висеть недолго (5-6 мин.).
Способ 2
Зайдите на какой-нибудь хост. Зарегистрируйтесь под любым существующим
логином. Введите «/е» (Редактор команд) и начинайте вво-
Руководством начинающих 65
дить лабуду, в данном способе Enter жать не надо! Вскоре после заполнения
строки курсор сам перейдет на следующую, повторите это три раза
(заполните три строки). После заполнения третьей строки хост повиснет.
Для использования этого приема нужна тренировка, так что не огорчайтесь,
если сначала у вас не будет ничего получаться. Самый лучший вариант
- это поставить у себя Ремарт и потренироваться.
Способ 3
Зайдите на какой-нибудь хост. Зарегистрируйтесь под логином,
имеющим доступ к меню регистрации. Зайдите в меню регистрации
и введите левую команду (например, dir). Ремарт виснет.
Способ 4
Зайдите на какой-нибудь хост. Залогиньтесь под любым существующим
логином. Позовите какого-нибудь абонента на чат: «/с <имя абонента^
и быстро «бегите» - «GO EMAIL». Если на вас попадут в момент
перехода, то хост повиснет.
Способ очень «дубовый», поэтому требует тренировки скриптом.
Способ 5
Зайдите на какой-нибудь хост. Залогиньтесь под любым существующим
логином. Зайдите в меню функций администратора системы (если
оно, конечно, доступно), и введите команду «SYSINFO». Данный
способ отрабатывает редко, но бывает, как правило если РЕМАРТ не
грузится из голого ДОС, а поверх чего-нибудь типа менеджера памяти
или любого более-менее глючного резидента.
Способ 6
Для осуществления этой подвиски нужно два человека, предположим,
это demo 1 и demo2.
demol:
/р demo2
demo2:
go lib
demol:
go lib
Система виснет.
3-2588
66 Руководство АЛЯ начинающих
Еще несколько «хитростей» в РЕМАРТЕ
Как нетратить деньги
Если у вас есть логин и вы не хотите тратить с его счета деньги,
сделайте следующее: перезаходите командой
/off г
до тех пор, пока вам не вылезет надпись:
Вы работаете по спецтарифу...
Неизвестно, как на других хостах, но на 6100255 работает.
Как выкинуть всех из чата
Когда в чате полно народа, не отпуская, долбите Enter или какой-
нибудь макрос, весь народ (включая и вас, тут важен расчет и качество
связи) вылетит с хоста.
Как в демо-режиме пользоваться в чате командами «/р», «/и» и т.д.
Чтобы реализовать вышеуказанную «фичу», нужно зайти в чат не
через меню, а командой «go chattop», потом позвать кого-нибудь на чат
(«С») и сразу же ввести «/и 1».
Неограниченное время в демо-режиме
Если вы нажимаете ф» и видите, что время вашей работы подходит
к концу, быстро введите «/и 1», пересидите критический момент, и у
вас в запасе еще столько же времени. Также говорят, что можно сидеть
больше отведенного времени, если вы ввели «/с», а потом «F+++» - народ
говорит, что это работает.
НеАОкументированныекоманАыРЕМАРТА
Найдены недокументированные команды РЕМАРТА:
1. В меню PROTECT (аналогично вызову модуля почтового администратора)
- если у станицы почтового администратора приоритет выше,
чем ваш, то эта информация бесполезна - так как РЕМАРТ все равно
не пустит вас туда.
2. То ли разработчики РЕМАРТа забыли, то ли специально оставили
недокументированную команду SQRT (подозрение на извращенное
и сокращенное «Security»), работает она только в библиотеке, уже
когда вы зашли в раздел, и набирается через Alt+251 («v»), не иначе.
Команда доступна даже Demo - но что она делает, остается пока загадкой.
По команде «? v» РЕМАРТ выдает, что: «Команда SQRT зарезервирована
» (Вся проблема в том, что сложно найти дебагер, который бы
дебажил Eclipse protection mode - это защищенный режим 80286 процес-
Руководство для начинающих 67
сора). Разработчики РЕМАРТА отлаживают и дебажат его совсем
по-другому - в файле remstart.com видно, что они запускают файл REMARTL.
EXE который, естественно, не входит в стандартную поставку
РЕМАРТА.
Контактные телефоны РОСНЕТ
Архангельск: (8182)
43-36-71
43-31-21
47-37-00
49-31-21
47-36-23
Северодвинск: (81842)
4-36-80
Барнаул: (3852)
26-16-71
22-54-41
24-33-01
23-67-40
24-29-74
Бийск: (38542)
4-87-40
4-36-54
4-87-41
Горноалтайск: (38541)
31-205
43-411
Рубцовск: (38557)
2-42-73
2-35-23
2-32-06
68 Руководство для начинающих
Славгород: (38568)
2-10-99
Павловск: (38511)
2-02-16
2-20-06
2-00-17
Белгород: (07222)
70-232
Благовещенск: (4162)
44-22-56
44-22-10
44-88-70
44-22-38
44-22-47
Брянск: (08322)
69-106
69-107
Владивосток: (4232)
26-12-10
22-42-43
Находка: (42366)
4-43-13
4-72-06
Уссурийск: (42341)
2-06-01
2-57-51
Владикавказ: (86722)
49-075 69-601
Руководство для начинающих 69
Волгоград: (8442)
32-77-90
32-54-94
36-14-40
36-43-54
36-42-31
Волжск: (84459)
7-50-77
3-75-34
Воронеж: (0732)
56-19-46
55-54-67
56-19-47
56-04-35
56-19-48
56-19-49
Россошь: (07396)
28-486
Екатеринбург: (3432)
44-98-81
.51-10-87
49-57-75
51-22-93
44-98-89
Новоуральск: (34370)
4-46-07
4-31-04
4-46-08
4-46-09
70 Руководство для начинающих
Ижевск: (3412)
25-91-94
25-40-35
65-76-32
25-96-13
65-76-10
25-40-06
Казань: (8432)
38-45-73
38-53-98
38-47-84
36-23-52
38-48-95
36-53-98.
38-47-74
38-47-07
Альметьевск: (84312)
9-24-39
3-16-13
9-63-45
9-63-45:
9-64-68
9-62-86
9-64-69
.3-16-13
3-34-22
Зеленодольск: (84371)
2-27-18
2-17-52
Руководство для начинающих 71
.5-33-55
5-36-26
Елабуга: (84357)
3-17-46
3-26-99'
3-17-60'
3-21-30
Н. Челны: (8439)
58-82-15
58-82-08
58-82-17
58-57-03
58-82-35.
58-82-37
Чистополь: (84342)
2-11-26
2-42-35
Калуга: (08422)
4-83-28
4-20-16
Киров: (08456)
2-22-11
Козельск: (08442)
2-11-66
Малоярославец: (08431)
4-25-11
Обнинск: (08439)
4-08-20
3-25-50
72 Руководство для начинающих
Комсомольск-на-Амуре: (42172)
3-00-60
3-68-38
3-41-75
3-58-57
КИСЛОВОДСК: (86537)
2-36-55
5-94-65
2-36-50
2-35-91
Ессентуки: (86534)
5-46-21
7-32-26
7-59-02
Минеральные воды: (86531)
4-13-98
3-09-58
3-61-71
4-18-91
Пятигорск: (86533)
5-94-11
4-13-31.
4-13-30
Краснодар: (8612)
59-05-78
59-11-22
59-05-79
59-06-04
59-05-80
Руководство для начинающих 73
Красноярск: (3912)
29-50-81
66-11-22
66-14-50
Курск: (0712)
56-73-47
56-07-56
56-73-48
56-73-53
56-73-55
56-73-57
56-73-58
56-73-50
Липецк: (0742)
72-20-49
72-07-92
72-25-95
Москва: (095)
975-84-03
924-74-85.
921-21-03
924-85-69
442-70-88
206-83-41
442-82-77
925-26-29
442-83-88
442-64-77
442-85-77
74 Руководство для начинающих
442-70-22
442-80-77
925-82-50
442-64-22
913-35-71
Московская область: (095)
229-61-04
229-77-69
Солнечногорск: (226)
71-699
Чехов: (272)
62-551
Ступино: (264)
43-406
Мурманск: (8152)
23-19-53
33-22-39
33-22-67
Нальчик 86622
2-72-49'
2-66-11
Новосибирск: (3832)
23-55-38
10-11-62
23-55-01
23-46-72
23-55-10
23-55-47
Руководство для начинающих 75
Новгород: (81600)
7-32-24
7-62-94
Орел: (08622)
5-30-65
5-89-57
5-30-01
5-30-83
Оренбург: (3532)
72-29-30
72-70-35
72-29-31
41-89-98
Пермь ГПСИ: (3422)
90-03-30
90-03-16
Ростов-на-Дону: (8632)
69-69-81
64-57-66
•64-45-50
66-25-82
Рязань: (0912)
93-03-01
77-55-73
Санкт-Петербург: (812)
325-16-26
311-08-01
277-08-19
76 Руководство для начинающих
Саранск: (8342)
17-94-11
17-60-70
Сочи: (8622)
99-97-10
99-97-99
92-22-82
Ставрополь: (8652)
35-79-06
35-68-65
35-41-42
35-75-05
35-74-18
35-15-79
35-67-24
Тверь: (08222)
55-02-52
33-05-28
Тюмень: (3452)
26-21-09
26-23-45
26-21-00
26-18-00
24-48-31
Надым: (34595)
33-186
.32-051
31-889
Руководство для начинающих 77
Улан-Удэ: (30122)
6-29-29
6-62-33
6-27-27
Уфа: (3472)
52-62-10
52-62-20
37-73-40
Хабаровск: (4212)
21-81-47
33-29-99
38-62-76
Челябинск: (3512)
38-07-15
60-56-63
38-07-16
38-07-17

0

19

Система Unix
Глава 1.
Операционная система программиста
UNIX, конечно, был изобретен AT&T где-то в 60-ых как «операционная
система программиста». Во времена, когда изобрели UNIX, эта
цель не была, вероятно, достигнута, зато теперь, похоже, UNIX стала ОС
программиста. Как уже говорилось, это многозадачная и многопользовательская
ОС. К тому же она написана на языке С, во всяком случае, немалая
ее часть, что делает ее портативной операционной системой. Мы
знаем, что МС-ДОС соответствует компьютерам IBM и их клонам, верно?
Так вот, с UNIX ситуация иная. Он не соответствует никаким компьютерам,
поскольку был адаптирован ко многим, и существует много
вариантов UNIX (то есть UNIX, измененный продавцом, или нечто подобное).
Некоторые AT&T компьютеры работают под UNIX, а некоторые
под МС-ДОС (AT&T 6300). Рабочие станции Sun работают под
SunOS, это тоже вариант UNIX, а некоторые VAX-компьютеры управляются
Ultrix, это VAX-версия UNIX. Запомните: независимо от того, как
называется операционная система (BSD, UNIX, SunOS, Ultrix, Xenix
и т.д.), они все имеют много общего вроде команд, которые используются
операционной системой. Некоторые варианты могут иметь особенности,
которых нет в других, но они в основном схожи в том, что имеют
много одинаковых команд и файлов данных. Когда вам кто-то станет доказывать,
что UNIX используется в определенных типах компьютеров,,
то это, возможно, и так, но помните, что некоторые компьютеры имеют
более одной операционной системы. Например, вам могут сказать, что
UNIX соответствует компьютерам VAX так же, как МС-ДОС соответствует
IBM-клонам. Это неверно, и мы упоминаем об этом только потому,
что видели много сообщений с подобными сравнениями, которые
смущают пользователей, когда они видят VAX, работающий под VMS.
Глава 2.
Идентификация Unix
С этого момента мы будем обозначать все варианты UNIX просто
как UNIX, так что когда будет говориться что-то о UNIX, то, как правило,
будут подразумеваться все варианты (то есть варианты Unix System V
Система Unix 79
BSD, SunOS, Ultrix, Xenix и т.д.), если только явно не будет указан конкретный.
Теперь пора рассказать, как unix обычно вас приветствует. Сначала,
когда вы вызываете UNIX или соединяетесь с машиной, где он работает,
вы обычно видите такую подсказку:
Login:
Порядок. Это означает, что это, вероятно, Unix, хотя имеются
BBS, способные имитировать login-процедуру OS (операционной системы)
и заставлять некоторых верить в то, что это и есть Unix. (Xa!) Некоторые
Unix'bi представляются или выдают перед Login: сообщение вроде
такого:
Welcome to SHUnix. Please log in.
(Добро пожаловать в SHUNIX. Пожалуйста зарегистрируйтесь)
Login:
Или что-то в этом роде. Unix'bi свободного доступа (например,
в BBS свободного доступа) сообщат вам, как надо регистрироваться, если
вы - новый пользователь. К сожалению, эта глава не о Unix'ax свободного
доступа, но о них мы кратко поговорим позже, например об адресе
UUCP/USENET/BITNET для почты.
Итак. Вы добрались до регистрации (login)! Теперь вам надо ввести
действующий эккаунт (account). Он обычно состоит из 8 или меньше
символов. После ввода эккаунта вы, скорее всего, увидите приглашение
ввести пароль. Приглашения могут иметь различный вид, поскольку исходные
коды для программы регистрации обычно поставляются вместе с
UNIX или доступны бесплатно. Так вот, можно посоветовать такой простейший
способ регистрации: получите эккаунт или попробуйте ввести
значения по умолчанию. Эти значения поставляются вместе с операционной
системой в стандартной форме. Вот список некоторых значений
по умолчанию:
ACCOUNT
root
sys
biu
mountfsys
adm
uucp
nuucp
anou
ПАРОЛЬ
root - (редко открыт для хакеров)
sys / system / bin
sys / bin
mountfsys
adm
uucp
anon
anon
80 Система Unix
user
games
install
reboot
demo
umountfsys
sync
admiu
guest
daemou
user
games
install
* ni. ie?a
demo
umountfsys
sync
admin
guest
daemon
Эккаунты root, mountfsys, umountfsys, install и, иногда, sync - это
эккаунты корневого уровня. Это означает, что они работают на уровне
системного администратора или глобально. Остальные логины есть всего
лишь логины «пользовательского уровня», и это означает, что им подвластны
лишь файлы/процессы, принадлежащие этому конкретному
пользователю. Логин REBOOT относится к так называемым командным
логинам, он не пропускает вас в ОС, а просто-напросто выполняет связанную
с ним программу. Как правило, он делает именно то, что обозначает,
- перезагружает систему. Возможно, он не стандартен во всех
Юниксах, но его можно увидеть в Юниксах UNISYS, а также в системах
HP/UX (Hewlett Packard Unixes). Пока что эти эккаунты не защищены
паролями, что на наш взгляд весьма глупо.
Командные логины
Существуют «командные логины», которые, подобно логину перезагрузки
(reboot), исполняют команду и отключают вас от системы, не
позволяя пользоваться интерпретатором команд. Наличием таких логинов
печально знамениты компьютеры BSD и MIT (Массачусетского технологического
института). Вот список некоторых:
• rwho - показать, кто в онлайне
• finger - то же
• who - то же
Они весьма полезны, поскольку выдают список эккаунтов подключенных
пользователей и тем самым показывают реально существующие
эккаунты.
Ошибки
Когда вы введете ошибочный эккаунт/пароль или и то, и другое,
система выдаст сообщение об ошибке. Обычно это сообщение «login
incorrect».
Система Unix 81
Когда компьютер выдает такое сообщение, это означает, что вы
•ошиблись и ввели или неверный эккаунт, или верный эккаунт, но неверный
пароль. По очевидным причинам система не станет вам подсказывать,
какую именно ошибку вы допустили. Кроме того, когда вы регистрируетесь
с ошибкой, обновляется файл журнала регистрации, и об
этом узнает сисадмин.
Другое сообщение об ошибке - это «Cannot change to home directory
» или «Cannot Change Directory». Это означает отсутствие «home
directory», то есть «корневого» раздела эккаунта, то есть раздела, из которого
вы начинаете работу. В ДОС вы стартуете из А:\ или С:\, или еще
откуда-то, а в Юниксе - из /homedirectory. (Примечание: в Юниксе в разделах
используется / (прямой слэш), а не \ (обратный слэш)). Большинство
систем отключит вас после такого прокола, но некоторые сообщат,
что поместят вас в корневой раздел ['/'].
Другое сообщение об ошибке «No Shell». Оно означает, что для
этого конкретного эккаунта не определен «shell», то есть «оболочка».
О ней мы поговорим позднее. Большинство систем отключит вас после
такого сообщения, но некоторые сообщат, что станут использовать
обычную (стандартную) оболочку, выдав «Using the bourne shell» или
«Using sh».
Глава З.
Эккаунты
Надеюсь, эта глава поможет вам понять пользовательскую структуру
среды Юникс.
Так вот, считайте, что Юникс имеет два уровня безопасности: абсолютную
власть и обычный пользователь. Абсолютной властью обладают
пользователи корневого уровня.
Теперь давайте мыслить числами. Юникс ассоциирует числа
с именами эккаунтов. Каждый эккаунт имеет номер. Этот номер есть
UID (идентификатор пользователя) эккаунта. У корневого пользователя
UID — это 0 (ноль).
Каждый эккаунт с UID = 0 будет иметь доступ к корню. Юникс
обрабатывает не имена эккаунтов (логинов), а связанные с ним числа.
Например, если ваш DID = 50, и еще чей-то UID тоже 50, то вы оба имеете
абсолютную власть друг над другом, но только вы, и никто иной.
82 Система Unix
Глава 4.
Оболочки
Оболочка - это исполняемая программа, которая загружается
и начинает работать в фоновом режиме, когда пользователь входит в систему.
Такой «оболочкой» может быть любая исполняемая программа,
указанная в пользовательском файле «passwd». Каждый логин может
иметь свою уникальную «оболочку». Идем дальше. Оболочка, с которой
мы обычно будем работать, - это интерпретатор команд (командный
процессор). Интерпретатор команд - это нечто, похожее на СОМ-
MAND.COM в MS DOS, который обрабатывает команды и пересылает
их в ядро (операционную систему). Как уже было сказано, оболочкой
может быть любая программа, но вам нужен именно интерпретатор команд.
Вот перечень обычных оболочек, которые вы обнаружите:
• sh - это «родная» оболочка, базовый «COMMAND.COM»
Unix. Он имеет «скриптовый» язык, как и большинство
командных процессоров систем Unix.
• csh - это оболочка «С», позволяющая вводить
С-подобные команды.
• ksh - это оболочка korn. Просто еще один интерпретатор
команд.
• tcsh - это оболочка, используемая в MIT. Позволяет
редактировать команды.
• vsh - визуальная оболочка, работающая через меню.
Нечто вроде... Windows для DOS.
rsh - restricted (ограниченная) или remote (удаленная)
оболочка.
Есть и множество других оболочек, включая «самодельные», то
есть программы, написанные владельцем Unix или под конкретную версию
Unix, и все они нестандартные. Запомните, оболочка есть всего
лишь программа, которой вам придется пользоваться, и когда она кончает
работу, вас отключают от системы. Хороший пример самодельной
оболочки можно найти на Eskimo North, это Unix свободного доступа.
Оболочка называется «Esh», и это нечто вроде «одноклавишной BBS», но
это, тем не менее, все равно оболочка.
Некоторые компании используют в качестве пользовательских
оболочек текстовые редакторы, базы данных и прочий софт - чтобы
предотвратить ошибки неопытных пользователей и облегчить им жизнь.
Система Unix 83
Кроме того, в качестве оболочки может использоваться BBS.
Когда вы работаете в интерпретаторе команд, подсказка обычно
выглядит так:
$
Когда вы корневой пользователь, подсказка обычно выглядит
так:
#
Можно задать значение переменной PS1 для хранения подсказки.
Например, если PS1 задана как «HI:», то и ваша подсказка будет выглядеть
так же:
HI:
Глава 5.
Спецсимволы
Control-D
Конец файла. Когда вы работаете с почтой или текстовым редактором,
это означает конец сообщения или текстового файла. Если вы нажмете
control-d, находясь в оболочке, то выйдете из системы.
Control-J
В некоторых системах срабатывает как клавиша «ввод».
@
Иногда означает «отмена».,
?
Это wildcard (маска). Может обозначать букву. Если вы укажете
в командной строке, скажем, «b?b», то Unix станет искать bob, bib, bub,
и все остальные буквы/цифры в интервале a-z, 0-9.
Может означать любое число символов. Если вы укажете «Ы*», то
это означает hit, him, hiiii, hiya и что угодно, начинающееся с hi. «H*l»
может значить hill, hull, hi и что угодно, начинающееся с h и кончающееся
1.
84 Система Unix
О
Указывает диапазон. Если ввести b[o,u,i]b, то это означает: bib,
bub, bob. А если ввести b[a-d]b, то это значит: bab, bbb, bcb, bdb. [], ? и *
обычно используются при копировании и удалении файлов или выводе
списков файлов в разделах.
В Unix учитывается регистр. Это означает, что «Hill» и «hill» - вовсе
не одно и то же. Это позволяет хранить много файлов, поскольку «Hill»,
«hill», «hill», «hili» и так далее могут быть разными файлами. Поэтому,
пользуясь [], вы должны указывать заглавные буквы, если имена нужных
вам файлов их содержат. Однако почти все пишется прописными буквами..
Глава 6.
Команды
Теперь мы перечислим некоторые полезные команды Unix. Все
будет выглядеть так, как если бы мы реально вводили команды через командную
строку.
IS
Просмотр раздела. Без аргументов эта команда просто выводит
имена файлов в одну или несколько колонок, в зависимости от того,
к какой именно версии программы Is вы имеете доступ.
Пример:
$ is
hithere
runme
note.text
src
$
Через ключ -I выводится расширенная информация о файлах:
$ is -1
rwx--x--x sirhack sirh 10990 runme
и так далее...
Пояснения:
• rwx-x-x - это файловый доступ.
• sirhack sirh - это владелец файла и группа, в которой файл
находится, sirhack = владелец, sirh = пользовательская
группа, в которой файл находится.
Система Unix 85
• 10990 - размер файла в байтах.
• runme - имя файла.
cat
Выводит файл на экран. Следует применять к текстовым файлам.
Применительно к бинарным файлам используется только чтобы издеваться
над пользователями. Пример:
$ cat note.txt
Это образец текстового файла!
$
cd
Сменить раздел (директорию). Записывается примерно так: cd
/dir/dirl/dir2/dirn. did/... - это имена разделов. Допустим, мы хотим перейти
в корневой раздел:
$ cd /
.порядок, я уже там*
$ Is
bin
sys
etc
temp
work
us г
кстати, все, что выше, - это разделы
$ cd /usr
$ Is
sirhack
datawiz
prophet:
violence
par
phiber
scythian
$ cd /usr/sirhack
$ Is
hithere
runme
note.text
src
$
86 Система Unix
Так вот, полное имя раздела вводить не надо. Если вы находитесь
в разделе и хотите попасть в (под)раздел, который находится здесь же
(скажем, «src»), то можете ввести «cd src» [без «/»]. Вместо ввода «cd
/usr/sirhack/src» из sirhack dir вы можете ввести «cd src».
ср
Копирует файл.
Синтаксис: ср из_файла в_файл
$ ср runme runme2
$ Is
hithere
runme
note.text
src
runme2
Чтобы скопировать в другой раздел, можно указать полный путь.
•$ ср runme /usr/datwiz/runme
mv
Переименование файла.
Синтаксис: mv старое_имя новое_имя
$ mv runme2 runit
$ Is
hithere
runme
note.text
src
runit
Можно переименовывать файлы в других разделах:
$ mv runit /usr/datwiz/run
$ Is
hithere
runme
note.text
src
$ Is /usr/datwiz
runme
run
Система Unix 87
pwd
Переход в текущий раздел
$ pwd
/usr/sirhack
$ cd src
$ pwd
/usr/sirhack/src
$ cd ..
$ pwd
/usr/sirhack
(....«означает «использовать имя раздела на один уровень выше»)
$ cd ../datwiz
(обозначает cd/usr/datwiz)
$ pwd
/usr/datwiz
$ cd $home
(перейти в раздел home)
$ pwd
/usr/sirhack
rm
Удалить файл.
Синтаксис: ПП имя_файла или rm -г имя_раздела
$ rm note.text
$ Is
hithere
runme
src
$
write
Поболтать с другим пользователем. Ну, «написать» другому пользователю.
Синтаксис: write имя_Пользоват*ЛЯ
$ write scythian
scythian has been notified (scythian был уведомлен)
Привет Scy! Как дела??
Message from scythian on tty001 at 17:32
Привет!
я: Как жизнь?
scy: Да вроде нормально.
88 Система Unix
я: Мне пора дописывать этот текст.
scy: ok
я: control-D [для выхода из программы]
$
who (w, who, whodo)
Выводит список тех, кто в онлайне:
$ who
login term logontirae
scythian + tty001 17:20
phiberO + tty002 15:50
sirhack + ttyOOS 17:21
datawiz - tty004 11:20
glitch - tty666 66:60
$
Команда who может выдавать разную информацию. «+» означает,
что вы можете write на этот терминал, а «-» - что не можете.
man
Показывает подсказку о команде.
Синтаксис: man ИМЯ_КОМавды. Это профамма помощи. Если хоти¬
те узнать, как пользоваться who, то введите:
$ man who
WH0O) xxx
и получите подсказку.
stty
Задает характеристики терминала. Вам придется ввести «man stty»,
поскольку каждый stty, похоже, отличен от другого. Пример:
$ stty -parenb
чтобыустановитьпараметрыданныхН,8,1. Многие Unixnoумолчанию
работают при е,7,1.
sz, rz
Послать/получить через zmodem.
ОС, SX
Послать/получить через xmodem.
Система Unix 89
rb, sb
Послать/получить через batch (пакетный) ymodem..
Эти 6 программ могут в Unix быть, а могут и не быть.,
umodem
Послать/получить через send/receive via umodem.
$ sz filename
ready to s e n d . . . (готов послать... )
$ rz filename
please send your f i l e . . . (пожалуйста, пошлите ваш ф а й л . . . )
...etc.. (и т.д.)
ed
Текстовый редактор.
Синтаксис: edимя_файла.
Для создания нового файла просто введите ed имя_фаЙла
$ ed newtext
О
* а
Это строка 1
Это строка 2
[control-z]
* 1 [чтобы увидеть строку 1]
Это строка 1
* а [продолжаем добавлять]
Это строка 3
[control-z]
«Оа [добавить после строки 0]
Это ПЕРВАЯ строка
[control-z]
1,41
Это ПЕРВАЯ строка
Это строка 1
Это строка 2
Это строка 3
* w
71
* q
$
90 Система Unix
В данном примере использовались:
*

*






71 - число записанных байтов.
а - добавить
1 - просмотр
# - напечатать номер строки
w - записать
1 ftiame - загрузить файл fname
s fname - сохранить с именем fname
w - записать в текущий файл
q - выход
mesg
Включает/выключает разрешение «писать» (write) на ваш терминал
(разрешает чат).
Формат: «mesg у» (да) или «mesg n» (нет).
СС
Компилятор Си.
chmod
Смена «режима» файла. Другими словами, смена доступа.
Синтаксис: chmod mode filename (chmod режим имя_файла)
$ chmod a+r newtext
Теперь все могу читать newtext:
• а - all (все)
• Г - read (читать).
chown
Сменить владельца файла.
Синтаксис: chown владелец filename
$ chown scythian newtext
Система Unix 91
chgrp
Сменить группу файла.
Синтаксис: chgrp group file
$ chgrp root runme
$
finger
Вывести основную информацию об эюсаунте.
Формат: finger имя_пользователя
дгер
Искать в файле цепочку символов.
Синтаксис: grep цепочка file
$ дгер 1 newtext
Это строка 1
$ дгер ПЕРВАЯ newtext
Это ПЕРВАЯ строка
$ дгер "ПЕРВАЯ line 1" newtext
$
mail
Очень полезная утилита. Вы уже наверняка догадались по имени,
для чего она. Их существует несколько, например, ELM, MUSH и MSH,
но базовая почтовая программа называется mail. Как ей пользоваться:
mailusername@address
или
mail username
или
mail
или
mail addrl!addr2!addr3!user
«mail username@address» - такая запись используется для посылки
почты кому-то в другой системе. Обычно это другой UNIX, но некоторые
DOS- и VAX-машины могут принимать Unix Mail. Когда вы используете
«mail user@address»; то ваша система должна иметь «умный мейлер»
и то, что мы называем «планами системы». «Умный мейлер» распознает
92 Система Unix
«адресную» часть команды и обычно расширяет ее до полного пути. Это
может выглядеть так:
mail phibereoptik
а в компьютере выглядеть так:
mail
sysl! unisys! pacbell! sbell! scKatt. com! sirhacksys!
optik!phiber
Но не забивайте себе головы. Мы просто объясняем принципы.,
Но если умного мейлера нет, то вы должны знать полный путь к тому, кому
вы хотите послать почту. Например, я хочу послать сообщение
к phiber. И если умного мейлера нет, то я должен писать так:
$ mail sys!uniSys!pacbell!sbell!sc1!att.com!sirhacksys!
optik!phiber
Привет. Как дела? Ну, мне пора. Длинное вышло письмецо, верно?
(contrc-1-D)
$
Когда он это сообщение получит, в нем будет строк 20 информации,
это нечто вроде почтовых штемпелей всех систем, через которые
мое сообщение прошло, а строка «от кого» будет выглядеть так:
From optik! sirhacksys! att. com! s d ! sbell! pacbell!
unisys! sys!sirhack<Sir Hack>
Для посылки локального сообщения достаточно набрать «mail
username», где username - логин получателя. Затем наберите сообщение
и завершите его control-D.
Для чтения поступившей вам почты просто введите mail. To есть:
$ mail
От: scythian
Кому: sirhack
Тема: Well....
Ну, блин!
?
Точки обозначают всякую пропущенную бредятину. Каждая версия
программы mail оформляет свои заголовки.
Знак вопроса - это подсказка. После него можно ввести:
• d - удалить
• f username - переслать копию к username
• wfname - записать сообщение в файл с именем fname
Система Unix 93
• s fname - сохранить сообщение с заголовком в файл
с именем fname
• q - выйти/обновить mail
• х - выйти, но ничего не менять
• m username - написать сообщение к username
• г - ответить отправителю
4 [enter] - прочесть следующее сообщение
+ - перейти на одно сообщение дальше
• - вернуться на одно сообщение назад
• h - распечатать заголовки сообщений из почтового
ящика.
Есть и другие команды. Чтобы увидеть их перечень, обычно вводят
Г.
Если вы посылаете почту кому-то не из своей системы, то ответа
придется ждать дольше, потому что тут все будет как с обычным письмом
- его должен забрать «почтальон». Для передачи почты система может
вызвать и использовать UUCP. Обычно UUCP эккаунты никому не
нужны - если только у вас не используется UUCP, способный перехватывать
почту.
ps
Процесс. Эта команда позволяет увидеть, что именно вы делаете
в оперативной памяти. При каждом запуске программы ей для учетных
целей назначается Идентификатор Процесса (PID), и поэтому ее можно
отследить в памяти, а также закрыть - вами или корневым пользователем.
Обычно команда ps в перечне процессов первой указывает имя запущенной
вами оболочки. Допустим, я вошел под логином sirhack, используя
оболочку «csh», и у меня работает «watch scythian». Программа watch
перейдет в фоновый режим, то есть я смогу делать что-то другое, пока
она работает:
$ ps
.PID TTY NAME
122 001 ksh
123 001 watch
$
Это сокращенный листинг PS, выводящийся по умолчанию. В колонке
TTY перечислены «tty» (устройства ввода/вывода), через которые
94 Система Unix
был запущен process. Это действительно полезно знать только в том случае,
если вы используете слои (спокойно!) или более одного пользователя
вошли в систему с тем же эккаунтом. Команда ps -f выдаст полный
листинг процессов, поэтому вместо краткого «watch» вы, скорее всего,
увидите «watch scythian».
kill
Прервать процесс. Очевидно, что команда используется для прекращения
работы программы в памяти. Вы можете прервать только те
процессы, которыми владеете (те, которые вы запустили), если только вы
не корневой пользователь или если ваш EUID не такой же, как и у процесса,
который вы хотите прервать. (Про EUID потом). Если вы прервете
процесс оболочки, то вылетите из системы. По тому же принципу, если
вы вырубите процесс чьей-то оболочки, то этот кто-то тоже вылетит..
Поэтому, если я введу «kill 122», то система меня выплюнет. Однако kill
лишь посылает UNIX сигнал с указанием «прервать процесс». И если вы
примените синтаксис «kill pid», то UNIX вырубит процесс тогда, когда
ему захочется, а такое может не случиться никогда. Значит, вы можете
сами определять срочность! Попробуйте «kill -numpid» (num - число).
Kill -9 pid - это безусловное и почти мгновенное прерывание.
$ k i l l 122
$ k i l l 123
$ ps
PID TTY NAME
122 001 ksh
123 001 watch
$ kill -9 123
[123]-.killed
$ kill -9 122
garbage
NO CARRIER
Вы также можете ввести «kill -1 0», чтобы прервать свою оболочку
и выйти из системы. Это полезно в скриптах.
Глава 7.
Программирование оболочки
Программирование оболочки есть по сути создание «скриптово-
го» файла для стандартной оболочки, то есть sh, ksh, csh или их разновидностей.
Это нечто вроде .bat файла MS-DOS, но более сложного и более
гибкого. Он может оказаться полезным в одном аспекте хакерства.
Система Unix 95
Сперва займемся переменными. Переменным, очевидно, можно
присвоить значения - как символьные, там и числовые. Выражение
number=1
присваивает переменной «number» значение 1.
string=Hi There
или
string="Hi There"
Оба выражения присваивают переменной string значение «Hi
there».
Однако использование переменной - это совсем другое дело. Если
вы хотите использовать переменную, перед ней должен стоять знак
доллара ($). Такие переменные могут быть использованы в программах в
качестве аргументов. Когда было написано, что скрипты подобны
bat-файлам, то имелось в виду именно это. В файл скрипта можно ввести
имя любой программы, и она будет исполнена. Вот простой скрипт:
counter=1
arg1="-uf"
arg2="scythian"
ps $arg1 $arg2
echo $counter
Этот скрипт выполняет трансляцию в «ps -uf scythian», а после завершения
работы печатает «1». Echo выводит на экран как текстовые, так
и цифровые константы.
Другие команды и примеры:
read
Считывает что-либо в переменную.
Формат: read переменная. Здесь знак доллара не нужен! Если я хочу
узнать чье-то имя, то могу написать:
echo "Как ваше имя?"
read hisname
echo Hello $hisname
Как ваше имя?
Sir Hackalot
Привет Sir Hackalot
Запомните: read может считывать и числовые значения.
96 Система Unix
trap
Отслеживает применение кем-то команды прерывания (Ctrl-c).
Формат:
trap «command; command; command; и т.д.»
Пример:
trap "echo 'Фигушки!! Ты так легко от меня не избавишься' ; echo
•Придется тебе это прочитать! '
И теперь, если я нажму control-c во время работы скрипта, то увижу
на экране вот что:
Фигушки!! Ты так легко от меня не избавишься
Придется тебе это прочитать!
exit
Формат: exit [число]. Обеспечивает выход из оболочки, возвращая
код, равный «числу».
CASE
Выполнение case подобно выбору из меню. Формат команды или
структуры таков:
case переменная in
1) command;
command;;
2) command;
command;
command;;
*) command;;
esac
Каждая часть может иметь любое количество команд. Однако после
последней команды должны стоять «;;»>. Возьмем такое меню:
echo "Выберите:"
echo "(D)irectory (L)ogoff (S)heir
read choice
case Schoice in
D) echo "Создаю раздел...";
i s -al ; ;
L) echo Пока;
kill -1 0;:
S) exit;;
*) Echo "Ошибка! Это не команда ";;
esac
Система Unix 97
esac обозначает конец функции case. Он должен стоять после последней
команды.
Глава 8.
Петли
Итак, петли. Таких функций две: петли for и петли repeat.
Петли repeat выглядят так:
repeat нечтонечто1нечто2
Эта функция выполняет повторение секции вашего скрипта для
каждого «нечто». Если я напишу:
repeat s c y t h i a n sirhack prophet
то увижу на своем экране scythian, затем sirhack, затем prophet.
Петля for определяется как
for для переменной в чем-то
do (делай)
done (сделано)
пример:
for counter in 1 2 3
do
echo $counter
done
Будут выведены значения 1, затем 2, затем 3.
Глава 9.
Использование TEST
Формат: Test переменная опция переменная
Опции таковы::
• -eq = (равно)
• -пе <> (не равно)
4-2588
98 Система Unix
• -gt > (больше)
• -It < (меньше)
• -ge >= (больше или равно)
-1е <= (меньше или равно)
Для строк это:
• = если равно
• != если не равно
Если выражение верно, то функция возвращает ноль. Смотрите:
test 3 -eq 3
это означает проверку на верность выражения 3 = 3, и будет выведен
ноль.

0

20

Глава 10.
EXPR
Применяется для числовых функций. Как правило, вы не можете
просто напечатать:
echo 4 + 5
и получить ответ. Вы должны написать:
ехрг переменная [или число] оператор переменная2 [или число]
Операторы таковы:
• + сложение
• - вычитание
• * умножение
• / деление
• Л - степень (в некоторых системах)
Пример:
ехрг 4 + 5
var = ехрг 4 + 5
var получит значение 9.
В некоторых системах ехрг иногда распечатывает формулу. Хочу
пояснить, что 22+12 вовсе не то же самое, что 22 + 12. Если вы введете:
Система Unix 99
expr 22+12
то увидите
22+12
А если введете:
expr 22 + 12
то увидите:
34
Глава 11.
Системные переменные
Это переменные, используемые оболочкой, и они обычно задаются
в системном файле .profile.
НОМЕ
Расположение вашего home (домашнего) раздела.
PS1
Определяет, как выглядит подсказка в командной строке. Обычно
как $. В BSD это обычно &.
PATH
Путь поиска программ. Когда вы вводите имя программы для ее
запуска, она находится не в оперативной памяти, а на диске, и должна
быть сперва оттуда загружена. В отличие от MS-DOS, большинство команд
не находится в памяти. Если программа указана в пути поиска, она
может быть запущена на исполнение независимо от того, в каком разделе
вы находитесь, а если не указана, то вы должны запускать ее из раздела,
где находится сама программа. Путь - это по сути перечень разделов,
в котором имена разделов отделяются двоеточиями. Вот типичный путь
поиска:
:/bin:/etc:/usr/lbin:$Н0МЕ:
Когда вы попытаетесь запустить программу на выполнение, Unix
станет ее искать в /bin, /etc, /usr, /lbin и вашем домашнем разделе, и если
не найдет, выдаст сообщение об ошибке. Поиск по разделам производится
в том порядке, в каком они перечислены. Поэтому если у вас в домашнем
разделе есть программа с именем «sh» и вы введете «sh», то даже
если вы сделаете это из домашнего раздела, Unix запустит на исполнение
программу из раздела /bin. Поэтому пути следует задавать с умом. Юник-
100 Система Unix
сы публичного доступа делают это за вас, но в системе, где вы работаете,
пути могут быть и не указаны.
TERM
Тип вашего терминала. Юникс имеет библиотеку функций с именем
«CURSES», которая способна добиться максимума от терминала
любого типа - при условии, что обнаружит соответствующие esc-коды.
Если вы работаете с экранно-ориентированными программами, то
должны установить какие-то параметры дисплея. Типы дисплеев и их
esc-коды находятся в файле TERMCAP. Но не забивайте себе голову,
просто установите свой дисплей на ami или vtlOO, CURSES даст вам
знать, если не сможет манипулировать эмуляцией вашего терминала.
Глава 12.
Компилятор С
Тут я буду краток. Почему? Потому что если хотите выучиться работать
в С, то пойдите и купите себе книгу. У меня нет времени писать
еще один текстовый файл про С, потому что он будет огромным. Большинство
программ пишется на С. В Юниксе исходные коды программ
обозначаются как имяфайла.С. Для запуска исходника на компиляцию
дайте команду ее имяфайла.с.
Не все программы С станут компилироваться, потому что они могут
зависеть от других файлов, которых нет на вашем диске, или же это не
полные исходники, а лишь модули. Если вы увидите нечто названное
«makefile», то в таких случаях обычно достаточно набрать «make» в командной
строке, и это нечто скомпилируется или попытается скомпили-
роваться.
Запуская «make» или «ее», умные люди пользуются операндом работы
в фоновом режиме, потому что иногда компиляция длится безумно
долго.
Пример:
$ ее login.с&
[1234]
$
(1234 - это номер процесса, под которым он идентифицируется.)
Система Unix 101
Глава 13.
Файловая система
Это инструментальная часть Unix. Если вы не поймете этот раздел,
вам никогда не удастся хакать Unix, потому что многие из приколов
и штучек для «поднятия доступа» завязаны именно на файловую систему.
Для начала поговорим о структуре разделов. По сути это иерархическая
файловая система, то есть она начинается в корневом разделе
и далее ветвится, как в MS-DOS и, возможно, вAmigaDos.
Вот нечто вроде дерева разделов ((d) обозначает раздел):
/ (корневой раздел)
I
I I
bin (d) usr (d)
раздела.
sirhack(d) scythian (d) prophet (d)
I
src (d)
Итак, эта конкретная система содержит следующие разделы:
• /
• /bin
• /usr
• /usr/sirhack
• /usr/sirhack/src
• /usr/scythian
• /usr/prophet
Надеюсь, вы поняли эту главку. Все произрастает из корневого
102 Система Unix
Глава 14.
Файловые допуски
Ну, наконец-то добрались до действительно серьезного. Файловые
допуски. Что это такое, понять нетрудно, но я все равно объясню подробно.
Итак, теперь вы должны мыслить категориями «группы пользователей
» и «имена пользователей». Каждый принадлежит к группе. В командной
строке вы можете после подсказки (знака доллара) набрать «id»
и посмотреть, к какой группе вы принадлежите. Группы используются
для организации допуска пользователей к определенным вещам. Если бы
их не было, то лишь один человек контролировал/имел бы допуск к определенным
файлам. Запомните также, что Unix, определяя доступ, смотрит
на UID пользователя, а не на его имя.
Идем дальше. В файловых допусках нет ничего сложного. У каждого
файла есть владелец (owner). Обычно файлом владеет тот, кто его
создал, - скопировав файл или даже просто отредактировав его. Запомните,
что владелец файла должен быть тем, кто управляет CHOWN, поскольку
он единственный, кто может изменить файловые допуски. Кроме
того, есть еще и владелец группы - обычно это группа, в которой вы
находились, когда файл был создан. Для смены группы, к которой принадлежит
файл, нужно выполнить команду chgrp.
Далее. Файлы могут иметь допуски на выполнение, чтение или запись.
Если у вас есть допуск на выполнение, то вы знаете, что вам достаточно
набрать имя программы в командной строке, и она выполнится.
Если у вас есть допуск на чтение, то вы, очевидно, можете файл читать и
делать все, что связано с чтением, - например, копировать или печатать
его. Но если у вас нет доступа на чтение файла, то вы не сможете сделать
ничего, что требует его прочтения. То же самое справедливо и для допуска
на запись. Далее, все допуски делятся на три группы. Первая - допу-
ски владельца. Он может установить себе допуски на чтение и выполнение
файла, но не на запись в него. Это не позволит ему удалить такой
файл. Вторая - групповые допуски. Возьмем для примера такой раздел:
$ Is -1 runme
r-xrwxr- sirhack root 10990 March 21 runme
Здесь «root» есть имя группы, в которой находится файл.
«sirhack» - владелец файла. И если у группы «root» есть допуски на чтение,
запись и выполнение файла, то именно это они и могут с ним делать.
Скажем, на этот файл наткнулся Scythian, а он принадлежит к группе
пользователей «root». Тогда он может файл читать, записывать в него
Система Unix 103
и выполнять. А потом файл обнаружил datawiz, но он из группы «пользователи
». В таком случае групповые допуски на него не распространяются,
поэтому он не может тронуть этот файл, верно? Вроде того. Есть третья
категория допусков - для «другой» группы. Это означает, что
допуски в «другой» группе распространяются на всех, кроме ее владельца,
и на пользователей из той же группы, к какой принадлежит файл.
Взгляните на листинг раздела вверху, и вы увидите строчку допусков
r-x-rwxr--
Первые три символа означают допуски для владельца (г-х). (г-х)
переводится как «читать и выполнять разрешается, но записывать в файл
нельзя». Второй набор из трех символов
r-xRWXr-
(тот, что заглавными буквами) есть групповые допуски, и они означают
«читать, записывать и выполнять разрешается».
Третий набор
r-xrwxR--
есть допуски для всех прочих. Он означает «читать можно, но
больше ничего».
Листинг раздела будет выглядеть примерно так:
•$ Is -1
drwxr-xr-x sirhack root 342 March 11 src
Раздел помечен буквой «d» в начале строки допусков. Итак, владелец
раздела (sirhack) может читать из раздела, записывать в раздел и выполнять
программы из раздела. Корневая группа и все прочие могут
лишь читать из раздела и выполнять программы, находящиеся вне его.,
Поэтому если я захочу сделать раздел только выполняемым, то это будет
выглядеть так:
$ chmod go-r
$ is
d r W x - x ~ x sirhack root 342 March 11 src
Если теперь в раздел зайдет кто-то, кроме «sirhack», то он сможет
лишь выполнять находящиеся там программы. Если он запустит команду
Is, чтобы войти в раздел src, то, оказавшись внутри, увидит сообщение
«cannot read directory» (не могу прочесть раздел). Если в разделе есть до -
ступный для чтения файл, но сам раздел имеет запрет на чтение, то ино¬
гда все-таки бывает возможно этот файл прочесть.
Если у вас нет допуска на выполнение в каком-то разделе, то
в большинстве случаев вы не сможете запустить ни одной программы из
этого раздела.

0



Рейтинг форумов | Создать форум бесплатно