Денис Ферри - Секреты супер хакера
К методам перебора хакер обычно прибегает в начале и в конце своих попыток взломать систему. В первый раз он делает это, наполовину подчиняясь велению чувства. Как хорошо было бы угадать пароль сразу же, или хотя бы после семидесяти пяти или ста попыток! В случае неудачи хакер некоторое время использует другие, более изощренные способы. Если же ни один из них ни к чему не приводит, он вновь возвращается к перебору, стремясь достичь цели. В конце концов метол перебора обязательно срабатывает. Слово "обязательно" как раз и притягивает хакеров, а уточнение "в конце концов" сводит их с ума.
Эти методы требуют очень много времени, и почти ничего больше. Время уходит на исследования, испытания и ошибки, а также написание специальных программ для "бомбардировки" системы паролями.
Метод перебора - не самый элегантный способ взлома, но так как в конце концов он все же себя оправдывает, каждый хакер рано или поздно прибегает к нему в той или иной ситуации. Вы можете оказаться в такой ситуации, когда вам ничего не известно о пользователях конкретной системы; обычные имена и пароли не срабатывают, а уловки не действуют. В таких случаях вам придется прибегнуть к самому "лобовому" приему: написанию небольшой программки, которая станет периодически вступать в диалог с компьютерной системой и вводить новую комбинацию имя, пароль, до тех пор, пока какая-либо комбинация не сработает. Это может продолжаться бесконечно.
Некоторые хакеры используют словарный файл из своих текстовых процессоров или с информационных панелей. Идея неплоха, но только при правильном использовании. Следует отредактировать словарный файл так, чтобы тот включал в себя общеупотребительные названия, имена, все буквы алфавита, имена музыкантов и президентов, марки машин, числа, псевдонимы знаменитостей и тому подобный материал для наиболее употребительных паролей. Избавьтесь от слов вроде "perspectives" ("перспективы")они слишком вычурны для пароля. Если вы хотите ускорить процесс своей работы, придерживайтесь тех же принципов и в отношении числовых паролей. Если вы живете в Нью-Йорке, следует начать свою атаку с нью-йоркских НКСС.
Существует много способов сократить число потенциальных паролей, которые вам необходимо проверить. Военные используют автоматическую систему TACACS для проверки законности пользования компьютерами их сети. Коды доступа TACACS выглядят как строки, состоящие из буквенно-цифровых символов - но эти строки никогда не содержат цифр 0 и 1, а также букв Q и Z. Основой для такого решения послужила теория о том, что когда пользователь читает свой код доступа на кодовой карте, он легко может спутать единицы, нули, Q и Z с другими цифрами и буквами.
Когда вы отредактируете свой словарь, оставив в нем только те пароли, которые кажутся вам наиболее подходящими, или определите, какие коды наиболее вероятны в данном случае, напишите маленькую программу на любом известном вам языке, чтобы та вступала в диалог с модемом, и раз по разу вводила слова, одно за другим, делая все новые и новые попытки. И еще. И еще... Такую программу нетрудно написать, но если у вас нет подобного опыта, вы можете найти множество похожих программ на BBS.
Вот что следует учитывать при написании программы. Сколько раз компьютерная система позволит вам вводить неверное имя, пароль, пока не отсоединит вас? Три? Восемь? Если она даст вам всего лишь три попытки, а потом распрощается, убедитесь, что ваша программа выдала именно три комбинации имя, пароль, прежде чем снова набрать номер. Дистанционные компьютеры часто принимают введенные символы еще до того, как на экране появляется приглашение. Если так происходит с системой, в которую вы пытаетесь проникнуть, вам необходимо вставить в вашу программу цикл задержки, дабы быть уверенным в том, что пароли не будут введены до того, как на экране возникнет курсор.
Что же произойдет, когда ваша программа наконец сумеет отыскать подходящие имя и пароль? Когда программа работает, а вы сидите за компьютером, глядя на экран, вам надо как-то узнать о том, что метод грубой силы сработал. Иначе ваша программа продолжит выдавать пароли, а системные операторы, которые теперь уже почти наверняка заметили, что происходит, просто придут в ярость! Программа должна выдавать вам на экран приходящий из удаленного компьютера текст. Как только будет получено что-то дополнительное, кроме приглашений о вводе имени, пароля, пусть программа выведет эти данные на экран и подаст звуковой сигнал. Можно сделать и так, что программа введет команду выхода и выведет на экран найденную комбинацию, чтобы, проснувшись утром, вы сразу же увидели ее.
Если вам известно, что некий Joe User (абстрактный пользователь) работает на компанию X, можно создать программу для проверки всех комбинаций паролей с пользовательскими именами Joe, User, JUser и Joe User, исключив такие варианты как joe, JOE и joeuse. (Из ваших экспериментов и исследований вы будете иметь какое-то представление о том, какого формата должно быть имя данного пользователя, так что вам не придется перебирать слишком много вариантов). С другой стороны, если вы не знаете имени и фамилии ни одного из сотрудников компании, вам придется либо узнавать их (т. е. просматривать каталоги компании, ежегодные отчеты, газетные статьи, задавать вопросы по телефону, и т. д., и т. п.), либо подвергнуть проверке каждую комбинацию возможных имен. Если вам придется перебирать все имена, не забудьте о женских и иностранных именах. Можно прогуляться в библиотеку, чтобы выяснить, какие имена и фамилии наиболее популярны. Но не забудьте, что вам нужны не современные популярные имена, а те, что были популярными и распространенными двадцать-тридцать лет назад, когда родители давали их теперешним сотрудникам интересующей вас компании.
Разумеется, для проверки возможных паролей не обязательно писать специальную программу. Если у вас есть в запасе время и терпение, вы можете просто сесть за компьютер и сами вводить имена. Но учтите - это займет куда больше времени, чем нужно компьютеру для взлома с помощью метода перебора.
Должен заметить следующее: независимо от того, насколько тщательно вы подготовились, всегда проходит невероятно много времени, прежде чем метод перебора сработает. Поэтому ввод паролей следует ускорить, насколько возможно. Если вам приходится после каждых трех попыток заново устанавливать автоматическую связь с модемом, сначала убедитесь, что данная телефонная линия не обладает возможностями "Touch Tone".
И еще: прежде чем приступать к атаке с помощью грубой силы, обзаведитесь модемом с самой высокой скоростью передачи, какой вам только удастся найти, даже если для этого придется одолжить его у друзей. Разница всего в несколько бодов значительно увеличивает скорость передачи. отражение атаки
Однажды, когда я был еще подростком, мы всей семьей отправились ужинать в ресторанчик "Попробуйте все". На самом деле я решил принять участие в походе, чтобы выяснить, сколько же я смогу съесть, но к третьему заказу нас начали утомлять удлиняющиеся периоды ожидания при неуклонно уменьшающихся порциях. Мой отец объяснил это следующим образом:
"Видишь ли, они делают так, чтобы ты не смог съесть слишком много. Ждать еды приходится все дольше и дольше, а самой еды становится все меньше и меньше." Не знаю, прав ли он был, но немного погодя мы и вправду решили, что не стоит ждать сорок минут, чтобы получить еще одну тарелку с едой.
Для отражения силовых атак специалисты используют тот же самый принцип, что и вышеупомянутый ресторан. Как я уже говорил, при достаточной настойчивости угадать легальную комбинацию имя-пароль, или открыть ее случайно - всего лишь дело времени. Отсюда следует, что предотвратить успешное завершение такой атаки можно, построив системные приглашения так, чтобы хакер устал и бросил свое дело, не доведя его до конца.
Наиболее распространенный способ зашиты - прерывание связи после нескольких неудачных попыток пользователя войти в систему. После этого компьютер может не давать разрешения на повторную связь в течение определенного промежутка времени. Недостаток этого способа в том, что он может причинить неудобство легальным пользователям - хотя уж лучше подождать несколько минут, чем войти в систему и обнаружить, что твои файлы испортил какой-то кракер.
Впервые услышав о социальной инженерии, большинство людей бывают слегка шокированы. Во всяком случае, я был шокирован. При слове "хакер" люди обычно представляют себе страждущего очкарика, который упорно и неустанно просиживает ночами за своим компьютером, в надежде наконец-то найти то самое единственное слово, которое откроет перед ним все технические секреты вселенной. Именно так и обстояли дела в недавнем прошлом, но потом это стало непрактичным. Конечно, грубые методы, вроде метода угадывания паролей путем перебора, представляют собой определенную ценность - ведь они являются основной частью арсенала любого хорошо экипированного хакера. Но пароль можно получить и другими путями; например, с помощью социальной инженерии.