Искусство вторжения - Митник Кевин. Страница 28

Из университетской компьютерной комнаты Адриан обнаружил неправильно сконфигурированный прокси-сервер, который открыл ему путь к внутренним Интернет-страницам различных департаментов excite@home. В специальном разделе технической помощи он задал вопрос о своих проблемах с входом в компьютер. В ответ ему прислали адрес URL, который был предназначен специально для помощи в разрешении проблем с ИТ-инфраструктурой. Проанализировав этот адрес, он получил возможность доступа к другим подразделениям компании, которая использовала ту же технологию. Его не спрашивали об авторизации: система была настроена на то, что любой человек, проникший в эту часть сети, может быть только сотрудником или другим авторизованным человеком, — столь широко распространенное заблуждение, что оно имеет специальное название: «безопасность через неясность».

Для реализации следующего шага он направился на сайт, весьма популярный в среде исследователей сети — netcraft.com. Адриан входил в различные доменные имена, а сайт Netcraft отвечал ему на это списком Е-серверов, показывая их как компьютеры Solaris с ПО Apache.

По мере исследований Адриан обнаружил, что сетевой центр управления компании предлагает услуги технической поддержки, которые позволяют авторизованным сотрудникам прочесть детали запросов пользователей о помощи: «Помогите! Я не могу войти в свой компьютер», или нечто подобное. Иногда сотрудник компании спрашивает у пользователя его имя и пароль — действия безопасные, поскольку происходят они за корпоративным межсетевым экраном; полученная информация будет включена в список технических проблем.

То, что нашел Адриан, по его словам, «открыло ему глаза». В списке жалоб содержалась именно эта информация о пользователях — их имена и пароли, жалобы и отчет об их устранении. Он обнаружил также и текст для создания «паролей авторизации», которые позволяют техникам входить в компьютер к любому пользователю для устранения проблем без необходимости знания пароля пользователя.

Одна из подобных записок привлекла внимание Адриана, В ней был описан случай пользователя, который более года назад просил о помощи в связи с тем, что его кредитная карточка была украдена кем-то с сайта 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» означает, что я активно соединен со своим личным Интернет-сайтом.