Андрей Смирнов
Время чтения: ~7 мин.
Просмотров: 2

Как поставить пароль на браузер Google Chrome

Подбираем пароли с помощью Google Chrome

Информационная безопасностьJavaScriptGreaseMonkeyGoogle ChromeРасширения для браузеров

Согласно многочисленным исследованиям в области компьютерной безопасности, в ТОП-3 уязвимостей информационных систем входит подбор пароля.

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

В случае, если мы имеем какой-либо портал, где пользователи – это люди, то бОльшую часть уязвимых слабых паролей можно отнести к одной из 4 групп:

  1. Пароли, входящие в топ самых популярных фраз (такие как «123456», «password», и т.п.).
  2. Пароли, представляющие собой сочетание клавиш – так называемые keyboard-walks пароли (например, «qwerty», «qazwsx», и т.п.).
  3. Пароли – искажённые логины («user123», «user321», и т.п.).

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

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

  1. По данным сервиса haveibeenpwned.com, на сегодняшний день масштаб всеобщих утечек подбирается к цифре 5 миллиардов (вспомните myspace, linkedin, adobe и т.п). На основе части данных утечек можно выделить топ-1000 наиболее распространенных паролей. Например, так:cat antipublic/ exploitin/ | sed -rn ‘s/[^:]+:(.)/1/p’ | sort | uniq -c | sort -n -r | head 1000 > top1000.txt*
  2. Чуть больше года назад от создателя инструмента hashcat появилась замечательная утилита kwprocessor. С помощью нее можно сгенерировать все возможные сочетания клавиш под любую раскладку клавиатуры:kwp basechars/tiny.base keymaps/en.keymap routes/2-to-10-max-3-direction-changes.route | len.bin 6 100 > keywalks.txt
  3. Получение достаточно большого количества искажений для некоторого имени пользователя проще всего сделать при помощи набора правил утилиты hashcat:hashcat -r /usr/share/hashcat/rules/leetspeak.rule logins.txt —stdout > login_mutations.txt
  4. Аналогично первому пункту списка, можно взять за основу словаря масштабные утечки русскоязычных ресурсов.

Собранные наборы паролей в дальнейшем могут быть «скормлены» таким утилитам как hydra, medusa, ncrack или patator, в зависимости от тестируемого сервиса.

В случае, если аутентификация реализована через web, а именно через http-формы (то есть не http-basic/digest аутентификация), то удобнее всего воспользоваться функционалом intruder от burp suite free (Рисунок 1).

ilb31qyffoxy5xzxg9-xmcixuji.png

Рисунок 1 — Bruteforce-атака подручными средствами

В случае с burp нужно внимательно следить за размером ответа: изменение размера ответа можешь означать, что логин или пароль присутствует в системе.

Также при bruteforce-атаках на web возможны сложности (и речь даже не про captcha):

  • Во-первых, при каждой отправке формы может использоваться токен. И после каждой неудачной попытки он может меняться.
  • Во-вторых, нет точного образца ответа сервера в случае, если пароль угадан. Более того, возможны ситуации, когда ответ на правильные и неправильные учётные данные будет идентичен, а в ответе будет просто идти редирект через заголовок Location, где уже в дальнейшем будет ясно об успешности попытки входа.
  • В-третьих, некоторые веб-сервисы при аутентификации не отправляют введённые учётные данные, как они были введены, открытым текстом. Речь про случаи, когда используется client-side хэширования, причем сами хэш-функции могут быть уникальными (не md5, sha-x и т.п.).

Впрочем, для этих сложностей можно предложить решения:

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

Реализовать это можно с помощью расширения для браузера greasemonkey и собственного javascript-кода, который будет жёстко заточен под разметку данной html-страницы. Но писать каждый раз js-код для каждой новой страницы неудобно. Удобнее всего было бы иметь всё это в виде отдельного расширения, в данном случае – для Google Chrome.

Всё, что потребуется, чтобы воспользоваться www_brute – это открыть какой-либо интересующий сайт и нажать на иконку расширения. Если всё сделано правильно, то появится примерно следующее (Рисунок 2).

89ckhfqhhsesrnf8r7-sctzu_yg.pngРисунок 2 — Добавление новой цели

  • Выбор полей ввода данных — кнопка со стрелкой.
  • Выбор данных для ввода — следующая кнопка.

Перед выбором полей для ввода логина и пароля на странице сайта с формой, которую предстоит атаковать, будет внедрён скрипт, который последовательно отловит три нажатия на элементы страницы. Этими элементами должны быть поле username, password и кнопка отправки формы. Перечисленные элементы должны быть выбраны именно в данной последовательности (Рисунок 3).

jm-fp_znawmzsu-a9rdmfrfgjm4.pngРисунок 3 — Выбор полей для ввода

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

Тут очень важно отметить, что элементы ввода запоминаются по html-атрибутам и их значениям. Поэтому, если после отправки формы сайт «нарисует» другую форму, то при следующей попытке подбора поле ввода не будет найдено. Хотя логика поиска полей ввода допускает не полное соответствие атрибутов, всё же данную настройку лучше производить уже после хотя бы одной неудачной отправки учётных данных. Пример – facebook.com (Рисунки 4 и 5).

2poild7ioos3gb751ucz8hoxbvw.pngРисунок 4 — Форма до первой попытки входа

ft2ixhhkswkbebhxpa1s-jrryp0.pngРисунок 5 — Форма после первой попытки входа

Словари поддерживаются для имен пользователей, паролей и фиксированных пар логин: пароль (combo) (Рисунок 6).

vcoazn62awzbx_suh-rsgwmjany.pngРисунок 6 — Словари для bruteforce-атаки

Поскольку combo-словари используются для дефолтных учётных записей либо утечек, то вначале будут выбраны именно они. Затем будет выполнен полный перебор всех сочетаний имён пользователей и логинов. Причём будет выполнен перебор по каждому паролю всех логинов – для минимизации возможных блокировок пользователей при неудачных попытках. Итого общее количество попыток можно будет вычислить по формуле:

length(combo) + length(passwords) * length(users)

По окончании всех настроек можно начинать:

scf_tre41wfvmu59cgol8vnzim4.pngРисунок 7 — Bruteforce-атака в действии

  • не кончится словарь;

ewuexjw9u1xjjy4k24vhee37qry.pngРисунок 8 — Процесс bruteforce-атаки на множество целей

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

Перебор пароля можно легко «распараллелить». Для этого достаточно просто открыть ещё одну или несколько вкладок на том же домене.

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

Конечно данный способ никак не обходит такую вещь, как captcha, так что брутфорс таких вещей, как gmail.com и им подобных, продлится не долго. Однако в сочетании с proxy/vpn можно что-нибудь придумать…

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

Плагин для chrome, а так же словарь для топ-1000 паролей доступен на тут и в webstore.

Как создать пароль правильно?

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

При грамотном взломе, хакер или любой другой злоумышленник не занимается подбором пароля к вашему аккаунту. Существуют и другие, более интересные и быстрые способы кражи аккаунта.

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

Просто какое-то английское слово, например root,flowers и другие. Далее берете дату рождения вашу и месяц, например вы родились 1 января 1980 года. Следовательно дата будет 01.01.1980.

Для создания надежного пароля из данных последовательностей, достаточно запомнить что-то по типу 0101root, или 011980flowers, и другие. Придумайте сами для себя последовательность таких паролей.

Поверьте нам на слово, такие пароли очень трудно подбирать и этим никто заниматься не будет. А вот запомнить их Вам будет очень легко!

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

Мы рекомендуем завести для себя лично блокнот, куда вы будете записывать различные пароли от интернет-ресурсов. Туда можно записывать различные контрольные вопросы/ответы, и другие данные от аккаунтов. Это правда удобно!

Почему Важно делать их разными?

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

Один пароль ко всем веб-сервисам это конечно удобно, но опасно. Его могут ведь своровать не только администраторы сайтов, на которых Вы зарегистрированы, но и хакеры.

Зная его, не составляет труда узнать личную информацию, получить какие-либо секретные данные и документы.

Получив доступ к Вашему почтовому ящику, можно изменить или восстановить пароли с других ресурсов. Или вести переписку от Вашего имени. Поэтому я рекомендую Вам отнестись к этому вопросу серьезно. Кроме создания, советую менять его периодически или если возможно, то подключить sms подтверждение входа в учетную запись. Например, как это реализовано вконтакте. Тем более, это бесплатно ?

Используемые источники:

  • https://m.habr.com/ru/post/346284/
  • https://hrom5.ru/parol-dlja-akkaunta-gugl-primery/

Рейтинг автора
5
Материал подготовил
Максим Иванов
Наш эксперт
Написано статей
129
Ссылка на основную публикацию
Похожие публикации