📖 Территориально-лингвистические особенности создания словаря паролей для Bruteforce

На текущий момент пароли остаются самыми популярным методом аутентификации. Атака перебора паролей по словарю также стара как мир и существует множество механизмов защиты от подобного вида атак. Однако возможны ситуации, когда брутфорс (bruteforce) весьма эффективен. Словарей  паролей для брута можно найти огромное количество на просторах Интернета. Однако в них в большинстве случаев в них будут англоязычные слова, редко применяемые в России, например названия городов США, баскетбольных команд, американских имен и т.д.

Для успешной атаки нам необходимо учитывать территориально-лингвистические особенности использования паролей. Предположим, что мы провели разведку по открытым источникам и нашли резюме системного администратора компании ООО “Ромашка” Владимира Ягодичкина из города Томск, в дальнейшем изучив его страницу в соц. сети соберем небольшой словарь исходя из полученной информации. Очень часто пользователями задают пароли по названиям хобби, любимых животных, футбольных команд, городов, имен  т.д. Анализируя фотографии, аудиозаписи, публикации, а также членство в сообществах мы выяснили информацию о объекте исследования и теперь формализуем ее в заготовки для будущей базы паролей:

  1. Имя – Владимир -> Vladimir, Volodya, Vovka. Vova.Vovchik, Vov4ik
  2. Живет в городе Томск -> Tomsk, компания ООО “Ромашка” -> Romashka, LLCRomashka
  3. Его жену зовут  зовут Лариса – Larisa,  детей – Игорь и Глеб -> Igor,igorek, Gleb ,Glebushka собаку зовут Шерри -> Sherry, Sher, Sherra
  4.  Объект подписан на фан клуб любителей автомобилей Lada -> Lada, Vaz, Sedan, Vesta, Largus, Granta
  5.  Судя по публикациям, болеет за ФК Локомотив -> FCLokomotiv, Lokomotiv, Paravoz, Loko, Syomin, Smolov, Barinov, Miranchuk, Gilerme
  6.  Политические взгяды объекта исследования указаны как коммунистические -> Lenin, Stalin, Marks, USSR, Сommunism, KPRF,KPSS, KGB, Zyuganov

В результате из полученных данных составляем список:

Vladimir

Volodya

Vovka

Vova

Vovchik

Vov4ik

Tomsk

Romashka

LLCRomashka

Larisa

Igor

igorek

Gleb

Glebushka

Sherry

Shery

Sherka

Shera

Lada

Vaz

Sedan

Vesta

Largus

Granta

FCLokomotiv

Lokomotiv

Paravoz

Loko

Syomin

Smolov

Barinov

Miranchuk

Gilerme

Lenin

Stalin

Marks

USSR

Сommunism

KPRF

KPSS

KGB

Zyuganov

 

Учитывая тот факт, что пароли могут задаваться “русскими буквами в английской расскладке” дублируем уже составленный список на основе указанного критерия:

 

Dkflbvbh

Djkjlz

Djdrf

Djdf

Djdxbr

Djd4br

Njvcr

Hjvfirf

JJJHjvfirf

Kfhbcf

Bujh

bujhtr

Ukt,

Ukt,eirf

Ithhb

Iths

Ithrf

Ithf

Kflf

Dfp

Ctlfy

Dtcnf

Kfhuec

Uhfynf

ARKjrjvjnbd

Kjrjvjnbd

Gfhfdjp

Kjrj

C`vby

Cvjkjd

<fhbyjd

Vbhfyxer

Ubkthvt

Ktyby

Cnfkby

Vfhrc

ECCH

Rjvveybpv

RGHA

RGCC

RU<

P.ufyjd

Далее объединяем оба списка в один и сохраняем wordlist.txt. Стоит отметить, что наш словарь составил лишь 84 слова и создан для примера. Понятно, что для эффетивного словаря необходимо куда большее колличество слов, например если словарь создается под определенную организацию необходимо указать все города присутсвия, выпускаемую продукцию, наименование используемых сервисов, структурных подразделений, список имен в соответствии с территориальным расположением (например в республике Башкортостан, помимо русских имен популярны такие как: Эмир, Амир, Шариф, Тагир, Самир, Рамазан),  также крылатые фразы, профессиональный слэнг, текущие тренды,  (например COVID19) и т.д.

Для дальнейшей модификации созданного wordlist.txt в более эффективный словарь в соответствии с парольной политикой и возможной замены некоторых символов букв на спец символы (например a=@) воспользуемся программным обеспечением Mentalist. https://github.com/sc0tfree/mentalist. Mentalist является графическим инструментом для создания словарей для брута. Он использует общие человеческие парадигмы для создания паролей и формирует из них список слов, а также правила, совместимые с Hashcat и John the Ripper. Возможна как установка на Linux, так и запуск на Python Windows.

Для примера снова вновь созданного wordlist.txt , в котором после слова идёт от 2 до 4 цифр и в котором  буквы замены на специальные символы.

После запуска, в первую очередь необходимо заменить дефолтный список английских слов нашим подготовленным набором слов. Удаляем English Dictionary, нажимает “+” справа от Base Words, выбираем Custom fileи выбираем файл worklist.txt

 

Затем жмём на “+” справ от кнопки Process и выбираем Append. Затем на появившемся блоке нажимаем на “+” , выберем Number -> User Defined…

 

В появившемся окне зададим значения от 1 до 9999 с нулями в каждой ячейке, чтобы в конце слова добилось 4 цифры

Добавим  начало слов специальные символы “!,#,*. Для этого справа от Prepend выберем Special Characters…

И в появившемся окне выберем необходимые символы:

Теперь заменим буквы на специальные символы, а именно a=”@”, s=$, o=0, i=1“, для этого справа от кнопки Process нажмем “+” и выбираем Substitution, затем жмем на “+” на новом блоке и выбираем Replace All Instances…

Далее указываем интересующие нас символы:

 

 

Если указать параметр One at a time, меняться будет первый символ из слова и потом это слово будет отправляться далее по конвейеру, затем будет делаться замена во следующем символе и слово вновь будет отправлено далее по конвейеру. Если указать  All together то все буквы из слова преобразуются в специальные символы, его мы и укажем. Стоит сразу отметить, что замена букв в специальные символы относительно второго блока слов (“русскими буквами в английской раскладке”) не эффективна, однако мы преследуем сугубо академические цели, поэтому применим наши правила ко всему списку.

После конфигурирования всех нужных правил нажимаем на кнопку Process, выбираем Full Wordlist и куда сохранить результаты формирования словаря. В результате получаем словарь из 2 519 748 слов, размером 31 MB.

 

 

Сформированный словарь можно использовать  для получения доступа к информационным системам, которые, например, администрирует  и сопровождает наш объект исследования Владимир Ягодичкин (в целях аудита информационной безопасности конечно же). Сразу отметим, что рассмотрены не все возможности указанного инструмента. Для более подробного ознакомления: https://github.com/sc0tfree/mentalist/wiki

Люби ИБ, уважай ИТ!

¯_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.



2020-08-11T11:20:52
Аудит ИБ