Искусство вторжения
Шрифт:
«В тот момент», — вспоминает Эрик, — «я уже сделал десяток запросов на Интернет-сервер и ничего не мог там найти». Хотя находка паролей базы данных и была восхитительной, он быстро понял, что на этой машине нет сервера баз данных.
С этого момента ситуация стала «интересной».
«Я ничего не мог найти на том сервере, но у меня была специальная программа, которая перебирала возможные имена узлов на основе списка общеупотребительных имен узлов — как gateways, backup, test и т.д. плюс имя домена. Она перебирала список общеупотребительных имен узлов, чтобы убедиться, какие имена узлов существуют в этом домене.
Люди очень предсказуемы в выборе имен узлов, поэтому очень просто найти серверы».
Отыскать
hostname.companyname.com.jp
Это позволило ему отыскать сервер архивирования и почтовый сервер. Он попал на них с помощью паролей, которые он обнаружил в файлах источников (.inc) в «include». Пароль для сервера Microsoft SQL был найден в директории администратора ( « s a » ) . Он смог выполнять команды при помощи стандартной процедуры (xpcmdshell), которая позволяла ему запускать shell-команды там, где работал SQL-сервер, обычно в привилегированном режиме. И — удача! Это дало ему полный доступ к Интернет/почтовому серверу.
Эрик немедленно начал рыться в директориях в поисках копий кодов и других ценностей. Его главной целью было найти очень секретную программу, используемую для производства лицензионных ключей для пользователей, которая обычно называется генератором ключей или «keygen». Сначала надо было собрать как можно больше информации о системе и ее пользователях. Все собранные интересующие его сведения Эрик записывал в таблицу Excel, где классифицировал пароли, IP-адреса, имена узлов, какие сервисы были доступны через открытые порты и т.д.
Он также заглядывал и в такую скрытую часть операционной системы, которую неопытные хакеры обычно пропускают, как LSA-секреты, где содержатся сервисные пароли, пароль последнего пользователя, входившего в компьютер, RAS-имена (Remote Access Services — услуги удаленного доступа) для dial-up, пароли рабочих станций, используемые для доступа в домен и многое другое. Он также просмотрел и защищенную область для хранения данных, где хранились пароли для Internet Explorer и Outlook Express.
Сначала он извлек «мешанину» паролей, и, расшифровав их, восстановил. Поскольку сервер был одновременно резервным контроллером домена, почтовым сервером и вторичным DNS-сервером, Эрик получил доступ ко всем записям обо всех DNS-pecypcax, (включая, среди прочего, имена узлов и соответствующие IP-адреса), открыв панель управления DNS. которая содержала подробный список имен узлов и доменов, используемых в компании.
«Теперь у меня был список всех их узлов, и я собирал пароли к ним тут и там, перескакивая из системы в систему».
Подобные «скачки» были возможны благодаря его предыдущим успехам в расшифровке паролей на backup Интернет-сервере после использования пароля Microsoft SQL, который он нашел.
Он до сих пор не знал, на каком сервере разрабатываются приложения, хранятся коды программ и лицензируемые коды управления. В поисках подсказки он тщательно просматривал все письма и записи о работе в Интернете, чтобы найти там хоть какой-то намек. Однажды он нашел список других IP-адресов из распечатки, которая выглядела интересно, тогда он решил атаковать этот компьютер. Его «Священным Граалем» на этом этапе была рабочая станция разработчиков, поскольку любой разработчик всегда хотел бы иметь доступ ко всему набору файлов кодов.
После этого он решил затихнуть на несколько недель. Собрав коллекцию паролей, он не находил
КОМПЬЮТЕР ГЛАВЫ КОМПАНИИ
Почти восемь месяцев он «перескакивал с одного сервера на другой», не находя ни кодов программы, ни генератора ключей. Пока, наконец, не произошел некий прорыв. Он начал более пристально изучать backup Интернет-сервер, на который он проник первым, и обнаружил, что там хранятся копии всех писем, в частности список IP-адресов и адресов электронной почты всех сотрудников. Просмотрев этот список, он смог восстановить IP-адрес главы компании (CEO — Chief Executing Officer). Наконец-то он определил действительно достойную мишень.
«Наконец-то я нашел компьютер С Е О и это было уже интересно. Несколько дней я сканировал его порты, и он не отвечал, но я был уверен, что он там. В заголовках электронной почты я видел, что он использует один IP-адрес, но его там никогда не было.
Я начал сканировать его компьютер, проверяясь каждые два ч а с а — не прощупывает ли он меня, на тот случай, если бы у него были программы для обнаружения вторжения. Я прощупывал его несколько раз в день, но ограничил число портов пятью за каждые двадцать четыре часа. Через несколько дней я нашел порт, открытый, когда он работал за компьютером. Я наконец нашел открытый порт на его машине — 1433, работающий под MS SQL-сервером. Оказалось, что это его ноутбук, который он просматривал по два часа каждое утро. Итак, он приходил к себе в офис, проверял почту и затем уходил, выключив ноутбук».
ПРОНИКНОВЕНИЕ В КОМПЬЮТЕР СЕО
К тому времени Эрик собрал двадцать или тридцать паролей, принадлежащих компании. «У них были хорошие, сильные пароли, но они были построены по одному принципу. Однажды я понял его и раскрыл все пароли».
В этот момент Эрик осознал, что он занимается этим делом почти целый год. Только теперь его усилия увенчались успехом.
Эрик понял, что он распознал стратегию компании в области паролей, поэтому он опять вернулся к компьютеру СЕО, решив узнать его пароль. Что позволило ему надеяться на то, что он найдет пароль, который СЕО использует для MS SQL-сервера?
«Вы знаете, на самом деле я не могу этого объяснить. Это, похоже, моя способность — угадывать пароль, который выбирают люди, Я знаю даже то, какой пароль они будут использовать в будущем. У меня есть такое чувство, что я могу это знать. Это похоже на то, что я становлюсь ими и говорю, какой пароль я выбрал бы на их месте».
Он не знал, как это назвать — удачей или мастерством — поэтому закрылся формулировкой: «Я хорошо угадываю». Независимо от объяснения, он обычно узнавал правильный пароль, даже когда это было «не слово из словаря, а нечто более сложное».
Аналогичным образом он получил и пароль, который дал ему доступ к SQL-серверу в качестве администратора базы данных. СЕО был «Owned».
Он обнаружил, что компьютер хорошо защищен межсетевым экраном и лишь один порт у него открыт. Но Эрик обнаружил и немало такого, над чем он мог посмеяться. «Его система была крайне бестолковая. Я ничего не мог там найти, Я имею в виду, что там повсюду были файлы». Не зная иностранного языка, на котором там все было написано, Эрик использовал некоторые онлайновые словари и бесплатный сервис онлайнового перевода под названием «Bablefish», чтобы понять хотя бы ключевые слова. Ему помогал и его приятель, говоривший на этом языке. Из сообщений в «чатах» он смог отыскать дополнительные пароли и IP-адреса.