Искусство вторжения - Кевин Митник
Шрифт:
Интервал:
Закладка:
Луис стремился отыскать во внутренней сети компании систему, в которую он мог бы проникнуть, используя ее IP-адрес. Он работал по обычной хакерской схеме — пытался найти систему, которую он мог бы использовать во внутренней сети.
Они надеялись найти во внутренней сети компании такую систему, в которую никто не входил бы с удаленного терминала, и в ней легко было бы обнаружить лазейки, просто потому, что она считалась бы системой «только для внутреннего пользования». Они воспользовались сканированием портов в поисках любого доступного Интернет-сервера (порт 80) во всем диапазоне IP-адресов внутренней сети и обнаружили сервер под Windows, с которым они смогли соединиться и на котором работал IIS (Internet Information Server), но достаточно старая версия этой популярной программы IIS4. Это была очень радостная новость, поскольку они наверняка могли найти в нем незакрытую лазейку или ошибку в конфигурации, которая дала бы им «ключи к замку».
Первое, что они сделали, это запустили специальную программу для поиска лазеек Unicode в IIS4, чтобы проверить, насколько он уязвим, и нашли такие лазейки, (Unicode — это набор 16-битных слов для кодировки слов из многих разных языков с использованием одного набора знаков). «Итак, мы могли использовать Unicode для выполнения команд на этом IIS-сервере», — воспользоваться уязвимостью системы безопасности, пройти фильтрование во втором межсетевом экране в их внутренней сети «уже глубоко на их территории», рассказывает Луис. Хакеры в этом случае усиливали Интернет-запрос (HTTP) с помощью специально закодированных символов, чтобы пройти проверки безопасности на Интернет-сервере. Это позволяло им выполнять произвольные команды с привилегиями того пользователя, который в данный момент работал на Интернет-сервере.
Немного подумав, ребята, наконец, нашли возможность загружать файлы. С помощью Unicode они использовали echo-команды для загрузки текста ASP (Active Server Pages) — простого загрузчика файлов, который упростил передачу хакерских программ в корневую Интернет-директорию, из которой можно было запускать программы на сервере. (Корневая Интернет-директория — это корневая директория на Интернет-сервере, в отличие от обычной корневой директории на диске — С:). Echo-команда просто пишет аргументы, которые ей передаются; выход может быть направлен в сайт, а не на экран пользователя. Например, если напечатать «echo owned > mit-nick.txt» запишет слово «owned» в файл mitnick.txt. Они использовали целую серию echo-команд, чтобы записать текст кодов ASP в исполняемую директорию на Интернет-сервере.
Затем они загрузили туда и другие хакерские средства, среди которых было популярное сетевое средство netcat, которое очень полезно для установки специальных команд прослушивания входящего порта. Они загрузили туда и приложение под названием НК, которое использует лазейку в старой версии Windows NT, которая позволяет получить привилегии администратора.
Они загрузили еще одну простую программу для запуска приложения НК, а затем использовали netcat, чтобы открыть соединение обратно к себе, что дало им возможность вводить команды на компьютер-мишень, типа того, как это было во времена операционной системы DOS. « М ы пытались инициировать исходящее соединение с внутреннего Интернет-сервера на наш компьютер в DMS». — объясняет Луис. «Но это не сработало, поэтому нам пришлось использовать технику под названием „цепляние к порту“. После выполнения программы НК для получения привилегий, они сконфигурировали netcat на прослушивание порта 80: чтобы „перенести“ IIS-сервер временно со своего пути, наблюдая за первым входящим соединением на порт 80.
Луис поясняет технологию «цепляния» так: « В ы временно убираете IIS с его места действия, как бы перехватывая управление уровнем, позволяя IIS работать на втором плане, вы сохраняете доступ к вашему уровню». В системах Windows в отличие от операционных UNIX-систем разрешается одновременно двум программам использовать один и тот же порт. Атакующий может использовать эту возможность, если найдет порт, который не фильтруется межсетевым экраном, а потом «прицепится» к этому порту.
Именно это и проделали Луис и Брок. Доступ, который у них уже был к узлу IIS, был ограничен правами, которые давал им пользователь, под именем которого работал сервер. Поэтому они запустили НК и netcat и смогли получить полные привилегии контроля над системой — работая, как пользователь системы, что является самой высокой привилегией в операционной системе. При помощи стандартных методик этот доступ позволил бы им получить полный контроль над всей Windows-активностью мишени.
На сервере работала система Windows NT 4.0. Атакующие хотели скопировать SAM-файл (Security Accounts Manager — управление безопасностью директорий), в котором содержались все детали о директориях пользователей, группах, политиках и контролях доступа. В этой старой версии операционной системы они запустили команду «rdisk/s», чтобы провести аварийную замену диска. Эта программа начинает с того, что создает несколько файлов в директории «repair». Среди этих файлов есть обновленная версия SAM-файла, которая содержит «нарезку» паролей для всех пользователей сервера. Еще раньше Луис и Брок раскрыли файл PWL, где содержались все важные пароли из ноутбука охранника: теперь они получили в свои руки зашифрованные пароли всех пользователей на одном из серверов компании. Они просто скопировали этот SAM-файл в корневую директорию Интернет-сервера. «Затем, используя Интернет-браузер, мы извлекли его с сервера на компьютер в нашем офисе».
Когда они взломали пароли из SAM-файла, то обнаружили, что там есть еще один пользователь-администратор на местном компьютере, отличный от администратора встроенной директории.
«После нескольких часов работы мы смогли взломать пароль этого пользователя, а затем попытались авторизоваться в первичном контроллере домена. И мы обнаружили, что этот пользователь с правами администратора на Интернет-сервере, взломанном нами, имел точно такой же пароль и в домене! И здесь он тоже имел права администратора.
Итак, на Интернет-сервере был пользователь с правами администратора, который имел такое же имя, как и администратор домена, и пароль в обоих с л у ч а я х был один и т о т же. Э т о т администратор был невероятно ленив, если для своей директории на другом сервере повторно использовал то же самое имя и пароль».
Дело постепенно продвигалось, хоть и небольшими шажками. Администратор на Интернет-сервере не имел таких привилегий на весь домен. Но, получив его пароль на Интернет-сервере, благодаря его лени мы смогли проникнуть в директорию администратора домена. Администратор домена администрирует или управляет всем доменом в отличие от администратора вашего локального компьютера, который управляет только им. В данном случае Луис не был исключением.
«Надо сказать, что это обычная практика, с которой мы часто встречаемся. Администратор домена создает свою директорию на всех машинах сотрудников сети и использует для них тот же пароль. И это означает, что сведения из каждого локального компьютера могут быть использованы для взлома системы безопасности всего домена».
ЦЕЛЬ ДОСТИГНУТА
Шаг за шагом — все ближе к цели. Луис и Брок обнаружили, что не могут получить полный контроль над сервером приложений и данными, которые на нем хранятся. Они проверяли IP-адрес компьютера, который они нашли на ноутбуке водителя (или охранника), и сервер приложений, с которым он был связан. После этого они пришли к выводу, что сервер приложений расположен в том же домене. Наконец, они получили полный контроль над всеми действиями компании. «Наконец, мы добрались до самого сердца бизнеса компании, Мы могли изменить все команды на сервере приложений, то есть могли дать указание водителям доставить деньги туда, куда нам было надо. Мы могли дать водителям такую команду: „Возьмите деньги из этой кассы и доставьте по этому адресу“ и ждать по указанному адресу, когда они доставят нам деньги».
Или: «Возьмите заключенного А, доставьте в определенное место и передайте тем, кто его там будет ждать» — и вы извлекаете из тюрьмы своего приятеля или беспутного брата.
Или террориста…
Они получили в свои руки средство для обогащения или создания хаоса. « М ы испытали определенный шок, поскольку они просто не представляли себе размеры ущерба, который мы могли им нанести», — говорит Луис.
То, что компания считала безопасностью, оказалось только призраком безопасности.
АНАЛИЗ
Луис и Брок не разбогатели благодаря той мощи, которую получили в свои руки и не стали рассылать приказы по освобождению или пересылке заключенных. Вместо этого они предоставили компании полный отчет о том, что им удалось обнаружить.
Услышав обо всем этом, компания отреагировала достаточно вяло. Они не стали проводить анализ рисков шаг за шагом: «Если хакеры проникли в первый компьютер, что они могли сделать дальше?» и так далее. Они опять посчитали себя в безопасности, закрыв несколько лазеек, на которые указал им Луис. Они считали, что кроме тех, которые нашли Луис и Брок, других просто не существует.