Одна из подобных записок привлекла внимание Адриана, В ней был описан случай пользователя, который более года назад просил о помощи в связи с тем, что его кредитная карточка была украдена кем-то с сайта IRC. В этой записке было отмечено, что техническая служба ответила, что это не входит в их компетенцию. Попросту бедного парня отфутболили. Адриан позвонил этому человеку. Представился техником компании и сказал: «Привет, я не занимаюсь вашей проблемой, я просто хочу понять, отвечал ли вам кто-нибудь из нашей службы?» Мужчина ответил, что не услышал ни одного слова в ответ. Адриан прямо отправил ему необходимый отчет и всю внутреннюю документацию, относящуюся к нему.
«Я почувствовал удовлетворение, поскольку я хочу верить в справедливость мира даже в таком извращенном виде, когда ответить на вопрос об украденной у вас кем-то из I R C базе данных вам через год может лишь хакер, который проник в сеть компании, которую вы доверчиво просите о помощи».
В конце концов, открытый им прокси-сервер перестал давать ему доступ. Он не знал почему, просто перестал входить в него. Тогда он стал искать другой путь. Подход, который он придумал, был по его словам «совершенно новым».
Первый его шаг заключался в том, что называется «поиск обратной D N S » — поиск названия узла по его IP-адресу. (Если вы дадите своему браузеру указание идти на сайт www.defensivethinking.com , то запрос отправится в Domain Name Server, который и преобразует это имя в адрес, который может быть использован в Интернете для переадресации вашего запроса — 209.151.246.5. Тактика, которую избрал Адриан была обратной: он набирал IP-адрес, а в ответ получал имя домена, которому этот адрес соответствовал).
Таким образом он исследовал много адресов, большинство которых не представляло никакого интереса. Он набрел только на несколько сайтов, начинающихся со слова «dialup», типа dialup00.corp.home.net, Он предположил, что это названия узлов, с которыми связываются сотрудники, находящиеся в дороге для входа в корпоративную сеть.
Вскоре он обнаружил, что эти dial-up номера используются сотрудниками, которые работают на компьютерах со старыми версиями операционных систем, таких как Windows 98. Некоторые сотрудники использовали «открытое ПО», которое позволяло осуществить удаленный доступ к некоторым директориям или даже ко всему жесткому диску без необходимости читать или писать пароль. Адриан понял, что может внести изменения в тексты операционной системы так, что будут выполняться команды по его желанию. После написания собственных файлов запуска операционных систем пришлось подождать, поскольку система должна была перезагрузиться, чтобы заработала его версия с изменениями. Но Адриан умел быть терпеливым.
Терпение всегда вознаграждается, и Адриан перешел к следующему шагу: установке «RAT» (Remote Access Trojan — троянский червь для удаленного доступа). Чтобы сделать это, он не стал использовать уже известные трояны, созданные другими хакерами для своих злобных намерений. Современные популярные антивирусные программы разработаны для того, чтобы распознавать общеупотребительные трояны и программы создания «черного хода» и обезвреживать их мгновенно. Для решения этой проблемы Адриан нашел совершенно законное приложение, созданное для использования сетевыми и системными администраторами — коммерческое ПО для удаленного управления, которое он слегка модернизировал, чтобы оно стало незаметным для пользователя.
Тогда как антивирусные программы ищут программы удаленного доступа, которые используют хакеры, они не смотрят на законные программы для удаленного доступа, созданные крупными разработчиками ПО, предполагая, что такие программы ничего плохого сделать не могут (так полагал и я, поскольку крупная компания может подать иск, если антивирусное ПО сочтет ее программу вредной и заблокирует ее действие). Лично я считаю, что это плохая идея; антивирусные программы должны извещать пользователя о любом продукте, который может использоваться в злонамеренных целях и предоставить пользователю решать, насколько он законен. И вот — Адриан часто устанавливал «законные» RAT, которые антивирусные программы не могли обнаружить.
После того, как он успешно установил RAT на компьютере сотрудника @home, компьютер выполнил определенную последовательность команд, которая дала Адриану информацию об активных сетевых соединениях с другими компьютерными системами. Одна из таких команд «netstat» показала ему сетевую активность сотрудника, который в данный момент был соединен с внутренней сетью @home через dial-in и выявил тот компьютер во внутренней сети, на котором работал этот человек в данное время.
Чтобы показать образец данных, которые выдает программа netstat, я запустил ее на своей собственной машине; эта распечатка выглядела так:
С:/Documents and Settings/quest>netstat —a
Active connections
Proto Local Adress Foreign Address
State
TCP lockpicker:1411 64.12.26.50:5190
ESTABLISHED
TCP lockpicker:2842 catlow.cyberverse.com:22
ESTABLISHED
TCP lockpicker:2982 www.kevinmitnik.com:http
ESTABLISHED
В столбце «Local Adress» перечислены имена местных машин («lockpicker» — так тогда назывался мой компьютер) и номер порта той машины. В столбце «Foreign Adress» показано имя хоста (узла) или IP-адрес удаленного компьютера, с которым реализовано соединение. Например, первая линия распечатки показывает, что мой компьютер установил соединение с 64.12.26.50 через порт 5190. который обычно используется для передачи мгновенных сообщений (AOL Instant Messenger). Столбец «State» показывает состояние соединения — «Established», если соединение в данный момент активно, «Listening» — если компьютер ожидает соединения.
В следующей строке, начиная с «catlow.cyberverse.com» показано имя хоста компьютерной системы, с которой соединен я. В последней строке « www.kevinmitnik.com:http» означает, что я активно соединен со своим личным Интернет-сайтом.
Владелец компьютера не должен запускать приложения на общеизвестных портах, но он может сконфигурировать компьютер так, чтобы использовать нестандартные порты. Например. H T T P (Интернет-сервер) работает на порте 80, но владелец может изменить номер порта, чтобы Интернет-сервер работал где угодно. Изучая ТСР-соединения сотрудников. Адриан обнаружил, что сотрудники @home соединяются с Интернет-сервером через нестандартные порты.
Из этой информации Адриан смог получить IP-адреса для компьютеров компании, что было аналогично проникновению в секретную корпоративную информацию @home. Среди других «драгоценностей» он обнаружил базу данных имен, адресов электронной почты, номеров кабельных модемов, текущих IP-адресов, даже операционных систем, работающих на компьютерах, для каждого из примерно трех миллионов абонентов широкополосной связи.
Это была «экзотическая атака» по словам Адриана, поскольку она включала в себя перехват соединения от внешнего компьютера, соединяющегося с сетью.
Адриан считает это достаточно простым процессом. Вся основная тяжесть, которая заняла месяц проб и ошибок, состояла в составлении подробной карты сети: надо было выяснить все ее составные части и то, как они связаны друг с другом.
Ведущий сетевой инженер [email protected] был человеком, которому Адриан поставлял информацию в прошлом, и ему можно было доверять. Отступив от своего обычного правила использовать посредника для передачи информации в компанию, куда он проник, он позвонил инженеру прямо и объяснил, что он обнаружил определенные слабости в сети компании. Инженер согласился на встречу с ним. несмотря на позднее время. Они встретились в полночь.
«Я показал ему часть из документации, которую я набрал. Он позвонил их эксперту по безопасности, и мы встретились с ним в офисе [email protected] около 4.30 утра». Инженер и эксперт внимательно просмотрели материалы Адриана и задали ему несколько вопросов о том, как он проникал в сеть. Около шести утра они закончили, и Адриан сказал, что хотел бы посмотреть на их реальный прокси-сервер, один из тех, что он использовал для получения доступа.
«Мы посмотрели на э т о т сервер и они сказали мне: „А как вы бы обезопасили эту машину?“
Адриан уже знал, что сервер не используется для каких-то важных дел, это был просто «случайный сервер».
«Я вытащил мой перочинный ножик, один из самых простых, с лезвием для открывания бутылок. Я подошел к серверу, перерезал его кабель и сказал: „Теперь компьютер безопасен“.
«Они ответили: „Нам это подходит“. Инженер написал на бумаге „не соединять“ и прикрепил ее к серверу».
Адриан обнаружил доступ в сеть крупной компании при помощи одного компьютера, который уже давно перестал выполнять важные функции, но никто даже не заметил этого и не позаботился о том, чтобы удалить его из сети. «В любой компании», — говорит Адриан, — «есть множество подобных компьютеров, стоящих повсюду, соединенных с внешним миром и неиспользуемых». Каждый из них — потенциальная возможность для проникновения.
MCI WORLDCOM
Так же, как он поступал и с другими сетями, Адриана начал с атаки на прокси-сервер «королевства» WorldCom. Он начал поиск, используя свое любимое средство для навигации в компьютерных сетях, программу под названием ProxyHunter, которая локализует открытые прокси-серверы. Запустив эту программу на своем ноутбуке, он просканировал корпоративные Интернет-адреса WorldCom, быстро идентифицировал пять открытых прокси-серверов — один из них имел URL-адрес, заканчивающийся на world.com. Теперь ему нужно было только сконфигурировать свой браузер для того, чтобы использовать один из этих прокси, и он мог бы путешествовать по внутренней сети WorldCom так же свободно, как и любой сотрудник этой компании.