Часто компании заказывают лишь ограниченную проверку. Один из членов группы 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.


Логин
Пароль
Запомнить меня