Глава 10. Что делать, когда вы внутри
Остап вдруг опечалился. Стало ему немного скучно, как Роальлу Амундсену, когда он, пронесясь в дирижабле "Норге” над Северным полюсом, к которому пробирался всю жизнь, без воодушевления сказал своим спутникам: *Ну, вот мы и прилетели”. Тайна раскрыта, цель достигнута, делать больше нечего, и надо менять профессию.
И. Ильф., Е. Петров. Золотой теленок.
Кажется, все получилось. Вы вошли в систему, вы внутри. Замечательно! Оглядитесь вокруг! Конечно же, именно этим вы и займетесь, когда проникнете в систему и мысленно похлопаете себя по плечу. Но что дальше? Чтобы ответить на этот вопрос, мы должны еще раз обдумать наши цели и намерения.
вернемся к хакерским мотивациям
Мотивами настоящего хакера являются его желание учиться, познавать, и применять свои хитрости с умом и безопасно.
Остальные, также использующие хакерские уловки, могут делать это или потому, что им хочется научиться секретам своего конкурента; или потому, что они хотят узнать, почему им постоянно недоплачивают; либо для того, чтобы с умом перехитрить компанию или частное лицо, которые что-то задолжали им, и таким образом осуществить свою месть.
Итак, что мы понимаем пол словом “хакер”? Свободомыслящего компьютерного энтузиаста, затем — промышленного шпиона, политико-промышленного шпиона, кракера-мстителя и, наконец, хакера по найму. Все вышеупомянутые взломщики при совершении взлома в основном добиваются получения низкого уровня доступа. Так происходит потому, что бюджеты с низкой степенью зашиты превалируют, а многие хакерские хитрости рассчитаны на наивных пользователей, которым обычно и принадлежат бюджета низкого уровня.
Хакерам по найму и хакерам-шпионам приходится ориентироваться на конкретные компьютеры, а порой и на конкретных людей. Они либо ищут определенную комбинацию имя, пароль, либо добиваются любого доступа с уровнем, достаточно высоким для получения тайного доступа в бюджет их “мишени”.
Вандалы и хакеры-мстители, само собой, стремятся к получению более высокого уровня доступа, чем тот, который им удалось получить при взломе, но при отсутствии достаточной сноровки они, скорее всего, изберут тактику внезапной стремительной атаки с последующим отступлением.
Это означает, что их вполне устроит взлом под любым паролем и причинение возможно большего вреда; после этого они ретируются, отправив по электронной почте ядовитое послание. Они могут атаковать снова и снова, до тех пор, пока их не арестуют, либо выставят из системы навсегда. Такие “хакеры”, скорее всего, удовлетворятся добытым низким уровнем доступа, чтобы делать свое дело. Но уж если они обладают определенными навыками, или компьютерным “ноу-хау” —тогда берегись!
Настоящий хакер необязательно доводит свой взлом до самого конца. Ему или ей может показаться, что не стоит расходовать свои силы, чтобы повысить свой уровень системного доступа. Это вовсе не сдача своих позиций, а всего лишь практичный взгляд на веши. Если искомая информация незначительна, или ее можно добыть и другим способом, незачем тратить время на ее получение. Хакер может также не настолько хорошо знать данный компьютер, или работающих на нем пользователей, или операционную систему, чтобы чувствовать себя способным достичь наивысшего уровня доступа. Это естественное и разумное чувство; если хакер сознает, что он в чем-то не дотягивает, он вполне может остановиться, чтобы подзубрить то, в чем пока несведущ. Если происходит нечто подобное, то, возможно, хакеру достаточно лишь провести дополнительные исследования, чтобы снова напасть на след, ведущий к статусу привилегированного пользователя. Вот что сказал об этом хакер по прозвищу “Умник”: “Я знаю, что компьютер от меня никуда не денется. Мне нравится взламывать, но и проводить исследования я тоже не прочь. Иногда я чувствую, что исследования, которые могут помочь мне войти в бюджет — работу с книгами, или социальную инженерию, — лучше отложить на потом, а сейчас пора заняться НАСТОЯЩИМИ исследованиями компьютера”.
Войдя в систему, хакер получает возможность не только повышать свой системный статус. Он может также:
— Читать доступные документы и запускать программы.
— Загружать файлы.
—Довести до сведения системного администратора данные о наличии изъянов в обеспечении безопасности.
— Изучать коммуникационно-вычислительное оборудование.
— Проверить, не соединен ли данный компьютер с другими.
— Покидая систему, каким-либо образом прикрыть свое отступление.
— А еще можно просто выйти из системы и никогда больше в нее не возвращаться.
Если вы приняли решение раздобыть какие-либо данные, которые, по вашему мнению, могут обладать определенной ценностью, вы можете захотеть продать эти данные, а на вырученные деньги сделать очередное компьютерное приобретение. Я настоятельно рекомендую никогда не поступать подобным образом. Профессия шпиона всегда сопряжена с серьезной опасностью. Вдобавок такие действия способствуют падению имиджа хакеров в глазах общественности, и в отдаленном будущем могут повлечь за собой весьма неприятные последствия для хакеров вообще, а в ближайшем будущем —для вас лично (если вас поймают).
Хотя большинство законников и офицеров безопасности со мной не согласится, я уверен в том, что простой просмотр файлов системы, без вмешательства в процесс ее работы, вряд ли может кому бы то ни было повредить. Во всяком случае, чтение личных данных — не большее преступление, чем сам взлом. Вам следует установить для себя определенный “кодекс чести”, и я искренне надеюсь, что он будет основан на хакерском кодексе чести, о котором идет речь и в начале, и в конце этой книги.
Немедленный выход из системы с тем, чтобы никогда в нее не возвращаться, — поступок, характеризующий сумасшедших хакеров-фанатиков. Я не могу понять, как можно морально оправдывать сам взлом системы, в то же время открещиваясь от входа в нее. Мне кажется, что хакеры, которые отсоединяются от системы, не входя с ней во взаимодействие, поступают так либо потому, что для них имеет значение лишь сам факт взлома, либо потому, что они панически боятся всего нового.
Все другие возможности, о которых я упомянул, — повышение статуса, помошь системным операторам, изучение — предполагают различные степени знакомства со взломанной системой. Давайте поговорим о том, где вы оказались, и чем вам следует заняться, войдя во взломанную систему.
Начнем с того, что взломанный вами бюджет может являться бюджетом отдельного пользователя, групповым, корневым, или “специальным” бюджетом.
Если вы вошли в главный (корневой) бюджет — примите мои поздравления! Теперь вы можете делать все, что захотите. Это бюджет системного администратора, или одного из системных администраторов (его называют также бюджетом аватара, божественным бюджетом, администраторским бюджетом, бюджетом привилегированного пользователя, бюджетом полубога, бюджетом “сисопа” и т. д.)
“Групповой бюджет” принадлежит сразу многим людям. Он может вводиться, например, в отделе, где каждый из сотрудников входит в систему с помощью одной и той же комбинации имя, пароль. Иногда определенные пользователи имеют внутри него отдельный собственный бюджет. Так, многие компании устанавливают ограниченные бюджеты для секретарей, временных сотрудников и т. п. Групповые бюджеты бытуют и там, где доступ к терминалам имеют несколько человек, которые обладают различными уровнями защищенности. В данном случае изучать базу данных могут все пользователи, но вносят в нее изменения только те, кто входит под определенным паролем.
“Специальные бюджеты” включают в себя гостевые или демонстрационные бюджеты, которые дают пользователю возможность сделать краткий обзор, прежде чем воспользоваться услугами системы. Это могут быть и проверочные бюджеты, установленные системными программистами. Специальные бюджегы могут также, в учебных и других целях, давать доступ прямо к программе, минуя приглашение операционной системы. Если вы решили взломать специальный бюджет, вам придется нелегально выходить из него в операционную систему, чтобы повысить свой уровень доступа. В любом случае, прежде чем действовать, вы должны выяснить, какой у вас доступ, какими правами вы обладаете, и каким образом лучше их использовать. Возможно, вам понадобится специальная информация о машине и ее программном обеспечении. Но есть одна малюсенькая штуковина, которую вы должны знать назубок. Я уже дважды упоминал о ней — это операционная система.
операционная система
Забудьте все, что вы знаете о компьютерах, и давайте начнем с самого начала.
Допустим, у вас есть компьютер, предназначенный только для одной функции. Например, на нем можно играть в игру. Когда вы включаете такой одноцелевой компьютер, игра автоматически запускается, а больше этот компьютер делать ничего не может.
Теперь давайте дадим этому компьютеру еще одну функцию. Пусть на нашем компьютере теперь можно будет не только играть, но и использовать текстовый процессор. Таким образом, мы будем иметь двухзадачный компьютер.
Что произойдет при включении такого компьютера? Может быть, запустится игра? Да нет — а вдруг мы включили его, чтобы поработать с текстовым процессором? Как видите, теперь нам приходится делать выбор. При включении компьютера потребуется каким-то образом сообщить компьютеру, что нам нужно — игра или текстовый процессор. Как же дать компьютеру знать, что именно нам необходимо?
Конечно, можно сделать два разных переключателя — левый для запуска игры, а правый — для текстового процессора. Идея неплоха, но только на время. Вдруг мы захотим добавить третью функцию? Четвертую? Нельзя же все время добавлять все новые переключатели?
Вместо добавления аппаратных переключателей я добавляю третью программу — программный переключатель. Такая программа называется операционной системой (ОС) и автоматически запускается при включении компьютера.
Операционная система — это программа, которая и позволяет сделать выбор между игрой и текстовым процессором. Например, при запуске она будет выдавать на экран окно: “Какая программа?”, на которое следует ответить: “Игра”, или “Текстовый процессор”.
Как вам известно, практически то же самое и происходит в реальных ОС. Когда компьютеры только зарождались, и могли выполнять только запуск считанного количества программ, управляющее программное обеспечение называлось “монитором”. Затем, когда компьютеры усложнились, понадобилось управлять множеством пользователей, большим количеством периферийных устройств, безопасностью и хитросплетением программных функций, монитор превратился во всеобъемлющую программу, которая могла делать намного больше, чем просто давать пользователю возможность выбора между несколькими программами. Таким образом, сейчас для обозначения этой сложной программы используется термин “операционная система”.
ОС управляют работой всего компьютера: контролируют распределение ресурсов, использование памяти, запуск программ. Когда вы разберетесь в этой абсолютной программе, то поймете, что представляет собой управление компьютером.
Вот некоторые из операционных систем, с которыми вы, вероятно, столкнетесь: UNIX, MS-DOS или PC-DOS (на IBM-совместимых), PRIMOS, RSTS (на PDP-11) и VMS. В последнее время вместе с компьютерами нового поколения все большее распространение получили Windows (Windows 3.11 или Windows 95) — капризные и “навороченные” графические оболочки, которые, тем не менее, дают знающему человеку почти неограниченный простор для всевозможных забав.
Вам необходимо разбираться в ОС, поскольку:
1. Если вы не будете знать команд и синтаксиса, вы не сможете заставить компьютер работать на себя.
Когда вы разберетесь в ОС, то сможете обнаружить ее недостатки, а значит, прорехи в компьютерной защите.
Вам необходимо ознакомиться с ограничениями ОС.
4. Разобравшись в ОС, вы узнаете, каким образом компьютерные менеджеры станут вас ловить, выслеживать и не давать вернуться обратно.
Из этого следует, что, если вы хотите стать НАСТОЯЩИМ ХАКЕРОМ, вы должны кое-что знать о компьютерах. Если вы хотите управлять компьютером, вы должны уметь приручать системное программное обеспечение, а в первую очередь — операционную систему.
Конечно, можно обходиться и социальными методами, время от времени добавляя чуточку программирования то тут, то там; однако нельзя обойти тот факт, что настоящее хакерство предполагает настоящие знания. Я имею в виду знания, полученные САМОСТОЯТЕЛЬНО. Так что вам придется засесть за учебу.
Вас это пугает? Тогда, возможно, вы не совсем понимаете, что такое быть настоящим хакером.
Теоретически возможно взломать любую компьютерную систему. И хороший хакер способен взломать большинство систем. Еще более хороший хакер может взломать их все. А самый лучший хакер может не только проникнуть в любой компьютер, но, оказавшись внутри, еще и сделает кое-что для того, чтобы взлом не оказался напрасным. Одно дело — просто проникнуть в базу данных, и другое — суметь так изменить записи в этой базе, чтобы вас не поймали за руку.
Чтобы стать самым лучшим хакером, необходимо знать основные команды ОС — как работать с файлами, посылать и получать почту и т. д. Хакер также должен знать малоизвестные команды, а также файлы, программы и директории, обычно встречающиеся в машинах под управлением данной ОС, изучить руководства по ОС и ее язык; знать, кто и как использует ОС, и разбираться в сообщениях об ошибках.
Но мы еще не добрались до самого сложного. Видите ли, все вышесказанное является лишь надводной частью айсберга. Ведь вся эта информация является вполне доступной и ее можно найти в справочниках и руководствах. Хакеру же необходимо знать секретную часть ОС, которой нет в руководствах, а если и есть, то она описывается настолько техническим и туманным языком, что понять ее способны лишь немногие. Списки “основных ве-шей, которые необходимо знать хакеру” посвящены тому, что такое ОС и что она делает, но хакер — чтобы успешно входить в любую систему, которая ему или ей понравится, и уметь ею пользоваться — должен знать, КАК она работает, и почему она работает именно так.
Операционные системы настолько огромны, что просто невозможно толком проверить их, дабы ликвидировать все малейшие дефекты. Порой компьютерные менеджеры изменяют ОС, включая в них свойства или функции, которые им понравятся, и тем самым создают лазейки в системной зашите. Иногда мульти программисты, работающие над различными частями ОС, даже не советуются между собой по жизненно важным аспектам, что в конечном итоге может привести к системному конфликту, когда эти программные блоки соединяются друг с другом.
Случайный пользователь не помнит о возможных нарушениях компьютерной зашиты. Хакер тоже может не помнить о них; но, если он обладает фундаментальными знаниями ОС, которая лежит в основе всех этих нарушений, то сможет, подумав, обнаружить лазейки и использовать их. В данной книге я не собираюсь углубляться в изучение технических аспектов каждой операционной системы, да настоящим хакерам это и не нужно. Найдите любую ОС, с которой сможете ознакомиться. Изучите основные команды и узнайте, как они запрограммированы. Вычислите способы, с помощью которых можно сымитировать команду, не набирая ее непосредственно в ответ на приглашение ОС. Что происходит с памятью при использовании команды? Можно ли изменить память? Вот такие веши важны для хакера, который хочет, чтобы его заветные мечты стали реальностью.
В оставшейся части этой главы приведены примеры подобных технически ориентированных ха-керских методов. Причина проста и неоспорима:
ничто хорошее в этой жизни не дается даром. Вам придется немало поработать, чтобы вершить великие дела, попав в систему. Конечно, никто не мешает просто изучать определенные веши, только когда приспичит, — например, какой-нибудь командный язык, или метод работы прикладной программы. Но, не обладая знаниями об основных принципах работы ОС, вы станете совершать свои взломы вслепую, и все особенности и дефекты системы пройдут мимо вашего внимания, как и любого обычного пользователя.
А теперь давайте вернемся к началу главы: что же все-таки делать после того, как вы окажетесь внутри?
оглядитесь ВОКРУГ
Что можно обнаружить, взломав систему или сеть? Да что угодно!
Там могут быть файлы для чтения, программы, которые можно запустить, пути соединения одного компьютера с другими, или одной сети с другими сетями.
Поищите резервные файлы или файлы с автоматическим сохранением через определенный промежуток времени. Некоторые текстовые редакторы оставляют подобные файлы, которые может прочесть каждый, кто на них наткнется, и, если системный администратор недавно редактировал с помощью такого редактора файл, содержащий ценную информацию, например, файл с паролями, значит, вам повезло. Электронная почта тоже не всегда уничтожается автоматически, а скапливается в файлах на диске (возможно, спрятанных). Уничтоженные недавно файлы порой могут не уничтожаться немедленно, а становиться спрятанными, или переноситься в специальную директорию.
Вы можете обнаружить журналы регистрации. При загрузке неопытные пользователи часто набирают пароли в окне приглашения к вводу имени, и в журналах встречаются сообщения о подобных ошибках. Например, если Джордж Вашингтон пытается войти в свой бюджет в UNIX, используя свой пароль “cherrytree”, но набирает его слишком поспешно, происходит следующее:
WashingtonUs [Enter] ername:cherrytree [Enter] Password:
Джордж соображает, что поторопился. Он напечатал свое имя еще до того, как появилось входное приглашение, и его пароль, отнюдь не в виде звездочек, появился в строке пользовательского имени. Он несколько раз нажимает [Enter], чтобы очистить экран, но ошибка-то уже сделана. Где-то в административных директориях появился регистрационный файл следующего содержания:
Unsuccessful login of user cherrytree @ Tue, Mar 24,1992, 14:16:03
Теперь вам остается только перебрать различных пользователей системы, пока вы не найдете того, кому принадлежит этот пароль.
Журналы системных операторов иногда содержат также записи отосланных и полученных файлов, ошибки, явившиеся результатом ввода несанкционированных команд, новых бюджетов или очередных пользователей, получивших статус привилегированного пользователя.
Если говорить о безопасности, первое, что вы должны сделать, загрузившись в чей-либо бюджет, — сразу же постараться узнать, кому он принадлежит (если вы еще не знаете этого). При загрузке вам, скорее всего, будет выдано сообщение о том, когда произошло последнее обращение к бюджету, и, возможно, данные о том, откуда пользователь устанавливал связь.
Если легальный пользователь, бюджет которого вы взломали, только что загружался сам, у вас могут возникнуть проблемы. Заметьте, в какое время дня пользователь входил в бюджет, и сами постарайтесь входить в это же время. Постарайтесь войти в бюджет одновременно с двух разных компьютеров — не появится ли на втором компьютере сообщение об ошибке. Можете ли вы распознать присутствие в бюджете вашего “конкурента”? Вам необходимо узнать обо воем этом, поскольку вам необходимо иметь возможность использовать бюджет, не вызывая подозрений со стороны его владельца.
Например, произошло так, что вы загрузились в бюджет, а в тоже время легальный пользователь, пытаясь сделать то же самое, получает сообщение:
“Пользователь такой-то уже установил связь через вход 11 б”. Вы не сможете узнать, что это произошло, но вы можете подготовиться к такому случаю. Пошлите настоящему пользователю сообщение якобы от системного менеджера, и оставьте не прочтенным. Когда настоящий владелец бюджета войдет в систему, его будет ждать нечто вроде:
Message #01
From 1513 SuperUser
То Al-l.USERS@calli.poo.mil
В подразделе группы С системы локальной сети произошла техническая неполадка, что привело к проблемам с работой нескольких из наших схем соединительных портов. Если во время загрузки вы получите сообщение о том, что вы уже вошли в систему, просим вас повторить свой вызов через несколько минут.
Мы приносим свои извинения по поводу возникших проблем и постараемся устранить неисправность как можно скорее, но наладка займет некоторое время. Нам пришлось выбирать между временными неудобствами и полным выключением системы. Мы надеемся, вы согласитесь, что лучше иметь систему с временными недостатками, чем не иметь системы вообще.
Мы ожидаем, что проблема будет решена к 3 марта. Спасибо за сотрудничество.
Пользователи часто хранят в своей директории личные ретроспективные журналы регистрации. Это могут быть ретроспективные отчеты о вводе команд, чтении новостей из определенных групп, передаче или уничтожении файлов. Из них вы сможете узнать, когда и как пользователь работает в системе, а также уровень его пользовательской компетентности.
Если взломанный вами бюджет используется нечасто, можете особенно не опасаться его настоящего владельца — разве что системный менеджер заподозрит неладное, заметив внезапно повысившуюся активность загрузки в бюджет, который никогда не отличался “посещаемостью”.
Но, с другой стороны, если обладатель бюджета работает в нем, как говорится, днем и ночью, вам следует опасаться его больше, чем системного оператора, который вряд ли распознает ваши сеансы входа среди множества других.
какие команды следует искать и использовать
Большинство ОС снабжены обширной помощью онлайн. В UNIX, чтобы посмотреть страницу помощи для определенной команды, следует набрать “man” (имя команды). Набрав “apropos” (слово), вы сможете просмотреть список команд, связанных с тем словом, которое вы зададите. Так, “apropos password” перечислит вам все команды, программы и переменные, которые имеют хоть какое-то отношение к паролям. А с помощью “man” (имя команды) вы сможете узнать, что означает каждая из этих команд.
В машинах TOPS можно набрать “help” или “help commandname” для получения информации онлайн.
Команды процесса сообщают о том, что происходит в системе и кто в ней работает. В UNIX команда “ps —
f” позволяет узнать, как работают на компьютере другие пользователи. Используя эти команды, вы поймете, какие из опций вам доступны. Вы также сможете выяснить, какие пользователи обладают доступом к другим компьютерам, если они соединялись с этими компьютерами с того же компьютера, за которым сидите вы. Если вам очень повезет, вы можете обнаружить в списке процессов шифровальный ключ, который может находиться там непродолжительное время перед тем, как шифровальная программа уберег его оттуда. Если некто набрал что-то вроде “crypt key < filename”, то вся команда, в том числе и ключ, появится в листинге. К сожалению, шифровальная программа стирает ключ из листинга, когда ключ задействуегся, но на непродолжительный период ключ становится общедоступен, и его может увидеть кто угодно. Такие случаи вам поможет обнаружить программа-“даемон” (см. глоссарий).
Соединяться с другими компьютерами позволяет программа “Telnet”. Я уже упоминал, что взломанный вами бюджет, скорее всего, является бюджетом низкого уровня доступа. У хакеров есть причина заниматься сначала бюджетами обычных пользователей:
им необходимо безопасное место, откуда можно совершать НАСТОЯЩИЕ взломы. Находясь в бюджете с низким уровнем, вы сможете делать все то, что никогда не стали бы делать, находясь в своем собственном бюджете, например, соединиться с помошыо “Telnet” с компьютерами Пентагона и начать атаку методом перебора. В UNIX имеется также команда “cu” (Call Up), которая дает возможность пользователю вызвать определенный телефонный номер.
Вызов одного компьютера с другого позволяет хакеру избежать выслеживания. Это также хорошее практическое решение проблемы связи с определенным компьютером, так как некоторые компьютеры можно вызвать только из других сетей.
протокол передачи Файлов (FTP)
FTP — это программа, которая позволяет копировать файлы с одного компьютера на другой (соединенный с ним обычно посредством Интернет), и наоборот. Непосредственным пользователям BITNET приходится вместо FTP использовать для передачи файлов электронную почту.
Чтобы запустить программу, следует набрать “ftp”; затем можно ввести адрес любого компьютера и попытаться с ним связаться. У вас запросят имя пользователя и пароль. Зачастую на компьютерах предлагаются также анонимные FTP-директории: для получения доступа к текстовым файлам и программам, которые сделал доступными местный администратор, можно загружаться под именем “anonymous”.
Входящая директория в анонимных FTP, как правило, установлена с разрешением на запись и использование, но не на чтение. Пользователи могут загружать файлы, которые они хотят использовать совместно с другими пользователями, без ведома последних. Системный оператор определяет, какие файлы можно сделать общедоступными.
Распространенный недостаток анонимных FTP состоит в том, что в их бюджете часто размешаются две вспомогательные директории “etc.” и “bin”. Если они не защищены от записи, любой пользователь имеет возможность загрузить свои собственные враждебные версии системных программ и пакетов.
игры
На взломанном вами компьютере могут оказаться Xtrek иди Empire, и любые другие многопользовательские игры для режима онлайн, особенно, если компьютер стоит в колледже. Так как игры являются многопользовательскими, для входа в них необходим пароль, но такие пароли не столь уж секретны, и часто хранятся в обычных текстовых файлах. Просмотрите эти файлы — пользователи могут применять одни и те же пароли везде, где у них имеется доступ.
сеть пользователей (USENET)
USENET представляет собой то же самое по отношению к локальным BBS, что и Тадж-Махал по отношению к муравейникам.
USENET — это BBS Интернет, которая управляет тысячами конференций. USENET — не просто “компьютерная” доска объявлений. В ней есть разделы, в которых можно разговаривать о программном и аппаратном обеспечении, вирусах, хакерах, индивидуальных операционных системах, принтерах, и об электронных таблицах, и об этике, и ... дополните список сами. Каждая область называется группой новостей (newsgroup) или конференцией. Существуют конференции, посвященные музыке, автомобилям, сексу, преступлениям, парашютизму, книгам, телевидению и многому другому — с ума сойдешь, пока перечислишь все эти темы.
Некоторые конференции подвергаются специальному цензурированию. Имеется в виду, что некая контролирующая организация просматривает их и решает, каким из них дать экранное время. Большинство групп не просматривается таким образом, и является общедоступными.
Получить доступ в USENET можно, запустив такие программы как “readnews”, “news” или “nn”. Вы сможете прочесть посланные кем-то сообщения, или написать свое собственное. Каждое сообщение посылается на все узлы связи, так что, вы, задав какой-либо вопрос, выносите его на громадный международный форум, и сможете выбрать подходящий ответ.
КАК стать привелигерованным пользователем
Проникновение в систему может стать бесполезным, если вы окажетесь в пустой корневой директории с таким низким уровнем доступа, что нельзя сделать ничего интересненького. Если вы взломали бюджет низкого уровня, принадлежащий, например, секретарю, вводящему данные, вы не сможете особенно развернуться, и вам захочется, по возможности, повысить свой уровень доступа. Это можно осуществить с помощью исследований изнутри, мистификации, программистских уловок, либо социальной инженерии.
Завершив свои исследования” осмотрите систему, в которую только что проникли, и выясните, какие опции доступны для вас. Прочтите все файлы, запустите все программы. Большинство технических взломов совершаются благодаря ошибкам в солидном, казалось бы, программном обеспечении. Большинство таких программ каким- либо образом связано с бюджетами других пользователей. Программы электронной почты и “бесед” доступны, равно как и текстовые редакторы. Если вы найдете любой язык программирования, вы должны быть на седьмом небе, поскольку существуют сотни различных программистских уловок, с помощью которых можно получить более высокий уровень. Давайте начнем с мистификации.
МИСТИФИКАЦИЯ
Мистификация обычно заключается в том, что вы посылаете электронную почту таким образом, что кажется, будто ее послал кто-то другой. Этим термином обозначают также любое действие хакера, с помощью которого он выдает себя за кого-то другого. Но давайте сперва остановимся на первом, более распространенном, значении, и рассмотрим некоторые способы, посредством которых мистифицированная электронная почта может услужить имеющему низкий уровень доступа хакеру добиться чего-то большего.
Один из типичных примеров мистификации — послание якобы от системного администратора. Susie User {Пользователь Сюзи), весьма влиятельное лицо в системе, занимается своими обычными делами в режиме онлайн. Она проверяет свой почтовый ящик и с удивлением обнаруживает там письмо от системного администратора. В письме говорится о том, что ввиду наличия прорех в компьютерной безопасности пароли пользователей будут теперь изменяться каждые шесть недель: “Ваш новый пароль D4YIL”, — написано в полученном Сюзи послании. — “Вы можете изменить его сами с помощью команды “SET_PASS”. He забудьте его! Не раскрывайте его никому! Компьютерная безопасность — очень важный аспект, которым нельзя пренебрегать!”
Через несколько секунд вы замечаете, что Сюзи набрала команду “SET_PASS”, а еще немного погодя загружаетесь под ее именем, получая, таким образом, все привилегии ее более высокого уровня. И это срабатывает всегда! Но вся хитрость в том, что необходимо знать, как именно следует проделать мистификацию.
Прежде чем вы сможете послать мистифицированную электронную почту, вам следует понять, каким образом это возможно. Итак, если вы когда-либо пользовались любой из программ электронной почты, на мэйнфрэйме, или же на локальной BBS, то вы знаете, что, чтобы послать электронное письмо, пользователь, как правило, вводит три порции информации: пункт назначения, тему и текст письма. Некоторые “почтовые” программы допускают еще большее усложнение, например, включение других текстовых файлов или программ, уведомление о получении, и т. д., но давайте остановимся на наиболее примитивном виде программ электронной почты, так как они используются чаше всего.
Когда вы посылаете электронное письмо другому пользователю, компьютер автоматически помешает заголовок в начало письма, чтобы идентифицировать письмо как пришедшее от вас. Для мистификации вам понадобится изменить этот заголовок таким образом, чтобы письмо казалось присланным одним из тех, кто отвечает за систему.
Электронную почту обычно посылают, запуская специальную программу. Программа включает в себя текстовый редактор и устройство для отправки почты другим пользователям. Но во многих случаях для отправки почты можно и не использовать специальную программу. Обычно существует основная команда процессора, позволяющая послать текст или файл в директорию файлов другого пользователя. То же самое делает и программа электронной почты: посылает текст вашего сообщения в специальный файл под названием MAIL.TXT или что-то в этом духе, и когда пользователь Сюзи запускает свою программу электронной почты, она показывает содержание этого файла.
Вам не составит труда открыть текстовый файл, напечатать заголовок, похожий на заголовки посланий системного администратора и добавить в коней файла свой собственный текст. Затем с помощью команды “send file” поместите этот файл в директорию пользователя с более высоким уровнем доступа, чем ваш.
Иногда ОС сама выполняет подобные действия. Так, один из протоколов Интернет предполагает участие двух компьютеров в передаче почты, для составления заголовков писем. Чтобы мистифицировать Интернет, можно соединиться с главным компьютером через порт 25, который отвечает за доставку электронной почты. Обычно таким путем соединяются только два компьютера; на месте могут присутствовать средства зашиты, но, если таковых не имеется, вы можете сыграть роль компьютера, посылая команды для генерации электронного сообщения. Они включают в себя “mail from” и “rcpt”, которые устанавливают, кем являются отправитель и получатель. Чтобы получше разобраться в этом, используйте “help”.
Многие многопользовательские системы дают пользователям возможность общаться друг с другом с помощью команд TALK, WRITE и т. п. Когда вы набираете команду TALK, на экране реципиента появляется сообщение о том, что вы хотите с ним побеседовать. Если другой пользователь разделяет ваше желание, он тоже набирает команду TALK. После этого все, что вы будете печатать у себя на экране, станет появляться на экране вашего собеседника, и наоборот. С помошыо команды TALK можно проделать множество трюков. Одним из популярных трюков является передача с помощью TALK сообщения типа:
“Сбой в системе. Прошу выключить ваш терминал, не прерывая связи с системой, для предотвращения дальнейших нарушений. Системный администратор” на экран другого пользователя. Пока его терминал будет отключен, вы сможете беспрепятственно копаться в его бюджете.
Как и в случае с мистификацией электронной почты, с помощью TALK можно помешать текст на экран другого пользователя. Вам следует обратиться к исходному коду программы TALK, узнать, каким образом она посылает текст на другой экран, и использовать те же команды. Такие маневры в обход средств зашиты являются неотъемлемым свойством команды TALK. Если вы используете настоящую команду TALK, чтобы послать приведенное в качестве примера сообщение об ошибке, получатель увидит, что это ВЫ, а вовсе не системный администратор, послали это сообщение. Вам следует эмулировать заголовок TALK, в котором сообщается имя пользователя, пославшего текст. Вам придется также спуститься к основным операторам “send text”, так как вам совсем не нужно, чтобы пользователь использовал опцию отказа от общения с вами.
Известно, что мистификацию можно достаточно легко применять в большинстве систем — достаточно войти в режим онлайн и разобраться в исходных программах и руководствах. Еще одна хитрость — послать с помощью TALK сообщение, которое сможет понять “умный” терминал. При использовании TALK вы не вводите слова в ответ на приглашение ОС — ОС просто помешает то, что вы набираете, на экран удаленного терминала. Один из способов обойти это основан на использовании удаленного аппаратного обеспечения. Некоторые “умные” терминалы обладают управляющей последовательностью Send или Enter, которая говорит терминалу, что необходимо послать текущую строку в систему так, будто пользователь ввел ее с клавиатуры. Можно использовать TALK, чтобы послать сообщение, содержащее подходящую управляющую последовательность для выполнения разных гнусностей, вроде отправки к вам конфиденциальных документов и т. п.
Хакер может использовать в своих целях не только электронную почту и команду TALK, но и любую другую команду, которая позволяет взаимодействовать с другим терминалом. Если вам попадется команда, дозволяющая такое взаимодействие, изучите ее внимательно, чтобы посмотреть, как можно ее применить.
Просмотрите также программы — нельзя ли с их помощью связаться с другими директориями на вашей собственной машине. Текстовый редактор GNU-EMACS, используемый в UNIX, позволяет переслать файл, с которым вы работаете, в директорию другого пользователя. Если вы назвали свой файл o.loginn(2), то, когда бы ни загрузился тот пользователь, будет запускаться этот резервный файл. Если этот файл включает в себя передачу по электронной почте в ваш бюджет секретных данных того пользователя — тем лучше для вас.
шифрование и дешифровка
Возвращаясь к старым уловкам: атака с помощью перебора может дать вам возможность дешифровать файлы с паролями, когда и как вам будет угодно. Даже если у вас бюджет с низким уровнем доступа, вы сможете скопировать зашифрованный файл с взломанной вами машины на более безопасный носитель. Во всяком случае, вам удастся хотя бы просмотреть содержание пусть даже закодированного файла с паролями.
После этого откомпилируйте копию зашифрованной программы, изменив ее таким образом, чтобы она читалась в терминах специально подготовленного словаря, используйте словарь в качестве ключа, а результат распечатайте. Листинги исходных программ UNIX доступны для любого вида ОС. Даже если вы не можете найти дешифратор, который использовался компьютером для шифрования скопированного вами файла, вы всегда можете заглянуть в руководство, найти там алгоритм искомого шифра, и самостоятельно написать по нему программу. Метод перебора в случае с ключами к зашифрованным файлам с паролями действует гораздо эффективнее, чем атака самих паролей для входа в систему. Вскоре вы наверняка найдете ключ для расшифровки, и станете обладателем пароля привилегированного пользователя!
Атака с помощью перебора не всегда является необходимостью. Говорят о существовании известной инверсии шифровального алгоритма, использующегося в некоторых ОС, включая старые версии VMS. К сожалению, сам я не знаю, в чем заключается данный метод инверсии, но я знаю, что существуют способы алгоритмического обратного преобразования команды “crypt” в UNIX. Эта команда использует шифровальный алгоритм World War II Enigma, который был превосходен для своего времени, но не представляет собой загадки для современных суперкомпьютеров. Конечно, для расшифровки вам все же потребуется какое-то время, но она не затруднит ваш компьютер, если у него достаточно “лошадиных сил”.
Впрочем, команда шифрования не очень широко используется из-за своей общеизвестной уязвимости. В основном “crypt” избегают по сентиментальным причинам. Шифр, наиболее часто использующийся для кодирования паролей, является версией государственного стандарта шифрования данных (Data Encryption Standart — DES). Вариант DES в UNIX не подходит для атаки с помощью перебора из-за невероятно сложных шифровальных ключей. Каким же образом версия в UNIX защищена от атак методом перебора?
Как известно, файлы паролей в UNIX доступны для чтения, копирования и печати, но сами пароли хранятся в зашифрованной форме. Однако это не совсем так: на самом деле файл паролей ВООБЩЕ не содержит никаких паролей. Когда новый пользователь входит в систему и вводит пароль, UNIX использует первые восемь символов этого пароля в качестве шифровального ключа для кодирования некоей константы (например, большого случайного числа).
Еще одна причина, по которой DES был избран для шифрования паролей, заключается в следующем: когда такой алгоритм используется в программном варианте, он действует медленно. А значит, атака с помощью метода перебора займет больше времени.
Говоря об этой теме, необходимо заметить, что стандарт шифрования данных может быть и не настолько безопасным, как некогда считалось. Основой DES стала система безопасности под названием “Аю-иифер”, разработанная IBM в 1973 году для Национального бюро стандартов. Прежде чем DES был принят в качестве официального (стандартного) шифра США, сверхсекретное Агентство по национальной безопасности (NSA) вмешалось в это дело, понизив сложность шифровального алгоритма и скрыв основные аспекты его устройства. Это выглядело весьма подозрительно! Зачем бы NSA объявлять код безопасным, в то же время делая его менее безопасным? Критики предупреждали, что в систему, возможно, была встроена лазейка.
В начале 1992 года два израильских ученых объявили, что они нашли способ победить систему. Если содержание зашифрованного сообщения кому-либо известно, с помощью определенных математических приемов можно вычислить ключ, использованный для шифровки сообщения. Затем не составит труда прочесть тексты, зашифрованные с помощью того же ключа.
Как бы то ни было, со времен семидесятых придумано уже немало гораздо лучших шифров.
В некоторых системах силовая атака на зашифрованные файлы затруднена тем, что шифровальный ключ, применяемый пользователями, шифрует не сам текст, а некую случайную последовательность символов, а эти символы, в свою очередь, зашифровывают текст. Чтобы стать хакером, не обязательно быть слишком уж проницательным, достаточно просто обладать умом. Но для того, чтобы взламывать алгоритмы шифровки данных, необходимо быть не только умным и проницательным, но еще и разбираться в математике. К счастью для тех, кто не может похвастаться калькулятором вместо мозгов, существует много других методов для прочтения зашифрованных файлов (вспомните хотя бы прибор благословенного Ван Эйка).
бит за битом
Допустим, вы вошли в какой-нибудь незначительный бюджет, где нет доступа ни к чему интересному. Допустим также, что в данной системе вы можете прочесть файл с паролями, но не изменить его.
Например, пароль вашего бюджета в этом файле закодирован в виде “fg(kk3j2.”. Если у вас есть возможность загрузить файл паролей в текстовый редактор, вы сможете сменить зашифрованный пароль системного администратора на ваш собственный; но сохранить внесенные изменения вам не удастся, если у вас нет статуса привилегированного пользователя. Но так ли это?
Компьютерная зашита системы порой осуществляет проверку достоверности только на самых высоких уровнях защищенности. Пользователь, не обладающий определенным уровнем доступа (а следовательно и защищенности) не может использовать команды высокого уровня для уничтожения, перемещения, использования и изменения файлов; к командам же машинного уровня, скажем для перемещения головки чтения,записи в определенное положение, это не относится. Если бы так происходило со всей доступной областью памяти, каждый файл можно было бы полностью считать или переписать побитно. Если у вас имеется доступ к программному обеспечению или к дисковым носителям, вы сможете изменить расположение хранящихся личных данных, поменяв зашифрованный пароль системного администратора на свой.
С другой стороны, вы можете обнаружить, что компьютерная зашита не разрешает использование даже инструкций низкого уровня. Но не сдавайтесь слишком рано! Область памяти может быть, по разным причинам, — из-за забывчивости, ошибок, неумения или непрактичности, — только частично за-шишена таким образом. Если это так, вам не удастся изменить файл паролей, но, вероятно, удастся переместить его в директорию другого пользователя, или изменить уже находящиеся в ней файлы. А это даст вам возможность широкого применения “троянских коней” и лазеек.
Если зашита отвергает любые попытки получения нелегального доступа, возможно, вам удастся заставить привилегированного пользователя поработать за вас. Напишите простую программу, например, игру, и введите в нее скрытые инструкции по изменению паролей. Затем откомпилируйте ее, сохраните, сделав доступной только для привилегированных пользователей, и поместите в общественную директорию. В конце концов какой-нибудь привилегированный пользователь наткнется на нее и запустит, таким образом задействовав те части вашей программы, которые, запусти вы их самостоятельно, привели бы к сообщениям об ошибках и, возможно, дополнительным отметкам в журнале регистрации.
применение программ
Большинство программ, применяемых хакерами, являются разновидностями “троянских коней”. А классический “троянский конь” использует ошибки других для достижения своей цели. Чаше всего это означает эксплуатацию врожденных недостатков РАТН-команд.
Большинство современных ОС позволяет вам организовывать свои файлы путем использования директорий и поддиректорий. Таким образом, поиск нужного файла облегчается, но зато для перехода из одной директории в другую приходится набирать длинные путевые имена.
Решение заключается в использовании команд PATH. Команда PATH говорит ОС: “Если ты не найдешь этот файл в текущей директории, посмотри вон там... А потом — там... И еще вон там.” Другими словами, вы определяете путь, по которому будет следовать ОС в поисках файлов. Таким образом, для получения доступа к этому файлу вам не нужно находиться в той директории, где он содержится.
Команды PATH обычно помещаются в ВАТ-файлы, которые запускаются при загрузке. Они особенно часто используются на больших машинах, которые содержат множество файлов и кучи директорий. В подобных случаях, особенно, если пользователь является обслуживающим оператором и ему нужен неограниченный доступ, очень много директорий может определяться с помощью PATH.
Пути поиска очень важны для хакеров, особенно, если поиск ведется по всем директориям системы.
Для начала хакер переписывает часто используемую программу, вставляя в нее “троянского коня”. Затем он помешает программу в директорию, которая предположительно находится на пути привилегированного пользователя. Привилегированный пользователь или программа (типа сценария заполнения “пустой” экспертной системы) могут случайно запустить, скажем, вашу программу установки даты вместо “официальной” версии, хранящейся в директории ОС. Если так случится, ваша спрятанная программа сделает свое дело.
“Троянские кони” могут делать многие веши — собирать пароли, создавать ложные приглашения к входу в систему, лишать файлы зашиты от чтения,записи, либо создавать впечатление фатального сбоя системы (а когда пользователь выключит свой терминал и уйдет, вы сможете набрать секретный управляющий код, который позволит “троянскому коню” снова “вломиться” в бюджет этого пользователя). “Троянские кони”, безусловно, составляют значительную часть хакерского арсенала, но существует и другой способ повышения уровня доступа с помощью программ — использование компьютерных вирусов.
ВИРУСЫ
Вирус возник путем скрещивания трех видов программ: “троянского коня”, червя и логической бомбы.
Логическая бомба — это небольшая программа, спрятанная внутри большей программы. Обычно она представляет собой не более чем высказывание IF THEN (ЕСЛИ ТО). ЕСЛИ что-то верно, ТО надо сделать нечто. Что обычно представляет собой ТО, можно догадаться, исходя из самого названия — логическая бомба.
Классический пример логической бомбы был использован, когда один системный программист был уволен за неверно выполненную работу. Через несколько дней после его ухода главы фирмы получают от программиста послание: “Заплатите мне Х долларов до 31-го июля, и я сообщу вам, как спасти ваши программы и записи от полного уничтожения”. Он инсталлировал логическую бомбу, которая взорвется в определенный день.
У программы-червя есть лишь одна цель: саморазмножение. Он осматривается вокруг, и копирует себя, где только может, причем каждая новая копия продолжает заниматься тем же самым. Через некоторое время после начала работы такой программы компьютер или сеть оказываются буквально забиты сотнями или даже тысячами неудержимо размножающихся программ.
Вирус выполняет функции обеих вышеописанных программ. Программа (спрятанная, подобно “троянскому коню”, внутри прикладной программы) саморазмножается, пока возможно, а затем взрывается (как логическая бомба).
Логические бомбы опасны, но, по крайней мере, известно, чего от них ждать. Вирусы же и черви, в отличие от логических бомб, не только опасны, но и непредсказуемы. Я убежден, что настоящий хакер никогда не создаст червя, поскольку они слишком деструктивны и бессмысленны. Но он может воспользоваться вирусом, при условии, что вирус не причинит вреда системе, самоуничтожаясь по мере своего продвижения, и ни разу не появится на одном и том же месте дважды.
Вирус может пересылать пароли с помощью электронной почты по определенному адресу, с помощью метода перебора в конце концов проникать в системы и т. п. Существует много путей применения вирусов, но их трудно использовать безопасно.
Ходили слухи об одном микрокомпьютерном вирусе, который, если бы он действительно существовал, согрел бы сердце каждого хакера. Он назывался AT&Tack Virus. Скопировав себя на компьютер, он сразу же пытался найти Hayes-модем или совместимый. Если таковой существовал, вирус выключал динамик модема и соединялся с заранее запрограммированным номером. После этого, естественно, любой, кто находился по вызванному им номеру, получал удаленный доступ к вашему компьютеру.
Лично мне кажется, что это не более, чем слух. Разумеется, на данный момент ни одна из коммерчески доступных программ обнаружения вирусов не содержит никаких упоминаний о AT&Tack Virus. Но мне кажется, что такая штука лучше работала бы в качестве “троянского коня”, размешенного в графической программе, нежели в качестве вируса.
Одним из достоинств “троянских лошадок” и вирусов является конструирование каналов для сбора данных и пересылки их к вам в удобочитаемой форме. Допустим, вирус присоединяется к программе загрузки и собирает пароли. Нет смысла отправлять этот вирус гулять по всему свету, не питая надежд заполучить в свои руки те пароли, которые он соберет. Как я уже упоминал, вирус может периодически пересылать вам пароли с помощью электронной почты (но только не в ваш легальный бюджет!).
Можно также шифровать почту перед отправкой. Проблема с шифрованием состоит в том, что вам понадобится ключ. Любой, кто обнаружит ваш вирус или “троянского коня”, легко сможет вычислить ваш ключ и понять, что за почту пересылает вирус (или какие временные файлы создает “троянский конь”). Значит, вам придется зашифровать этот ключ... а для этого нужен еще один ключ... а его тоже надо как-то обезопасить... значит, еще один ключ... И так — до бесконечности. Но давайте разберемся в ситуации.
Если вы собираетесь так или иначе прибегать к кодированию, будет проще заставить ваш вирус или “троянского коня” посылать зашифрованные данные в какую-либо большую, не подвергающуюся цензуре конференцию. Недостаток: вам придется мистифицировать почту, иначе кто-либо заметит, что пользователь (который, сам того не зная, приводит в действие ваш вирус) посылает слишком много “мусора”.
Вы можете также подгрузить зашифрованный файл во входную директорию какого-нибудь анонимного FTP. Убедитесь, что компьютерная зашита позволит вам затем выгрузить файлы из этой директории, поскольку зачастую она не разрешает это делать.
Для пересылки коротких сообщений (например, одного пароля) ваша программа-обманка может временно переименовать какой-либо файл с очень низкой степенью зашиты (атрибуты которого способен изменить кто угодно) в это сообщение. Ваш “троянский конь”,вирус будет входить в директорию, маскируясь под различных пользователей сети, и пытаться переименовать файл в данное сообщение. Ваш “троянский конь”,вирус не должен оставлять сообщение об ошибке. (Вы можете “вживить” блок постоянного наблюдения, который в виде фоновой задачи будете следить за состоянием этого файла; как изменится имя файла, фоновый процесс сохранит новое имя, а после вернет файлу его первоначальное имя.
Другие короткие сообщения можно пересылать по битам. Например, если файл Х находится в определенной директории, ваша программа посылает вам цифру 1, а если директория пуста — цифру О. Фоновая задача в то же время следит за появлением и исчезновением из вашей директории этого файла. Когда соберется необходимое количество нулей и единиц (восемь для ASCII-кодов), программа переводит их в символы сообщения. Например, 01000001 — это заглавная “А”. 01000010 — “В”, и т. д. Чтобы послать восьмизначный пароль, вашему вирусу или “троянскому коню” потребуется 64 уничтожения и восстановления файла X. Биты будут пересылаться по одному, тогда, когда спрятанная программа сможет делать это незаметно.
КАК выбраться ИЗ заточения на волю
Допустим, вы совершили взлом, но единственный доступ, который вы обнаружили, это доступ к двум-трем командам или неинтересному информационному блоку. В этом случае вам придется думать, как выбраться из этой программы-тюрьмы и вернуться на уровень операционной системы. Если прежде вы серьезно занимались программированием, ваша задача облегчится.
Программист знает типы лазеек и ошибок, а также способы их обнаружения. Если он завязнет в бюджете, который запускает информационную программу, то использует все, даже самые неожиданные, способы в поисках вещей, от которых человек, создавший эту программу, не додумался защититься, в надежде получить сообщение об ошибке и вырваться к приглашению ОС.
Вот что можно попробовать.
Вводить неверные, неподходящие или слишком длинные ответы на приглашения; особенно подойдут буквенные ответы вместо требуемых числовых. Или, если вас просят ввести число, которое будет анализироваться функцией, попробуйте ввести слишком маленькое или несуразно большое. Попытайтесь вводить ответы с прерыванием, типа Ctrl-Z, Ctrl-C или даже Ctrl-P. Постарайтесь использовать команду “Find” для поиска вне доступных ресурсов. Посмотрите, нельзя ли установить программы для несуществующего аппаратного обеспечения или объема памяти.
Если в ловушке имеется нечто вроде текстового редактора, например, программы для пересылки почты системным операторам, попробуйте создать резервный файл и послать ваше сообщение в качестве команды на выполнение. Можно также попробовать создавать несоразмерно большие сообщения. Если в редакторе имеются специальные функции проверки текста, напишите громадный абзац, поместите в буфер и скопируйте под первый. Затем проделайте то же самое с двумя абзацами, и т. д., до тех пор, пока программа либо не даст сбой, либо не разрешит вам продолжать. Если это письмо, посмотрите, что получится, если вы попытаетесь сохранить или послать все сообщение целиком.
Вы можете оказаться в программе, похожей на обычную ОС или управляющую программу, в которой меню со списком опций либо недоступно, либо вызывается с помощью команды HELP. Вам выдается приглашение к вводу команды. К некоторым прикладным командам добавляется имя файла, с которым вы собираетесь работать (например, для редактирования файла с помощью текстового процессора:
“WORD_PROC STORY.DOC”). Если система работает в режиме онлайн, попробуйте ввести таким образом слишком много данных (“WORD_PROC STORY.DOC FILE.ONE FILE.TWO...”) или неподходящие данные. Например:
WORD_PROC WORD.PROC WORD_PROC \directoryname WORD_PROC nonexistent-filename WORD_PROC ,etc,date, [или другая команда].
Тактика “неподходящих данных” с успехом применялась до последнего времени. Можно прибегнуть также к переполнению стека команд, т. е. размещению множества команд в одну линию. Команды могут быть разделены пробелами, скобками, слешами, или другими знаками пунктуации. Синтаксический анализатор может оказаться не в состоянии интерпретировать слишком большое количество команд. Если строчный редактор не разрешит вам вводить столько строк, попробуйте с помощью программирования создать впечатление, что большой стек команд послан прямо с клавиатуры.
Если в вашем распоряжении имеется язык программирования или компилятор, попробуйте поставить какие-либо величины на места, вовсе для этого не предназначенные. Возможно, вам удастся откомпилировать программу в специальные области памяти, записав ее поверх машинной программы, которая препятствует вашему продвижению вперед, или заставить программу переместиться в новое положение, где можно будет прибегнуть к дополнительным инструкциям.
Наконец, попробуйте загрузить программу в редактор электронной почты, или любой другой, или программу-доктор, и изменить ее так, чтобы она разрушалась при запуске.
Дефекты наиболее часто встречаются в следующих видах программного обеспечения:
• Новое ПО (программное обеспечение) — одна из первых версий, или прошедшая Бета-проверку и т. п.
• Программы, по каким-то причинам финансового или рекламного порядка “слепленные” на скорую руку.
• Программы, годами остававшиеся неизменными, несмотря на изменения аппаратного обеспечения и пр.
• Обновляющееся ПО.
• ПО, не обладающее коммерческой ценностью.
Путешествуя по сетям, выберите время, чтобы остановиться и прочесть заметки о новых версиях старого программного обеспечения. В них часто сообщается об исправленных дефектах старых версий. К тому времени, как вы об этом прочтете, еще далеко не все успеют поменять свои старые версии программ на новые.
возвращение к месту действия
Предусмотрительный хакер всегда обеспечит себя лазейкой, чтобы в дальнейшем, если понадобится, беспрепятственно войти снова. Обычно это делается с помощью установки фиктивного бюджета для использования в успешных взломах. В конце концов, нет никакой гарантии, что бюджет, который вы использовали при первом взломе, сохранится к тому времени, как вы загрузитесь снова, или что пароль или другая важная входная информация не изменится, закрыв вам доступ. Если вы получили доступ не с помощью пароля, а какими-то командными или техническими средствами, вам тем более понадобится такой потайной вход, чтобы заново не возиться со всей этой ерундой.
Во многих ОС можно запускать программы даже после того, как пользователь вышел из системы. Иногда можно установить программу на начало работы в определенное время. Написание подходящей программы и ее запуск с помощью одной из этих команд поможет вам, если вы захотите вернуться к месту своего действия.
задание выполнено... но не совсем!
Эй! Взгляните-ка, что у вас получилось! Итак, вы провели исследования, нашли нужный компьютер, взломали его, и теперь разгуливаете внутри. Это четыре составляющих хакерской деятельности. Это и означает — быть хакером.
Первые четыре составляющих выполняются по порядку, одна за другой. Но вот последняя часть на самом деле вовсе не последняя. О ее выполнении следует заботиться с самого начала и до конца, ни на секунду не забывая о ней.
Ведь то, чем вы занимаетесь, — ХАКЕРСТВО, а это, как вам известно, вещь незаконная. Значит, вы должны подумать о собственной безопасности.
Давайте теперь рассмотрим, что же такое хакерство, которое считается незаконным в нашем обществе, как можно заниматься хакерством, не попадаясь при этом в лапы закона, а в заключение мы подведем итоги и поговорим о вашем будущем в качестве хакера.