Интерактивный доступ к командной оболочке
Обсудив два основных метода получения доступа к системе UNIX, необходимо поговорить и об методах, используемых для получения доступа к командной оболочке (shell account access). Необходимо помнить, что основной целью любого взломщика является получение доступа к командной строке или к командной оболочке интересующей его системы. Традиционный метод получения интерактивного доступа к командной оболочке заключается в удаленной регистрации на сервере UNIX с помощью таких программ, как telnet, rlogin или ssh. Кроме того, можно выполнять команды, используя утилиты rsh, ssh, или rexec, не проходя этапа удаленной регистрации.
У вас может возникнуть вопрос – а что, если все службы, поддерживающие удаленный доступ, отключены или заблокированы на уровне брандмауэра? Может ли в этом случае взломщик получить доступ к командной оболочке целевой системы? Хороший вопрос. Давайте рассмотрим один пример, на котором можно исследовать различные методы, с помощью которых взломщик может получить интерактивный доступ к командной оболочке UNIX. Эти методы иллюстрируются на рис. 8.1.
Рис. 8.1. Упрощенная архитектура демилитаризованной зоны
Предположим, что взломщик пытается получить доступ к Web-серверу, работающему под управлением операционной системы UNIX, который находится в сегменте так называемой "демилитаризованной зоны" (DMZ) – небольшой сети, размешенной за промышленным маршрутизатором или брандмауэром, защищающим внутреннюю сеть. Тип и модель брандмауэра или маршрутизатора не имеют особого значения. Важно лишь понимать, что такое устройство относится к классу маршрутизирующих брандмауэров, которые не выполняют функций сервера-посредника ни для одной из служб. Предположим, что единственные службы, которая поддерживается брандмауэром, – это HTTP (порт 80) и HTTP поверх SSL (HTTPS) (порт 443).
Теперь предположим, что Web-сервер не может противостоять попыткам взлома, например, основанным на изъяне PHF. Кроме того, пусть Web-сервер работает на уровне привилегий пользователя nobody, что является широко распространенной практикой и считается хорошим решением с точки зрения безопасности. Таким образом, если взломщику удастся проникнуть на Web-сервер, используя недостатки в обработке ввода PHF, он сможет выполнять код на сервере с уровнем привилегий пользователя nobody. Это, конечно, важно, но возможность запуска выполняемого кода – лишь первый шаг в получении интерактивного доступа к командной оболочке.