Порт – это дверь во внешний мир. Компьютеры TCP/IP используют стандартный набор портов для различных сервисов. 25-ый порт для почты. 79-ый для Finger. 21-ый для FTP. 23-й для Telnet. 513-ый для rlogin. 80-ый для www. У компьютерных систем, основанных на TCP/IP, имеется 65535 портов, но большинство из них не используется. Средняя станция unix использует только 35 портов, оставляя остальные 65500 портов свободными. Антракс просто выбрал один из этих спящих портов, очистил от паутины и включил, чтобы использовать его для чёрного хода, созданного его маленькой почтовой программой.
Прямое соединение с портом вызывало некоторые проблемы, потому что система не могла распознать из порта некоторые символы, такие как символ возврата (он же enter). По этой причине Антраксу надо было сделать для себя аккаунт, который позволял бы ему зателнетиться на сайт как любой нормальный пользователь. Для этого ему нужны были привилегии root, чтобы создать аккаунт и, в конечном счёте, постоянный черный ход в систему.
Он начал охотиться за уязвимостями в безопасности System X. Ничего обычного, но он решил попробовать баг, который он успешно использовал в другом месте. В первый раз он услышал о нём из международной телефонной конференции, через которую он торговал информацией с другими хакерами и фрикерами. Дырка в безопасности появлялась в системе из-за неясного загружаемого программного модуля. Программа добавляла к запущенной системе некоторые усовершенствования, но что было важно – она выполнялась как root. Это позволяло ей выполняться независимо от системных ограничений. Это также означало, что любая другая программа, которую вызывал загружаемый программный модуль, также выполнялась как root. Если бы Антракс смог заставить эту программу запустить одну из его собственных программ – небольшой Троян – он бы получил root на System X.
Он не был уверен в баге с загрузочным модулем в System X. Большинство коммерческих систем – например, компьютеры банков или кредитных агентств, закрыли баг с загрузочным модулем в компьютерах Sunos ещё несколько месацев ранее. Но военные системы последовательно сохраняли в себе баг. Они были как черепахи – твёрдые снаружи, но мягкие и уязвимые изнутри. Военные компьютерные чиновники уделяли ему мало внимания, так как баг не мог использоваться, пока хакер не был внутри системы. До System X Антракс посетил большое количество военных систем и из его экспериментов более чем 90% компьютеров Sunos не пофиксили баг.
С обычными привилегиями Антракс не мог заставить загрузочный модуль запустить его троянскую программу. Но он мог обмануть её, чтобы она сделала это. Секрет был в простой клавише: /.
Компьютерные системы Unix немного похожи на документы дипломатов; малейшее изменение может полностью обратить значение.
Для системы unix фраза:
/bin/program
очень сильно отличается от:
bin program
Один простой символ «/» создавал огромное различие. Компьютер Unix читал символ «/» как знак направления. Первая фраза говорит компьютеру: «следуй по пути к домашнему каталогу пользователя под названием «bin» и когда окажешься там, войди и запусти файл по имени «program». Однако символ пробела говорит компьютеру кое-что другое. В этом случае Антракс знал, что он скажет компьютеру выполнить команду, которая следует за пробелом. Эта вторая фраза говорила компьютеру: «Поищи поблизости программу по имени «bin» и запусти её».
Антракс подготовился к своей атаке на загрузочный программный модуль, вставив во временную область памяти System X свою специальную программу по имени «bin». Если он заставит System X выполнить его программу с привилегиями root, то он тоже получит доступ к системе уровня root. Когда всё было на месте, Антракс заставил систему читать символ «/» как символ побела. Затем он запустил программный модуль и стал ждать. Когда System X осмотрелась в поисках программы «bin» она быстро нашла троян Антракса и запустила его.
8th Май 2011
|
Теги:
|