KnigaRead.com/

Денис Ферри - Секреты супер хакера

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Денис Ферри, "Секреты супер хакера" бесплатно, без регистрации.
Перейти на страницу:

Через несколько секунд вы замечаете, что Сюзи набрала команду "SETPASS", а еще немного погодя загружаетесь под ее именем, получая, таким образом, все привилегии ее более высокого уровня. И это срабатывает всегда! Но вся хитрость в том, что необходимо знать, как именно следует проделать мистификацию.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Впрочем, команда шифрования не очень широко используется из-за своей общеизвестной уязвимости. В основном "crypt" избегают по сентиментальным причинам. Шифр, наиболее часто использующийся для кодирования паролей, является версией государственного стандарта шифрования данных (Data Encryption Standart - DES). Вариант DES в UNIX не подходит для атаки с помощью перебора из-за невероятно сложных шифровальных ключей. Каким же образом версия в UNIX защищена от атак методом перебора?

Как известно, файлы паролей в UNIX доступны для чтения, копирования и печати, но сами пароли хранятся в зашифрованной форме. Однако это не совсем так: на самом деле файл паролей ВООБЩЕ не содержит никаких паролей. Когда новый пользователь входит в систему и вводит пароль, UNIX использует первые восемь символов этого пароля в качестве шифровального ключа для кодирования некоей константы (например, большого случайного числа).

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*