Глава 6. Мудрость и глупость проверок безопасности
Глава 6.
Мудрость и глупость проверок безопасности
Системы безопасности должны побеждать каждый раз, а атакующему достаточно и одной победы.
Дастин Дюкс
Начальник тюрьмы приглашает экспертов для того, чтобы проверить процедуры безопасности в его учреждении, заботясь о наличии любой бреши, которая позволит заключенному ускользнуть. Все компании думают в том же направлении, что и приводит их в фирмы, занимающиеся обеспечением безопасности, с просьбой проверить защищенность их Интернет-сайта и компьютерных сетей от вторжения хакеров, которые будут пытаться найти путь к важной информации, или местам ограниченного доступа, или же брешей в системах безопасности, которые могли бы поставить компанию на грань риска.
Для людей, занимающихся безопасностью, это носит специальное название «тесты проникновения», или, на профессиональном жаргоне «pen tests». Фирмы, занимающиеся безопасностью, которые проводят эти тесты, часто берут к себе на работу (вот уж сюрприз!) бывших хакеров. И основатели этих фирм часто являются людьми с таким хакерским прошлым, что предпочитают держать его в тайне от своих клиентов. В том, что профессионалы в области безопасности приходят из хакерской среды, есть глубокий смысл, поскольку настоящий хакер хорошо знает, как все традиционные, так и нетрадиционные ходы, которые компании непреднамеренно оставляют открытыми в свои внутренние «святая святых». Многие из этих бывших хакеров знают «с младых ногтей», что термин «безопасность» в большинстве случаев употребляется неправильно.
Любую компанию, которая заказывает «pen test» и ожидает результатов, чтобы убедиться в том, что их система нетронута и не имеет брешей, ожидает сильное разочарование. Профессионалы в бизнесе проведения проверок безопасности часто отыскивают одни и те же старые ошибки: компании просто не прилагают достаточно усилий к тому, чтобы достойно защитить свою ценную информацию и компьютерные системы.
Причина, по которой компании и государственные агентства проводят проверку безопасности, заключается в стремлении узнать истинное положение вещей в данный момент времени. Более того, они могут ощутить прогресс после устранения найденных уязвимостей. Тест проникновения в некотором смысле аналогичен электрокардиограмме. На следующий день после проверки хакер может проникнуть в сеть, используя новые обнаруженные им бреши в ПО, хотя проверка безопасности прошла «на ура».
Поэтому проверять безопасность в надежде, что она подтвердит правильность действий компании по защите ценной информации, просто глупо. Результат скорее всего докажет обратное, что и демонстрируют следующие истории — одна о консалтинговой компании, другая — о биотехнической фирме.
ОДНОЙ ХОЛОДНОЙ ЗИМОЙ
Не так давно несколько менеджеров и руководителей большой И Т —компании в Новой Англии собрались в своей комнате для переговоров, чтобы пообщаться с двумя консультантами. Могу себе представить, как технологические эксперты компании удивились, увидев рядом с собой за столом консультанта Питера Затко. в недалеком хакерском прошлом хорошо известного под именем Mudge.
В начале девяностых годов Mudge с приятелями собрал единомышленников, чтобы работать вместе в небольшой комнатке на складе в Бостоне; эта группа стала уважаемым игроком на рынке компьютерной безопасности и стала называться l0pht. или, говоря более точно, l0pht Heavy Industries. (Имя пишется с маленьким 1, нулем вместо буквы «о», затем в хакерском стиле «ph» вместо звука «ф» и произносится «лофт»). После того, как операции становились все более успешными, и репутация фирмы укреплялась. Mudge стали приглашать для того, чтобы он мог поделиться своими знаниями. Он читал лекции в таких местах, как школа военной стратегии в Монте-рее на тему «Информационное оружие» — как проникнуть во вражеский компьютер и нарушить его работу, не будучи замеченным, а также о технологиях разрушения информации и т.п.
Одно из самых популярных средств для компьютерных хакеров (а иногда и для сотрудников безопасности) — это пакет программ под названием l0phtCrack. Волшебные свойства этой программы воспринимаются теми, кто ее использует, как должное, но я подозреваю, что многие другие люди ее люто ненавидят. Группа l0pht привлекла внимание СМИ, поскольку именно ее члены написали эту программу, которая быстро взламывает множество закодированных паролей. Mudge был соавтором в создании l0phtCrack и одним из основателей Интернет-сайта, который сделал эту программу доступной для хакеров и любого заинтересованного человека, сначала бесплатно. а потом — за деньги.
ПЕРВАЯ ВСТРЕЧА
Запрос, который получила компания Lopht от консалтинговой компании (мы будем называть ее «Newton»), возник после того, как компания решила расширить спектр услуг, который она предлагала своим клиентам, добавив в него тесты безопасности. Вместо того, чтобы нанимать новых людей и постепенно строить соответствующий отдел, они решили обратиться к существующим организациям за теми решениями, которые они могли бы купить и использовать в своих целях. В начале встречи один из сотрудников компании изложил эту идею: «Мы хотим купить вас и сделать частью нашей компании». Mudge вспоминает реакцию:
«Наша реакция была типа: „Хорошо, но… вы нас совсем не знаете“. Мыто знали, что они были глубоко заинтересованы в нас благодаря тому шуму, который СМИ подняли по поводу l0pht».
Отчасти, чтобы выиграть время, необходимое для того, чтобы привыкнуть к мысли о продаже компании, отчасти из-за того, что он не хотел форсировать сделку, Mudge решил выбрать тактику выжидания.
«Я сказал: „ В ы просто не знаете, что покупаете. Что вы скажете о пятнадцати тысячах долларов в качестве нашего гонорара, ведь нам придется серьезно поработать с этими тестами“.
В тот момент l0pht даже не занималась подобными исследованиями. Но я сказал им: « В ы не знаете наших способностей, вы исходите просто из нашей известности. З а п л а т и т е нам пятнадцать тысяч долларов. Е с л и вам не понравится то, что вы получите, то вы просто не будете нас покупать и, тем не менее, потраченное время окупится, поскольку вы получите качественные результаты проверки безопасности, а у н а с будет пятнадцать тысяч д о л л а р о в в банке. С другой стороны, е с л и вам в с е понравится, на ч т о мы искренне надеемся, тогда вы нас купите». Они сказали: «Прекрасно, нас это устраивает». А я подумал; «Что за идиоты!»
В понимании Mudge, в «Newton» сидели «идиоты», поскольку допустили команду l0pht к своим файлам и всей корреспонденции и в то же время хотели купить эту компанию. Он был уверен, что сможет «заглянуть им через плечо».
(«Подглядывание через плечо» — этот красочный термин конкретно означает тайное подглядывание за тем, как некто набирает на компьютере свой пароль. Специализирующийся именно в этом занятии хакер может по движению пальцев по клавиатуре определить. что печатает человек, не привлекая к себе особого внимания).
ОСНОВНЫЕ ПРАВИЛА
Консультанты по безопасности, проводящие тесты безопасности, похожи на полицейских, работающих под прикрытием и покупающих наркотики. Если ничего не знающий другой полицейский заметит это безобразие и наведет на них свой пистолет, то они покажут ему свои полицейские значки. Они могут не опасаться тюрьмы. Консультанты по безопасности, которых пригласили для проверки надежности защиты компании, хотят обладать такой же неприкосновенностью. Правда, вместо полицейского значка каждый участник проверки получает письмо, подписанное кем-то из руководства компании, которое гласит: «Этот человек приглашен для выполнения нашего задания, если вы поймаете его за каким-то противозаконным занятием, не беспокойтесь. Не мешайте ему. Позвольте ему делать свое дело и пошлите мне отчет о деталях инцидента».
В сообществе экспертов безопасности такое письмо всем известно под названием «индульгенции». Все участники проверки стремятся сделать несколько копий этого письма и всегда иметь их при себе, когда они занимаются работой в компании клиента, — это нужно, чтобы обезопасить себя от какого-нибудь ретивого стража порядка, который решит продемонстрировать свою власть и показать руководству свою бдительность, или же от аккуратного сотрудника, который заметит что-то подозрительное, и у него хватит ума вступить в конфликт с проверяющим.
Еще одним обязательным шагом перед тем, как проверка начнется. всегда становится определение клиентом основных правил — какая часть бизнеса компании должна быть включена в проверку, а какая — останется за ее пределами. Является ли эта проверка чисто технической атакой, чтобы посмотреть, смогут ли проверяющие получить доступ к важной информации, найдя незащищенные участки системы или пробравшись через межсетевой экран? Или это проверка приложений общедоступного Интернет-сайта, или внутренней компьютерной сети, или всей системы? Должны ли быть включены в проверку атаки социальных инженеров — попытки обмануть сотрудников и получить неавторизованную информацию? А как быть с физическими атаками, в процессе которых проверяющие пытаются проникнуть в здание, обманув охрану или просочившись через вход «только для сотрудников»? А как насчет попыток получить информацию при помощи «рытья в помойках», то есть, просматривая все мусорные корзины в поисках выброшенной ценной информации? Все это должно быть оговорено заранее.
Часто компании заказывают лишь ограниченную проверку. Один из членов группы 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. Имея такую высокую привилегию, очень просто получить полный контроль над системой.
Тем временем атаки 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 со своей командой начал прослушивать их почту — это было забавно.
Одним из условий, которые они выдвигали для покупки l0pht, было создание мобильной тестовой лаборатории — небольшого, но емкого автомобиля, который надо было начинить разнообразным беспроводным оборудованием, чтобы использовать его для тестирования беспроводных сетей. Одному из членов руководства «Newton» идея покупки автомобиля для группы l0pht показалась настолько абсурдной, что он начал называть его смешным именем «Winnebago». Его голосовая почта буквально переполнена переговорами с другими руководителями с упоминанием этого «Winnebago» и команды l0pht, Mudge это и забавляло, и раздражало.
ОКОНЧАТЕЛЬНЫЙ ДИАГНОЗ
Когда время тестов подошло к концу, Mudge с коллегами написали отчет и готовились представить его на встрече со всеми руководителями компании «Newton». Сотрудники «Newton» не имели ни малейшего представления, чего ожидать, а команда l0pht знала, что это будет зажигательная встреча.
«Итак, мы передали им наш отчет и по сути дела открыли им глаза. Неудивительно, что они были потрясены. Их выдающийся системный администратор, честно говоря, очень симпатичный парень, был выслежен нами при помощи установленного „нюхача“, мы засекли его, когда он пытался войти в маршрутизатор, пробуя один за другим несколько паролей — все неудачно».
Это были специальные пароли администратора для любых внутренних систем, которые проверяющие получили всего за несколько минут. Mudge с удовольствием вспоминает, как элегантно это было сделано.
«Наиболее интересной частью всей их голосовой почты для нас были переговоры о нашей покупке. Они говорили нам: „Да, ребята, мы хотим вас купить“. Но во время переговоров друг с другом они говорили: „Да, мы действительно хотим заполучить Mudge, но нам совершенно не нужны все его коллеги. Как только они будут наши, лишних мы выкинем“.
Во время встречи с руководством «Newton», команда l0pht представила для прослушивания несколько записанных голосовых писем, а руководство сидело и слушало свои же слова. Но самое главное было еще впереди. Mudge запланировал провести окончательный раунд переговоров о покупке во время этой встречи. Он вспоминает эти подробности с особым удовольствием: «Итак, они заявили: „Мы хотим предложить вам определенную сумму, это предел, до которого мы готовы дойти, и мы выполним в с е наши обязательства“. При этом мы точно знали, что из сказанного ими — правда, а что — ложь».
Они начали разговор со своей минимальной суммы, сказав: «Что вы дум а е т е по поводу этого?». Мы ответили так: « В ы знаете, мы не готовы согласиться на сумму меньше, чем . . . » и назвали им сумму, которая, как мы знали, была их максимальной границей».
Они отвечали: «Нам необходимо обсудить ваше предложение, дайте нам несколько минут, не могли бы вы оставить н а с в комнате одних?» Мы не отнеслись к их предложению серьезно. Но они-то действительно надеялись легко заполучить нас».
Во время заключительной встречи между представителями двух компаний, как вспоминает Mudge, « м ы убедили их, что нет такого компьютера в их сети, к которому мы не смогли бы получить полный доступа. Карлос вспоминает, что „при этом лица присутствующих членов руководства „Newton“ стали бордовыми“.
В конце концов, команда l0pht просто ушла. Они получили свой гонорар в 15000 долларов, но решили не продавать свою компанию.
ОПАСНАЯ ИГРА
Для консультанта по безопасности Дастина Дюкса, хакерство ради выгоды «просто смешно, главное — это адреналин». Поэтому, когда он пришел в комнату для переговоров фармацевтической компании, которую мы будем называть «Biotech», для того, чтобы обсудить с ними проведение тестов безопасности, он был в бодром состоянии духа и готов к грядущим испытаниям.
Как ведущий консультант в департаменте безопасности компании Callisma (теперь подразделение SBC), Дастин заставил своих сотрудников прийти на это собрание в костюмах и галстуках. Он уже начал было скучать, когда появились сотрудники Biotech в джинсах, майках и шортах, что выглядело тем более необычно, что в районе Бостона в тот год была одна из самых холодных зим за все время наблюдения.
Несмотря на то, что Дастин какое-то время занимался сетевым администрированием, он всегда считал себя экспертом в области безопасности, по его словам, ощущение, что он создан для этого, появилось у него во время службы в авиации: «Я культивировал мою скрытую паранойю: такое состояние души, когда вам кажется, что в любой момент на вас могут напасть».
К компьютерам в седьмом классе его приобщила мачеха. Она тогда работала в одной компании системным администратором. Дастин был совершенно очарован иностранным звучанием ее речи. когда она говорила о своей работе по телефону. Однажды, когда ему было тринадцать, «она принесла домой компьютер, который я забрал в свою комнату и запрограммировал его на создание героев игр Dungeos and Dragon и игры в кости».
Роясь в учебниках по языку Basic и схватывая все, чему он мог научиться у друзей, Дастин развивал свои таланты. Он научился использовать модем для соединения с рабочим местом своей мачехи, чтобы играть в приключенческие игры. Вначале ему нужно было лишь все больше и больше компьютерного времени, но по мере того как он взрослел, он осознал, что его свободный дух плохо монтируется с проведением всей жизни перед терминалом. В качестве консультанта по безопасности он мог сочетать свои таланты со своей тягой к авантюре. Это было оптимальное решение.
Его карьера складывается отлично. «Я просто в восторге от своей профессии», — говорит он. «Это как игра в шахматы. На каждый ваш ход есть ответный ход. И каждый ход полностью меняет ситуацию на доске».
ПРАВИЛА ИГРЫ
Для каждой компании имеет смысл озаботиться уровнем своей уязвимости — подумать, насколько успешно меры, которые она предпринимает по защите своей интеллектуальной собственности, могут обезопасить компанию от потери конфиденциальности и от проникновения хакеров, а сотрудников — от электронных вторжений, нацеленных на персональную информацию.
У некоторых компаний есть еще более жесткие резоны, например, защита от правительственных детективных агентств, проигрыш которым может означать потерю важного контракта или исследовательского проекта. Любая компания, имеющая контракт с министерством обороны, попадает в эту категорию. Поэтому любая компания, занимающаяся серьезными биотехнологическими исследованиями, должна помнить о том, что департамент администрации по контролю над лекарствами и продуктами буквально заглядывает через ее плечо — именно в этот разряд и попадал новый клиент Callisma. В соседстве с опасными химикатами, в лабораториях, где ученые проводят такие опыты, о которых эксперты по безопасности и слыхом не слыхивали, этот опыт обещал быть очень интересным.
На первой же встрече с представителями Biotech команда Callisma поняла, что от нее требуется проведение всех возможных типов атак, которые только можно себе представить: от простых до сложных технических атак, от применения методов социальной инженерии до физических взломов. Руководители ИТ-подразделения компании, как часто бывает в таких случаях, были уверены, что все попытки взломщиков окончатся их полным поражением. Biotech сразу же установила такое правило: неприемлемы никакие неточности в документальных доказательствах.
Был продуман механизм прекращения работы проверяющих. Иногда это могло быть сделано достаточно просто, например, для остановки атаки, которая могла негативно повлиять на работу компании, любой из сотрудников должен был произнести предварительно согласованное кодовое слово. Компания также разработала четкие правила по обращению с добытой информацией — как ее следует хранить, когда и кому она должна предоставляться.
Поскольку проведение проверок может пересекаться с обычной работой компании, предусмотрено несколько «а что, если…». Кого следует уведомить, если вдруг нарушится предоставление той или иной услуги? В какую часть системы можно проникать и как? И как проверяющие поймут, до какого предела можно проводить атаку, чтобы не нанести непоправимые потери и не повредить бизнесу компании?
Клиенты часто просят ограничить проверки только техническими атаками и упускают из виду другие лазейки, которые могут быть еще более опасны для компании. Дастин Дюкс говорит:
«Независимо от того, что они говорят, я знаю, что поначалу они хотят только выяснить технические слабости их системы, но на самом деле их уязвимость может быть совсем в другом.. Опытный атакующий всегда пойдет по пути наименьшего сопротивления, отыскивая самое ненадежное звено в системе безопасности. Как поток воды, бегущий вниз по склону, атакующий пойдет к успеху самым простым и эффективным путем».
Атаки из области социальной инженерии, по мнению Дастина, всегда должны входить в состав проверок. (Более подробно о социальной инженерии мы поговорим в Главе 10 «Социальные инженеры — как они работают и как их остановить»).
В этот раз он был почти готов отказаться от этих «номеров из своего репертуара». Если атака физического проникновения не получится «в легкую», он не будет и пытаться это делать. Для него это самый нежелательный вариант даже при наличии «индульгенции». «Если что-то плохое должно случится, оно случается тогда, когда я пытаюсь проникнуть в здание так, чтобы меня не заметили охранники или бдительные сотрудники».
Главное, что следовало определить его команде, прежде чем приступать к делу: в чем самое ценное для тестируемой компании, ее «Священный Грааль». В этой игре электронного слежения с высокими ставками очень важно знать это в точности. Как выяснилось, для фармацевтической компании таким «Священным Граалем» являются финансовые отчеты, списки клиентов, поставщиков, процесс производства и научно-исследовательские разработки.
ПЛАНИРОВАНИЕ
План Дастина заключался в том, чтобы начать проверку «по-тихому» — с незначительной активности, постепенно развивая ее до тех пор, пока кто-нибудь ее не заметит и не подаст знак. Такой подход Дастин выработал на основе своей философии, которую он применяет в ходе тестирования, руководя специально сформированной для «мозгового штурма» группой (red team —см. прим. ред. к главе 2 ). «Я пытаюсь во время проверок прежде всего проанализировать оборонительную стратегию, которую применяет компания, и затем обратить ее против нее самой. Они думают: „Давайте поставим себя на место атакующих. Что мы можем им противопоставить?“ Это подход легко использовать против них же. Они никогда не поймут, как им действовать или реагировать, пока не поймут, что самое важное для них самих».
Трудно с этим не согласиться. Как пишет китайский философ Сун Тзу: познай своего врага и самого себя — и ты победишь.
Все серьезные проверки с согласия заказчика используют те же типы атак, что были уже описаны в этой главе.
«В нашей методике мы выделяем четыре основных типа атак. Техническое проникновение в сеть, именно об этом мы в основном говорим. Социальная инженерия (что мы тоже рассматриваем), прослушивание и подглядывание через плечо. Р ы т ь е в помойках. И, наконец, физическое проникновение. В о т эти ч е т ы р е сферы».
АТАКУЕМ!
В первый день Дастин отправился в приемную компании Biotech. Справа от места, где сидели охранники, была комната отдыха и кафетерий, в который свободно могли проходить посетители. С другой стороны от охранников была расположена комната для переговоров, в которой и встречалась команда Дастина с руководством Biotech. Охранники расположены в центре, естественно, для того, чтобы контролировать все возможности доступа в компанию, но комната для переговоров им совсем не видна. Заходить в нее может кто угодно, и никто ему не скажет ни слова. Именно это и сделал Дастин со своими коллегами. После чего у них было сколько угодно времени для того, чтобы неспешно оглядеться. При этом никто не знал, что они там были.
Они обнаружили там работающий разъем для подключения к сети, вероятно, для удобства сотрудников компании, которые, естественно, хотят иметь доступ к корпоративной сети во время встреч. Подключив к этому разъему свой ноутбук, Дастин быстро нашел то, что ожидал: он получил доступ к сети за пределами корпоративного межсетевого экрана, что было практически открытым приглашением в систему компании.
Почти как в известном кинофильме «Миссия невыполнима» с тревожной музыкой, Дастин прикрепил к стене небольшое устройство для беспроводного доступа и воткнул его в разъем. Это устройство позволяло сотрудникам Дастина проникать в сеть Biotech с компьютеров, расположенных в машине или автобусе, припаркованных неподалеку от здания. Передача сигнала от такого WAP-устройства (Wireless Access Point) может происходить на расстоянии до ста метров. Используя направленную антенну с большим усилением, можно соединиться со спрятанным WAP даже с большего расстояния.
Дастин предпочитал точки беспроводного доступа, работающие на европейских каналах, что давало его команде определенное преимущество. поскольку эти частоты с меньшей вероятностью будут зафиксированы. «Это совсем не выглядело, как точка беспроводного доступа, поэтому не могло вызвать у людей подозрения. Я оставил ее почти на месяц, и никто ее не заметил и не убрал».
После установки таких устройств Дастин прикреплял к ним небольшую. но выглядевшую очень официально карточку с надписью «Собственность служб информационной безопасности. Не убирать» .
Поскольку на улице было необычно холодно, ни Дастин, ни его коллеги, носящие теперь джинсы и майки, чтобы не отличаться от сотрудников Biotech, не хотели мерзнуть, подолгу сидя в машине на парковке. Поэтому они с удовольствием восприняли тот факт, что Biotech предложил им использовать для работы небольшую неохраняемую комнату в соседнем здании. Ничего особенного, но комната была теплой и в пределах достижимости беспроводного устройства. Они всегда были на связи, что было не очень хорошо для Biotech.
Первая же пробная разведка начавшей работать группы выявила сорок компьютеров с Windows, на которых был административный аккаунт либо без пароля, либо с паролем «password». Другими словам и , у н и х не было вообще н и к а к о й безопасности, что, к а к отмечалось в прежних рассказах, к несчастью, является обычным делом для компьютеров, расположенных в пределах охраняемой зоны корпоративной сети. Компании обычно концентрируются на охране периметра, чтобы защититься от «плохих парней», но оставляют компьютеры внутри совершенно уязвимыми. Тот, кто проберется внутрь, может чувствовать себя, как дома.
Проникнув в один из таких компьютеров, Дастин извлек все пароли для каждого пользователя и пропустил этот файл через программу l0phtCrack.
LOPHTCRACK ЗА РАБОТОЙ
На компьютере с ОС Windows пароли пользователей хранятся в зашифрованном виде (это обычно обозначается словом «hash» — мешанина) в области под названием SAM (Security Accounts Manager— управление безопасностью): пароли зашифрованы не в полном смысле этого слова, но с последующим перемешиванием «в одну сторону», что означает, что алгоритм шифрования может преобразовать текстовой пароль в зашифрованную форму, но не может вернуть зашифрованную форму обратно.
Windows содержит в S A M две версии «hash». Одна из них « L A N Manager hash» или L A N M A N , является старой версией, сохранившейся еще со времен до появления WindowsNT. Перемешивание LANMAN производится на основе заглавных букв пароля пользователя, который потом делится на две части из семи символов. Эту разновидность перемешивания гораздо легче разгадать, чем следующую версию N T L M ( N T Lan Manager), которая распознает и строчные буквы.
В качестве иллюстрации я приведу здесь реальный пример такого перемешивания для системного администратора одной из компаний, название которой я говорить не буду:
Administrator:500:AA33FDF289D20A799FB3AF221F3220DC:0AB C818FE05A120233838B9131F36BB1:::
Часть между двумя двоеточиями, которая начинается с «АА33» и заканчивается «20DC» — это LANMAN-перемешивание. Часть от «0АВС» до «6ВВ1» — это NTLM-перемешивание. Оба имеют длину в 32 символа, оба представляют собой один и тот же зашифрованный пароль, но первый легче расшифровать.
Поскольку большинство пользователей выбирают пароль, который является именем или простым словом, атакующие начинают обычно с запуска l0phtCrack (или другой программы, которую они используют) для проведения «словарной атаки» — проверки всех слов из словаря, не выбраны ли они в качестве пароля. Если эта первая попытка не увенчивается успехом, то программа переходит к «атаке грубой силы», когда перебираются все возможные сочетания букв (например, A A A , А А В , А А С … A B A … ABB, ABC и т.д.), затем пробуются всевозможные сочетания заглавных и строчных букв, цифр и символов.
Такая эффективная программа, как l0phtCrack может взламывать простые, очевидные пароли (которые используют более 90% всех пользователей компьютеров) буквально за секунды. Раскрытие более сложного пароля может занять часы или даже дни, но практически все пароли в конце концов поддаются.
ДОСТУП
Вскоре Дастин раскрыл большинство паролей. «Я попробовал войти в первичный контроллер домена с паролем администратора, и это сработало. Они использовали один и тот же пароль на одном из компьютеров и в доменном аккаунте. Теперь у меня были права администратора во всем домене».
Первичный контроллер домена (PDC — primary domain controller) поддерживает главную базу данных всех пользовательских аккаун-тов. Когда пользователь входит в домен. PDC авторизирует его запрос с помощью информации, хранящейся в базе данных PDC. Эта база данных всех аккаунтов копируется в BDC (Backup domain controller — контроллер копирования домена) в качестве предосторожности на случай выхода из строя PDC. Эта архитектура существенно изменилась с выпуском Windows 2000. Более поздние версии Windows используют то, что у них называется «Активная директория», но для обратной совместимости с более старыми версиями Windows, у них есть по крайней мере одна система, которая действует как PDC для домена.
В руках Дастина были ключи от «королевства» Biotech, он получил доступ ко многим внутренним документам с пометкой «конфиденциально» или «только для внутреннего пользования». Интенсивно трудясь, Дастин провел долгие часы за сбором важной информации из секретных файлов о безопасности лекарств, где содержалось подробное описание побочных эффектов, вызываемых лекарствами, которые компания исследовала в то время. Доступ к этим файлам очень строго регулировался комитетом по контролю над лекарствами и продуктами питания, поэтому о проникновении в них в процессе проведения проверок должен был быть составлен специальный доклад для этого правительственного агентства.
Дастин получил доступ и к базе данных сотрудников, где содержались их полные имена, адреса электронной почты, телефонные номера, места работы, должности и т.п. Используя эти сведения, он мог выбрать мишень для следующей фазы атаки. Он выбрал системного администратора компании, который контролировал проведение проверок. «Я подумал, что хотя у меня уже было достаточно важной информации, надо показать им, что атака может идти в самых разных направлениях», то есть, что есть более одного пути для добычи информации.
Команда Callisma давно поняла, что если вы хотите проникнуть в охраняемую область, нет лучше метода, чем смешаться с группой разговаривающих сотрудников компании, возвращающихся с обеда. В отличие от утренних и вечерних часов, когда люди бывают раздраженными и усталыми, после обеда они всегда терпимы и расслаблены, чувствуя некоторую заторможенность, пока организм переваривает съеденный обед. Все разговоры доброжелательны, этим настроением буквально наполнена атмосфера. Любимый прием Дастина заключается в том, чтобы заметить кого-то, выходящего из кафе. Он идет впереди «жертвы» и пропускает его перед собой у самой двери. В девяти случаях из десяти, даже если эта дверь ведет в охраняемое помещение, «жертва» делает ответный жест и придерживает дверь. позволяя ему пройти вместе с собой. И он входит безо всяких проблем.
ТРЕВОГА
После того, как мишень для атаки была выбрана, команда должна была выбрать способ физического проникновения в охраняемые помещения, чтобы иметь возможность прикрепить к выбранному компьютеру «фиксатор текстов» — устройство, которое фиксирует любую нажатую на клавиатуре кнопку, даже первые нажатия запуска компьютера перед загрузкой ОС. На компьютере системного администратора это помогло бы перехватить пароли для целого ряда систем в сети. Это означало бы и то, что проверяющие были бы в курсе всей переписки о попытках отследить их действия.
Дастин решил не рисковать и не заниматься прямым наблюдением за руками администратора, чтобы не быть пойманным. Пришлось прибегнуть к методам социальной инженерии. Проведя много времени в кафетерии и приемной, он хорошо рассмотрел бейдж сотрудника и решил сделать для себя такой же поддельный. С логотипом проблем не было — он просто скопировал его с Интернет-сайта компании и встроил в свой рисунок. Важно было, чтобы к его бейджу особо не приглядывались.
Некоторые офисы Biotech располагались в соседнем здании, где кроме них были и офисы других компаний. В приемной всегда находился охранник, включая ночное время и выходные дни, и обычный «карт-ридер» (электронный считыватель), который открывал дверь из приемной, когда сотрудники вставляли в него свои бейджи с правильным электронным кодом.
«В один из выходных я зашел туда и начал вставлять мой самодельный поддельный бейдж в карт-ридер. Он, естественно, не срабатывал.
Охранник подошел и, улыбаясь, своим бейджем открыл мне дверь. Я улыбнулся ему в ответ и прошел в дверь».
Не промолвив ни слова, Дастин успешно был пропущен охранником в охраняемый офис.
Однако перед офисом Biotech дверь была снабжена еще одним «карт-ридером». Народу в помещении не было.
«Не было видно никого, за кем можно было бы пристроиться и пройти. В поисках другого прохода я отправился к застекленной лестнице, которая вела на второй этаж, и решил попробовать пройти туда. Дверь открылась без проблем, для этого не потребовался бейдж. И вдруг во всем здании зазвучал сигнал тревоги. Случайно я попал на пожарную лестницу. Я прошел, и дверь захлопнулась за мной. На ее внутренней стороне я прочел надпись „Не открывайте эту дверь, раздастся сигнал тревоги“. Мое сердце забилось со скоростью двести ударов в минуту!».
ПРИЗРАК
Дастин точно знал, в какую комнату ему надо попасть. В базе данных сотрудников, до которой проверяющие уже добрались. было указано место работы каждого сотрудника. Сигнал тревоги еще продолжал звучать в его ушах, но он направился к нужному месту.
Атакующий может получить информацию обо всех клавишах, нажимаемых на компьютере «жертвы», установив специальную программу, которая будет фиксировать каждый нажатый символ и периодически посылать электронное письмо с набранной информацией на определенный адрес. Однако, демонстрируя клиентам их уязвимость с разных сторон, Дастин хотел проделать ту же самую вещь физическими средствами.
Для этой цели он выбрал устройство под названием «ключ-призрак». Это устройство совершенно невзрачного вида, которое встраивается в соединение от клавиатуры к компьютеру и благодаря своим миниатюрным размерам практически всегда остается незамеченным. Такое устройство может запомнить до полумиллиона нажатий клавиш, что для типичного пользователя эквивалентно неделям работы. (Остается, правда, еще одна проблема: атакующему нужно еще раз прийти на то же место, чтобы вынуть «ключ-призрак» и прочесть его содержимое).
Дастину потребовалось несколько секунд для того, чтобы отключить кабель, соединяющий клавиатуру с компьютером, встроить в него «ключ-призрак» и присоединить кабель заново. Он старался убраться побыстрее. «Прозвучал сигнал тревоги, отсчет времени пошел, и мои руки немного тряслись. Я был близок к тому, чтобы быть пойманным. Ничего особенно плохого случиться не могло, потому что у меня была „индульгенция“, но даже и в такой ситуации адреналин во мне так и бурлил».
Установив «ключ-призрак», Дастин направился к лестнице, которая вывела его к посту безопасности. Для выхода пришлось применить еще одну порцию социальной инженерии.
«Я преднамеренно вышел из двери рядом с постом безопасности, вместо того, чтобы прятаться от охранника во время выхода, я направился прямо к нему. Я сказал: „Ради Бога извините, но это я вызвал весь этот переполох. Я еще никогда не работал в этом здании и не знал, что здесь все так устроено, прошу прощения“. Охранник спокойно сказал: „Нет проблем“.
Затем он взял трубку телефона, я полагаю, он позвонил кому-то, когда включился сигнал тревоги, теперь он предупреждал, что это была ложная тревога. Я уже не слышал их разговора».
БЕЗ ПРОБЛЕМ