Секреты супер хакера

Описание различных методов взлома компьютерных систем. Характеристика необходимого оборудования и исследований перед взломом. Методы взлома паролей и контроля над доступом в систему. Понятие "социальной инженерии", хакерство на местности и на дому.

Рубрика Программирование, компьютеры и кибернетика
Вид книга
Язык русский
Дата добавления 20.11.2009
Размер файла 406,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Вандалы и хакеры-мстители, само собой, стремятся к получению болеевысокого уровня доступа, чем тот, который им удалось получить при взломе, но при отсутствии достаточной сноровки они, скорее всего, изберуттактику внезапной стремительной атаки с последующим отступлением. Это означает, что их вполне устроит взлом под любым паролем и причинение возможно большего вреда; после этого они ретируются, отправив поэлектронной почте ядовитое послание. Они могут атаковать снова и снова,до тех пор, пока их не арестуют, либо выставят из системы навсегда. Такие "хакеры", скорее всего, удовлетворятся добытым низким уровнем доступа, чтобы делать свое дело. Но уж если они обладают определенными навы-ками, или компьютерным "ноу-хау" - тогда берегись! Настоящий хакер необязательно доводит свой взлом до самого конца. Ему или ей может показаться, что не стоит расходовать свои силы, чтобы повысить свой уровень системного доступа. Это вовсе не сдача своих позиций, а всего лишь практичный взгляд на веши.

Если искомая информация незначительна, или ее можно добыть и другим способом, незачем тратить время наее получение. Хакер может также не настолько хорошо знать данныйкомпьютер, или работающих на нем пользователей, или операционную систему, чтобы чувствовать себя способным достичь наивысшего уровня доступа. Это естественное и разумное чувство; если хакер сознает, что он в чем-то не дотягивает, он вполне может остановиться, чтобы подзубрить то, в чем пока несведущ. Если происходит нечто подобное, то, возможно, хакеру достаточно лишь провести дополнительные исследования, чтобы снова напастьна след, ведущий к статусу привилегированного пользователя. Вот что сказал об этом хакер по прозвищу "Умник": "Я знаю, что компьютер от меня никуда не денется. Мне нравится взламывать, но и проводить исследованияя тоже не прочь. Иногда я чувствую, что исследования, которые могут по-мочь мне войти в бюджет - работу с книгами, или социальную инженерию, - лучше отложить на потом, а сейчас пора заняться НАСТОЯЩИМИ исследованиями компьютера".

Войдя в систему, хакер получает возможность не только повышать свойсистемный статус. Он может также:

- Читать доступные документы и запускать программы.

- Загружать файлы.

- Довести до сведения системного администратора данные о наличииизъянов в обеспечении безопасности.

- Изучать коммуникационно-вычислительное оборудование.

- Проверить, не соединен ли данный компьютер с другими.

- Покидая систему, каким-либо образом прикрыть свое отступление.

- А еще можно просто выйти из системы и никогда больше в нее не возвращаться.

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

Немедленный выход из системы с тем, чтобы никогда в нее не возвращаться, - поступок, характеризующий сумасшедших хакеров-фанатиков. Я немогу понять, как можно морально оправдывать сам взлом системы, в то жевремя открещиваясь от входа в нее. Мне кажется, что хакеры, которые отсоединяются от системы, не входя с ней во взаимодействие, поступают таклибо потому, что для них имеет значение лишь сам факт взлома, либо потому, что они панически боятся всего нового. Все другие возможности, о которых я упомянул, - повышение статуса,помошь системным операторам, изучение - предполагают различные степенизнакомства со взломанной системой. Давайте поговорим о том, где вы оказались, и чем вам следует заняться, войдя во взломанную систему. Начнем с того, что взломанный вами бюджет может являться бюджетом отдельного пользователя, групповым, корневым, или "специальным" бюджетом. Если вы вошли в главный (корневой) бюджет - примите мои поздравления! Теперь вы можете делать все, что захотите. Это бюджет системного администратора, или одного из системных администраторов (его называют так же бюджетом аватара, божественным бюджетом, администраторским бюджетом, бюджетом привилегированного пользователя и т. д.)

"Групповой бюджет" принадлежит сразу многим людям. Он может вводиться, например, в отделе, где каждый из сотрудников входит в систему спомощью одной и той же комбинации имя, пароль. Иногда определенныепользователи имеют внутри него отдельный собственный бюджет. Так, многиекомпании устанавливают ограниченные бюджеты для секретарей, временныхсотрудников и т. п. Групповые бюджеты бытуют и там, где доступ к терминалам имеют несколько человек, которые обладают различными уровнями защищенности. В данном случае изучать базу данных могут все пользователи, но вносят в нее изменения только те, кто входит под определенным паролем.

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

Операционная система

Забудьте все, что вы знаете о компьютерах, и давайте начнем с самого начала. Допустим, у вас есть компьютер, предназначенный только для одной функции. Например, на нем можно играть в игру. Когда вы включаете такой одноцелевой компьютер, игра автоматически запускается, а больше этот компьютер делать ничего не может. Теперь давайте дадим этому компьютеру еще одну функцию. Пусть на нашем компьютере теперь можно будет не только играть, но и использоватьтекстовый процессор. Таким образом, мы будем иметь двухзадачныйкомпьютер. Что произойдет при включении такого компьютера? Может быть, запустится игра? Да нет - а вдруг мы включили его, чтобы поработать с текстовымпроцессором? Как видите, теперь нам приходится делать выбор.

При включении компьютера потребуется каким-то образом сообщить компьютеру, что намнужно - игра или текстовый процессор. Как же дать компьютеру знать, чтоименно нам необходимо? Конечно, можно сделать два разных переключателя - левый для запускаигры, а правый - для текстового процессора. Идея неплоха, но только навремя. Вдруг мы захотим добавить третью функцию? Четвертую? Нельзя жевсе время добавлять все новые переключатели? Вместо добавления аппаратных переключателей я добавляю третью программу - программный переключатель. Такая программа называется операционной системой (ОС) и автоматически запускается при включении компьютера.

Операционная система - это программа, которая и позволяет сделать выбор между игрой и текстовым процессором. Например, при запуске она будетвыдавать на экран окно: "Какая программа?", на которое следует ответить: "Игра", или "Текстовый процессор". Как вам известно, практически то же самое и происходит в реальных ОС. .Когда компьютеры только зарождались, и могли выполнять только запусксчитанного количества программ, управляющее программное обеспечение на-зывалось "монитором". Затем, когда компьютеры усложнились, понадобилосьуправлять множеством пользователей, большим количеством периферийныхустройств, безопасностью и хитросплетением программных функций, мониторпревратился во всеобъемлющую программу, которая могла делать намногобольше, чем просто давать пользователю возможность выбора между несколькими программами.

Таким образом, сейчас для обозначения этой сложнойпрограммы используется термин "операционная система". ОС управляют работой всего компьютера: контролируют распределение ресурсов, использование памяти, запуск программ. Когда вы разберетесь вэтой абсолютной программе, то поймете, что представляет собой управлениекомпьютером. Вот некоторые из операционных систем, с которыми вы, вероятно, столкнетесь: UNIX, MS-DOS или PC-DOS (на IBM-совместимых), PRIMOS, RSTS (наPDP-11) и VMS. В последнее время вместе с компьютерами нового поколениявсе большее распространение получили Windows (Windows 3.11 или Windows95) - капризные и "навороченные" графические оболочки, которые, тем неменее, дают знающему человеку почти неограниченный простор для всевоз-можных забав. Вам необходимо разбираться в ОС, поскольку: Если вы не будете знать команд и синтаксиса, вы не сможете заставить компьютер работать на себя. Когда вы разберетесь в ОС, то сможете обнаружить ее недостатки, а значит, прорехи в компьютерной защите. Вам необходимо ознакомиться с ограничениями ОС. Разобравшись в ОС, вы узнаете, каким образом компьютерные менеджеры станут вас ловить, выслеживать и не давать вернуться обратно. Из этого следует, что, если вы хотите стать НАСТОЯЩИМ ХАКЕРОМ, выдолжны кое-что знать о компьютерах.

Если вы хотите управлять компьютером, вы должны уметь приручать системное программное обеспечение, а впервую очередь - операционную систему. Конечно, можно обходиться и социальными методами, время от временидобавляя чуточку программирования то тут, то там; однако нельзя обойтитот факт, что настоящее хакерство предполагает настоящие знания. Я имеюв виду знания, полученные САМОСТОЯТЕЛЬНО. Так что вам придется засестьза учебу. Вас это пугает? Тогда, возможно, вы не совсем понимаете, что такоебыть настоящим хакером. Теоретически возможно взломать любую компьютерную систему. И хорошийхакер способен взломать большинство систем. Еще более хороший хакер может взломать их все. А самый лучший хакер может не только проникнуть влюбой компьютер, но, оказавшись внутри, еще и сделает кое-что для того, чтобы взлом не оказался напрасным. Одно дело - просто проникнуть в базуданных, и другое - суметь так изменить записи в этой базе, чтобы вас непоймали за руку. Чтобы стать самым лучшим хакером, необходимо знать основные команды ОС - как работать с файлами, посылать и получать почту и т. д. Хакер также должен знать малоизвестные команды, а также файлы, программы и ди-ректории, обычно встречающиеся в машинах под управлением данной ОС, изу-чить руководства по ОС и ее язык; знать, кто и как использует ОС, и разбираться в сообщениях об ошибках. Но мы еще не добрались до самого сложного. Видите ли, все вышесказанное является лишь надводной частью айсберга. Ведь вся эта информация является вполне доступной и ее можно найти в справочниках и руководствах. Хакеру же необходимо знать секретную часть ОС, которой нет в руководствах, а если и есть, то она описывается настолько техническим и ту-манным языком, что понять ее способны лишь немногие.

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

Случайный пользователь не помнит о возможных нарушениях компьютерной защиты. Хакер тоже может не помнить о них; но, если он обладает фунда-ментальными знаниями ОС, которая лежит в основе всех этих нарушений, тосможет, подумав, обнаружить лазейки и использовать их. В данной книге яне собираюсь углубляться в изучение технических аспектов каждой операционной системы, да настоящим хакерам это и не нужно. Найдите любую ОС, скоторой сможете ознакомиться. Изучите основные команды и узнайте, какони запрограммированы. Вычислите способы, с помощью которых можно сымитировать команду, не набирая ее непосредственно в ответ на приглашениеОС. Что происходит с памятью при использовании команды? Можно ли изменить память? Вот такие веши важны для хакера, который хочет, чтобы егозаветные мечты стали реальностью.

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

Теперь вам остается только перебрать различных пользователей системы, пока вы не найдете того, кому принадлежит этот пароль. Журналы системных операторов иногда содержат также записи отосланныхи полученных файлов, ошибки, явившиеся результатом ввода несанкционированных команд, новых бюджетов или очередных пользователей, получившихстатус привилегированного пользователя. Если говорить о безопасности, первое, что вы должны сделать, загрузившись в чей-либо бюджет, - сразу же постараться узнать, кому он принадлежит (если вы еще не знаете этого). При загрузке вам, скорее всего,будет выдано сообщение о том, когда произошло последнее обращение к бюджету, и, возможно, данные о том, откуда пользователь устанавливал связь.

Пользователи часто хранят в своей директории личные ретроспективные журналы регистрации. Это могут быть ретроспективные отчеты о вводе команд, чтении новостей из определенных групп, передаче или уничтожениифайлов. Из них вы сможете узнать, когда и как пользователь работает всистеме, а также уровень его пользовательской компетентности.

Если взломанный вами бюджет используется нечасто, можете особенно неопасаться его настоящего владельца - разве что системный менеджер заподозрит неладное, заметив внезапно повысившуюся активность загрузки вбюджет, который никогда не отличался "посещаемостью". Но, с другой стороны, если обладатель бюджета работает в нем, как говорится, днем и ночью, вам следует опасаться его больше, чем системногооператора, который вряд ли распознает ваши сеансы входа среди множествадругих. какие команды следует искать и использовать Большинство ОС снабжены обширной помощью онлайн.

В UNIX, чтобы посмотреть страницу помощи для определенной команды, следует набрать "man"(имя команды). Набрав "apropos" (слово), вы сможете просмотреть списоккоманд, связанных с тем словом, которое вы зададите. Так, "apropospassword" перечислит вам все команды, программы и переменные, которые имеют хоть какое-то отношение к паролям. А с помощью "man" (имя команды)вы сможете узнать, что означает каждая из этих команд. В машинах TOPS можно набрать "help" или "help commandname" для получения информации онлайн. Команды процесса сообщают о том, что происходит в системе и кто в нейработает. В UNIX команда "ps - f" позволяет узнать, как работают на компьютере другие пользователи.

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

Такие случаи вам поможет обнаружить программа "дае-мон" (см. глоссарий). Соединяться с другими компьютерами позволяет программа "Telnet". Я уже упоминал, что взломанный вами бюджет, скорее всего, является бюджетом низкого уровня доступа. У хакеров есть причина заниматься сначалабюджетами обычных пользователей: им необходимо безопасное место, откуда можно совершать НАСТОЯЩИЕвзломы. Находясь в бюджете с низким уровнем, вы сможете делать все то,что никогда не стали бы делать, находясь в своем собственном бюджете,например, соединиться с помошыо "Telnet" с компьютерами Пентагона и на-чать атаку методом перебора. В UNIX имеется также команда "cu" (CallUp), которая дает возможность пользователю вызвать определенный телефонный номер.

Вызов одного компьютера с другого позволяет хакеру избежать выслеживания. Это также хорошее практическое решение проблемы связи с определенным компьютером, так как некоторые компьютеры можно вызвать только издругих сетей. Протокол передачи Файлов (FTP) FTP - это программа, которая позволяет копировать файлы с одногокомпьютера на другой (соединенный с ним обычно посредством Интернет), инаоборот. Непосредственным пользователям BITNET приходится вместо FTP использовать для передачи файлов электронную почту. Чтобы запустить программу, следует набрать "ftp"; затем можно ввестиадрес любого компьютера и попытаться с ним связаться. У вас запросят имяпользователя и пароль. Зачастую на компьютерах предлагаются также анонимные FTP-директории: для получения доступа к текстовым файлам и программам, которые сделал доступными местный администратор, можно загружаться под именем "anonymous".

Входящая директория в анонимных FTP, как правило, установлена с раз-решением на запись и использование, но не на чтение. Пользователи могутзагружать файлы, которые они хотят использовать совместно с другимипользователями, без ведома последних. Системный оператор определяет, какие файлы можно сделать общедоступными. Распространенный недостаток анонимных FTP состоит в том, что в ихбюджете часто размешаются две вспомогательные директории "etc." и "bin".Если они не защищены от записи, любой пользователь имеет возможностьзагрузить свои собственные враждебные версии системных программ и паке-тов. игры На взломанном вами компьютере могут оказаться Xtrek иди Empire, и лю-бые другие многопользовательские игры для режима онлайн, особенно, есликомпьютер стоит в колледже. Так как игры являются многопользовательскими, для вхо да в них необходим пароль, но такие пароли не столь уж секретны, и часто хранятся в обычных текстовых файлах.

Просмотрите эти файлы - пользователи могут применять одни и те же пароли везде, где у нихимеется доступ. Сеть пользователей (USENET) USENET представляет собой то же самое по отношению к локальным BBS, что и Тадж-Махал по отношению к муравейникам. USENET - это BBS Интернет, которая управляет тысячами конференций.USENET - не просто "компьютерная" доска объявлений. В ней есть разделы,в которых можно разговаривать о программном и аппаратном обеспечении,вирусах, хакерах, индивидуальных операционных системах, принтерах, и обэлектронных таблицах, и об этике, и ... дополните список сами.

Каждая область называется группой новостей (newsgroup) или конференцией. Существуют конференции, посвященные музыке, автомобилям, сексу, преступлениям, парашютизму, книгам, телевидению и многому другому - с ума сойдешь, пока перечислишь все эти темы. Некоторые конференции подвергаются специальному цензурированию. Имеется в виду, что некая контролирующая организация просматривает их и решает, каким из них дать экранное время. Большинство групп не просматривается таким образом, и является общедоступными. Получить доступ в USENET можно, запустив такие программы как"readnews", "news" или "nn". Вы сможете прочесть посланные кем-то сооб-щения, или написать свое собственное. Каждое сообщение посылается на всеузлы связи, так что, вы, задав какой-либо вопрос, выносите его на громадный международный форум, и сможете выбрать подходящий ответ.

КАК стать привелигерованным пользователем

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

Мистификация

Мистификация обычно заключается в том, что вы посылаете электроннуюпочту таким образом, что кажется, будто ее послал кто-то другой. Этимтермином обозначают также любое действие хакера, с помощью которого онвыдает себя за кого-то другого. Но давайте сперва остановимся на первом,более распространенном, значении, и рассмотрим некоторые способы, пос-редством которых мистифицированная электронная почта может услужить име-ющему низкий уровень доступа хакеру добиться чего-то большего. Один из типичных примеров мистификации - послание якобы от системногоадминистратора. Susie User {Пользователь Сюзи), весьма влиятельное лицов системе, занимается своими обычными делами в режиме онлайн. Она прове-ряет свой почтовый ящик и с удивлением обнаруживает там письмо от сис-темного администратора. В письме говорится о том, что ввиду наличия прорех в компьютерной безопасности пароли пользователей будут теперь изме-няться каждые шесть недель: "Ваш новый пароль D4YIL", - написано в полученном Сюзи послании. - "Вы можете изменить его сами с помощью команды"SET_PASS". He забудьте его! Не раскрывайте его никому! Компьютерная безопасность - очень важный аспект, которым нельзя пренебрегать!" Через несколько секунд вы замечаете, что Сюзи набрала команду"SET_PASS", а еще немного погодя загружаетесь под ее именем, получая, таким образом, все привилегии ее более высокого уровня. И это срабатывает всегда! Но вся хитрость в том, что необходимо знать, как именно следует проделать мистификацию. Прежде чем вы сможете послать мистифицированную электронную почту, вам следует понять, каким образом это возможно.

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

Для мистификации вам понадобится изменитьэтот заголовок таким образом, чтобы письмо казалось присланным одним изтех, кто отвечает за систему. Электронную почту обычно посылают, запуская специальную программу. Программа включает в себя текстовый редактор и устройство для отправкипочты другим пользователям. Но во многих случаях для отправки почты можно и не использовать специальную программу. Обычно существует основнаякоманда процессора, позволяющая послать текст или файл в директорию файлов другого пользователя. То же самое делает и программа электроннойпочты: посылает текст вашего сообщения в специальный файл под названием MAIL.TXT или что-то в этом духе, и когда пользователь Сюзи запускает свою программу электронной почты, она показывает содержание этого файла. Вам не составит труда открыть текстовый файл, напечатать заголовок, похожий на заголовки посланий системного администратора и добавить в конец файла свой собственный текст. Затем с помощью команды "send file"поместите этот файл в директорию пользователя с более высоким уровнемдоступа, чем ваш.

Иногда ОС сама выполняет подобные действия. Так, один из протоколов Интернет предполагает участие двух компьютеров в передаче почты, длясоставления заголовков писем. Чтобы мистифицировать Интернет, можно соединиться с главным компьютером через порт 25, который отвечает за доставку электронной почты. Обычно таким путем соединяются только двакомпьютера; на месте могут присутствовать средства защиты, но, если таковых не имеется, вы можете сыграть роль компьютера, посылая команды длягенерации электронного сообщения. Они включают в себя "mail from" и"rcpt", которые устанавливают, кем являются отправитель и получатель. Чтобы получше разобраться в этом, используйте "help".

Многие многопользовательские системы дают пользователям возможностьобщаться друг с другом с помощью команд TALK, WRITE и т. п. Когда вы набираете команду TALK, на экране реципиента появляется сообщение о том, что вы хотите с ним побеседовать. Если другой пользователь разделяет ваше желание, он тоже набирает команду TALK. После этого все, что вы будете печатать у себя на экране, станет появляться на экране вашего собеседника, и наоборот. С помошыо команды TALK можно проделать множествотрюков. Одним из популярных трюков является передача с помощью TALK сообщения типа: "Сбой в системе. Прошу выключить ваш терминал, не прерывая связи ссистемой, для предотвращения дальнейших нарушений. Системный администратор" на экран другого пользователя. Пока его терминал будет отключен, высможете беспрепятственно копаться в его бюджете. Как и в случае с мистификацией электронной почты, с помощью TALK можно помешать текст на экран другого пользователя.

Вам следует обратитьсяк исходному коду программы TALK, узнать, каким образом она посылаеттекст на другой экран, и использовать те же команды. Такие маневры в обход средств защиты являются неотъемлемым свойством команды TALK. Если выиспользуете настоящую команду TALK, чтобы послать приведенное в качествепримера сообщение об ошибке, получатель увидит, что это ВЫ, а вовсе несистемный администратор, послали это сообщение. Вам следует эмулироватьзаголовок TALK, в котором сообщается имя пользователя, пославшего текст. Вам придется также спуститься к основным операторам "send text", так каквам совсем не нужно, чтобы пользователь использовал опцию отказа от общения с вами. Известно, что мистификацию можно достаточно легко применять вбольшинстве систем - достаточно войти в режим онлайн и разобраться в исходных программах и руководствах.

Еще одна хитрость - послать с помощью TALK сообщение, которое сможет понять "умный" терминал. При использовании TALK вы не вводите слова в ответ на приглашение ОС - ОС просто помешает то, что вы набираете, на экран удаленного терминала. Один из способов обойти это основан на использовании удаленного аппаратного обеспечения. Некоторые "умные" терминалы обладают управляющей последовательностью Send или Enter, которая говорит терминалу, что необходимопослать текущую строку в систему так, будто пользователь ввел ее с клавиатуры. Можно использовать TALK, чтобы послать сообщение, содержащееподходящую управляющую последовательность для выполнения разных гнусностей, вроде отправки к вам конфиденциальных документов и т. п. Хакер может использовать в своих целях не только электронную почту икоманду TALK, но и любую другую команду, которая позволяет взаимодействовать с другим терминалом. Если вам попадется команда, дозволяющаятакое взаимодействие, изучите ее внимательно, чтобы посмотреть, как можно ее применить. Просмотрите также программы - нельзя ли с их помощью связаться с другими директориями на вашей собственной машине. Текстовый редактор GNU-EMACS, используемый в UNIX, позволяет переслать файл, с которым выработаете, в директорию другого пользователя. Если вы назвали свой файлo .loginn(2), то, когда бы ни загрузился тот пользователь, будет запус-каться этот резервный файл.

Если этот файл включает в себя передачу поэлектронной почте в ваш бюджет секретных данных того пользователя - тем лучше для вас.

Шифрование и дешифровка

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

Метод перебора в случае с ключами к зашифрованным файламс паролями действует гораздо эффективнее, чем атака самих паролей длявхода в систему. Вскоре вы наверняка найдете ключ для расшифровки, истанете обладателем пароля привилегированного пользователя! Атака с помощью перебора не всегда является необходимостью. Говорят осуществовании известной инверсии шифровального алгоритма, использующегося в некоторых ОС, включая старые версии VMS. К сожалению, сам я незнаю, в чем заключается данный метод инверсии, но я знаю, что существуютспособы алгоритмического обратного преобразования команды "crypt" в UNIX. Эта команда использует шифровальный алгоритм World War II Enigma,который был превосходен для своего времени, но не представляет собой загадки для современных суперкомпьютеров. Конечно, для расшифровки вам всеже потребуется какое-то время, но она не затруднит ваш компьютер, если унего достаточно "лошадиных сил". Впрочем, команда шифрования не очень широко используется из-за своейобщеизвестной уязвимости.

В основном "crypt" избегают по сентиментальнымпричинам. Шифр, наиболее часто использующийся для кодирования паролей, является версией государственного стандарта шифрования данных (DataEncryption Standart - DES). Вариант DES в UNIX не подходит для атаки спомощью перебора из-за невероятно сложных шифровальных ключей. Каким жеобразом версия в UNIX защищена от атак методом перебора? Как известно, файлы паролей в UNIX доступны для чтения, копирования ипечати, но сами пароли хранятся в зашифрованной форме. Однако это несовсем так: на самом деле файл паролей ВООБЩЕ не содержит никаких паро-лей. Когда новый пользователь входит в систему и вводит пароль, UNIX использует первые восемь символов этого пароля в качестве шифровального ключа для кодирования некоей константы (например, большого случайногочисла). Еще одна причина, по которой DES был избран для шифрования паролей, аключается в следующем: когда такой алгоритм используется в программномварианте, он действует медленно. А значит, атака с помощью метода пере-бора займет больше времени. Говоря об этой теме, необходимо заметить, что стандарт шифрованияданных может быть и не настолько безопасным, как некогда считалось.

Основой DES стала система безопасности под названием "Аю-иифер", разрабо-танная IBM в 1973 году для Национального бюро стандартов. Прежде чем DESбыл принят в качестве официального (стандартного) шифра США, сверхсек-ретное Агентство по национальной безопасности (NSA) вмешалось в это де-ло, понизив сложность шифровального алгоритма и скрыв основные аспектыего устройства. Это выглядело весьма подозрительно! Зачем бы NSA объяв-лять код безопасным, в то же время делая его менее безопасным? Критикипредупреждали, что в систему, возможно, была встроена лазейка. В начале 1992 года два израильских ученых объявили, что они нашлиспособ победить систему. Если содержание зашифрованного сообщения ко-му-либо известно, с помощью определенных математических приемов можновычислить ключ, использованный для шифровки сообщения. Затем не составиттруда прочесть тексты, зашифрованные с помощью того же ключа.

Как бы то ни было, со времен семидесятых придумано уже немало гораздо лучших шифров. В некоторых системах силовая атака на зашифрованные файлы затрудненатем, что шифровальный ключ, применяемый пользователями, шифрует не сам текст, а некую случайную последовательность символов, а эти символы, всвою очередь, зашифровывают текст. Чтобы стать хакером, не обязательнобыть слишком уж проницательным, достаточно просто обладать умом. Но длятого, чтобы взламывать алгоритмы шифровки данных, необходимо быть нетолько умным и проницательным, но еще и разбираться в математике.

К счастью для тех, кто не может похвастаться калькулятором вместо мозгов, существует много других методов для прочтения зашифрованных файлов. Если у вас есть возможность загрузить файл паролей в текстовый редактор, вы сможете сменить зашифрованный пароль системного адми-нистратора на ваш собственный; но сохранить внесенные изменения вам неудастся, если у вас нет статуса привилегированного пользователя. Но такли это? Компьютерная зашита системы порой осуществляет проверку достоверноститолько на самых высоких уровнях защищенности. Пользователь, не обладаю-щий определенным уровнем доступа (а следовательно и защищенности) не мо-жет использовать команды высокого уровня для уничтожения, перемещения,использования и изменения файлов; к командам же машинного уровня, скажемдля перемещения головки чтения,записи в определенное положение, это неотносится. Если бы так происходило со всей доступной областью памяти,каждый файл можно было бы полностью считать или переписать побитно. Еслиу вас имеется доступ к программному обеспечению или к дисковым носителям, вы сможете изменить расположение хранящихся личных данных, поменявзашифрованный пароль системного администратора на свой. С другой стороны, вы можете обнаружить, что компьютерная зашита неразрешает использование даже инструкций низкого уровня. Но не сдавайтесьслишком рано!

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

Применение программ

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

"Троянские кони" могут делать многие веши - собирать пароли, созда-вать ложные приглашения к входу в систему, лишать файлы защиты от чтения, записи, либо создавать впечатление фатального сбоя системы (а когдапользователь выключит свой терминал и уйдет, вы сможете набрать секрет-ный управляющий код, который позволит "троянскому коню" снова "вло-миться" в бюджет этого пользователя). "Троянские кони", безусловно, составляют значительную часть хакерского арсенала, но существует и другойспособ повышения уровня доступа с помощью программ - использованиекомпьютерных вирусов.

Вирусы

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

Логические бомбы опасны, но, по крайней мере, известно, чего от нихждать. Вирусы же и черви, в отличие от логических бомб, не только опасны, но и непредсказуемы. Я убежден, что настоящий хакер никогда не создаст червя, поскольку они слишком деструктивны и бессмысленны. Но он может воспользоваться вирусом, при условии, что вирус не причинит вреда системе, самоуничтожаясь по мере своего продвижения, и ни разу не появится на одном и том же месте дважды. Вирус может пересылать пароли с помощью электронной почты по определенному адресу, с помощью метода перебора в конце концов проникать в системы и т. п. Существует много путей применения вирусов, но их трудно использовать безопасно. Ходили слухи об одном микрокомпьютерном вирусе, который, если бы он действительно существовал, согрел бы сердце каждого хакера. Он назывался AT&Tack Virus. Скопировав себя на компьютер, он сразу же пытался найти Hayes-модем или совместимый. Если таковой существовал, вирус выключал динамик модема и соединялся с заранее запрограммированным номером. После этого, естественно, любой, кто находился по вызванному им номеру, получал удаленный доступ к вашему компьютеру. Лично мне кажется, что это не более, чем слух. Разумеется, на данный момент ни одна из коммерчески доступных программ обнаружения вирусов несодержит никаких упоминаний о AT&Tack Virus. Но мне кажется, что такая штука лучше работала бы в качестве "троянского коня", размешенного в графической программе, нежели в качестве вируса.

Одним из достоинств "троянских лошадок" и вирусов является конструирование каналов для сбора данных и пересылки их к вам в удобочитаемой форме. Допустим, вирус присоединяется к программе загрузки и собирает пароли. Нет смысла отправлять этот вирус гулять по всему свету, не питая надежд заполучить в свои руки те пароли, которые он соберет. Как я уже упоминал, вирус может периодически пересылать вам пароли с помощьюэлектронной почты (но только не в ваш легальный бюджет!). Можно также шифровать почту перед отправкой. Проблема с шифрованиемсостоит в том, что вам понадобится ключ. Любой, кто обнаружит ваш вирусили "троянского коня", легко сможет вычислить ваш ключ и понять, что започту пересылает вирус (или какие временные файлы создает "троянскийконь"). Значит, вам придется зашифровать этот ключ... а для этого нуженеще один ключ... а его тоже надо как-то обезопасить... значит, еще одинключ... И так - до бесконечности. Но давайте разберемся в ситуации.

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

Когда соберется необходимое количество нулей и единиц (восемь для ASCII-кодов), программа переводит их в символы сообщения. Например,01000001 - это заглавная "А". 01000010 - "В", и т. д. Чтобы послатьвосьмизначный пароль, вашему вирусу или "троянскому коню" потребуется 64уничтожения и восстановления файла X. Биты будут пересылаться по одному, тогда, когда спрятанная программа сможет делать это незаметно. КАК выбраться ИЗ заточения на волю Допустим, вы совершили взлом, но единственный доступ, который вы обнаружили, это доступ к двум-трем командам или неинтересному информационному блоку. В этом случае вам придется думать, как выбраться из этойпрограммы-тюрьмы и вернуться на уровень операционной системы. Если прежде вы серьезно занимались программированием, ваша задача облегчится.

Программист знает типы лазеек и ошибок, а также способы их обнаружения. Если он завязнет в бюджете, который запускает информационную программу, то использует все, даже самые неожиданные, способы в поисках вещей, от которых человек, создавший эту программу, не додумался защититься, в надежде получить сообщение об ошибке и вырваться к приглашению ОС. Вот что можно попробовать. Вводить неверные, неподходящие или слишком длинные ответы на пригла-шения; особенно подойдут буквенные ответы вместо требуемых числовых. Или, если вас просят ввести число, которое будет анализироваться функцией, попробуйте ввести слишком маленькое или несуразно большое. Попытайтесь вводить ответы с прерыванием, типа Ctrl-Z, Ctrl-C или даже Ctrl-P.Постарайтесь использовать команду "Find" для поиска вне доступных ресурсов. Посмотрите, нельзя ли установить программы для несуществующего аппаратного обеспечения или объема памяти. Если в ловушке имеется нечто вроде текстового редактора, например,программы для пересылки почты системным операторам, попробуйте создатьрезервный файл и послать ваше сообщение в качестве команды на выполне-ние. Можно также попробовать создавать несоразмерно большие сообщения.

Если в редакторе имеются специальные функции проверки текста, напишитегромадный абзац, поместите в буфер и скопируйте под первый. Затем проделайте то же самое с двумя абзацами, и т. д., до тех пор, пока программалибо не даст сбой, либо не разрешит вам продолжать. Если это письмо, посмотрите, что получится, если вы попытаетесь сохранить или послать всесообщение целиком. Вы можете оказаться в программе, похожей на обычную ОС или управляющую программу, в которой меню со списком опций либо недоступно, либо вызывается с помощью команды HELP. Вам выдается приглашение к вводу команды. К некоторым прикладным командам добавляется имя файла, с которым высобираетесь работать (например, для редактирования файла с помощью текс-тового процессора: "WORD_PROC STORY.DOC"). Если система работает в режиме онлайн, попро-буйте ввести таким образом слишком много данных ("WORD_PROC STORY.DOCFILE.ONE FILE.TWO...") или неподходящие данные. Например: WORD_PROC WORD.PROC WORD_PROC \directoryname WORD_PROCnonexistent-filename WORD_PROC ,etc,date, [или другая команда].

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

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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.