Глава 9. На континенте
Глава 9.
На континенте
Вначале вы видите лишь клоч к иинформации и то, как устроены те или иные вещи, и постепенно у вас начинает зарождаться понимание всей структуры компании и мировоззрения людей, ответственных за организацию ИТ-системы. Начинаешь постигать, что они знают о безопасности, и что они для нее делают.
Луис
В начале предыдущей главы мы предостерегали читателей, что людям без технического образования будет трудно воспринять некоторые ее части. Это еще более справедливо для этой главы. Но советую вам все же прочитать ее. поскольку история просто удивительная. И суть ее вполне можно понять, опуская сложные технические детали.
ГДЕ-ТО В ЛОНДОНЕ
Итак — мы находимся где-то в лондонском Сити.
Картина следующая: большая комната без окон в глубине здания, где тусуется технический персонал. Прекрасная иллюстрация для историй о «хакерах, как о существах, далеких от общества и не связанных с ним», работающих каждый за собственным компьютером и связанных друг с другом только «в удаленном доступе».
Давайте назовем одного из них Луисом. Он вырос в маленьком городке в северной Англии и начал общаться с компьютером в возрасте семи лет, когда его родители купили «какое-то старое железо», чтобы дети получили представление о современной технологии. Он начал заниматься хакерством еще в школе, когда случайно обнаружил список всех пользователей и их паролей, и его любопытство впервые зашевелилось. Этим первым хакерским опытом он нажил себе большие проблемы, так как один из студентов старших курсов («префект» по английской терминологии) поймал Луиса. Но эта неудача не отвратила его от компьютерных секретов.
Теперь высокого темноволосого взрослого Луиса больше не волнуют достижения в «самых английских видах спорта» — крикете и футболе, которые так занимали его, когда он был школяром.
ПОГРУЖЕНИЕ
Некоторое время тому назад Луис со своим приятелем Броком занимались совместным проектом. Их мишенью была компания, расположенная где-то в Европе — компания, занимающаяся безопасностью, перевозящая большие суммы денег, а также и заключенных из тюрьмы в суд и обратно, и из одной тюрьмы в другую. ( Т о , что одна и та же компания занимается перевозкой денег и заключенных, необычно для американцев, но это вполне общепринято в Европе и в Англии).
Любая компания, которая объявляет, что занимается чем-то, связанным с безопасностью, берет на себя большую ответственность. Если они занимаются безопасностью, означает ли это, что хакеры не могут взломать их систему? Для любой группы ребят с хакерским менталитетом подобная декларация звучит как вызов, особенно, если вначале у ребят нет ничего, кроме названия компании.
«Мы относились к этому, как к проблеме, которая должна быть решена. Поэтому сначала мы должны были отыскать как можно больше информации об этой компании», — говорит Луис. Они начали с того, что стали искать упоминания о компании в Google, используя Google даже для перевода текстов, поскольку никто из них не говорил на языке той страны, где была расположена их мишень.
Автоматический перевод давал им вполне достаточное представление о том, чем занимается компания и насколько велик ее бизнес. Но им было непросто организовывать атаки социальной инженерии из-за языкового барьера.
Они смогли определить общедоступные IР-адреса компании для Интернет-сайта и почтового сервера из европейского регистра IP-ад-ресов (RIPE), аналогичного A R I N в США.
(ARIN — American Registry of Internet Numbers — американский регистр Интернет-адресов — это организация, которая управляет номерами IP-адресов для США и примыкающих к ним стран. Поскольку Интернет-адреса должны быть уникальными, должна существовать специальная организация, которая будет следить за этим и выделять компаниям блоки IP-адресов. RIPE — Reseaux IP Europeens — организация, распределяющая номера IP-адресов для Европы).
Они поняли, что хостингом внешнего сайта занималась специальная компания. Но IP-адрес их почтового сервера был зарегистрирован на саму компанию и располагался внутри их корпоративных адресов. Поэтому наши ребята могли запросить DNS компании и получить IP-адреса, проверяя записи обмена письмами.
Луис попробовал применить технику посылки электронной почты на несуществующий адрес. Вернувшееся к нему письмо с уведомлением о том, что оно не может быть доставлено, могло содержать в своем заголовке некоторые IP-адреса компании и некоторую информацию о маршруте доставки электронной почты.
Однако в нашем случае Луис получил ответ от внешнего почтового ящика компании, поэтому в нем не содержалось никакой полезной для него информации.
Брок и Луис понимали, что их жизнь стала бы легче, если бы у компании был собственный Domain Name Server. В этом случае они могли бы сделать запросы, чтобы попытаться получить больше сведений о внутренней сети компании или использовать какие-то лазейки, связанные с конкретной версией DNS. Им не повезло: DNS компании был расположен у местного Интернет-провайдера.
ОПРЕДЕЛЕНИЕ СТРУКТУРЫ СЕТИ
В качестве следующего шага Луис и Брок использовали обратное сканирование DNS, чтобы получить имена узлов различных систем, расположенных в диапазоне IP-адресов компании (как уже не раз объяснялось в главе 4 и других местах). Чтобы сделать это, Луис использовал «просто текст REFL», который написали сами ребята. (Обычно атакующие используют имеющееся в наличии ПО для обратного DNS-сканирования, например, такое, как на сайте http://www.samspade.org ).
Они заметили, что «от некоторых систем компании к ним возвращалось достаточно много информативных имен», которые служили ключом к тому, кто какие функции выполняет внутри компании. Это давало также некоторое представление о стиле мышления сотрудников ИТ-департамента компании. «Выглядело так, как будто администратор не полностью контролирует всю информацию о своей сети, а это был первый ответ на вопрос: смогут ли они проникнуть внутрь или нет». По мнению Брока и Луиса, полученные сведения давали основания для оптимизма.
Это один из примеров того, как кроме чисто технических методов проникновения хакеры занимаются и своеобразным психоанализом, стараясь проникнуть в головы администраторов и понять, как они создавали свою сеть. Для наших конкретных атакующих «это было основано частично на уже имеющемся у нас знании о сетях и компаниях, которые мы уже видели в европейский странах, на наших ИТ-знаниях и на том факте, что в этой стране люди отставали от Англии на год-полтора».
ОПРЕДЕЛЕНИЕ МАРШРУТИЗАТОРА
Они анализировали сеть, используя обычный метод отслеживания путей UNIX, который показывает число маршрутизаторов, через которые прошли пакеты данных к определенной цели; на жаргоне это называется числом «скачков». Они проанализировали подобные пути для почтового сервера и для пограничного межсетевого экрана. Отслеживание путей показало им, что почтовый сервер находится на один скачок за межсетевым экраном.
Эта информация дала понять, что почтовый сервер либо находится в DMZ, либо все системы за межсетевым экраном расположены в одной сети. (DMZ — это так называемая демилитаризованная зон а — электронная область, где нет людей, расположенная между двумя межсетевыми экранами и обычно доступная как из внутренней сети, так и из Интернета. Цель DMZ состоит в защите внутренней сети на тот случай, если какая-то из систем, доступная из Интернета, будет взломана).
Они знали, что у почтового сервера открыт порт 25 и, проделав traceout, поняли, что могут проникнуть через межсетевой экран для связи с почтовым сервером. «Вначале нам показалось, что мы сбились с пути, но потом мы быстро поняли, что перескочили маршрутизатор, и находимся уже за межсетевым экраном, а еще на один скачок за ним мы увидели почтовый сервер, и мы начали понимать, как устроена сеть».
Луис говорил, что они часто начинают свою атаку с проверки нескольких общедоступных портов, которые, как известно, остаются открытыми для межсетевого экрана: среди них он называл порт 53 (используемый Domain Name Service); порт 25 (почтовый сервер SMTP); порт 21 (FTP); порт 23 (telnet); порт 80 (HTTP); порты 139 и 445 (оба используются для NetBIOS в различных версиях Windows).
«Перед тем, как проводить сканирование портов, мы очень точно убедились, что имеем список узлов для атаки, в котором нет неиспользуемых IP-адресов. На самом начальном этапе надо иметь список реальных мишеней, а не перебирать все IP-адреса слепо. После перечисления потенциальных мишеней мы поняли, что есть пять-шесть систем, которыми имеет смысл заниматься и дальше».
Они обнаружили только три открытых порта: почтовый сервер, Интернет-сервер со всеми установленными заплатками в системе безопасности, которые на самом деле даже не использовались и telnet на порте 23. Когда они пытались проникнуть в систему через telnet, то всегда получали типичный для оборудования компании Cisco ответ «Проверка права доступа», Таким образом, единственное, что им удалось узнать на этом этапе, это тип маршрутизатора.
Луис знал из своего опыта, что пароль на маршрутизаторах Cisco часто устанавливался каким-то очевидным. « Н а этот раз мы попробовали три разных пароля „имя компании“, „blank“ и „Cisco“, но не смогли проникнуть в маршрутизатор. Поэтому, чтобы не создавать лишнего шума, мы решили прекратить попытки проникновения через эту услугу».
Они попробовали просканировать устройство Cisco на предмет открытых общеизвестных портов, но не смогли никуда попасть. «Итак, в первый день нашей работы мы потратили много времени и сил на изучение компании и ее сети и начали первичное сканирование некоторых портов. Не могу сказать, что мы были готовы отказаться от своей затеи, поскольку у нас в запасе еще было несколько приемов, которые мы всегда пробовали в своей практике перед тем, как прекращали атаку».
В общем, все, что они сделали за первый день, это идентифицировали один маршрутизатор.
ДЕНЬ ВТОРОЙ
Настал второй день и Луис и Брок решили н а ч а т ь более интенсивное сканирование портов. Вот что рассказывает Луис, используя термин «услуги» для обозначения открытых портов.
«В этот момент мы думали о том, что надо найти больше услуг на этих компьютерах. Поэтому мы несколько изменили стратегию атаки и решили поискать их более тщательно. Мы расширили объем поисков, чтобы отыскать что-нибудь, что помогло бы нам проникнуть в сеть. Мы видели, что у них стоял межсетевой экран с очень хорошей фильтрацией. Мы искали в нем хотя бы небольшую ошибку или неправильную конфигурацию».
Затем, используя программу Nmap — стандартное средство для сканирования портов — они проделали сканирование набора услуг при помощи файла, который просматривал каждый из 1600 портов; и опять не нашли ничего интересного.
«Итак, мы провели максимально полное сканирование, проверив маршрутизатор и почтовые сервера». Максимально полное означает проверку более 65 т ы с я ч портов. « М ы проверили к а ж д ы й ТСР-порт и искали возможные услуги на таких портах, которые были в нашем списке».
Наконец они нашли нечто интересное, немного странное и поставившее их в тупик.
Порт 4065 был открыт. Странно было, что порт с таким большим номером используется. Луис о б ъ я с н я е т : « М ы подумали, что, может быть, они сконфигурировали telnet на этот порт. Поэтому мы послали telnet-сигнал на этот порт и стали ждать отклика». (Telnet — это протокол для удаленного управления компьютером в любом месте Интернета). Используя telnet, Луис присоединялся к удаленному порту, который воспринимал команды от его компьютера и отвечал на них так, что ответы попадали на экран компьютера Луиса.
Когда они попытались соединиться, то в ответ получили запрос имени пользователя и логина. Итак, они оказались правы в том, что порт использовался для telnet-соединений, но появившееся диалоговое окно для авторизации пользователя очень отличалось от того, что обычно появляется на оборудовании компании Cisco. «Через некоторое время мы поняли, что это был маршрутизатор компании 3Com. Это несколько смутило нас, поскольку не так часто попадается устройство, которое выглядит, как совсем другое устройство, да еще при этом предлагает услугу в порте с очень большим номером». То, что telnet работает через порт 4065 при помощи устройства компании 3Com, выглядело какой-то бессмыслицей.
«Мы видели, что на устройстве открыты два порта, но они идентифицировали себя, как совершенно разные устройства, изготовленные различными производителями оборудования».
Брок отыскал этот TCP-порт с большим номером и присоединился к нему при помощи telnet. «После того, как он получил запрос на имя пользователя, он ввел „admin“ и начал пробовать такие простейшие пароли, как „password“, „admin“, „blank“. Ему повезло буквально через несколько попыток: имя пользователя и пароль на устройстве 3Com были одинаковыми — „admin“. „В это мгновение он заорал, что все-таки проник“, — вспоминает Луис, что означало, что они получили через telnet доступ к устройству 3Com. Особенно приятным было то, что это оказалась директория администратора.
«То, что мы отгадали пароль, был наш первый крупный успех в этой работе. Далее все шло по обычной схеме. Мы работали на разных машинах. Вначале мы проводили сканирование сети независимо и обменивались результатами. Но после того, как мы обнаружили возможность доступа через конкретный порт, я перешел на его машину и мы начали работать вместе на одном и том же компьютере.
Это было прекрасно. Мы вошли в устройство 3Com и получили полный доступ к нему, а может — и широкую улицу к другим достижениям. Прежде всего мы хотели понять, что это за устройство и почему доступ к нему реализован через порт с таким большим номером на маршрутизаторе Cisco».
При помощи командной строки они смогли запросить информацию об устройстве. « М ы подумали, что, может быть, кто-то включил кабель управляющей консоли от устройства 3Com в устройство Cisco, и именно этим вызван неадекватный доступ». Это походило на правду, поскольку таким способом сотрудники могли подключиться через telnet к устройству 3Com через маршрутизатор. «Может быть, у них был дефицит мониторов или клавиатур в их компьютерном центре, — гадал Луис, — и они использовали нестандартный кабель в качестве временной меры». А потом администратор просто забыл об этом, как говорит Луис, «совершенно не думая о последствиях своих действий».
ИЗУЧЕНИЕ КОНФИГУРАЦИИ УСТРОЙСТВА 3Com
Наши герои поняли, что устройство 3Com расположено за межсетевым экраном и что ошибка администратора предоставила им неожиданный кружной путь, позволяющий атакующим соединиться с портом с большим номером в обход межсетевого экрана.
Теперь, имея доступ к панели управления 3Com, они стали искать записи о конфигурации, включая и то, какие устройства с какими IP-адресами соединены, и какие протоколы используются для реализации локальной сети. Они обнаружили, что устройство находится в том же диапазоне адресов, что и почтовый сервер, и вне внутреннего межсетевого э к р а н а , в DMZ. « М ы сделали вывод, что устройство находится под защитой межсетевого экрана и защищено от подключений из Интернета неизвестным нам набором фильтров».
Они попытались определить конфигурацию самого устройства, чтобы понять, как устанавливаются входящие соединения, но через имеющийся интерфейс они не смогли получить нужной информации. Они продолжали размышлять, почему, когда пользователь соединялся с портом 4065 в маршрутизаторе Cisco из любого места Интернета, соединение происходило с устройством 3Com, которое было включено в маршрутизатор Cisco.
«В этот момент мы были почти уверены, что получим доступ ко входам в с е т ь и проберемся в ее сердцевину. Мы находились в прекрасном настроении, но, как говорится, были порядком утомлены, поскольку интенсивно работали в течение двух дней.
Мы отправились в пивную, чтобы обсудить, как сделать следующие дни не менее удачными, поскольку мы собирались начать просматривать конкретные системы и проникать вглубь сети».
Продолжая думать все о том же устройстве 3Com, они установили режим записи активности управляющей консоли. Если что-то случится ночью, то они увидят все сделанное следующим утром…
ТРЕТИЙ ДЕНЬ
Когда Брок просматривал эти записи на следующий день, то обнаружил, что там появлялись различные IP-адреса. Луис поясняет: «после более пристального изучения устройства 3Com мы поняли, что это была разновидность VPN, которую удаленные пользователи использовали для соединения с сетью компании из любого м е с т а Интернета. В этот момент мы были уверены, что попадем в сеть тем же путем, как это делают авторизованные пользователи».
Они попытались установить свой личный VPN-интерфейс на устройстве 3Com, напечатав другой интерфейс в диалоговом окне 3Com с другим IP-адресом, одним из тех, что межсетевой экран наверняка бы не отфильтровал.
Это не сработало. Они обнаружили, что устройство не может быть сконфигурировано без нарушения существующей системы услуг. Они не могли создать новую VPN-систему, поскольку архитектура устройства была такова, что их возможные действия в нем были весьма ограничены.
«Наши надежды на быстрый доступ внутрь сети быстро таяли. Мы расстроились и притихли. Но это была лишь одна из наших первых попыток, и просто обязан был существовать еще один путь. У нас был сильный стимул, ведь доступ к одному из устройств — это хороший плацдарм для атаки. Просто надо было работать интенсивнее».
Они находились в DMZ сети компании, но когда попытались соединиться оттуда со своим компьютером, им это не удалось. Они хотели выяснить, какие системы присутствуют в сети (так называемый ping), но сделать это из устройства 3Com за межсетевым экраном, чтобы расширить свой список возможных мишеней для атаки. Если бы там были какие-нибудь адреса устройств в оперативной памяти, это означало бы, что какое-то устройство блокирует доступ к протоколам самого высокого уровня. «После нескольких попыток», — говорит Луис, «мы обнаружили входы в оперативную ARP-памятъ, указывающую на то, что некоторые компьютеры сообщают свои адреса». (ARP — Adress Resolution Protocol — это метод для обнаружения адресов узлов. Каждый узел держит в буфере набор адресов, которые через него прошли, чтобы ускорить передачу пакетов данных).
В домене определенно были другие компьютеры, «но на запрос ping они не давали ответа, что было классическим признаком межсетевого экрана. Для тех, кто не знаком с техникой „pinging“, это техника сканирования сети, которая состоит в передаче пакетов определенного типа (ICMP) на компьютер-мишень, чтобы определить — включен он или нет. Если узел работает, то он отвечает своеобразным пакетом ICMP-echo. Это только подтвердило наши подозрения, что есть еще один межсетевой экран и еще один уровень безопасности между устройством 3Com и их внутренней сетью». Луис почувствовал, что они зашли в тупик.
«Мы получили доступ к их VPN-устройству, но не могли с его помощью создать собственную VPN-сеть. Н а ш энтузиазм начал снижаться. Появилось ощущение, что проникнуть в эту сеть будет не так-то просто. Необходим был „мозговой штурм“ для свежих идей».
Они решили исследовать IP-адреса, которые нашли в записи об активности консоли. « М ы решили посмотреть, кто же соединяется с нашим устройством 3Com удаленно, поскольку, если вам удается проникнуть в устройство, то вы можете перехватить его соединения». Или же они могли получить там необходимую для авторизации информацию, которая помогла бы им выдать себя за законных пользователей.
Они знали определенный набор фильтров, говорит Луис, и искали пути обхода этих фильтров в межсетевом экране. Он надеялся на то, что они смогут «найти защищенную систему, в которую им удастся проникнуть через межсетевой экран. Нас очень интересовали IP-ад-реса».
Когда они соединялись с консолью системы 3Com, объясняет он, при соединении с ней удаленного пользователя или изменении конфигурации на экране появлялось соответствующее сообщение. « М ы могли видеть все соединения, идущие на этот IP-адрес».
Они увидели там и информацию об организациях, которым принадлежали эти адреса. Там имелась и контактная информация административного и технического персонала, отвечающего за сети этих организаций. Используя эти адреса, они опять обратились к регистрационной базе данных на RIPE, которая предоставила им информацию о том, на какую компанию зарегистрированы эти IP-адреса.
Их ждал еще один сюрприз. « М ы обнаружили, что адреса зарегистрированы на крупного телекоммуникационного провайдера в той стране. Тогда еще у нас не складывалась общая картина, мы не могли понять, что означают эти IP-адреса и зачем люди из телекома соединяются с этим устройством», — рассказывает Луис, используя английский термин «telecom» для того, что чаще называется Интернет сервис-провайдерами. И они задумались, а что, если VPN —соединения могут исходить и от удаленных пользователей компании, или от чего-то такого, что им вообще трудно было себе представить.
«Пришла пора нам сесть и очень серьезно задуматься о происходящем. Нам просто необходимо было увязать воедино все кусочки картины, имевшиеся в нашем распоряжении, чтобы понять хоть что-нибудь. Наши надежды пока не сбывались. Мы получили доступ в систему, но продвинуться дальше не смогли, и вообще не достигли за день никакого прогресса. Но, вместо того, чтобы пойти домой, и попытать счастья на следующее утро, мы решили пойти в пивную, выпить, расслабиться и прочистить свои головы перед тем, как отправиться домой на общественном транспорте.
Б ы л а ранняя весна, морозец еще пощипывал щеки. Мы вышли из офиса и завернули за угол, где располагался тихий и спокойный, традиционный английский паб.
Я пил темное пиво, а Брок — персиковую водку с лимонадом — очень славная выпивка, всем рекомендую попробовать. Мы просто сидели там, трепались и размышляли, почему за день нам не удалось сделать все, что мы намечали. После первого стакана мы успокоились и достали листок и наши авторучки. Мы начали выдвигать идеи о том, что делать дальше.
Много чего мы н а м е т и л и в т о т вечер, поэтому, в е р н у в ш и с ь н а з а в т р а к компьютерам, мы смогли быстро с е с т ь и начать работать. Мы зафиксировали все, что нам было известно о структуре сети, и попытались понять, каким пользователям нужен доступ к VPN, где физически расположена система, и реконструировать возможные идеи авторов системы при создании службы удаленного доступа к ней.
Мы попытались нарисовать все, что знали о системе, а также и других системах, которые были с ней связаны. Прежде всего мы хотели понять, где в сети расположено пресловутое устройство 3Com. В нижней части рисунка мы нарисовали много квадратиков. По нашему мнению, такие люди, как курьеры и водители должны были иметь доступ к некоторым частям системы. И все же мы не были уверены в этом».
Луис пытался понять, кто, кроме сотрудников компании, может нуждаться в доступе к ней. Они имели дело с компанией, которая заслуженно гордилась своими технологическими инновациями. поэтому Луис и Брок подумали, что, может быть, в ней разработали «какое-то действительно мощное приложение», которое позволяло бы курьерам входить в систему после доставки товара, а затем получать следующее задание. Это приложение могло быть специально защищено от всевозможных ошибок и дурацких действий. Может быть, водителю достаточно было подвести мышкой курсор к иконке, чтобы дать сигнал приложению соединиться с сервером и получить следующий маршрутный лист.
«Мы думали о том, что эти самые водители не могут быть экспертами в компьютерной области, поэтому система должна быть очень простой в общении. Мы начали думать об этом с точки зрения бизнеса: какую систему просто установить, просто поддерживать и в то же время обеспечивать ее безопасность?»
Они начали думать о системе связи dial-up, «скорее всего с ноутбука в кабине автомобиля в распоряжении водителя». Тут два варианта: либо компания сама занимается хостингом, — тогда адреса серверов уже в нашем распоряжении, либо отдает их на сортировку кому-то еще. Можно предположить, что этим «кем-то» является телекоммуникационная компания, следы которой мы заметили в своих записях. Мы предположили, что именно с ней связь организуется из Интернета через VPN-канал». Это укладывалось в схему, по которой водители звонят в эту телекоммуникационную компанию и авторизуются перед тем, как их допустят до соединения с сетью компании-мишени.
Но была и еще одна возможность, продолжает Луис. «Мы продолжали размышлять: „Давай посмотрим, сможем ли мы создать такую архитектуру, в которой парень из грузовика соединялся бы через dial-up с системой, проходил бы там авторизацию и авторизовался бы системой компании, а не провайдером телекоммуникационных услуг. Как можно организовать в такой компании VPN, чтобы любая информация от водителя добиралась до основной компании и не была бы расшифрована в Интернете?“
Они подумали и о том, как решает компания проблему авторизации пользователей. Если курьер должен соединяться с одной из систем, расположенных в телекоммуникационной компании и авторизоваться в ней, тогда и услуги авторизации должны отдаваться на аутсорсинг. Решение могло быть другим, если бы верным оказалось предположение о том, что компания осуществляет хостинг сама, а не у провайдера Интернет-услуг.
Часто задача авторизации передается отдельному серверу, который выполняет эту функцию. Вполне возможно, устройство 3Com использовалось для доступа к идентификационному серверу внутренней сети компании-мишени. Звоня с сотового модема, водитель соединялся с Интернет-провайдером, а затем переадресовывался на устройство 3Com, где его имя пользователя и пароль посылались на другой сервер для авторизации.
Итак, на этом этапе их рабочая гипотеза заключалась в том, что при инициации dial-up соединения устанавливается VPN-соединение между инициатором и устройством 3COM.
Луис и Брок догадывались, что для получения доступа к внутренней сети надо получить доступ к ISP, с которыми и соединяются водители машин. Однако, «мы не знали номера dial-up этих устройств. Они были расположены в незнакомой стране, и мы не знали, что это за телефонные линии, и как получить эту информацию самостоятельно. Мы знали только то, что тип протокола, используемого в V P N , был PPTP». А это было важно, потому что установленный « п о умолчанию» Microsoft V P N сохраняет в своей п а м я т и логин и пароль тех, кто с ним соединялся.
К тому времени, когда они это поняли, они уже порядком выпили и решили «пойти напролом».
«В этот момент мы подумали, что хорошо бы сохранить листок бумаги, на котором мы записывали все результаты нашего „мозгового штурма“, поскольку, если мы все же прорвемся внутрь системы, то этот листок будет уникальным экспонатом. Мы оба были просто горды друг другом за то, что мы смогли придумать».
КОЕ-ЧТО ОБ ИНТУИЦИИ ХАКЕРА
Все, до чего додумалась в ту ночь эта парочка, оказалось очень близко к реальности. Луис говорит об этом, как об особом роде хаке-рской интуиции.
«Трудно объяснить, как ты начинаешь это ощущать. Это опыт, это приходит в результате долгого изучения того, как создаются подобные системы.
На самой ранней стадии Брок почувствовал, что надо продолжать этим заниматься, так как мы сможем достичь результата именно этим путем; это трудно объяснить. Интуиция хакера?
Вначале вы видите лишь клочки информации и то, как устроены те или иные вещи, но постепенно у вас где-то внутри начинает зарождаться понимание всей структуры компании и мировоззрения людей, ответственных за организацию ИТ-системы. Начинаешь постигать, что они знают о безопасности, и что они для нее делают».
Я считаю, что хакеры достигают какого-то уровня понимания того, как сконфигурированы сети и системы, просто внимательно наблюдая за всем происходящим. За тем, как действуют системные администраторы, как они думают. Это как в шахматах, когда вы стараетесь просчитать, перехитрить своего оппонента.
Итак, суть здесь заключается в глубоком понимании того, как обычно мыслят и действуют сетевые администраторы, какие типичные ошибки они делают. Может, прав Луис, который считает: то, что некоторые люди называют интуицией, лучше назвать опытом.
ДЕНЬ ЧЕТВЕРТЫЙ
Следующее утро началось с проверок записей на устройстве 3Com, в ожидании тех, кто попытается осуществить соединение. Как только соединение происходило, они старались как можно быстрее определить IP-адрес входящего соединения.
Они обнаружили, что подобные соединения длились минуту или около того, а потом прерывались. Если их предположение было верным, это означало, что курьер соединялся через dial-up, получал рабочее задание и прерывал соединение. Это означало, что им надо было действовать максимально быстро. «Когда мы видели, что появился новый IP-адрес, то дрожащими руками старались схватить его», — так образно Луис описывает свои ощущения. Адреналин буквально переполнял их в этот момент, как будто они играли в увлекательную компьютерную игру.
Так они выявили несколько портов для услуг, которые могли быть уязвимы, надеясь найти тот, который они смогли бы атаковать, например, telnet или ftp-сервер, или Интернет-сервер с недостаточным уровнем безопасности. К тому же, они надеялись получить доступ к открытым общедоступным директориям через NetBIOS. Они изучали также и такие программы на основе удаленного терминала GUI, как WinVNC или PC Anywhere.
По мере того, как занимался день, они увидели, как на некоторых узлах заработали определенные сервисы.
«Мы никуда не проникали, мы просто сидели и активно сканировали все, когда появлялось соединение с удаленным пользователем. И когда произошло очередное соединение, мы провели очередное сканирование и нашли открытый порт, используемый для PC Anywhere».
Приложение PC Anywhere позволяет получить удаленный контроль над компьютером. Однако, это можно сделать только в том случае, когда другой компьютер тоже выполняет какую-то программу.
«Видя этот порт во время сканирования, мы испытали очередной прилив энтузиазма: «О, на этой машине работает PC Anywhere. Это, наверное, один из компьютеров пользователей, давайте попробуем с ним разобраться.
Мы как будто кричали в пространство: «У кого установлен PC Anywhere?». Кто-то кричал нам в ответ: «Это мы». Поэтому я прокричал IP-адрес, так, чтобы он мог соединиться с системой как можно быстрее».
Луис называет попытку соединения с системой PC Anywhere «очень важным моментом». Он присоединился к другому парню, — пользователю, при помощи окна, появившегося на экране. «Вначале там был просто темный фон, — рассказывает Луис, — а затем происходила одна из двух вещей — либо быстро появлялся серый пароль, или же фон становился голубым, и на сцену выходила система Windows desktop».
«Именно ответа в варианте desktop мы ждали, затаив дыхание. Мгновения казались вечностью, пока мы ожидали, что черный экран исчезнет. Я думал про себя: „Соединяйся, соединяйся, время кончается“. И еще: „я хочу получить пароль“.
Как раз в последнюю секунду, когда я подумал: «ну, сейчас появится пароль» — появился Windows desktop! Ура! Мы, наконец, получили вожделенный desktop. Все, кто был в комнате, могли подойти и посмотреть. Моей первой реакцией было: «У нас опять появился шанс, нельзя его упустить!»
Итак, им опять повезло, они «поймали» клиента, который соединился с устройством 3Com.
«В этот момент мы подумали, как говорится: „либо пан, либо пропал“ —мы знали, что эти люди соединяются лишь на короткое время и понимали, что у нас может просто не быть другой возможности».
Первое, что надо делать при появлении сессии PC Anywhere, это нажимать две клавиши на экране. Луис называет их так: «Кнопка очистки экрана» и «Кнопка для фиксации клавиш консоли». Он объясняет:
«Когда вы используете PC Anywhere, по умолчанию оба пользователя —на компьютере и тот, кто использует PC Anywhere — имеют доступ к мышке и могут двигать ей по экрану, чтобы запускать приложения или открывать файлы и т.п. Но при помощи PC Anywhere вы можете заблокировать клавиатуру для другого пользователя».
Они сделали это и получили контроль над сессией, убедившись, что пользователь не может видеть, что они делают, поскольку они обнулили его экран. Луис понимал, что довольно скоро у пользователя возникнут какие-то подозрения или он решит, что у него определенные проблемы и отключит компьютер, поэтому времени у них было совсем мало.
«Мы пытались использовать этот шанс и получить доступ внутрь системы. Надо было быстро решить, что мы хотим предпринять, и какую ценную информацию можно извлечь из этого компьютера.
Я заметил, что на компьютере была установлена ОС Microsoft Windows 98 и нам надо найти кого-то, кто посоветует, какую информацию можно извлечь из такого компьютера.
К счастью один из ребят, находившихся рядом с нами, не был полностью погружен в свои занятия и знал, как извлечь информацию из такой системы».
Он предложил посмотреть на файл со списком паролей (PWL). (Это файл, используемый в системах Windows 95, 98 и ME, содержит важную информацию, такую, например, как пароли для dial-up и сетевые пароли. Например, если вы используете вход в сеть dial-up под Windows, все детали авторизации, включая номер телефона dial-up, имя пользователя и логин содержатся именно в этом файле).
Перед тем, как загрузить к себе этот файл, они должны были отключить все антивирусные программы, чтобы те не обнаружили средств, которые они использовали. Затем они попытались использовать возможности передачи файлов в PC Anywhere, чтобы передать PWL-файл из компьютера, которым пользовался курьер в данный момент, на свой компьютер. Это не сработало. «Мы не понимали почему, но у нас не было времени сидеть и обсуждать это. Мы должны были извлечь PWL-информацию из того компьютера немедленно, пока курьер еще не прервал соединения».
Что еще они могли сделать? Одна из возможностей: загрузить туда программу для взлома паролей, взломать PWL-файл на компьютере курьера и извлечь информацию в текстовый файл, который потом переслать себе. У них уже было имя пользователя и пароль, которыми пользовался курьер. Но они вовремя осознали проблему: клавиатура на компьютере курьера была на иностранном языке — вот что было причиной их неудачи с авторизацией. « М ы продолжали получать сигнал „Имя неправильное“, потому что клавиши клавиатуры там означали другие буквы». А время бежало…
«Мы чувствовали, что время уходит. Парень, сидящий в грузовике, мог перевозить кучу денег, или, к примеру, заключенных. Он вполне мог задать себе вопрос: „Что за чертовщина здесь происходит?“ В таком случае, он отключился бы еще до того, как мы получили то, что нам было нужно».
Да, время сейчас играло не в их пользу, и никто из их коллег в той же комнате не мог помочь разрешить проблему с иностранной клавиатурой. Может быть, в более спокойной обстановке они смогли бы ввести имя пользователя и пароль, используя коды ASCII вместо настоящих букв и цифр. Но в данный момент никто не мог посоветовать им, как это сделать.
Что же делать сегодня человеку, если ему очень быстро нужно пол у ч и т ь ответ на вопрос? Именно это и сделали Луис и Брок: « М ы быстро вошли в Интернет и стали искать способы ввода букв без использования клавиатуры».
Достаточно быстро они нашли ответ: надо нажать ключ «Num Lock», затем нажать и держать ключ < A L T > , а потом набирать численные значения ASCII-символов на цифровой части клавиатуры. Остальное — просто.
«Нам часто приходится переводить буквы и символы в ASCII-коды и наоборот. Надо просто встать и посмотреть в одну из полезных таблиц, которые развешаны у нас по всем стенам».
Вместо полуголых девиц у этих ребят на стенах висели таблицы перевода символов из одной систему в другую. «ASCII-красотки», — говорит Луис.
С помощью приятелей, которые подсказывали, какую последовательность цифр надо набирать, они успешно ввели в компьютер имя пользователя и пароль. После этого они смогли передать программу для взлома PWL и запустить ее, чтобы извлечь информацию из P W L —файла в текстовый файл, который затем переслать из ноутбука водителя на FTP-сервер, находящийся под их контролем.
Когда Луис просмотрел этот файл, он нашел там необходимые для авторизации данные, которые искал, включая номер телефона для dial-up соединения и те имя и пароль, которые водитель использовал для соединения с VPN-сетью компании. Луис подумал, что это вся информация, которая ему нужна.
Проверяя, не оставил ли он следов своего пребывания в ноутбуке водителя, Луис просмотрел все «иконки» на рабочем столе компьютера и обратил внимание на одну, которая выглядела как приложение, с помощью которого курьеры-охранники могли получать информацию из компании. Теперь они знали, что водители соединялись через компанию с сервером приложений, чтобы получить необходимую им информацию.
ДОСТУП В СИСТЕМУ КОМПАНИИ
«Мы подозревали, — вспоминает Луис, — что этот пользователь вполне мог заметить странную активность в своем компьютере, поэтому мы оттуда ушли. Если бы об этом инциденте был сделан специальный доклад, то VPN-сервис был бы просто отключен. и наше знание параметров, необходимых для входа в него, обесценилось».
Через несколько секунд они заметили, что соединение с PC Anywhere прервалось — водитель отсоединился. Луис и его помощники извлекли нужную им информацию из PWL-файла как раз вовремя.
Теперь у Луиса и Брока был номер телефона, принадлежащий dial-up устройству, одному из тех, что они рисовали вчера вечером в баре. Это был опять иностранный номер. Используя ту же систему Windows, что использовал и охранник, они набрали этот номер, ввели имя пользователя и пароль и «обнаружили, что мы успешно установили VPN-соединение».
Из того, как был сконфигурирован VPN, они получили IP-адрес в D M Z компании, так что оказались за первым межсетевым экраном, но перед ними еще был второй межсетевой экран, защищающий внутреннюю сеть, что они поняли еще раньше.
IP-адрес, п р и п и с а н н ы й V P N , находился в пределах D M Z , поэтому некоторые компьютеры внутренней сети ему вполне доверяли, Луис думал, что проникнуть во внутреннюю сеть будет намного легче, поскольку они уже проникли за первый межсетевой экран. «В этот момент, — говорит он, — мы думали, что пробраться через внутренний межсетевой экран во внутреннюю сеть будет легко». Но когда он попробовал сделать это, то обнаружил, что не может добраться до исполняемого сервиса на компьютере, где был установлен сервер приложений. «Это был очень странный TCP-порт, который был доступен и через фильтры, и мы думали, что он используется для приложений, которыми пользуются водители. Но мы не знали, как он работает».
Луис стремился отыскать во внутренней сети компании систему, в которую он мог бы проникнуть, используя ее 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-файла, то обнаружили, что там есть еще один пользователь-администратор на местном компьютере, отличный от администратора встроенной директории.
«После нескольких часов работы мы смогли взломать пароль этого пользователя, а затем попытались авторизоваться в первичном контроллере домена. И мы обнаружили, что этот пользователь с правами администратора на Интернет-сервере, взломанном нами, имел точно такой же пароль и в домене! И здесь он тоже имел права администратора.
Итак, на Интернет-сервере был пользователь с правами администратора, который имел такое же имя, как и администратор домена, и пароль в обоих с л у ч а я х был один и т о т же. Э т о т администратор был невероятно ленив, если для своей директории на другом сервере повторно использовал то же самое имя и пароль».
Дело постепенно продвигалось, хоть и небольшими шажками. Администратор на Интернет-сервере не имел таких привилегий на весь домен. Но, получив его пароль на Интернет-сервере, благодаря его лени мы смогли проникнуть в директорию администратора домена. Администратор домена администрирует или управляет всем доменом в отличие от администратора вашего локального компьютера, который управляет только им. В данном случае Луис не был исключением.
«Надо сказать, что это обычная практика, с которой мы часто встречаемся. Администратор домена создает свою директорию на всех машинах сотрудников сети и использует для них тот же пароль. И это означает, что сведения из каждого локального компьютера могут быть использованы для взлома системы безопасности всего домена».
ЦЕЛЬ ДОСТИГНУТА