Хакерство на дому
Глава 7 Хакерство на дому
— Как приятно, — сказал Остап задумчиво, — работать с легальным миллионером в хорошо организованном буржуазном государстве со старинными капиталистическими традициями. Там миллионер — популярная фигура. Адрес его известен. Идешь к нему на прием и уже в передней отнимаешь деньги. Что может быть проше? Джентльмен в обществе джентльмена делает свой маленький бизнес. Только не надо стрелять в люстру, это лишнее! А у нас... боже, боже!.. У нас все скрыто. Все в подполье.
И. Ильф, Е. Петров. Золотой теленок.
Ну, вот, теперь мы добрались до самого главного (как многие считают). Вы включаете компьютер, через несколько мгновений он загружается; вы нажимаете несколько клавиш, набираете на клавиатуре телефонный номер, и после пары-тройки гудков раздается долгожданный сигнал соединения. Квитирование — это хорошо, но ведь вам нужно нечто большее.
Вы несколько раз нажимаете “ввод”, и у вас запрашивают имя. Вы вводите имя — разумеется, не свое, а кого-то другого. Затем ваши пальцы тихонько шепчут клавиатуре некий заветный секрет, и на экране появляется скатерть-самобранка.
Меню! Опции! Сколько возможностей! Файлы, которые можно прочесть и изучить; программы, которые можно запустить; игры, в которые можно поиграть. Вы пробегаете по директориям, заворожено наблюдая за их калейдоскопом. Так много всего, а еще можно соединиться с другими компьютерами, добраться до множества других засекреченных файлов! Вы улыбаетесь, потому что начали понимать:
каждый взлом, даже самый незначительный, приводит к новым взломам, новым компьютерам, новым исследованиям и находкам.
вернемся к реальности
Термин “хакерство на дому” не совсем точен. В наши дни большинство компьютерных взломщиков не занимаются взломами у себя дома, опасаясь запроса ID, следящих устройств, ловушек и федеральных агентов. Под “хакерством на дому” я подразумеваю феномен коммутируемых линий связи, благодаря которым можно установить связь с целым миром, не выходя из дома.
С кем Устанавливать СВЯЗЬ
С кем же конкретно вы можете устанавливать компьютерную связь? Вариантов очень много. Другие домашние компьютеры, мэйнфрэймы, мини-компьютеры, компьютеры компаний, государственных учреждений, клубов, — вы сможете связаться с любой организацией или частным лицом, имеющим компьютер и желание поддерживать компьютерную связь с другими.
Вам может также прийтись по душе вызов действующих в режиме онлайн баз данных и платных служб.
За удовольствие надо платить
Недавно один хакер по кличке “Бунтарь” жаловался мне, что всем его устраивает служба CompuServe, кроме одного — непомерно высокой платы за ее услуги. По этой же причине CompuServe часто переименовывают в CompuServe, заменяя заглавную S значком доллара. CompuServe не единственный торговец, предоставляющий пользователям оплачивать их громадные счета за рекламу. Существуют сотни служб, действующих в режиме онлайн, к которым вы можете присоединиться, или взломать, — что вам больше понравится.
Базы данных предоставляют для просмотра информацию на любую тему: новости, результаты переписи, рыночная информация, результаты правительственных исследований, научные и технические доклады, книги, личная информация, история и культура. Иногда я копался в них до поздней ночи в поисках какой-либо информации, необходимой для книги, или из простого любопытства. Вы можете войти в такую базу данных в любое время дня и ночи, и отыскать в ней то, что вам требуется. Конечно, это стоит немалых денег. За получение доступа к базе данных надо платить, а вдобавок существуют еще:
• Экранная плата за каждую порцию информации, появляющуюся на экране, либо плата за каждый запрос к базе данных.
• Почасовая плата в зависимости от времени, в течение которого вы были подключены к базе.
• Дополнительная плата за использование модема с более высокой скоростью передач (возможность получения большего количества информации за то же время).
• Плата за удаленные вызовы, в случае, если служба не имеет номера доступа в вашем регионе.
Многие хакеры не хотят оплачивать все возрастающие счета этих служб, в то же время, не желая прекращать пользоваться их услугами, в частности, потому, что извлекают оттуда много полезной специальной информации.
Игры в режиме онлайн, электронная почта, телеконференции, электронные доски объявлений и многое другое делают платные службы привлекательными для хакеров. Их привлекает также множество способов избежать платы за предоставляемые услуги. В этой книге описаны многие из них.
Вам будет интересно узнать об уловке двух молодых кракеров из Нью-Джерси, бесплатно пользовавшихся услугами одной из подобных служб. Персональные компьютеры определенной марки продавались вместе с некоторыми программами, включая пробное членство в этой службе. Кракеры взломали систему одного из компьютерных магазинов, получив в свое распоряжение список покупателей, которые приобрели эти компьютеры. Многие покупатели являлись частными лицами или семьями, но среди них нашлось также немало магазинов и предприятий. Навестив эти предприятия, они пошарили по их конторам и задним комнатам. Само собой, на одной из книжных полок в дальнем углу лежал заклеенный конверт, который содержал руководство “Начало работы со StarBase On-line” и пробные коды доступа, прилагающиеся к компьютеру.
сети с пакетной коммутацией
Корпорации и государственные учреждения, в чьих компьютерах вам хотелось бы порыться, разбросаны по всей стране. Но при этом вам, разумеется, не хочется рыться в собственном кошельке, чтобы платить за все эти удаленные вызовы. Решение проблемы — сети общественных данных (Public Data Network — PDN).
PDN — это сеть, включающая в себя сотни компьютеров по всей стране. Вы вызываете ближайший к вам компьютер, и набираете адрес компьютерной системы, к которой вы хотели бы подключиться. Адрес обычно представляет собой что-то вроде телефонного номера. Если введенный адрес достоверен, на экране появляется окно загрузки требуемой системы. Теперь вы получаете возможность общаться с системой, как если бы связались с ней напрямую, тогда как на самом деле весь текст, что вы вводите, разбивается на куски (пакеты), которые могут сжиматься и кодироваться, и в таком виде идут по стране, от одного компьютера к другому, пока не достигнут точки назначения.
Одновременно по сети могут путешествовать сотни сообщений, в то время как тысячи пользователей взаимодействуют с множеством компьютеров сети. Такая пересылка сообщений называется пакетной коммутацией. Компьютеры, играющие роль промежуточных звеньев, носят название пакетных ассемблеров, дисассемблеров (PAD), поскольку они принимают приходящие пакеты данных, отделяют закодированный заголовок пакета, сообщающий компьютеру, куда направляется данный пакет, затем вновь добавляют к пакету информацию, уже о новом направлении, и пересылают дальше по маршруту.
Хакеры очень любят присоединяться к PDN. Находясь в сети, хакер может вводить наугад различные адреса. Через несколько минут у него оказывается широкий выбор входных приглашений, которые можно взломать, и все это по местному вызову.
Из наиболее известных PDN можно назвать Telenet и Tymnet; существуют также международные и иностранные сети с пакетной коммутацией. Вы всегда можете вызвать одну из этих служб, чтобы взять список сетей с пакетной коммутацией вашего региона.
другие сети
Из всех других сетей можно брать в расчет только Интернет.
Интернет — это международная сеть, состоящая, в свою очередь, из других сетей. В нее входят научные и правительственные сети, предприятия и организации всего мира, связанные между собой с помощью PDN. Члены Интернет обмениваются идеями, программами, технологиями, слухами и шарлатанскими рецептами.
До появления Интернет существовали APRANET — военная сеть, место которой заняла теперь MILNET (хорошо защищенная сеть военных баз Соединенных Штатов), и другие небольшие сети, также принадлежавшие армии США. Все вместе они образовали DDN — Defense Data Network (Сеть Оборонной Информации). Теперь DDN — всего лишь одна из многих сетей, образующих Интернет.
Существует также National Science Foundation Network (NSFNET) — Сеть Национальных Научных Исследований, которая включает в себя суперкомпьютерные центры и другие исследовательские организации, поддерживаемые NSF. CSNET — сеть, создан- ' ная для развития сотрудничества между организациями, выполняющими государственные компьютерные разработки.
JANET — сеть Соединенного Королевства Великобритании, одна из многих национальных сетей, входящих в Интернет. Интернет — поистине глобальное сообщество.
Многие платные службы предполагают наличие доступа к Интернет. К Интернет присоединены компьютерные бюджеты многих университетов. На самом деле членство в Интернет дает возможность путешествовать по всему миру туда и обратно, не покидая своего уютного кресла.
Выше мы говорили об адресах сетей с пакетной коммутацией. Адрес в Интернет представляет собой серию кодовых слов, разделенных точками, и принадлежит одному конкретному компьютеру, одному из миллионов, составляющих Интернет. Вот пример типичного адреса Интернет: “danielk@cz.zowie4.uboulder.edu”. Можно догадаться, что на компьютерном факультете Боулдеровского университета стоит компьютер под названием zowie4, а на этом компьютере работает человек по имени Аэниел, фамилия которого начинается с буквы “К”. “Edu” — стандартное добавление в конце адресов учебных компьютеров. Идентификационные элементы могут также быть следующими:
СОМ — коммерческие организации;
MIL — военные организации;
GOV — правительственные;
ORG — некоммерческие учреждения; и
NET — административные компьютеры Интернет.
Адрес Интернет может заканчиваться двузначной аббревиатурой — сокращенным названием страны. Например:
AU — Австралия;
IL— Израиль;
US — Соединенные Штаты;
JР — Япония;
UK — Великобритания;
DE — Германия.
как достать кодовые номера
Чтобы связываться с компьютерами напрямую, вам понадобятся их телефонные номера. Часто можно позвонить в компанию и попросить оператора на коммутаторе соединить вас с компьютерным отделом и (или) с компьютерной линией. Если это не сработает, постарайтесь дозвониться до отдельных офисов фирмы, и спросите, не знают ли они, как получить доступ к компьютеру компании с их домашних компьютеров. Если они не знают телефонных номеров, возможно, на компьютере в их офисе имеется терминальная программа, где хранится телефонный номер.
Очень полезны телефонные книги.
Во-первых, внутреннего типа: компании и другие организации составляют директории с добавочными телефонами сотрудников. Внутренние директории могут также представлять собой списки номеров различных отделов, а иногда даже домашние телефонные номера и адреса сотрудников. Их имена можно использовать, если вы захотите притвориться знакомым этих людей, когда будете им звонить. Но если эти номера присутствуют в телефонной директории, вам и не придется делать такие звонки
Другой источник полезных данных — директории выделенных линий передачи данных телефонных компаний.
Когда человек разговаривает по телефону, он не обращает внимания на то, что через определенные промежутки времени голос на другом конце провода становится невнятным, или громкость становится то чуть выше, то чуть пониже. Но при передаче данных между компьютерами шумовые помехи могут стать серьезной проблемой. Поэтому телефонные компании за определенную плату устанавливают в офисах специальные линии для облегчения прохождения потока данных между телекоммуникационными приборами, такими, как модемы. Если вам удастся раздобыть телефонную книгу с номерами этих линий, вы приобретете замечательную коллекцию телефонных номеров компьютеров (а также факсов). Многие хакеры находят такие каталоги, роясь в мусоре.
Третий способ использования телефонных книг — просмотреть все свободно публикуемые белые и желтые страницы. Крупные компании имеют много телефонных номеров, причем номер каждого офиса или отдела отличается от соседних номеров на одну цифру. Например, чтобы позвонить в какой-либо отдел компании X, следует набрать 390-WXYZ. Первые три цифры одинаковы для всех отделов, а последние четыре — свои для каждой телефонной линии. Вам остается только включить компьютер и создать текстовый файл со списком вариантов из этих последних четырех цифр, которые даны в телефонной книге компании. Затем отсортируйте список и проверьте каждый из вариантов, не присутствующих в данном списке.
В решении этой задачи может помочь перекрестный телефонный каталог.
Перекрестные каталоги сортируются не по именам, а по номерам. Если вам известно, что первые три цифры телефонных номеров компании Х - 390, использование подобной книги даст вам еще больший список исключенных номеров. Таким образом, перебор вариантов потенциальных номеров сократится.
Программное обеспечение способно неоднократно набирать серии телефонных номеров, сообщая о подключенном модеме. Эти программы (их часто можно найти на хакерских и кракерских BBS), имеют много названий: “WarGames Dialers”, “autodialers” (автонаборы) и т. д. Если вам не удается найти такую программу, напишите ее сами — это нетрудно и отнимет у вас всего несколько часов.
Заимев автонабор, используйте его с большой осторожностью. Когда вы начнете делать столько вызовов в течение короткого времени и с таким упорством, служба безопасности телефонной компании поймет, что происходит. Я часто подумывал о том, что неплохо было бы соединить автонабор с компьютером телемаркета. Тогда все будет выглядеть вполне законно: если трубку поднимет человек, он услышит запись краткого сообщения; если включается модем, можно будет перезвонить.
СПОСОБЫ обеспечения безопасности кодовых номеров
Некоторые директора по безопасности оказываются в своеобразной ловушке. Они понимают всю важность коммутируемых линий прямого доступа, но они понимают также, что, если человек в любой момент может напрямую связаться с компьютером, безопасности конец.
Для разрешения этого противоречия ответственные за безопасность не разрешают прямого наборного доступа к компьютерам. Дозволяется лишь доступ к промежуточному устройству или к такому компьютеру, который защищает важные данные от потенциальных хакеров.
Например, можно вызвать компьютер, предназначенный исключительно для проверки права доступа. Если право подтверждается, пользователя переключают на линию, соединенную с действующим компьютером. Затем у него могут затребовать определить свой личный бюджет пользовательским именем и паролем. Пока пароль для первоначального компьютера остается в тайне и периодически изменяется, важные данные на действующем компьютере находятся в безопасности.
В тех штатах, где действует запрос ID (и даже в тех, где его нет), можно установить модем только для подтверждения установления связи с пользователем, делающим вызов с санкционированного телефонного номера. Системные администраторы располагают списком домашних телефонных номеров и номеров учреждений, принадлежащих легальным пользователям, и если компьютер “видит”, что звонок пришел с номера, которого нет в списке, связь немедленно прерывается. Связь будет прервана и в том случае, если вызывающий включил блокировку вызова, которая не позволяет идентификатору вызова прочесть номер его телефона.
Там, где идентификация вызова отсутствует или недоступна, может применяться метод обратного вызова. Если звонящий вводит правильную идентификационную информацию, главный компьютер отключается, и затем сам перезванивает по тому телефонному номеру, который хранится у него в памяти и соответствует введенной информации. Это обычный способ обратного вызова, но в некоторых случаях (например, в системе электронных досок объявлений RBBS-PC) он производится следующим образом: звонящий ждет, пока телефон сделает энное количество звонков, затем кладет трубку и перезванивает заново. Во второй раз BBS отвечает на звонок. Если ж после N звонков звонящий не кладет трубку, компьютер вообще проигнорирует вызов, таким образом, обеспечив безопасность. Итак, если вам доподлинно известно, что такой-то номер принадлежит компьютеру, но тот не отвечает, попробуйте повторить вызов несколько раз, каждый раз делая различное количество звонков, и тут же перезванивая.
Главный компьютер может также не соединять звонящего до тех пор, пока на кнопочном телефонном аппарате не будет набран определенный код. Так как данный код обычно создается терминальной программой вызывающего компьютера, он может быть очень длинным и сложным, чтобы его было трудно случайно угадать или взломать с помощью грубой силы.
Как видите, приведенные выше способы обеспечения безопасности значительно осложняют жизнь хакера. Конечно, можно с помощью социальной инженерии вытянуть информацию из легального пользователя системы, но часто хакер даже не подозревает о существовании таких суровых мер.
Можно время от времени прозванивать определенные телефонные номера, если у вас есть основания подозревать, что один из них принадлежит к компьютерной линии. Если один из номеров никогда не отвечает, сколько бы раз вы не звонили по нему, можно сделать предположение, что он подключен к элементу обратного вызова, или чему-то в этом духе. Если вы звоните, слышите, что на другом конце компьютер, но соединения не происходит, вероятно, компьютер “взглянул” на ваш телефонный номер и сделал вывод, что он недостоверен. (Или же вы пытаетесь установить связь с факсом.) Устройства типа идентификатора вызова, или те, что делают обратный вызов, особенно распространены в тех компьютерных системах, пользователи которых находятся внутри небольшого региона. Дистанционная система может также пытаться определять специальные тональные сигналы, закодированные в модуляции, — хотя линия и коммутируемая, для соединения может потребоваться специальное оборудование.
Иногда системные менеджеры доходят до того, что скрывают даже сам факт существования у них компьютера, подсоединенного к коммутируемой линии связи. Когда пользователь вызывает такой компьютер, специальное устройство отвечает на звонок. Вместо характерного звука, издаваемого модемом, пользователь слышит запись голоса, шум помех, или вообще ничего не слышит — пока вызывающий модем не пошлет удаленном системе специальный пароль. Конечно, такая уловка легко собьет с толку любой автонабор.
В общем, устройства, ограничивающие доступ к искомому компьютеру, представляют собой ни что иное, как очередной защитный барьер, который надо преодолеть. К счастью, большая часть компьютеров не оснащена подобным образом, и взломать их не труднее, чем разбить сваренное вкрутую яйцо.
подробное исследование сценария входа
Сценарий входа — это область удаленного компьютера, доступ к которой вы получаете, еще не определив себя как правомочного пользователя системы.
У большинства компьютеров сценарий входа ограничивается приглашением ввести имя пользователя и пароль.
Некоторые сценарии более широки, и выдают общее командное приглашение, в ответ на которое вы можете набрать сколько угодно команд. Эти команды необязательно будут выполнены (возможно, сначала вам придется войти в систему), но они могут вам помочь.
Существует несколько общих команд, которые можно ввести в ответ на системное командное приглашение. Сначала попытайтесь ввести “help” или “?”, и посмотрите, не получится ли что-нибудь. Команды типа “users”, “show users” или “who” могут быть полезны тем, что вы увидите список пользователей системы и попытаетесь разгадать их пароли. Преимущества некоторых других команд могут проявляться не столь явно, а многие команды могут оказаться вообще бесполезными для хакера.
Большой плюс основных командных приглашений состоит в том, что к ним часто можно вернуться после того, как вам не удастся войти. Даже если вы уже ввели три неправильных комбинации имя, пароль, компьютер продолжает возвращать вас к командному приглашению, давая вам возможность сделать следующую попытку.
Если вы попали на основное командное приглашение и никакая помощь не доступна, постарайтесь сделать различные веши, обращая при этом внимание на сообщения об ошибках, которые вы получите. Попробуйте набрать команды прописными буквами, строчными и вперемешку. Взгляните на максимальную и минимальную длину команд. Посмотрите, какие символы будут распознаны. Все это поможет вам уменьшить область неизвестного, и определить необходимые действия. Если каждый раз, набрав “HELP”, вы получаете сообщение об ошибке “Line too long” (“Слишком длинная строка”), вы будете знать, что система, по всей вероятности, ожидает трехзначных команд. Это полезная информация.
Если вы набираете “CONNECT”, а система отвечает “The verb CONNE is not available”, значит, она воспринимает только первые пять символов вводимых команд. Если же система восприняла все введенные символы, вы сможете воспользоваться помощью. К примеру, набрав “HELP”, вы получите список команд, “HELP COMMAND NAME” — разъяснения по одной конкретной команде.
Это общепринятая система помощи.
Давайте перейдем непосредственно к вводу пользовательского имени и пароля. Некоторые терминалы сообщают вам о неправильном вводе сразу же после ввода неверного имени, другие ждут, пока вы введете имя и пароль. Первый тип предпочтительнее, поскольку менее защищен и предполагает значительно большее число попыток взлома, чем второй. Так, IBM VM,370 обладала недостаточной зашитой именно в этом смысле, немедленно информируя вас о том, выдавая сообщение об ошибке при вводе пользовательского имени — “userid not in cp directory”. Одна из известных мне систем (Dynix) следует тому же принципу. Сначала она услужливо предлагает вам ввести “Nine digit ID code” — “Девятизначный идентификационный код” (Так-так, что же это такое? Возможно, номер социальной безопасности?), а затем, если ввод был верен, говорит: “Good morning Samantha. Now type your password” — “Доброе утро, Саманта. А теперь введите ваш пароль”. Данный конкретный компьютер позволяет легко взломать один из нескольких командных языков и перепрограммировать интерфейс на основе меню. Компьютеры также снабжены коммутируемыми портами. Взламывать Dynix — одно удовольствие.
Если вы взламываете компьютер второго типа (тот, что запрашивает имя и пароль перед тем, как сообщить, принята ли ваша загрузочная информация), заметьте время, которое потребуется ему на то, чтобы выдать приглашение для ввода пароля. Это поможет сделать заключение о том, верно ли введенное вами имя пользователя. Например, вы вводите имя “Jim”, и до появления приглашения о вводе пароля проходит столько-то времени. Затем попробуйте ввести имя “Zzzzzzz” — явно неверное имя, которое отсутствует в памяти компьютера. Если после ввода этого имени до появления приглашения ввести пароль неизменно проходит большее количество времени, чем после “Jim”, значит, “Jim” — верное имя, и вы можете продолжить угадывать пароль уже с этим именем. В системах с последовательным поиском компьютер дольше пытается отыскать в своих файлах неверно введенную информацию, нежели верную.
В любом случае, исходные программы всегда являются доступными, особенно для файлов UNIX, и вы можете просмотреть их, чтобы увидеть изнутри, как работает режим входа.
Если вы понятия не имеете, какой тип пользовательского имени и,или пароля используется в данной системе, следует прибегнуть к такой же проверке, как и в случае с общим командным приглашением, чтобы путем проб и ошибок обнаружить, какие символы требуются в данном случае, и сколько.
Существует совершенно иной способ исследования режима входа — с помощью управляющих кодов. Нажатие определенных клавиш, или комбинаций клавиш, посылает коды на удаленный компьютер, который заставляет их работать иначе, чем обычно. Например, можно послать на удаленный компьютер ASCII-код, чтобы скомандовать ему прекратить чтение файла с паролями. Иногда удается даже быстро перенабирать введенный пароль, заставив компьютер поверить, что он обнаружил его в своем файле паролей, и разрешить вам войти в систему. Иногда нажатием Control-Z (команда конца файла) в нужное время можно тоже добиться странных результатов.
Обращайте внимание на все аббревиатуры, непонятные значки и т. п., появляющиеся на экране. В любой порядочной библиотеке имеется энциклопедия акронимов (а в любой непорядочной — эта книга). Очень часто можно вызвать сеть с коммутируемой передачей данных, ввести верный адрес, и увидеть на экране что-то вроде: “Welcome to VHMSD! Password?” (“Добро пожаловать в VHMSD! Ваш пароль?”). Вы проводите некоторые исследования и обнаруживаете, что VHMSD — это Viking Horn Manufactures of South Dakota, и совершить взлом становится относительно проще. Помните, что при взломе компьютера вы на самом деле “взламываете” тех людей, которые на нем работают. Таким образом, если вам удастся вычислить, кто же заказывает музыку, в вашем распоряжении окажется множество средств, в том числе те методы исследований, о которых я упоминал выше. Иначе вы будете лишь наносить случайные удары по компьютеру, имея в запасе только какую-то непонятную аббревиатуру.