На Интернет-сервере компании «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. Имея такую высокую привилегию, очень просто получить полный контроль над системой.
Тем временем атаки l0pht велись и на других «фронтах». То, что большинство хакеров и специалистов в области безопасности называют «рытье в помойках», Mudge величает «физическим анализом». «Мы послали ребят заняться физическим анализом. Один из сотрудников (компании клиента), как я понял, недавно был уволен, и вместо того, чтобы уничтожить все свои бумаги, просто выбросил их в помойку. Наши ребята отыскали их среди мусора. Там было множество авиабилетов, руководств и масса других документов для внутреннего пользования».
«Я хотел показать клиенту, что хорошая система безопасности состоит не только из компьютерной безопасности».
«Наша работа была совсем простой, поскольку они не воспользовались измельчителем. Естественно, гораздо проще выбросить все в помойку, чем пропускать через измельчитель. У меня до сих пор где-то хранится этот мусор».
Ребята из «физической» команды занимались и тем, что проходили в помещения компании, используя достаточно простой, а в правильных обстоятельствах практически беспроигрышный метод, известный под названием «хвостиком в ворота». Суть его в том, что вы идете сразу за сотрудником компании, когда он проходит через дверь в охраняемое помещение, это особенно успешно работает в местах, близких к кафетерию или другим местам, где собираются сотрудники компании. Многие сотрудники, особенно находящиеся на невысоких должностях. предпочитают не возражать против того, что прямо вслед за ними кто-то входит в помещение компании через дверь с секретным замком, опасаясь, что этот человек может быть выше их рангом.
Еще одна команда l0pht занималась атаками на телефонную систему компании и систему голосовой почты. Обычно такая работа н а ч и н а е т с я с того, что выясняется производитель и тип системы, которой пользуется компания-клиент, затем компьютеры устанавливаются в режим «грубой силы» — суть его в том, что пробуется одно расширение за другим в поисках сотрудников, которые не меняют своих паролей или же используют легко узнаваемые пароли. После того, как отыщется уязвимый телефон, атакующие получают возможность прослушивать и сохранять голосовые письма. (Хакеры телефонных систем — «фрикеры» — используют тот же метод для того, чтобы делать звонки за счет других компаний).
В режиме «грубой силы» команда l0pht выявила телефоны, на которые отвечали модемы dial-up. Иногда эти соединения оставляют незащищенными, полагаясь на уже известный нам глупый метод «безопасность через неясность», часто они находятся с внутренней стороны межсетевого экрана.
ЗАТЕМНЕНИЕ
Время шло, команда постепенно накапливала все больше и больше полезной информации, но Mudge никак не мог найти хорошую идею, как ему заставить систему Apache перезагрузиться, после чего он смог бы получить контроль над сетью. Затем произошло несчастье, которое оказалось большой удачей для нашей команды. «В выпуске новостей я услышал, что произошла авария, и отключилось электричество как раз в том районе города, где находилась наша компания.
Произошла трагедия: сотрудник электрокомпании погиб при взрыве оборудования на другом конце города, но это привело к отключению электричества во всем городе.
Я подумал, что если восстановление энергосистемы займет достаточно много времени, то питание сервера должно отключиться».
Это означало бы, что отключится и сервер. После того, как восстановится питание в городе, система будет перезагружена.
«Я сидел и постоянно проверял Интернет-сервер и вдруг он отключился. И м н а д о б у д е т его перегрузить. В с е складывалось д л я н а с просто прекрасно. После включения системы сервер будет перезагружен и Apache начнет работать с привилегиями root, как мы и планировали».
В этот момент l0pht получила возможность полностью проникнуть в компьютеры, что стало для проверяющих «отправной точкой полного сканирования и атаки». Следуя терминологии Карлоса, этот день можно назвать «началом работы».
Команда разработала специальную программу, которая делала невозможным их отключение от системы. Корпоративный межсетевой экран не предназначен для того, чтобы блокировать исходящий трафик, и несложная программа Mudge, установленная на одном из серверов «Newton», каждые несколько минут соединялась с компьютером под его контролем. Такое соединение обеспечивало командный интерфейс типа «команда-уровень», аналогичный тому, что используется пользователями Unix, Linux и старых операционных систем DOS. Другими словами, компьютер в компании «Newton» регулярно предоставлял команде Mudge возможность вводить команды в обход корпоративного межсетевого экрана.
Чтобы их не обнаружили, Mudge назвал свой файл именем, замаскированным под типичные названия файлов этой системы. Любой. заметивший этот файл, предположил бы, что он является нормальной программой.
Карлос занимался изучением базы данных в надежде найти данные о сотрудниках, «Если вы сможете продемонстрировать CIO (Chief Information Officer — руководитель ИТ-подразделения компании) не только его зарплату, но и размер премий, то он сразу же напишет вам отзыв, что вы узнали все». Mudge настроил «нюхач» на все электронные письма, входящие и исходящие из компании. Когда сотрудник «Newton» занялся рутинной проверкой межсетевого экрана, l0pht знали об этом. Они были буквально шокированы тем, что для входа в межсетевой экран использовался открытый текст.
За короткое время l0pht проникли во всю сеть и собрали все необходимые доказательства этому. Mudge говорит: «Вы знаете, я думаю, именно поэтому большинство компаний не любит проводить тесты безопасности в своих сетях. Они знают, что все обстоит очень плохо».
РАСКРЫТИЕ ГОЛОСОВОЙ ПОЧТЫ
Команда, занимающаяся исследованием телефонных систем. обнаружила, что некоторые представители руководства «Newton», занимающиеся делом покупки l0pht имеют на своих ящиках голосовой почты пароли, установленные там изначально по умолчанию. Mudge со своей командой начал прослушивать их почту — это было забавно.