Секреты супер хакера

Описание различных методов взлома компьютерных систем. Характеристика необходимого оборудования и исследований перед взломом. Методы взлома паролей и контроля над доступом в систему. Понятие "социальной инженерии", хакерство на местности и на дому.

Рубрика Программирование, компьютеры и кибернетика
Вид книга
Язык русский
Дата добавления 20.11.2009
Размер файла 406,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Вот еще одна уловка - обзавестись друзьями из числа сотрудников компании. Позвоните в их офис и потолкуйте с секретаршей или с каким-либо другим лицом, которому всегда известны все слухи. Скажите, что вы из нового журнала, специализирующегося на достижениях в области бизнеса. Попросите сообщить вам имена людей, возглавляющих основные отделы, дабы вы могли послать им бесплатный талон на ознакомительную подписку. Затем поговорите с секретарями начальников этих отделов. Пусть они заполнят анкеты "маркетинговых исследований", возможно, за некоторое вознаграждение - бесплатную подписку, рекламные часы с радио и т. п.

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

Узнавание чьих-то личных пристрастий называется созданием личностного профиля (у хакеров - "парольного профиля"). Эта техника применяется тогда, когда хакер хочет получить информацию о конкретном человеке, чьи компьютеры он собирается взломать. Если вы хотите собрать интересующую вас информацию о главном боссе какой-либо корпорации, вам следует поискать его (или ее) интервью для прессы, узнать, каковы его (или ее) пристрастия, и действовать, исходя из полученной информации.

Одну из популярных уловок упоминает в своей "Настольной книге" хакер Хьюго Корнуолл. Она основана на том факте, что зачастую главному лицу организации программное обеспечение преподносится на блюдечке в уже готовом виде - с введенным паролем, - чтобы, упаси Боже, начальство не перенапрягло мозги. Естественно, такой пароль легко угадать, исходя из личных интересов босса, - ведь пароль-то готовился желающими выслужиться подхалимами именно для него. - Вы говорили, мистер Ларсен любит порыбачить? Так введите в качестве пароля слово "рыба".)

Давайте предположим, что хобби или увлечения избранного вами лица уже известны. Как действовать дальше? Для начала можно пойти в библиотеку и взять там все имеющиеся в наличии книги по данному предмету. Затем создайте банк слов, взятых из словарей и каталогов. Людям нравятся большие и, как им кажется, сложные слова или названия из сферы их обожаемых хобби: им кажется, что эти слова больше никому и в голову не придут. Так, студенты-литературоведы используют в качестве паролей имена вроде "Еврипид"; в целом же студенты тяготеют к мешанине из длинных технических терминов. Создав списки слов, начинайте их пробовать вводить к качестве пароля. Если не одно из них не подойдет, можно переходить к другому типу пароля. Аоктор необязательно придумает пароль "перикард". Жизнь человека многопланова, а профессиональная деятельность составляет лишь одну из ее сторон.

Изучение паролеи

Если вы считаете, что все эти разговоры насчет легко отгадываемых паролей - пустая болтовня, поразмыслите хорошенько. Я потратил немало времени на формальное и неформальное изучение данного предмета, прежде чем выяснил, насколько в действительности безопасны создаваемые пользователями пароли. Вот результат одного из подобных экспериментов. Среди 3829 паролей оказалось: 15 обычных ASCII-символов, 72 двузначных пароля, 464 трехзначных, 477 четырехзначных, 706 пятизначных (все они состояли либо из одних строчных, либо из одних прописных букв) и 605 шестизначных (все из строчных букв).

Вывод: то, что хакеры могут просто сидеть и отгадывать пароли - ФАКТ, а не ФИКЦИЯ. Это не только возможно, но зачастую и нетрудно.

Другой пример того, насколько легко взламываются пароли - "червь", который прополз по всему Интернету в 1988 году, "завалив" большую часть сети. У "червя" было два способа размножения, один из которых базировался на взломе пользовательских паролей. Сначала "червь" пробовал типичные пароли, такие, как имя для входа в систему, имя или фамилию пользователя, и тому подобные варианты. Если ни один из них не подходил, "червь" прибегал к помощи словаря, состоявшего из 432 общеупотребительных паролей. И, наконец, если оба этих метода не срабатывали, "червь" обращался к словарю системы UNIX и пробовал каждое слово, пока не находил верное. Результаты показали, что этот метод работал безупречно. Кстати, если вы окажетесь в системе UNIX, и вам понадобится грубая сила для получения более высокого уровня доступа, системный словарь может здорово помочь. Он находится в поддиректории ",usr.dict,". Файл называется "words". Вы также можете переписать этот файл на дискету или скопировать его на другой компьютер, если вам нужен открытый словарный текст для использования на других машинах.

Одно из достоинств (и недостатков) словаря UNIX заключается в том, что содержащиеся там слова не совсем соответствуют общеупотребительному словарю английского языка. В системном словаре превалируют научные термины, что отвечает целям, ради которых был создан данный словарь.

Ограничения для паролей

Большинство операционных систем создавалось не для сверхсекретных задач. Разумеется, в системах разделенного времени вся секретность заклюючается в основанных на паролях бюджетах. Впрочем, как мы уже заметили, многие пароли крайне легко отгадать.

Ограничения операционной системы UNIX для паролей ограничиваются тем, что пароли должны состоять не менее чем из пяти строчных символов, либо из четырех, при условии, что по крайней мере один из этих символов является прописной буквой или управляющим кодом. Впрочем, если пользователь настаивает на введении более короткого пароля, невзирая на предупреждения о ненадежности, система все же допустит его пароль. Системные операторы знают о том, что большинство паролей не отвечают требованиям секретности. Поэтому многие из них инсталлируют специальные программы, которые запрещают создание слишком "легких" паролей. Пароль должен отвечать определенным требованиям, как то:

а) быть определенной длины;

б) включать в себя как прописные, так и строчные буквы;

в) включать в себя одну и более цифр;

г) включать в себя один нецифровой и неалфавитный символ.

Одно или несколько из этих правил должны соблюдаться. Программа может также протестировать пароль пользователя, применив список известных ей "плохих" паролей, которые не допускаются к использованию. Запрет на однобуквенные или простые буквенные пароли, конечно, создает определенные трудности при отгадывании, но не слишком большие. Однажды я пытался отгадать пароль некоего человека; мне казалось, что его пароль должен быть "рореуе" ("пучеглаз"), поскольку у него была обширная коллекция классических юмористических книг и в основном его интересовал именно этот комикс. Системное программное обеспечение предлагало вводить в качестве пароля смесь из прописных и строчных букв (кстати, это также дает полезную информацию о том, что система отличает строчные буквы от прописных). Я попробовал ввести следующее: Рореуе PoPeYe popeyE PopEye popEYE рорЕуЕореуЕ PopEYE РоРеуе, а затем ввел инверсную форму каждого из этих сочетаний, превращая PopeyE в pOPEYe (на случай, если пользователь считал заглавные буквы нормой для компьютерной клавиатуры, а строчные - исключением). Казалось маловероятным, что этот любитель комиксов придумал нечто из ряда вон выходящее - ввел прописные буквы посреди слова или расставил их бессистемно. (Да и кто из нас, будучи в здравом рассудке, поступит так, если его попросят ввести заглавные буквы в пароль?) В конце концов его пароль оказался "OliveOyl". При первой загрузке пользователя система может попросить его ввести в пароль не заглавные буквы, а числа. И опять же, вряд ли Простой Пользователь станет разбивать слово числами, да и числа введет не длиннее, чем одно-двухзначные. Ведь пользователь обычно рассматривает пароль как слово. И о необходимости включения в него чисел он подумает в последнюю очередь. Таким образом, обычно встречаются пароли следующего вида: пароль#, пар#оль, #пароль. Числа, как правило, берутся легко запоминающиеся, либо те, которые удобно набирать, вроде О или 1. Числа от 1 до 31 встречаются наиболее часто, равно как и числа с повторяющимися цифрами или заканчивающиеся нулями или девятками - 888, 500, 1999 и т. п. Можно ожидать, что автор пароля поставит цифру "1" на место буквы "I" (строчная "L"), если пароль содержит данную букву. Компьютерные фанатики также имеют милую манеру заменять букву "О" нулем, если требуется ввести какую-либо цифру. Если вы подозреваете, что пароль содержит цифры "1 " или "О", вместо букв, то попробуйте набрать вместо "cool" или "computer" следующее: "cOOl" или "cOmputer". пароли, создаваемые компьютером: подделка и анализ паролей, генегигуемых машиной

Многие из паролей, которые создает сам компьютер, порождены не без участия генератора случайных чисел. Взгляните, например, на приведенный ниже отрывок из сегмента воображаемой программы:

5 Randomize Timer

100 For i = 1 to 6

110 Char=lnt(Rnd*91)

120 If Char < 65 Then Goto 110

130 Password = Password + Chr$(Char)

140 Next i

200 Print "Ваш новый пароль: "; Password

В данном случае шесть прописных букв выбираются независимо друг от друга и соединяются, образуя пароль. Буквы выбираются по случайному числу между 65 и 90 - в соответствии с ASCII-кодом для заглавных букв. Случайность выбранных кодов ASCII основана на использовании функции Rnd, возвращающей псевдослучайные числа, базирующиеся на показаниях компьютерного таймера. В принципе, для генерации случайных чисел может быть использовано все, что угодно - главное было бы аппаратное обеспечение. Во всех основных языках программирования имеется встроенная или библиотечная функция, возвращающая псевдослучайное число: либо в интервале от нуля до единицы, как в приведенном выше примере на языке Бейсик, либо в диапазоне, задаваемом программистом.

Впрочем, можно полностью избавиться от фактора случайности, а просто присваивать каждому новому пользователю один и тот же пароль, например - "EVbDCI8". Но это я шучу. Проблема в том, что подобное вряд ли ускользнет от внимания системных администраторов. Более логичный способ - заставить программу генерировать похожий на случайный пароль, основанный на некоторой информации о пользователе, которую можно почерпнуть из легко доступных источников (дата рождения, номер Социальной Безопасности и т. д.). После этого вы просто вставляете эти данные в копию программы на вашем домашнем компьютере и создаете новый пользовательский пароль.

Один неплохой шифровочный алгоритм работает следующим образом: берутся синусы ASCII-кодов первых шести или восьми букв имени пользователя, затем берутся две предпоследние цифры из синусов, изменяются до подходящего размера, и соединяются в соответствующие ASCII-кодам буквы, формируя "слово". Таким образом, вы получаете похожий на случайный пароль, который изготавливается практически вручную. Если имя пользователя состоит менее чем из шести букв, оставшееся место можно заполнить условными символами.

В данном примере имя пользователя превращается в ничего не значащий пароль в соответствии с методом, приведенным в тексте. На первый взгляд получившийся пароль кажется случайным и безопасным, но хакер может его разгадать, прибегнув к общедоступной информации о пользователе (здесь это фамилия пользователя).

Это достаточно простой пример; в жизни вам придется в соответствии с требованиями вводить в пароль строчные и прописные буквы, укорачивать его или удлинять, либо вставлять в пароль цифры, если понадобится. Такое внедрение пароля может оказать вам услугу, если вы занимаетесь системой электронных сообщений или объявлений: пользователям могут так понравиться их новые безопасные пароли (а разве "rueavz" не кажется безопасным паролем?), что они начинают пользоваться ими и в других местах.

Еще одна возможность, также предполагающая, что вы можете изменить генератор паролей незаметно - заменить начальное число генератора случайных чисел постоянной величиной (наберите в начале программы: 5 Randomize 0, тем самым заставив программу производить одни и те же серии случайных чисел при каждом запуске (до тех пор, пока компьютер включен и программа не возвращена в первоначальное состояние). Однако это довольно рискованно, и может привести к нежелательным побочным эффектам. Один из методов устранения недостатков генераторов псевдослучайных чисел был разработан одним из создателей UNIX, Денисом М. Ричи, и издан в 1986 году в информационном бюллетене о средствах защиты под заголовком "On the Security of UNIX" ("О защите в системе UNIX"). Для повышения безопасности вычислительных установок администраторы решили создать безопасные, генерируемые компьютером пароли. Каждый пароль должен был представлять собой восьмизначную строку из строчных букв и цифр. Число таких паролей равняется 2,821,109,900,000. Как сказано у Ричи, у PDP-11,70 уйдет 112 лет на отгадывание этих паролей, перебирая их один за другим. Но один хакер знал, что генератор случайных чисел располагает лишь 32,768 начальными числами, значит, количество возможных результатов сокращается именно до этой величины. Представляете, этот негодяй создал генератор, проверил каждую из этих строк одну за другой и обнаружил все генерируемые системой пароли, потратив на это всего около, одной минуты машинного времени. Действительно, не жалко потратить шестьдесят секунд и немного попрограммировать ради того, чтобы получить доступ во все бюджеты системы!

Если вы не сможете ввести код для машинной генерации паролей, вам, наверно, удастся проанализировать их уже после создания. Для этого вам потребуется как минимум один пароль, а лучше два или более, из созданных системой. Если вы располагаете легальным входом в систему, один пароль у вас уже есть. Если вы взламываете локальную BBS, или еще какую-либо из тех систем, где возможны многочисленные анонимные входы, попробуйте перезагрузиться несколько раз и собрать несколько новых паролей под разными именами. Можно приобрести соответствующее программное обеспечение для работы с BBS или программу генерации паролей и работать с ними, собираяразличные пароли.

Однажды я набрел на "свеженькую" BBS. Поразмыслив, я вошел в качестве нового пользователя и не обнаружил там ничего интересного - программа заводского супервизора для местных агентов, чтобы те могли заказывать товары по описи. Для входа я использовал вымышленные имя и адрес: Roger Eichner, 13 Stem Court, North Coast, WA 64203. Система дала мне пароль oroghner24. Я был изумлен! Ведь программа явно попросту взяла первые три буквы моего имени, последние четыре буквы фамилии и добавила в конце номер! Но так ли это? Я загрузился еще раз, как новый пользователь под другим именем. На этот раз видимой взаимосвязи между паролем и именем, казалось, не было. Теперь я уже не просто изумился, но и смутился! Неужели тот, первый, пароль был просто случайностью? А второй? Может быть, это так запрограммировано, чтобы в качестве паролей только иногда использовались части имени пользователя? ^ Тогда я вошел в третий раз, и опять как новый пользователь. И снова пароль никак не был связан с именем, которое я ввел. Теперь я уже почти окончательно убедил себя в том, что первый пароль был всего лишь невероятным совпадением. Я послал системному оператору сообщение, чтобы тот уничтожил бюджеты тех трех новых пользователей (приложив к посланию их имена с адресами, чтобы он не подумал, что я шучу), и больше не входил в эту систему в течение нескольких недель. Несмотря на то, что последние два пароля никак не были связаны ни с введенными мной личными данными, ни друг с другом, я думал, что, возможно, я что-то пропустил в тот первый раз, и некоторые символы одного пароля повторились в следующем. Могли ли эти символы иметь отношение к скорости передачи моей информации в бодах, к типу компьютера, или какому-то другому параметру, который оставался бы неизменным от одной загрузки к другой? А не могла ли случайность паролей заключаться в том, какие данные программа избирала для создания паролей? В первом случае эти данные были взяты из моего имени, и один из элементов (связь которого с моими данными я не смог распознать) повторился в третьем парол е. Я вновь вошел в систему под тем же именем, адресом, с теми же терминальными характеристиками и т. д., что и в первый раз. К своему огорчению, я получил не созданный компьютером пароль, а следующее сообщение: "Уважаемый пользователь. Мы сожалеем, что вам придется пройти через это еще раз, но за последние несколько дней у нас возникли некоторые проблемы. Я вынужден просить вас удовольствоваться предоставленным вам низким уровнем доступа до тех пор, пока у меня не появится возможность предоставить вам ваши права в полном объеме. Прошу обратить внимание на следующее: в ответ на запрос системы о пароле не вводите тот же самый пароль, который был введен раньше. Создайте новый пароль, полностью отличный от предыдущего. В случае возникновения затруднений обращайтесь за разъяснениями к системному администратору.

StRaPmAsTeR = = = wl1 LIE = = => (системный оператор).

Введите пароль = =>?"

"Разъяснение" гласило, что некий (относительно недавний) пользователь сей BBS, чей псевдоним был Мистер Шутник, ввел в действие "свойство" программного обеспечения данной BBS, создававшее несекретные пароли. В предыдущем году система "вышла из строя, что явилось результатом действий мистера Шутника". Причина или вид поломки подробно не описывались, вероятно, потому, что постоянные пользователи системы уже и так знали эту историю. Как бы то ни было, теперь вы понимаете, каким образом можно получить неплохую информацию, изучая "случайные" пароли. Даже если на первый взгляд вы не можете найти ни одного осмысленного набора символов, это не означает, что его нет вообще. Может присутствовать лишь намек на такой набор, или хотя бы ошибка или странность, которую вам удастся обнаружить.

Например, в первой версии одной программы BBS - настолько жуткой, что через месяц полетела клавиатура - генератор случайных паролей никогда не создавал пароли, в которых присутствовала бы буква А или цифра 0. Знание этой особенности может оказать некоторую услугу: для семизначного пароля типа WXYZ123, где WXYZ - строчные либо прописные буквы, а 123 - цифры, существует только 284,765,630 возможных комбинаций букв и цифр, вместо 456,976,000 - разница в 172,210,630 паролей! Программное обеспечение кишмя кишело ошибками, многие из которых прославились как наихудшие ошибки за всю историю программирования. неслучайные пароли, генерируемые машиной

Под конец давайте обсудим неслучайные машинные пароли. Пользователи часто подключаются к системе еще до окончания оформления регистрации, пользуясь временным паролем. Временный пароль может представлять собой какую-то уже известную пользователю информацию, например, номер карточки социального страхования, дату рождения, либо другие личные данные. Предполагается, что потом пользователи заменяют такие мало секретные пароли на более безопасные, но пока им специально не покажут, как это делается,ли не посоветуют так поступить, пользователи вряд ли произведут замену.

Вот один некомпьютерный пример, наглядно демонстрирующий эту человеческую слабость. В апреле 1992 года студенты университета в Нью-Ажерси получили послание с информацией о новом классе регистрационных процедур. В послании утверждалось, что код персонального доступа (Personal Access Code - РАС), предназначенный для подтверждения личной регистрации, состоит из первых четырех цифр даты рождения данного человека (месяц и день), вводимых вместе с девятой цифрой студенческого номера (а по необходимости - номера Социальной безопасности). В первую очередь меня поразил тот факт, что они сообщили студентам, что их сверхсекретный РАС на самом деле - их день рождения. Такое сообщение сводит на нет все меры по безопасности, которые они пытаются внедрить. Действительно, неужели так уж трудно узнать чью-то дату рождения? Но РАС является только частью пароля, а другая часть - студенческий ID. Узнать чей-то ID - проще простого. ID можно легально, или почти легально, узнать в студенческих оздоровительных центрах, прочесть на досках объявлений в компьютерных залах, в идентификационных картах, в списках имеющих право на общежитие - да где угодно! Послание также гласило, что те, кого беспокоит проблема безопасности, могут подойти в регистрационный офис, чтобы изменить свой РАС. Как вы понимаете, никому и в голову не придет куда-то тащиться и что-то менять, коли можно обойтись и без этого. К тому же, замена первых четырех цифр вряд ли сможет отпугнуть опытного хакера. Чтобы отследить изменение пароля, потребуется 10 000 минус одна попыток. Не говоря уже о тех 366 возможных паролях, которые можно перебрать до того, как эта "озабоченная безопасностью" личность сменит свой код. Десять тысяч чисел - это, разумеется, немало, но перебрать их все вполне возможно. Автоматический номеронабиратель способен проделать это примерно за семь минут, если количество попыток ввода кодов на один звонок будет неограниченным.

В любом случае, я привел эту историю для того, чтобы проиллюстрировать одну истину: пользователь и пальцем не пошевелит, чтобы изменить коды доступа, если его не заставить.

И, даже если они это сделают, мало что изменится. На что же тогда мы, хакеры? Давайте теперь вернемся к нашему разговору о неслучайных паролях, которые генерирует компьютер; вернее, о тех, которые устанавливает программист или администратор, выбирая их из компьютерных файлов данных. Компьютер выбирает пароли каждый раз, когда требуется ввести большое количество паролей сразу. В течение первой недели семестра в колледже для студентов, занимающихся в компьютерных классах, создаются тысячи входов. По большей части эти входы-бюджеты устанавливаются с пользовательским именем, соответствующим усеченной или уменьшительной форме настоящего имени пользователя, а пароли представляют собой либо номер карточки социального страхования (НКСС), либо студенческий ID. Итак, если вы решили подвергнуть взлому компьютерную систему колледжа, приступайте к делу в самом начале семестра - пока пользователи не заменили свои пароли на более секретные. НКСС можно отгадать методом прямого перебора.

НКСС (или другие идентификационные номера) также можно получить социальными методами (см. главу о социальной инженерии), или с помощью других хитростей. Я присутствовал на уроке в одном колледже, когда инструктор раздал всем листки бумаги, попросив студентов написать на них свое имя и идентификационный номер. Затем листочки передавались ассистенту преподавателя, который вводил информацию в компьютер, создавая входы-бюджеты в системе. Если вам случится попасть на подобный урок, постарайтесь сесть на заднюю парту, чтобы никто не мог заметить, как вы копируете личные данные других людей. Имена и НКСС нетрудно увидеть в списках посещающих занятия, в классных расписаниях; они обычно содержат сведения об имени и НКСС каждого учащегося. Если расписание не висит на видном месте, это не означает, что его нет. Придумайте какой-либо способ хотя бы мельком взглянуть на него. Например, скажите, что в прошлый раз ваше имя неправильно записали и вы хотите проверить, исправлено ли оно. Профессора обожают рассуждать о промахах образовательной бюрократической системы. Сыграйте на этой слабости!

После нескольких шумных судебных разбирательств был сделан вывод, что указание номера социальной безопасности в совокупности с именем человека в общедоступных средствах неконституционно, так как является вторжением в частную жизнь. С тех пор НКСС все реже и реже используются для идентификации, уступая место устанавливающемуся организациями ID. В этом случае приходится больше полагаться на метод перебора, чтобы получить доступ к массиву личных идентификационных номеров.

Предварительные пользовательские пароли не всегда представляют собой идентификационные номера. Если между администратором системы и пользователем установлена какая-либо иная связь, кроме компьютерной, в качестве временных паролей могут быть назначены другие слова (они изменяются при подсоединении пользователя к системе). Возможен общий пароль для новых пользователей, который дается всем бюджетам и который обычно нетрудно взломать. Но пароль может оказаться также весьма трудным для отгадывания и безопасным - вроде длинной строки случайных символов. Иногда приходится перехватывать электронную почту нового пользователя в поисках конверта с присвоенным этому пользователю паролем. программы - тоже люди Иногда на компьютерных системах устанавливаются программы, имеющие свои собственные пользовательские имена и пароли, точно такие же, как и у любого другого пользователя системы. Если вы входите в систему под именем этой программы, программа начинает выполняться. Эти программы могут представлять собой руководства по сетям, информационные системы, базы данных, системы сообщений или какие-либо программные приложения. Некоторые системы имеют также входы с простыми командами в качестве пользовательского имени, такими как "time", "date" или "who" (эта команда сообщает о том, кто загрузился в систему). Это позволяет людям выполнять некоторые часто использующиеся функции, минуя хлопотный процесс входа в защищенную систему. Зачастую эти командные входы вообще не имеют паролей, что кажется идиотизмом, поскольку некоторым из них даны права доступа суперпользователя. Не исключено, что вам удастся войти в одну из этих программ-пользователей с помощью комбинации имя, пароль, состоящей из следующих слов:

guest, demo, help, info, tutorial, tut, menu, data, base, intro,

anonymous, database, visit, welcome, hello.

Так, например, "visit" или "visitor" может быть именем пользователя,

a "tut" - паролем. Существует также возможность входа под именами

"calendar", "cal", "sched", "schedule", "who.is", "ftp", "who", "Ipq",

"archiv" и другими схожими именами команд. На многие системы устанавливаются программы общего пользования или даже общедоступные. Доступ можно получить, загрузившись под именем "info", как предложено выше,или другими способами.

Вымышленный университет Вакка Ду может предложить войти в команду под именами: "wdu", "wdu info", "chellowdo", "wdunews", "wdumail", "wel-comewdu", или какой-то иной вариацией аббревиатуры университета.

Если вы избрали этот путь, вас прежде всего следует поздравить с успешным взломом; но что дальше? Если вы заинтересованы в получении более высокого уровня доступа или в выходе из программы, вас ожидает множество трудностей. В следующем разделе предлагаются способы загрузки в обход рамок того или иного уровня доступа.

Методы перебора

Они обычно задают немало работы вашему компьютеру. Они просты, но занимают много времени, и заключаются во введении одного пароля за другим до тех пор, пока наконец, может быть, один из них не сработает, к вашему счастью. Или до тех пор, пока у вас не лопнет терпение, и вы не обратите свои взоры к лучшим методам.

К методам перебора хакер обычно прибегает в начале и в конце своих попыток взломать систему. В первый раз он делает это, наполовину подчиняясь велению чувства. Как хорошо было бы угадать пароль сразу же, или хотя бы после семидесяти пяти или ста попыток! В случае неудачи хакер некоторое время использует другие, более изощренные способы. Если же ни один из них ни к чему не приводит, он вновь возвращается к перебору, стремясь достичь цели. В конце концов метол перебора обязательно срабатывает. Слово "обязательно" как раз и притягивает хакеров, а уточнение "в конце концов" сводит их с ума.

Эти методы требуют очень много времени, и почти ничего больше. Время уходит на исследования, испытания и ошибки, а также написание специальных программ для "бомбардировки" системы паролями.

Метод перебора - не самый элегантный способ взлома, но так как в конце концов он все же себя оправдывает, каждый хакер рано или поздно прибегает к нему в той или иной ситуации. Вы можете оказаться в такой ситуации, когда вам ничего не известно о пользователях конкретной системы; обычные имена и пароли не срабатывают, а уловки не действуют. В таких случаях вам придется прибегнуть к самому "лобовому" приему: написанию небольшой программки, которая станет периодически вступать в диалог с компьютерной системой и вводить новую комбинацию имя, пароль, до тех пор, пока какая-либо комбинация не сработает. Это может продолжаться бесконечно.

Некоторые хакеры используют словарный файл из своих текстовых процессоров или с информационных панелей. Идея неплоха, но только при правильном использовании. Следует отредактировать словарный файл так, чтобы тот включал в себя общеупотребительные названия, имена, все буквы алфавита, имена музыкантов и президентов, марки машин, числа, псевдонимы знаменитостей и тому подобный материал для наиболее употребительных паролей. Избавьтесь от слов вроде "perspectives" ("перспективы")- они слишком вычурны для пароля. Если вы хотите ускорить процесс своей работы, придерживайтесь тех же принципов и в отношении числовых паролей. Если вы живете в Нью-Йорке, следует начать свою атаку с нью-йоркских НКСС.

Существует много способов сократить число потенциальных паролей, которые вам необходимо проверить. Военные используют автоматическую систему TACACS для проверки законности пользования компьютерами их сети. Коды доступа TACACS выглядят как строки, состоящие из буквенно-цифровых символов - но эти строки никогда не содержат цифр О и 1, а также букв Q и Z. Основой для такого решения послужила теория о том, что когда пользователь читает свой код доступа на кодовой карте, он легко может спутать единицы, нули, Q и Z с другими цифрами и буквами.

Когда вы отредактируете свой словарь, оставив в нем только те пароли, которые кажутся вам наиболее подходящими, или определите, какие коды наиболее вероятны в данном случае, напишите маленькую программу на любом известном вам языке, чтобы та вступала в диалог с модемом, и раз по разу вводила слова, одно за другим, делая все новые и новые попытки. И еще. И еще... Такую программу нетрудно написать, но если у вас нет подобного опыта, вы можете найти множество похожих программ на BBS.

Вот что следует учитывать при написании программы. Сколько раз компьютерная система позволит вам вводить неверное имя, пароль, пока не отсоединит вас? Три? Восемь? Если она даст вам всего лишь три попытки, а потом распрощается, убедитесь, что ваша программа выдала именно три комбинации имя, пароль, прежде чем снова набрать номер. Дистанционные компьютеры часто принимают введенные символы еще до того, как на экране появляется приглашение. Если так происходит с системой, в которую вы пытаетесь проникнуть, вам необходимо вставить в вашу программу цикл задержки, дабы быть уверенным в том, что пароли не будут введены до того, как на экране возникнет курсор.

Что же произойдет, когда ваша программа наконец сумеет отыскать подходящие имя и пароль? Когда программа работает, а вы сидите за компьютером, глядя на экран, вам надо как-то узнать о том, что метод грубой силы сработал. Иначе ваша программа продолжит выдавать пароли, а системные операторы, которые теперь уже почти наверняка заметили, что происходит, просто придут в ярость! Программа должна выдавать вам на экран приходящий из удаленного компьютера текст. Как только будет получено что-то дополнительное, кроме приглашений о вводе имени, пароля, пусть программа выведет эти данные на экран и подаст звуковой сигнал. Можно сделать и так, что программа введет команду выхода и выведет на экран найденную комбинацию, чтобы, проснувшись утром, вы сразу же увидели ее.

Если вам известно, что некий Joe User (абстрактный пользователь) работает на компанию X, можно создать программу для проверки всех комбинаций паролей с пользовательскими именами Joe, User, JUser и Joe User, исключив такие варианты как joe, JOE и joeuse. (Из ваших экспериментов и исследований вы будете иметь какое-то представление о том, какого формата должно быть имя данного пользователя, так что вам не придется перебирать слишком много вариантов). С другой стороны, если вы не знаете имени и фамилии ни одного из сотрудников компании, вам придется либо узнавать их (т. е. просматривать каталоги компании, ежегодные отчеты, газетные статьи, задавать вопросы по телефону, и т. д., и т. п.), либо подвергнуть проверке каждую комбинацию возможных имен. Если вам придется перебирать все имена, не забудьте о женских и иностранных именах. Можно прогуляться в библиотеку, чтобы выяснить, какие имена и фамилии наиболее популярны. Но не забудьте, что вам нужны не современные популярные имена, а те, что были популярными и распространенными двадцать-тридцать лет назад, когда родители давали их теперешним сотрудникам интересующей вас компании.

Разумеется, для проверки возможных паролей не обязательно писать специальную программу. Если у вас есть в запасе время и терпение, вы можете просто сесть за компьютер и сами вводить имена. Но учтите - это займет куда больше времени, чем нужно компьютеру для взлома с помощью метода перебора.

Должен заметить следующее: независимо от того, насколько тщательно вы подготовились, всегда проходит невероятно много времени, прежде чем метод перебора сработает. Поэтому ввод паролей следует ускорить, насколько возможно. Если вам приходится после каждых трех попыток заново устанавливать автоматическую связь с модемом, сначала убедитесь, что данная телефонная линия не обладает возможностями "Touch Tone".

И еще: прежде чем приступать к атаке с помощью грубой силы, обзаведитесь модемом с самой высокой скоростью передачи, какой вам только удастся найти, даже если для этого придется одолжить его у друзей. Разница всего в несколько бодов значительно увеличивает скорость передачи. отражение атаки.

Однажды, когда я был еще подростком, мы всей семьей отправились ужинать в ресторанчик "Попробуйте все". На самом деле я решил принять участие в походе, чтобы выяснить, сколько же я смогу съесть, но к третьему заказу нас начали утомлять удлиняющиеся периоды ожидания при неуклонно уменьшающихся порциях. Мой отец объяснил это следующим образом: "Видишь ли, они делают так, чтобы ты не смог съесть слишком много. Ждать еды приходится все дольше и дольше, а самой еды становится все меньше и меньше." Не знаю, прав ли он был, но немного погодя мы и вправду решили, что не стоит ждать сорок минут, чтобы получить еще одну тарелку с едой.

Для отражения силовых атак специалисты используют тот же самый принцип, что и вышеупомянутый ресторан. Как я уже говорил, при достаточной настойчивости угадать легальную комбинацию имя-пароль, или открыть ее случайно - всего лишь дело времени. Отсюда следует, что предотвратить успешное завершение такой атаки можно, построив системные приглашения так, чтобы хакер устал и бросил свое дело, не доведя его до конца. Наиболее распространенный способ защиты - прерывание связи после нескольких неудачных попыток пользователя войти в систему. После этого компьютер может не давать разрешения на повторную связь в течение определенного промежутка времени. Недостаток этого способа в том, что он может причинить неудобство легальным пользователям - хотя уж лучше подождать несколько минут, чем войти в систему и обнаружить, что твои файлы испортил какой-то кракер.

Впервые услышав о социальной инженерии, большинство людей бывают слегка шокированы. Во всяком случае, я был шокирован. При слове "хакер" люди обычно представляют себе страждущего очкарика, который упорно и неустанно просиживает ночами за своим компьютером, в надежде наконец-то найти то самое единственное слово, которое откроет перед ним все технические секреты вселенной. Именно так и обстояли дела в недавнем прошлом, но потом это стало непрактичным. Конечно, грубые методы, вроде метода угадывания паролей путем перебора, представляют собой определенную ценность - ведь они являются основной частью арсенала любого хорошо экипированного хакера. Но пароль можно получить и другими путями; например, с помощью социальной инженерии.

"Социальная инженерия" - это попытка выведать у легального пользователя системы информацию, необходимую для прохождения защитного барьера данной системы. Этот метод еще называют "заболтать оператора". Социальная инженерия (СИ) может принимать различные формы и обличья. Здесь я приведу некоторые из них. Как вам вскоре станет ясно, для каждого способа существует уйма хитрых уловок и приемов. Некоторые приемы я подвергну рассмотрению, остальные можете додумывать самостоятельно.

Благородный метод

Хакеры, которым совесть не позволяет вызнавать пароли с помощью хитростей, все же могут безболезненно прибегать к одному из методов социальной инженерии - вежливо просить: "Ну, пожалуйста..." Лично до меня ни разу не доходила достоверная информация о том, что этот метод сработал, хотя поговаривают о хакерах, которым якобы удавалось узнать пароли, просто попросив об этом системных пользователей. По слухам, в подобных случаях системный оператор обычно получает по телефону или по электронной почте сообщение типа: "Я - хакер. Дайте мне пароль для нижнего уровня доступа, и я постараюсь использовать все свое мастерство, чтобы указать вам на недостатки вашей системы. Тогда вы сможете их исправить и уже не бояться злоумышленников - кракеров".

Другая разновидность этого метода - позвонить кому-нибудь (кому угодно, хотя бы той же секретарше в офисе), и просто спросить: - Ой, а что вы набираете по утрам на компьютере, прежде чем приступить к работе? Может ли это сработать? Что ж, вам потребуется определенная доля везения, чтобы напасть на такого (или такую), кто сыт по горло собственной работой и не особо осведомлен насчет правил безопасности. Минусы этого приема заключаются в том, что обман не всегда удается, а неудача может в дальнейшем осложнить вашу задачу. Лучше призвать на помощь свою актерскую жилку и попробовать разыграть по телефону роль кретина.

Хакер в роли неофита

В данном случае вы играете роль нового пользователя. Допустим, вы пытаетесь проникнуть в компьютерную систему какой-либо компании. На часах 8.55 утра. Вы звоните в их компьютерный отдел (из дома, или откуда-нибудь еще) и беседуете с неким сотрудником, представившись ему новым пользователем из другого отдела той же компании.

ЧЕЛОВЕК НА ДРУГОМ KOHЦE ПРОВОДА: Хэлло; компьютерный отдел, Ажек Чиппер у телефона.

ВЫ: Хэлло, Ажек, это Гари Харрис из отдела исследований. Не могли бы вы помочь мне с одной проблемой?

ДЖЕК: Не исключено... А в чем дело?

ВЫ: Ну, я здесь пока один, и никак не могу начать работу. Может, подскажете, что надо сделать?

ДЖЕК: Разумеется. Компьютер перед вами? ВЫ: Да.

ДЖЕК: 0'кей. Включите красный тумблер на полу. Видите его?

ВЫ: Аа, о'кей. Я вижу... 0'кей.

ДЖЕК: На загрузку уйдет несколько минут.

ВЫ: На что?

ДЖЕК: Ну, на загрузку. Я имею в виду, через одну-две минуты компьютер будет готов к работе.

ВЫ: Остановилось. ДЖЕК: Что вы видите?

ВЫ: То же, что и всегда. Он и раньше все время доходил до этого места, а потом переставал работать. Что мне делать дальше?

ДЖЕК: А что вы обычно набираете?

ВЫ: Не знаю. Я здесь первый день, к тому же временно. Мне сказали, что кто-нибудь все мне объяснит!

ДЖЕК: Хорошо. Нажмите на "ВВОД". ВЫ: "ВВОД"... Хорошо... Есть. ДЖЕК:

Теперь наберите "TEMP", пробел, "PUPPY" ВЫ: Хорошо... Ну, вот! ДЖЕК: Получилось?

ВЫ: Спасибо, Джек! И почему это у меня раньше не выходило!

Теперь давайте коротко обсудим вышеприведенный разговор. Приветствуйте своего собеседника в тех же выражениях, что употребил он сам. Это делается для того, чтобы компьютерщику было удобнее разговаривать с вами, а также, чтобы он понял, что вы не боитесь открыто сказать ему (или ей), как вас зовут и какую работу выполняете в компании. Если собеседник представится вам имяреком из компьютерного отдела, сообщите ему, что вы - из исследовательского отдела. Если у вас нет справочника компании, с которым можно свериться, вы не можете точно знать, какой термин употребляют сотрудники для названия своих отделений. Таким образом, лучше всего копировать термины того, кто находится на другом конце провода. Даже если вы сами скорее употребили бы термин "подразделение" вместо "отдел", тот факт, что вы говорите на языке компании, заставит сотрудника компании отнестись к вам как к себе подобному. Просьба о помощи в том, что касается компьютеров, пробуждает в техниках чувство компьютерного благодушия. Добавьте также, что вам очень любопытно, что же могло случиться с его, компьютерщика, подопечной системой. Выражение "не могли бы вы" вызовет в нем некоторое раздражение - неужели вам неизвестно, как круто он умеет обращаться с компьютерами. Да он просто наизнанку вывернется, лишь бы показать вам все, на что он способен. Грамотным пользователям нравится демонстрировать свое умение (так же, как и вам, не так ли?), особенно техникам, чья работа как раз и заключается в том, чтобы помогать неосведомленным нормально работать. Не забудьте употребить слово "проблема". Компьютерщики обожают решать проблемы. Стоит намекнуть, что проблемы возникли именно с его системой, и такой тип просто ума лишится: только успевай записывать пароли, которые из него посыпаются!

Помните, в начале я упомянул о времени разговора - 8.55? Не всегда удается позвонить до начала рабочего дня, но имеет смысл постараться сделать именно так. Это даст вам вескую причину для обращения к технику: ведь вы могли прийти на работу первым, и вам не у кого больше спросить. Но техники редко приходят на работу раньше всех, и такая уловка не всегда срабатывает. Следовательно, вы можете позвонить в конце рабочего дня. Тогда можно сказать, что все остальные в офисе уже выключили свои компьютеры и отправились по домам, а вот вы никак не можете закончить работу. Когда вы уже заставили собеседника почувствовать себя суперменом, можете смело приступать к сути проблемы, соблюдая все же определенную осторожность, дабы ваши неловкие замечания насчет процедур ввода не спугнули жертву. Ведь когда вы устанавливаете связь с компьютерной системой из дома, все происходит совсем не так, как если бы вы обращались непосредственно к системе. Лучше всего избегать основных вопросов, обрисовав собеседнику суть возникших у вас затруднений. Вопрос "Не могли бы вы объяснить мне, в чем дело" относится к тому, что техник автоматически проделывает каждый день. Вместе с тем, важно попросить собеседника сделать что-то специфическое (например, попросить его рассказать о процедурах установки?), но не настолько специфическое, чтобы оказаться в его глазах подозрительно осведомленным. К примеру, если вы скажете просто: "Не могли бы вы мне помочь?", он может решить заглянуть в ваш офис, чтобы выручить вас. Так как на самом деле в офисе вас нет, ваш собеседник, само собой, выйдет из игры - к вашему огорчению. Вы должны мысленно представлять себе все те действия, которые вас попросят проделать, поскольку в офисе вас нет. Неплохо иметь под рукой настоящий компьютер, чтобы ваш собеседник (или собеседница) могли услышать, как вы включаете его и что-то набираете на клавиатуре.

ДЖЕК: На загрузку уйдет несколько минут. ВЫ: На что?

Ваш вопрос показывает вашу полную безграмотность в отношении компьютеров. Но не следует перегибать палку, пытаясь доказать, что последние тридцать лет вы провели в пещере. Вопрос вроде "А что такое клавиатура?" может вызвать недоверие, но никак не сочувствие к вашей наивности. Не забудьте, что вы ведете беседу с определенной целью - выведать у собеседника информацию, поэтому постарайтесь не упустить нужный момент. Фраза "Остановилось" поколеблет уверенность техника в нормальной работе компьютера. Но прежде всего это поможет вам контролировать беседу, подводя ее к логическому завершению.

ДЖЕК: А что вы обычно набираете?

На этот вопрос можно дать ответ "Набираю свой пароль...", но так недолго и ошибиться. Что, если компьютер, о котором идет речь, подключен только к локальной сети, и защищен не через пароль, а как-то по-другому? Вдруг речь идет всего лишь о приглашении DOS? В таком случае полезно изобразить из себя новичка. Обычно это неплохо срабатывает, разве что всем известно, что компания проводит массовые увольнения сотрудников или близка к банкротству.

Сообщение, что вы работаете временно, может пойти вам на пользу, а ожет и нет. Временные сотрудники обычно встречаются с местным супервизором, которому сдают отчеты и задают вопросы. Впрочем, техник может об этом и не знать; в любом случае, нетрудно сказать, что супервизор посоветовал вам обращаться за разъяснениями в компьютерный отдел.

ДЖЕК: Хорошо. Нажмите на "ВВОД.

ВЫ: "ВВОД"... Хорошо... Есть.

ДЖЕК: Теперь наберите "TEMP", пробел, "PUPPY"

ВЫ: Хорошо... Ну, вот!

Ваше "Хорошо" показывает, что вы уже миллион раз проделывали то же самое, но все зря.

Горячо поблагодарите техника за помощь, еще раз дайте ему убедиться в том, что вы хотя и новичок, но все же полноправный сотрудник компании (сказав, что вы не знаете, почему у вас ничего не получалось).

Я привел этот пример, основываясь на сотнях разговоров, которые ведут с компьютерщиками настоящие пользователи, сталкиваясь с подобными проблемами. Меня самого пользователи не раз спрашивали, как произвести какие-то действия, никак не получавшиеся у них самих. Обычно все налаживается после перезагрузки. Как правило, после этого пользователь брюзжит: "Но я же делал то же самое! И ничего не работало!" Не говорите так с вашим техником, дабы не оставить о себе дурного впечатления - этот человек может вам еще пригодиться.

Вот еще один пример того, как хакер может сыграть роль полного простофили в области компьютеров, получив при этом нужную информацию. Когда в офисе инсталлируется новая компьютерная система, рядом с терминалами часто приклеивают телефонные номера технического отдела компании, чтобы пользователи могли связаться с техническим отделом компании и посоветоваться об обнаруженных недоделках в системе. Карточка (или просто бумажка с телефонным номером) может также быть приклеена к стене, специально отведенной для важных сообщений, или спрятана за столом клерка либо под его стойкой. Постарайтесь вывернуть шею и прочесть, что там написано (или попросите кого-нибудь, не обязательно же делать все тайком!).

Допустим, занимаясь неким отделом страховой компании, вы решили позвонить некоему компьютерщику Фрэнку Смиту. Наберите номер и произнесите следующее: "Привет, это Лорин из страховой компании (...) .У нас тут начала твориться какая-то ерунда с компьютерами, мне пришлось их выключить, и теперь я не знаю, что делать...". И вам все расскажут.

Хождение во власть

Если у вас не та ситуация, чтобы заставить техника почувствовать себя Господом Богом, возможно, настало время вам самим превращаться в божество. В военных структурах, разыграв роль офицера высокого ранга, можно вселить страх в сердце любого из тех, кто рангом пониже. Наберите номер и сообщите, что вы либо сам генерал, либо его личный секретарь. Вы оба (генерал и секретарь, или наоборот) просто вне себя от ярости, оттого что ваш компьютер не работает как следует. Вам необходимо знать, почему в компьютере отсутствует ваш пароль и бюджет. Не следует жаловаться или что-то объяснять - просто гневно настаивайте. И результаты не заставят себя ждать. В компании иногда полезно представиться генеральным директором или президентом, либо секретарем одного из вышеозначенных лиц, особенно если глава данной организации славится своим вспыльчивым характером. Никому не хочется, чтобы его уволили или понизили в должности. Гневный тон полезен потому, что человек, снявший трубку, сделает все, лишь бы только избавиться от вас. Впрочем, президентам, начальникам, военным чинам и т. д. необязательно гневаться. Просто сообщите имя того, за кого вы там себя захотите выдать, и вам поверят (кто же осмелится выдавать себя за генерала Такого-то?). Но если вы разыгрываете из себя большую шишку и при этом не гневаетесь, не забудьте произвести предварительные исследования, дабы знать, что представляет собой этот босс. Вотпример такого диалога:

ЧЕЛОВЕК НА ДРУГОМ KOHЦE ПРОВОДА: Добрый де...

ВЫ: "Говорит генерал Фроббс. Ваша бесцеремонность меня просто потрясает! Я отсутствовал в течение двух дней, а вернувшись, обнаружил, чтоменя нет в компьютере! Кто у вас отвечает за эти компьютеры? Что за наглость! Я настаиваю, чтобы мой бюджет был восстановлен! У меня там многоважнейших документов!"

СОБЕСЕДНИК: А вы пробовали набрать "GROUP.1 ", "SEC"? Это должно сработать.

ВЫ: К черту эти групповые коды! Верните мне мой личный бюджет! Что за наглость!

СОБЕСЕДНИК: К сожалению, я не смогу помочь вам с вашими личными кодами. Может быть, мне найти кого-нибудь, кто сумеет помочь вам?

Заметьте, в данном примере вам удается добыть комбинацию имя,пароль, которое дает вам хоть какое-то право доступа. Даже если ваш собеседник и не подумает искать генеральский пароль, у вас в руках уже есть доступ к системе, и не один, а несколько. Ведь если существует GROUP.1, то существует и GROUP.2, верно?

Хакер в роли ПОМОЩНИКА

Этот вид разыгрывания роли подобен обратной социальной инженерии без диверсий. Вы делаете вид, что с компьютерами данной организации что-то случилось, а вы - техник, которого вызвали, чтобы устранить неполадку.

Допустим, вы хотите проникнуть в компьютеры, расположенные в офисе мэрии. Вы звоните секретарю мэра и сообщаете ей что-то вроде:

- Здравствуйте, это Джейк МакКоннел из отдела компьютерного обслуживания. Мы хотели бы знать, нет ли у вас проблем с компьютерной системой?

Естественно, хоть какие-то проблемы подобного рода у нее были - с компьютерами вечно возникают какие-то проблемы!

- Ну да! - отвечает секретарь. - Сначала случилось вот так, а потом вот эдак...

- Именно! - говорите вы. - Вот это оно самое и есть! Вашей вины здесь нет - что-то произошло с компьютерами, и сейчас мы пытаемся установить причину неполадки. Когда вы включаете компьютер, что вы набираете на клавиатуре перед тем, как начать работу? Один из наших вчера пытался разобраться, что случилось, и решил, что, по-видимому, все дело именно в этом. Секретарь ничего не заподозрит - в конце концов, ведь вы же назвали свое имя. А если и нет, что плохого в том, что она скажет по телефону пароль?


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.