Призрак в Сети. Мемуары величайшего хакера - Уильям Саймон
Шрифт:
Интервал:
Закладка:
Я поднимаю глаза: в дверь входит инструктор. Черт возьми! Это был тот самый дядька , который учил меня водить два года назад, когда я еще был Эриком Вайсом. Вероятно, он просто сменил работу. Вот не везет так не везет…
Поразительно, как подсознание может заставить человека действовать мгновенно и за какую-то секунду составить план. Я открыл рот и, к собственному удивлению, сказал: «Ой, а я вас знаю. Вы в какой супермаркет ходите?»
«В „Смит“, это на Мэрилендском бульваре», – ответил он, пытаясь припомнить, откуда же он меня знает.
«О, точно, – говорю я. – Там я вас и видел. Я тоже там постоянно отовариваюсь».
«Ох, а я-то думал, что мы знакомы», – сказал он с удовлетворением.
Теперь легенду пришлось изменить, так как в прошлый раз я тоже рассказывал этому мужику про Лондон. Вместо этого я сказал, что служил в миротворческом корпусе в Уганде и пять лет не сидел за рулем.
Сработало как заклинание. Он нарадоваться не мог, как быстро я осваиваюсь в водительском кресле.
Я прошел тест и покинул инспекцию с новыми правами для Майкла Стэнфилла.
Часть IV КОНЕЦ И НАЧАЛО
Глава 33 Хакер против самурая
...Ozg ojglw lzw hshwj gf AH Khggxafy lzsl BKR skcwv ew stgml ? [155]
Получив новые удостоверения личности, я должен был уехать из Лас-Вегаса, пока удача все еще мне благоволила. Оставалось всего ничего до нового 1995 года, и я не мог отказать себе в удовольствии ненадолго вернуться в Денвер – город, который так пришелся мне по душе. Собирая вещи, я прихватил старый лыжный костюм. Я думал, что в праздники смогу провести чуть больше времени на заснеженных склонах.
Когда же я приехал в Денвер и остановился в симпатичной недорогой гостинице, развернулась драма, в которой участвовали двое людей. Их обоих я никогда не встречал. Первым был тот самый высокомерный американский японец, специалист по безопасности, чей сервер я взломал год назад. Вторым оказался талантливый хакер из Израиля. Эта драма раз и навсегда изменила мою жизнь.
Мне довелось пересечься в Интернете с одним евреем, который выступал в IRC под своими инициалами JSZ. IRC – это так называемый ретранслируемый интернет-чат, онлайновая служба, позволяющая общаться с незнакомцами, которые разделяют с вами общие интересы. В нашем случае общие интересы сводились к хакерству.
Он рассказал мне, что взломал системы большинства, если не всех крупнейших компаний-разработчиков программного обеспечения, которые специализировались на производстве операционных систем, например Sun, Silicon Graphics, IBM, SCO и т. д. JSZ скопировал исходные коды из их внутренних рабочих систем и установил лазейки-бэкдоры, чтобы вернуться в эти системы, когда только пожелает. Это вам не шутки. Такое сразу производит впечатление.
Мы стали рассказывать друг другу о наших хакерских похождениях, делиться секретами о новых эксплойтах, системах скрытого доступа, клонировании сотовых телефонов, добыче исходного кода и взломе систем специалистов, которые занимаются исследованием уязвимостей.
Во время одного из разговоров он спросил, читал ли я статью Морриса об IP-спуфинге, где рассказывалось о крупной уязвимости, обнаруженной в основном протоколе Интернета.
Роберт Т. Моррис, компьютерный гений, нашел хитрую уязвимость в системе безопасности. Эту брешь можно было использовать методом IP-спуфинга, обманывая систему на этапе аутентификации, который был завязан на IP-адресе удаленного пользователя. Через десять лет после того, как Моррис опубликовал свою работу, группа хакеров, в том числе JSZ, который действовал из Израиля, создала инструмент для использования этой уязвимости. Поскольку на тот момент уязвимость считалась возможной только теоретически, никто даже не пробовал от нее защищаться.
...Познавательная страничка для технарей. В данном случае атака с применением IP-спуфинга основывается на довольно старой технологии, называемой R-службой. Такая технология требовала конфигурировать каждую компьютерную систему так, чтобы она принимала доверенные соединения. Это означало, что пользователь может войти в учетную запись, которая зависит от конфигурации системы, но при этом не требуется вводить пароль. Таким образом, системный администратор мог задавать для сервера конфигурацию, которая заставляла систему доверять определенным компьютерам на этапе аутентификации. Практическим примером послужит ситуация, в которой системный администратор управляет сразу большим количеством машин, поэтому, когда кто-то входит в систему, имея административные привилегии, администратору не требуется пароль, чтобы входить и в другие системы, доверяющие серверу
При атаке с применением IP-спуфинга хакер сначала ищет такие системы, которые будут доверенными для административного аккаунта, работающего на сервере-мишени. То есть если какой-то пользователь приобретет административные права в одной из доверенных систем, то он сможет войти и в учетную запись администратора на атакуемом сервере, не указывая пароля.
В данном случае такое проникновение было несложным. При помощи команды «finger» атакующий мог определить, когда авторизованный пользователь подключается к целевой системе с другого компьютера, расположенного в той же локальной сети. Вероятно, эти две системы доверяют и открывают друг для друга административный доступ. На следующем этапе необходимо установить соединение с целевой системой, это делалось путем имитации IP-адреса одного из доверенных компьютеров.
Здесь ситуация становилась уже интереснее. Когда две системы устанавливают предварительное соединение по протоколу TCP, между ними в обоих направлениях отправляются последовательности пакетов, которые создают само соединение, или сессию. Такой процесс называется трехэтапным квитированием. Во время квитирования, или рукопожатия, целевая система передает пакет обратно к той машине, которая пытается установить соединение. Поскольку атакуемый сервер считает, что он отвечает на запрос реальной системы (его цель – установить сетевое соединение), процесс квитирования не завершается, так как система атакующего хакера не получает пакета, необходимого для выполнения трехэтапного квитирования.
Вводим порядковый номер TCP. Данный протокол использует порядковые номера, чтобы подтвердить прием данных. Если атакующий может предсказать порядковый номер пакета, пересылаемого из целевой системы на реальный сервер при первом квитировании, то у него есть возможность успешно завершить этот процесс, переслав пакет подтверждения синхронизации с правильным порядковым номером и установив соединение, которое явно казалось бы исходящим от доверенной машины.
Таким образом, при установлении соединения приходилось фактически отгадывать порядковый номер TCP. Поскольку атакуемая система была обманута и считала, что устанавливает соединение с доверенной машиной, атакующий мог воспользоваться доверенным статусом соединения и обойти обычное требование предъявления пароля, далее он приобретал полный контроль над атакованной машиной. На данном этапе хакер мог переписать файл. rhosts, который находился на тот момент на атакованном компьютере, позволив кому угодно попадать на атакованную машину без указания пароля.
Вся операция проникновения основывалась на способности атакующего предсказать порядковый номер TCP для того пакета, который отсылался целевым компьютером в момент предварительного контакта. Если бы атакующий умел успешно предсказывать порядковые номера TCP, которые атакуемый компьютер использует при квитировании, то такой взломщик мог бы выдавать себя за доверенный компьютер и обходить защитные механизмы, чья работа основывалась на проверке IP-адреса пользователя.
Я сказал JSZ, что читал эту статью. «Но все это теория. На практике она пока не реализована».
«Нет, приятель, не такая уж это и теория. Мы разработали один инструментик, и он фурычит как по маслу». Он говорил о программе, которую разрабатывал вместе с подельниками, жившими по всей Европе.
«Быть того не может! Прикалываешься надо мной!»
«Нет, я серьезно».
Тогда я спросил, не мог бы он скинуть мне копию программы.
«Может, попозже, – ответил JSZ, – но я в любой момент могу продемонстрировать тебе, как она работает. Просто даешь мне цель, и все готово».
...Я рассказал JSZ о том, как взламывал сервер Марка Лоттора, а также об интересной переписке между Лоттором и Тсутому Шимомурой, которого я называл по кличке.
Я рассказал JSZ о том, как взламывал сервер Марка Лоттора, а также об интересной переписке между Лоттором и Тсутому Шимомурой, которого я называл по кличке. Я рассказал, как мне удалось проникнуть в систему Калифорнийского университета Сан-Диего, а потом анализировать сетевой трафик, пока какой-то клиент ariel не подключился к серверу Шимомуры. За Ариэлем туда попал и я. «Только Шимми как-то догадался, что одного из тех, кто имел доступ к его компьютеру, хакнули, а через несколько дней он убрал меня из системы», – сказал я.