Литмир - Электронная Библиотека
A
A

Под покровом ночи я извлекал содержимое находящихся возле здания мусорных контейнеров в поисках полезной информации, и наконец нашел кое-что - ужасно изорванную брошюрку - документацию по интересующей меня системе. Лома я увидел, что среди перечисленных в карточке вешей были и имена команд, присвоенных функциональным клавишам. Одну-две из них можно было прочесть, остальные же прочесть не удалось. Но и двух было достаточно. Мне сразу стало ясно, что я исходил из неверных предпосылок - не ВСЕ команды представляли собой стандартные слова английского языка или аббревиатуры. Присутствовали и двузначные команды, и точечные. Вводя точечную команду, вы набираете сперва точку, а вслед за ней - буквенно-иифровую команду. Они часто используются в прикладных программах, когда непосредственный ввод буквенно-цифровой команды может быть истолкован как ввод данных. В программах часто используется точка перед командами, поскольку точка простой, неприметный символ, который очень просто набрать. Но иногда в "точечных" командах используются и другие символы - слеш, апостроф и т. п. Из карточки я узнал, нажатие клавиши F1 соответствует команде .QUIT, a F2 команде .HELP. Это показалось многообещающим - .QUIT могла давать доступ к закрытым областям, а помощи, скорее всего, вообще пока нет, так как система только что установлена. Возможно, эта функция

и ведет к остановке системы. Я вызывал компьютер по внешней линии, а через модем нажатие функциональных клавиш передать невозможно; так что мне оставалось надеяться на .QUIT и .HELP. Конечно, я уже пытался их вводить, но без точки. Может быть, теперь... Нет! Ничего! Команда .QUIT просто отсоединила меня от компьютера. В ответ на .HELP экран очистился, и на нем появилось следующее:

*EOF\txt\hlp\helpOOO* Я предположил, что это означало End Of File helpOOO в директории \txt\hlp, то есть файл существовал, но был пустым. Я тут же обрадовался - теперь я знаю о директориях текстовых файлов и файлов помощи. И я заметил еще кое-что:

каждый раз при смене экрана вверху появлялось нечто вроде:

*** J. Smith Co Special Library On-Line ***

(000)U,SYSv55.6 Три цифры в скобках изменялись в соответствии с тем, какую часть программы я использовал. Три нуля, возможно, означали открытый экран, где я пытался набирать не указанные в списке команды. Если я наберу команду .HELP вместе с номером экрана, допустим, (013), значит, решил я, система начнет искать файл "\txt\hlp\help013". Так и случилось. Аля ввода эта система использовала, в том числе, и команды, сопровождающиеся номером. Мне стало интересно, подходит ли такой формат и для команд помощи. Я попробовал ввести "HELP99999", надеясь, что такое большое число система просто не проглотит - ведь, такого экрана просто не может быть. В ответ я получил сообщение о неверной команде. Я попробовал другие варианты, но они тоже не сработали. Наконец, я снова набрал "HELP99999", и на этот раз команда подействовала! Наверно, в первый раз я сделал ошибку. Теперь система полетела, и я оказался в отладочной среде программы. Это было нечто вроде мини-системы для редактирования текстовых и командных файлов. Я не нашел в ней ничего ценного, кроме копирайта с первыми буквами названия компании, выпустившей программу. Я просмотрел несколько каталогов компаний по производству программного обеспечения, пытаясь расшифровать аббревиатуру, и наконец мне это удалось. Позвонив туда, я выяснил, что именно они написали интересующую меня программу. Я попросил прислать мне запасную документацию к пакету. Конечно, сказали они, просто вышлите нам серийный номер своей программы, и они вышлют мне книгу за соответствующую плату. Я попытался схитрить, но не тут-то было: секретарша сообщила, что серийный номер можно найти на ярлыке инсталляционных дискет. "У меня сейчас нет дискет... Я звоню из машины. Я уверен, что высылал свою карточку, может, вы проверите? Меня зовут Ажонатан Смит из ..." Я молил бога, чтобы настоящий J. Smith посылал им свою карточку. Но - нет. Мне пришлось сказать, что я перезвоню на следующий день. Я решил, что в библиотеке компании должна быть эта документация, но не мог же я там появиться и попросить директора дать мне ее на время. Я должен был действовать как независимый хакер. Пришло время серьезно заняться социальной инженерией. Директор для этой цели не годится он знает мой голос. Все, что мне было надо, - это серийный номер. Я позвонил секретарше библиотеки и сказал, что я - программист из компании, которая установила им новую компьютерную систему, и хотел бы знать, нет ли у них восьмой версии программы? Этого она, конечно, не знала, но я вежливо объяснил, что ей нужно просто найти несколько дискет с приклеенными на них ярлычками... Найдя их в директорском офисе, она сообщила мне серийный номер. Одной из его цифр оказалась восьмерка, и я сказал ей, что все верно, и я просто хотел убедиться, что компания поставила им самую новую версию, и как только появится девятая версия, мы пошлем ее им.

Я больше суток разбирался в отладочной документации. Я обнаружил, как можно обойти программное окружение и как - самое главное! - выйти из него. Выйдя из отладки, я оказался перед приглашением к загрузке. Нажав в ответ "circ" и "JSC" - J. Smith Co. - я вошел внутрь. Разумеется, здесь я привожу вымышленное имя. После ввода верного пароля я оказался на втором уровне зашиты - circ,JSC была общая входная комбинация, известная любому легальному пользователю. Я знал, что означает "ваш личный девятизначный код". Номер социальной безопасности! Я знал, где родился и вырос директор, так что первые три цифры у меня были. Я написал программу для перебора последних шести цифр, и вскоре нашел верную комбинацию. Мне выдали сообщение: "Добрый вечер, Ажейн Торнбакл! Пожалуйста, введите ваш личный пароль". Директора звали иначе. Теперь мне был нужен пароль Ажейн. Я снова попробовал метод грубой силы, но безрезультатно. Я не знал, кто такая Ажейн Торнбакл, но у меня была извлеченная из мусора пачка рекламных проспектов компании. А вот и ответ: Торнбакл оказалась сотрудницей отдела службы управления информацией то есть программистом. Вычислить ее пароль мне так и не удалось; продолжив перебирать номера социальной безопасности, я опять вышел на номер директора библиотеки. Итак, чего я достиг? Программная оболочка - вещь интересная, и я научился с ее помощью как угодно редактировать файлы и т. п. Я сумел использовать одну из отладочных команд поиска для обнаружения слова "circ" в файлах системы. В одном из них среди абракадабры я обнаружил слово "minicirc", а затем "circ". Я попытался расшифровать абракадабру, идущую после "circ", думая, что это зашифрованное "JSC", и надеясь таким образом найти ключ к абракадабре после "minicirc". Безрезультатно. Вернувшись к входному приглашению, я попытался использовать "minicirc" с различными паролями. Проблема была в том, что я не знал, что такое "mini". Я подумал, что это может быть модель программы или руководство. Наконец, я нашел верный пароль - T.CIRC1. Он-то и привел меня к заветному сообщению: "Пожалуйста, введите вам личный девятизначный идентификационный код". Через несколько секунд я нашел нужный номер, и экран очистился. "Доброе утро, Новый Пользователь!" - появились на нем слова. - "Пожалуйста, введите ваш личный пароль". Я надеялся, что это - последний уровень зашиты. И точно: через несколько мгновений мне удалось войти, использовав пароль "TRAIN". Я гордился собой - я взломал-таки закрытую часть системы. Но приключения еще не закончились - ведь "minicirc" была всего лишь учебной моделью настоящей системы. Ее можно было использовать для проверки книг для выдачи посетителям, регистрации новых посетителей, поиска в базах данных и т. д. Но в базе данных содержались только вымышленные имена и адреса. Многие другие свойства системы были бесполезны, но мне помогло само их наличие.

Там была электронная лоска объявлений, на которой инсталлировавшие программу оставили несколько стандартных сообшений-приветствий. Прочитав их, я узнал немало полезного. Каждое сообщение открывалось списком пославших его, и тех, кому оно предназначалось. Я заключил, что можно посылать сообщения из "minicirc" в "circ", и наоборот. Во-вторых, там оказались сообщения, предназначавшиеся одному пользователю, но по ошибке посланные всем. С помошью текстового редактора я написал письмо и лично послал его. Затем вышел, перезвонил и снова оказался в программной оболочке. Использовав редакторы отладчика, я нашел написанное мною письмо, и изменил его содержание, адресовав его директору библиотеки. Свое имя, под которым хранился файл, - "Новый Пользователь" - я изменил на фиктивное имя представителя компании, произведшей программное обеспечение. В послании содержалась просьба к директору позвонить этому представителю для разговора насчет новой, девятой, версии - обратная инженерия! Телефонный номер, который я дал директору, принадлежал одному моему другу, которому я кратко объяснил, как действовать в случае, если директор позвонит. На всякий случай мы установили автоответчик. Когда директор позвонил, мой друг немного рассказал о новых разработках, а затем задал несколько технических вопросов о способе, с помошью которого в библиотеке была инсталлирована программа. Директор не знал этого, но сказал, что может посмотреть у себя на терминале, загрузившись в систему... "Отлично", - сказал мой друг. - "Делайте все то же, что обычно. Circ. JSC. Так, номер... Кстати, вы используете все тот же личный пароль?" "Ну да, "Firebird". Ну вот, я загрузился..." Итак, последний шаг оказался самым легким.

57
{"b":"71179","o":1}