Выбрать главу

ОС управляют работой всего компьютера: контролируют распределение ресурсов, использование памяти, запуск программ. Когда вы разберетесь в этой абсолютной программе, то поймете, что представляет собой управление компьютером.

Вот некоторые из операционных систем, с которыми вы, вероятно, столкнетесь: UNIX, MS-DOS или PC-DOS (на IBM-совместимых), PRIMOS, RSTS (на PDP-11) и VMS. В последнее время вместе с компьютерами нового поколения все большее распространение получили Windows (Windows 3.11 или Windows 95) капризные и "навороченные" графические оболочки, которые, тем не менее, дают знающему человеку почти неограниченный простор для всевозможных забав.

Вам необходимо разбираться в ОС, поскольку:

1. Если вы не будете знать команд и синтаксиса, вы не сможете заставить компьютер работать на себя.

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

Вам необходимо ознакомиться с ограничениями ОС.

4. Разобравшись в ОС, вы узнаете, каким образом компьютерные менеджеры станут вас ловить, выслеживать и не давать вернуться обратно.

Из этого следует, что, если вы хотите стать НАСТОЯЩИМ ХАКЕРОМ, вы должны кое-что знать о компьютерах. Если вы хотите управлять компьютером, вы должны уметь приручать системное программное обеспечение, а в первую очередь - операционную систему.

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

Вас это пугает? Тогда, возможно, вы не совсем понимаете, что такое быть настоящим хакером.

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

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

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

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

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

В оставшейся части этой главы приведены примеры подобных технически ориентированных ха-керских методов. Причина проста и неоспорима:

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

А теперь давайте вернемся к началу главы: что же все-таки делать после того, как вы окажетесь внутри?

оглядитесь ВОКРУГ

Что можно обнаружить, взломав систему или сеть? Да что угодно!

Там могут быть файлы для чтения, программы, которые можно запустить, пути соединения одного компьютера с другими, или одной сети с другими сетями.

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

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

WashingtonUs1ername:cherrytree2Password:

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

Unsuccessful login of user cherrytree @ Tue, Mar 24,1992, 14:16:03

Теперь вам остается только перебрать различных пользователей системы, пока вы не найдете того, кому принадлежит этот пароль.

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

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

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