Б
ытует мнение, что стремление получить доступ к системе UNIX в качестве
пользователя root столь же неискоренимо, как наркотическая зависимость.
Причина интереса к таким привилегиям уходит корнями в те времена, когда
система UNIX только появилась на свет, поэтому мы предпримем небольшой истори-
ческий экскурс и напомним, как эта система возникла и как развивалась.
root: в поисках сокровища
В 1969 году Кен Томпсон (Ken Thompson), к которому несколько позднее присоеди-
нился его коллега по работе в компании AT&T Дэнис Ричи (Denis Richie), решили, что
проект MULTICS (Multiplexed Information and Computing System) развивается слишком
медленно. Они приняли решение "подтолкнуть" этот проект, и в результате появилась
новая операционная система,
названная
UNIX, которая навсегда изменила мир компь-
ютеров. Система UNIX проектировалась как мощная, устойчивая, многопользователь-
ская операционная система, которая должна была показывать прекрасные результаты
при выполнении программ, особенно небольших программ, названных инструментами
(tool). Обеспечение безопасности не было ключевым требованием к системе, однако при
правильном подходе к настройке UNIX может обеспечивать высокую степень защиты.
Популярность UNIX стала результатом ее открытости для доработок и расширений
функций ядра системы, а также благодаря многочисленным небольшим инструментам,
делающей эту систему столь мощной. Первые работы по созданию и развитию UNIX
велись в основном в компании Bell Labs или в университетах,
где
безопасность обеспе-
чивалась путем физических мероприятий. Иными словами, любой, кто имел физиче-
ский доступ к системе UNIX, автоматически считался
авторизированным
пользовате-
лем. Очень часто защита учетной записи root с
помощью
пароля считалась чем-то не-
нужным и раздражающим, в связи с чем она отключалась.
Хотя
за
последние 30 лет операционная система UNIX и ее клоны были
значительно усовершенствованы, отношение к безопасности в UNIX изменилось
незначительно.
Многие
недобросовестные разработчики и хакеры изучают ее
исходный код в поиске изъянов в системе защиты. Более того, считается престижным
опубликовать сведения о найденном недостатке в каком-нибудь списке рассылки,
посвященном вопросам безопасности, например Bugtraq. В этой главе мы также будем
вести себя как хакеры, чтобы узнать, как можно получить скрытый доступ к системе в
качестве пользователя root и зачем это нужно. При чтении материала этой главы не
забывайте, что в системе UNIX имеется два уровня доступа — в качестве всемогущего
суперпользователя root и в качестве любого другого пользователя. Таким образом,
суперпользователя не может заменить никто!
Краткий обзор
Как вы, должно быть, помните, в главах 1-3 мы рассматривали, как идентифициро-
вать систему, работающую под управлением UNIX, и провести инвентаризацию инфор-
мации, доступной на этой системе. Для этого мы использовали средства сканирования
портов, такие как
nmap,
позволяющие установить перечень открытых TCP/UDP-портов,
а также определить версию операционной системы или устройства. Для инвентаризации
служб
RPC
и точек монтирования NFS мы использовали, соответственно, утилиты
rpcinfo
и
showmount.
Мы также использовали такую универсальную утилиту, как
netcat (nc) для сбора маркеров, с помощью которых можно легко установить, какие
приложения и каких версий используются на исследуемом компьютере. В этой главе мы
продолжим изучение методов исследования системы UNIX. Необходимо помнить, что,
330 Часть II.
Хакинг
систем