Для пересылки коротких сообщений (например, одного пароля) ваша программа-обманка может временно переименовать какой-либо файл с очень низкой степенью зашиты (атрибуты которого способен изменить кто угодно) в это сообщение. Ваш «троянский конь»,вирус будет входить в директорию, маскируясь под различных пользователей сети, и пытаться переименовать файл в данное сообщение. Ваш «троянский конь»,вирус не должен оставлять сообщение об ошибке. (Вы можете «вживить» блок постоянного наблюдения, который в виде фоновой задачи будете следить за состоянием этого файла; как изменится имя файла, фоновый процесс сохранит новое имя, а после вернет файлу его первоначальное имя.
Другие короткие сообщения можно пересылать по битам. Например, если файл Х находится в определенной директории, ваша программа посылает вам цифру 1, а если директория пуста — цифру О. Фоновая задача в то же время следит за появлением и исчезновением из вашей директории этого файла. Когда соберется необходимое количество нулей и единиц (восемь для ASCII-кодов), программа переводит их в символы сообщения. Например, 01000001 — это заглавная «А». 01000010 — «В», и т. д. Чтобы послать восьмизначный пароль, вашему вирусу или «троянскому коню» потребуется 64 уничтожения и восстановления файла X. Биты будут пересылаться по одному, тогда, когда спрятанная программа сможет делать это незаметно.
КАК выбраться ИЗ заточения на волю
Допустим, вы совершили взлом, но единственный доступ, который вы обнаружили, это доступ к двум-трем командам или неинтересному информационному блоку. В этом случае вам придется думать, как выбраться из этой программы-тюрьмы и вернуться на уровень операционной системы. Если прежде вы серьезно занимались программированием, ваша задача облегчится.
Программист знает типы лазеек и ошибок, а также способы их обнаружения. Если он завязнет в бюджете, который запускает информационную программу, то использует все, даже самые неожиданные, способы в поисках вещей, от которых человек, создавший эту программу, не додумался защититься, в надежде получить сообщение об ошибке и вырваться к приглашению ОС.
Вот что можно попробовать.
Вводить неверные, неподходящие или слишком длинные ответы на приглашения; особенно подойдут буквенные ответы вместо требуемых числовых. Или, если вас просят ввести число, которое будет анализироваться функцией, попробуйте ввести слишком маленькое или несуразно большое. Попытайтесь вводить ответы с прерыванием, типа Ctrl-Z, Ctrl-C или даже Ctrl-P. Постарайтесь использовать команду «Find» для поиска вне доступных ресурсов. Посмотрите, нельзя ли установить программы для несуществующего аппаратного обеспечения или объема памяти.
Если в ловушке имеется нечто вроде текстового редактора, например, программы для пересылки почты системным операторам, попробуйте создать резервный файл и послать ваше сообщение в качестве команды на выполнение. Можно также попробовать создавать несоразмерно большие сообщения. Если в редакторе имеются специальные функции проверки текста, напишите громадный абзац, поместите в буфер и скопируйте под первый. Затем проделайте то же самое с двумя абзацами, и т. д., до тех пор, пока программа либо не даст сбой, либо не разрешит вам продолжать. Если это письмо, посмотрите, что получится, если вы попытаетесь сохранить или послать все сообщение целиком.
Вы можете оказаться в программе, похожей на обычную ОС или управляющую программу, в которой меню со списком опций либо недоступно, либо вызывается с помощью команды HELP. Вам выдается приглашение к вводу команды. К некоторым прикладным командам добавляется имя файла, с которым вы собираетесь работать (например, для редактирования файла с помощью текстового процессора:
«WORDPROCSTORY.DOC»). Если система работает в режиме онлайн, попробуйте ввести таким образом слишком много данных («WORDPROCSTORY.DOC FILE.ONE FILE.TWO…») или неподходящие данные. Например:
WORDPROCWORD.PROC WORDPROCdirectoryname WORDPROCnonexistent-filename WORDPROC,etc,date,4.
Тактика «неподходящих данных» с успехом применялась до последнего времени. Можно прибегнуть также к переполнению стека команд, т. е. размещению множества команд в одну линию. Команды могут быть разделены пробелами, скобками, слешами, или другими знаками пунктуации. Синтаксический анализатор может оказаться не в состоянии интерпретировать слишком большое количество команд. Если строчный редактор не разрешит вам вводить столько строк, попробуйте с помощью программирования создать впечатление, что большой стек команд послан прямо с клавиатуры.
Если в вашем распоряжении имеется язык программирования или компилятор, попробуйте поставить какие-либо величины на места, вовсе для этого не предназначенные. Возможно, вам удастся откомпилировать программу в специальные области памяти, записав ее поверх машинной программы, которая препятствует вашему продвижению вперед, или заставить программу переместиться в новое положение, где можно будет прибегнуть к дополнительным инструкциям.
Наконец, попробуйте загрузить программу в редактор электронной почты, или любой другой, или программу-доктор, и изменить ее так, чтобы она разрушалась при запуске.
Дефекты наиболее часто встречаются в следующих видах программного обеспечения: Новое ПО (программное обеспечение) — одна из первых версий, или прошедшая Бета-проверку и т. п. Программы, по каким-то причинам финансового или рекламного порядка «слепленные» на скорую руку. Программы, годами остававшиеся неизменными, несмотря на изменения аппаратного обеспечения и пр. Обновляющееся ПО. ПО, не обладающее коммерческой ценностью.
Путешествуя по сетям, выберите время, чтобы остановиться и прочесть заметки о новых версиях старого программного обеспечения. В них часто сообщается об исправленных дефектах старых версий. К тому времени, как вы об этом прочтете, еще далеко не все успеют поменять свои старые версии программ на новые.
Возвращение к месту действия
Предусмотрительный хакер всегда обеспечит себя лазейкой, чтобы в дальнейшем, если понадобится, беспрепятственно войти снова. Обычно это делается с помощью установки фиктивного бюджета для использования в успешных взломах. В конце концов, нет никакой гарантии, что бюджет, который вы использовали при первом взломе, сохранится к тому времени, как вы загрузитесь снова, или что пароль или другая важная входная информация не изменится, закрыв вам доступ. Если вы получили доступ не с помощью пароля, а какими-то командными или техническими средствами, вам тем более понадобится такой потайной вход, чтобы заново не возиться со всей этой ерундой.
Во многих ОС можно запускать программы даже после того, как пользователь вышел из системы. Иногда можно установить программу на начало работы в определенное время. Написание подходящей программы и ее запуск с помощью одной из этих команд поможет вам, если вы захотите вернуться к месту своего действия.
Задание выполнено… но не совсем!
Эй! Взгляните-ка, что у вас получилось! Итак, вы провели исследования, нашли нужный компьютер, взломали его, и теперь разгуливаете внутри. Это четыре составляющих хакерской деятельности. Это и означает — быть хакером.
Первые четыре составляющих выполняются по порядку, одна за другой. Но вот последняя часть на самом деле вовсе не последняя. О ее выполнении следует заботиться с самого начала и до конца, ни на секунду не забывая о ней.
Ведь то, чем вы занимаетесь, — ХАКЕРСТВО, а это, как вам известно, вещь незаконная. Значит, вы должны подумать о собственной безопасности.
Давайте теперь рассмотрим, что же такое хакерство, которое считается незаконным в нашем обществе, как можно заниматься хакерством, не попадаясь при этом в лапы закона, а в заключение мы подведем итоги и поговорим о вашем будущем в качестве хакера.
Глава 11. Как не попасть в лапы закона
Козлевичу не везло. Его ловили и тогда, когда он применял излюбленные им технические средства, и тогда, когда он обходился без них. Его ловили на вокзалах, пристанях, на пароходах и в гостиницах. В вагонах его тоже ловили. Его ловили даже тогда, когда он в полном отчаянии начинал хватать чужую собственность по предварительному сговору с другим лицами.
И. Ильф, Е. Петров. Золотой теленок.
Хакерство — это здорово. Черт возьми, да это просто потрясающе! Но вместе с тем хакерство — нелегальное, порой аморальное и обычно наказуемое занятие. Даже если вы не сделали ничего плохого, для судей вам придется подыскать достаточно веское обоснование своим действиям. Самое малое, что может произойти, это заделка прорех в компьютерной безопасности, которые вы использовали для взлома. Более серьезные наказания могут варьироваться от штрафов и вплоть до тюрьмы. Неофициальные наказания могут заключаться в разрушении вашего оборудования и невозможности устроиться на работу, имеющую отношение к технике. Занимаясь своим делом, предусмотрительный хакер преследует две цели: