Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Эксплоиты(часть 1)

Рубрика: Безопасность -> Уязвимости Linux-сервера
Метки: | |
Пятница, 16 января 2009 г.
Просмотров: 7628
Подписаться на комментарии по RSS

     John Ripper - программа подбора паролей.

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

     John Ripper - очень быстрая и довольно гибкая программа для взлома Unix-паролей. Существуют версии John Ripper для Unix/Linux, DOS и Windows. Последнюю версию программы всегда можно найти в Интернете.


     В файле /etc/passwd содержится только информация о пользователях, включая их логин, а сами пароли в зашифрованном виде хранятся в файле /etc/shadow. Чтобы расшифровать пароли, используется команда unshadow. В результате ее действий получится копия файла /et/passwd, но в поле пароля будет расшифрованный пароль, а не символов х. Программу unshadow нужно запускать от имени root:

# ./unshadow /etc/passwd /etc/shadow > passwd.l

     Особенность первой команды в том, что вы можете указать любые файлы passwd и shadow, которые вы «получили» с другой системы. А команда John Ripper использует ваши системные файлы.

     Флаг SUID - полезная возможность и потенциальная опасность.

     Иногда обычным пользователям нужны права суперпользователя root, например, для завершения работы системы (в случае домашних компьютеров), для изменения пароля или оболочки. В Unix-системах такой доступ можно получить с помощью флага setuserid (SUID).

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

     Примером может послужить программа XFree86, которой нужен доступ к аппаратным средствам компьютера, обычно это привилегия пользователя root. Не будут же все пользователи, которым нужен графический интерфейс, работать от имени root. Поэтому пользователь root устанавливает флаг SUID для файла /usr/X11R6/bin/XFree86, который позволяет выполнять эту программу обычным пользователям.

     Аналогично флагу SUID существует флаг SGID (set group id). Принцип тот же, только программа запускается от имени группы и ей доступны все действия, которые разрешены группе. Обычно SGID устанавливается для «игрушек», которым необходим доступ для общего файла очков.

     Флагами SUID и SGID могут злоупотреблять крекеры. Наиболее часто распространенная атака крекеров - это переполнение буфера SUID-программ, с помощью которого крекеры могут получить доступ к привилегиям пользователя root.

     Крекер может не только использовать те программы, для которых флаг SUID установил сам администратор, но и, получив привилегии root, установить этот флаг для других исполняемых файлов. Обычно, чтобы администратор ничего не заметил, SUID-версия оболочки /bin/sh копируется в каталог /tmp, а старая остается на месте.

     Администратор проверяет каталог /bin на наличие SUID-программ и, успокоившись, идет домой. А в это время крекер регистрируется в системе как обычный пользователь, а затем запускает sh из каталога /tmp.

     Это пример черного хода (backdoor), с помощью которого крекер может снова получить права root. Запустив /tmp/sh, крекер получит полномочия root и сможет выполнять привилегированные команды. В современных дистрибутивах этот трюк с флагами SUID/SGID не пройдет: данная уязвимость устранена.

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

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



(обязательно)