📖 Территориально-лингвистические особенности создания словаря паролей для Bruteforce – Information Security Squad
📖 Территориально-лингвистические особенности создания словаря паролей для 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

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

¯\_(ツ)_/¯

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

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *