• имя или фамилия пользователя;
• то же, но в нижнем регистре.
Забегая несколько вперед, остановимся на ситуации со вскрытием паролей. Во-первых, сегодня трудно предположить, что существует еще какой-нибудь ускользнувший от внимания хакеров способ, позволяющий удаленно выкрасть файл /etc/passwd для последующего анализа (его, безусловно, можно получить, используя сценарий 1 или 2 через изъян в демоне, но это бессмысленно, потому что злоумышленник в этом случае и так стал суперпользователем на вашей машине). Во-вторых, в современных версиях UNIX появился механизм так называемого «затенения» (shadowing) файла паролей: он перемещается в другое место и становится недоступным обычным пользователям по чтению. Но это не очень эффективное средство, что связано (опять-таки!) с идеологией UNIX, и вызов функции getpwent() в некоторых случаях позволяет получить пароли пользователей в классическом виде. В-третьих, иногда функция crypt() заменяется на другую (еще более медленную) хэш-функцию, и запуск старых программ-взломщиков ни к чему не приводит. Обычно это алгоритм MD5, скорость которого в 50 раз меньше, чем crypt(). Аналогично может увеличиваться и размер привязки, например до 24 бит. Наконец, среди пользователей в последние годы проводится большая «разъяснительная работа» по выбору стойких паролей, и процент успешно подобранных паролей с помощью атаки «по словарю» пусть медленно, но падает.
...
С другой стороны, количество подключающихся к Internet пользователей растет гораздо быстрее.
Однако психологический фактор останется до тех пор, пока с компьютером работает человек, и, наверное, никогда эксперты по компьютерной безопасности не дождутся от пользователя выбора таких простых и радующих душу паролей, как 34jXs5U@bTa!6. Поэтому даже искушенный пользователь хитрит и выбирает пароли типа hope1, user1997, pAsSwOrD, toor, roottoor, parol, gfhjkm, asxz. Видно, что все они, как правило, базируются на осмысленном слове и некотором простом правиле его преобразования: прибавить цифру или год, перевести через букву в другой регистр, записать слово наоборот, прибавить записанное наоборот слово, записать русское слово латинскими буквами, набрать русское слово на клавиатуре с латинской раскладкой, составить пароль из рядом расположенных на клавиатуре клавиш и т. п.
Поэтому не надо удивляться, если такой «хитрый» пароль будет вскрыт хакерами: они не глупее вас и уже вставили в свои программы те правила, по которым могут преобразовываться слова. В самых современных программах (Crack 5.0, John The Ripper) такие правила могут программироваться и задаваться с помощью специального языка самим хакером.
Приведем пример эффективности стратегии перебора. В отдельных книгах по безопасности предлагается выбирать в качестве надежного пароля два осмысленных слова, разделенных некоторым знаком, например good!password. Подсчитаем, сколько в среднем потребуется времени, чтобы сломать пароль, если такое правило включено в набор программы-взломщика (пусть словарь содержит 10 000 слов, разделительными знаками будут 10 цифр и 32 символа, включая знаки препинания):
или чуть больше полутора дней.
Итак, из всего вышесказанного ясно, насколько важно для вашей безопасности иметь хорошие пароли, причем вне зависимости от операционной системы, которую вы используете. К сожалению, рекомендации по поводу выбора паролей выходят за рамки этой книги.
Типичные атаки
Далее мы рассмотрим типичные атаки на UNIX-хосты, которые осуществлялись в недалеком прошлом, и попытаемся классифицировать их по предложенным типовым сценариям. Повторимся, что наша книга не является справочником по уязвимостям или учебником по взлому, поэтому в ней приводятся только атаки, которые характеризуют те или иные принципиальные проблемы безопасности UNIX. Почти все атаки даются с подробными листингами, так как потенциальный кракер все равно найдет их в Internet [22], а главное – на сегодняшний день они являются сильно устаревшими и представляют в большей степени теоретический интерес.
Атака с использованием анонимного ftpАнонимный ftp-сервис (обнаружить его чрезвычайно просто) мог служить легким способом получения доступа из-за частой неправильной конфигурации. Например, система могла иметь полную копию файла /etc/passwd в каталоге ~ftp/etc вместо урезанной версии со всеми вытекающими отсюда последствиями. Кроме того, можно было применить и более изощренный способ – в следующем примере домашний каталог специального пользователя ftp на victim.com доступен для записи. Это позволяет послать по почте самому себе файл /etc/passwd атакуемой машины. Для этого надо создать файл. forward в домашнем каталоге ftp, который выполняется, когда пользователю ftp посылается почта. Например:
evil % cat forward_sucker_file
Читать дальше
Конец ознакомительного отрывка
Купить книгу