ОСНОВНЫЕ ПРАВИЛА

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

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

Еще одним обязательным шагом перед тем, как проверка начнется. всегда становится определение клиентом основных правил — какая часть бизнеса компании должна быть включена в проверку, а какая — останется за ее пределами. Является ли эта проверка чисто технической атакой, чтобы посмотреть, смогут ли проверяющие получить доступ к важной информации, найдя незащищенные участки системы или пробравшись через межсетевой экран? Или это проверка приложений общедоступного Интернет-сайта, или внутренней компьютерной сети, или всей системы? Должны ли быть включены в проверку атаки социальных инженеров — попытки обмануть сотрудников и получить неавторизованную информацию? А как быть с физическими атаками, в процессе которых проверяющие пытаются проникнуть в здание, обманув охрану или просочившись через вход «только для сотрудников»? А как насчет попыток получить информацию при помощи «рытья в помойках», то есть, просматривая все мусорные корзины в поисках выброшенной ценной информации? Все это должно быть оговорено заранее.

Часто компании заказывают лишь ограниченную проверку. Один из членов группы l0pht, Карлос, считает такую практику нереальной, подчеркивая, что «хакеры так не работают». Он предпочитает более агрессивный подход, как бой «без перчаток», где нет никаких ограничений. Такой тип проверки не только более результативен и ценен для клиентов, но более привлекателен и для самих проверяющих. Как говорит Карлос, «это гораздо приятнее и интереснее». В данном случае его желания были удовлетворены: компания «Newton» согласилась на неограниченную атаку.

Проверка безопасности по сути своей основана на доверии. Компания, которая приглашает людей для проверки, должна полностью доверять им, чтобы согласиться на проведение оценки безопасности. Более того, большинство бизнес-компаний и правительственных агентств требуют заключения соглашения о неразглашении ( N D A — non disclosure agreement), чтобы законным образом защитить всю свою информацию от неавторизованного раскрытия.

Для проверяющих вполне естественно подписывать NDA. поскольку они вполне могут добраться до секретной информации. (Конечно, N D A кажется чрезмерной предосторожностью: если компания без разрешения использует информацию одного клиента, то она, скорее всего, лишится всех остальных. Тем не менее — береженого Бог бережет, как говорится). Кроме того, проверяющих просят подписать еще одну бумагу о том, что они попытаются не нарушать текущего бизнеса компании.

Команда l0pht для проверки компании Newton состояла из семи сотрудников, которым предстояло работать поодиночке или попарно, причем каждый из членов команды отвечал за тот или иной аспект деятельности компании.

АТАКУЕМ !

Имея на руках «индульгенции», члены команды l0pht могли быть настолько агрессивны, насколько хотели, они могли даже «шуметь» — имеется в виду, производить такие действия, которые могли бы привлекать к ним внимание, чего обычно проверяющие стараются избегать. Тем не менее, они надеялись остаться невидимыми. «Гораздо круче получить всю информацию так, чтобы тебя до конца не смогли обнаружить. Мы всегда стараемся так поступать», — говорит Карлос.

Поставив перед собой задачу реализации технической атаки на сеть, Mudge был удовлетворен тем, что системный администратор «закрыл перед ним ворота», то есть обезопасил компьютерную систему, сделал то, что должно быть сделано, когда сервер соединен с такой открытой сетью, как Интернет. Он искал файлы и директории, надеясь найти такие, куда можно было бы записать что-нибудь. Если бы ему это удалось, он бы смог модифицировать систему или конфигурационный файл — сделать решающий шаг к взлому системы.

На Интернет-сервере компании «Newton» работало популярное серверное ПО под названием Apache. Первой лазейкой, которую обнаружил Mudge, стал межсетевой экран компании Checkpoint, в котором по умолчанию было сконфигурировано правило, которое пропускало пакеты, исходящие из UDP или ТСР-порта 53 и всех портов с номерами выше 1023. Его первой мыслью было попытаться добраться до их системы экспорта файлов при помощи NFS, но он быстро понял, что в межсетевом экране есть правило, блокирующее доступ к району NFS (порт 2049).

Хотя основные системные сервисы были заблокированы, Mudge знал одну неописанную особенность операционной системы Solaris, которая связывает rpcbind (the portmapper) с портами выше 32770. Программа portmapper приписывает динамические номера портов определенным программам. С помощью portmapper он смог отыскать динамический порт, который был предназначен для услуги mount daemon (mountd). В зависимости от формата запроса, говорит Mudge, «mount daemon» находит запрос NFS (Network File System). поскольку он использует тот же код. «Я получил mount daemon из portmapper. а затем обратился к mount daemon с моим „NFS-запро-сом“». Используя программу под названием nfsshell, он смог удаленно з а г р у з и т ь файловую систему. Mudge говорит: « М ы быстро получили список dial-up номеров. После этого перегрузили всю их систему экспорта файлов. Мы получили полный контроль над системой».

Mudge обнаружил также, что на сервере знаменитую «PHF-дырку» (см. Главу 2 «Когда террорист звонит»). Он смог создать текст PHF C G I для выполнения произвольной команды, разместив строку Unicode перед командой запуска. Просматривая систему с помощью PHF, он понял, что процесс сервера Apache выполняется от имени пользователя «никто». Эта ошибка означала, что он мог переписать содержание файла httpd.conf.

Его стратегия заключалась в том, чтобы изменить конфигурационный файл Apache так, чтобы при следующей перезагрузке Apache сервер работал с привилегиями системного администратора (root account). Ему оставалось найти путь для изменения конфигурации таким образом, чтобы он мог изменить привилегии работы сервера с Apache.

Работая вместе с человеком по кличке Hobbit, они нашли такой способ с помощью программы netcat и нескольких программистских штучек, позволяющих установить связи между уровнями в системе программ. Поскольку системный администратор произвольно менял владельцев файлов в директории « c o n f » на «никто», Mudge смог использовать команду « s e d » для редактирования httpd.conf, так что в следующий раз при запуске Apache он бы работал, как корневая директория root, (лазейка была устранена в следующей версии Apache).

Поскольку все его изменения не могли заработать до нового запуска Apache, ему пришлось какое-то время подождать. Как только сервер будет перезагружен, Mudge сможет выполнить определенные команды, имея привилегии системного администратора через все ту же PHF-дырку: раньше эти команды выполнялись от имени пользователя «никто», но теперь Apache имел бы привилегии root. Имея такую высокую

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату