PasswordsPro
Внимание! Данная программа предназначена
для работы только со своими собственными паролями!

Описание программы
Возможности программы
Импорт данных
Экспорт данных
Восстановление паролей
Инструменты программы
Параметры командной строки
Статус программы
Ограничения Demo-версии
Лицензионное соглашение
FAQ
Программа предназначена для восстановления паролей к хэшам различных типов.
В настоящее время программа поддерживает более 30 типов хэшей,
при этом легко можно добавить новый тип хэшей, написав
свой собственный внешний DLL-модуль для хэширования.
Самый полный список внешних модулей
для генерации хэшей всегда доступен на
форуме программы.
Максимальное количество модулей, с которыми программа может
работать одновременно – 256.
Типы хэшей, поддерживаемые программой и доступные в виде внешних модулей:
– MySQL
– MySQL5
– DES(Unix)
– MD4
– MD4(Base64)
– MD4(HMAC)
– MD5
– MD5(Base64)
– MD5(HMAC)
– MD5(Unix)
– MD5(APR)
– SHA-1
– SHA-1(Base64)
– SHA-1(HMAC)
– SHA-256
– SHA-384
– Domain Cached Credentials
– Haval-128
– Haval-160
– Haval-192
– Haval-224
– Haval-256
– Tiger-128
– Tiger-160
– Tiger-192
– Whirlpool
– md5($pass.$salt)
– md5($salt.$pass)
– md5(md5($pass))
– md5(md5($pass).$salt)
– md5($salt.md5($pass))
– md5($salt.$pass.$salt)
– md5(md5($salt).$pass)
– md5($salt.md5($salt.$pass))
– md5(md5($salt).md5($pass))
– sha1($username.$pass)
– и др.
Типы хэшей, написанные сторонними разработчиками и также доступные в виде внешних модулей в дистрибутиве программы:
– MD2
– MS SQL
– Oracle DES
– Oracle SHA-1
– RipeMD-128
– и др.
Примечание: все модули хэширования находятся в каталоге \Modules
дистрибутива с программой и их можно загрузить в PasswordsPro через
настройки программы (закладка "Модули хэширования").
– Восстановление паролей следующими методами:
• Предварительная атака;
• Атака полным перебором (включая атаку распределенным перебором);
• Атака по маске;
• Простая атака по словарям;
• Комбинированная атака по словарям;
• Гибридная атака по словарям;
• Атака по предварительно рассчитанным Rainbow-таблицам;
– Восстановление паролей длиной до 127 символов;
– Восстановление паролей к неполным хэшам всех видов;
– Редактирование хэшей пользователей;
– Поиск нужной информации в списке пользователей с хэшами;
– Быстрое добавление хэша через диалоговое окно;
– Быстрое добавление хэшей из буфера обмена;
– Быстрая проверка текущего пароля на всех пользователях из списка;
– Использование таблиц замены символов в гибридной атаке по словарям;
– Неограниченное количество словарей, используемых в атаках по словарям;
– Неограниченное количество таблиц, используемых в атаке по Rainbow-таблицам;
– Неограниченное количество загружаемых пользователей с хэшами (в лицензионной версии);
Загружать хэши пользователей в программу можно следующими способами:
• Импорт из файлов формата программы PasswordsPro (*.Hashes-файлы).
• Импорт из текстовых файлов с хэшами в следующем формате:
Пользователь:Хэш:Salt(или HMAC-ключ):Пароль:Комментарий
В дистрибутиве программы находятся тестовые файлы со всеми видами поддерживаемых хэшей в этом формате.
• Через диалоговое окно.
• Из буфера обмена.
Программа позволяет сохранять текущий список
пользователей с хэшами в файлы своего внутреннего
формата (*.Hashes-файлы), а также экспортировать информацию о хэшах
в текстовом и HTML форматах.
Предварительная атака
Данный вид атаки представляет собой быструю
проверку хэшей пользователей на простые пароли – "123",
"qwerty", "99999" и пр. а также на ранее найденные
пароли, которые программа сохраняет в
файле "PasswordsPro.dic".
Атака полным перебором
Данный вид атаки представляет собой полный перебор всех возможных вариантов паролей.
Атака полным перебором также включает в себя атаку распределенным перебором.
Данный вид атаки позволяет использовать для восстановления паролей
несколько компьютеров, распределив между ними обрабатываемые пароли.
Этот вид атаки включается автоматически, когда пользователь устанавливает количество компьютеров,
участвующих в атаке, более одного. После этого становится доступной возможность
выбора диапазона паролей для атаки на текущем компьютере.
Таким образом, чтобы начать атаку распределенным перебором вам необходимо:
1. Запустить программу на нескольких компьютерах.
2. Выбрать во всех экземплярах программы нужное количество компьютеров для атаки.
3. Установить одинаковые настройки для перебора на всех компьютерах.
4. Выбрать для каждого компьютера свой диапазон перебора паролей.
5. Запустить на каждом компьютере атаку полным перебором.
Атака по маске
Данный вид атаки используется, если известна какая-либо
информация о пароле, например:
– Пароль начинается с комбинации символов "12345";
– Первые 4 символа пароля – цифры, остальные – латинские буквы;
– И т.д.
Для этого в настройках атаки необходимо указать маску для
каждого символа в пароле, который требуется восстановить.
При этом в качестве символов маски используются условные
обозначения стандартных или пользовательских наборов
символов – ?u, ?d, ?2 и т.д. (см. настройки программы, закладка "Наборы символов").
Простая атака по словарям
В этом виде атаки происходит простая проверка хэшей
на пароли из текстовых файлов (словарей).
Комбинированная атака по словарям
В этом виде атаки проверяемые пароли формируются
из нескольких слов, взятых из разных словарей, что позволяет
восстанавливать сложные пароли вида "superadmin", "admin*admin" и др.
Гибридная атака по словарям
Данный вид атаки позволяет изменять пароли
из словарей (к примеру, перевести пароль в верхний
регистр, добавить в конце пароля символ '1' и т.д.)
и проверять их в качестве паролей пользователей. Действия,
применяемые к исходным паролям, называются "правилами" и их полный список
приведен в файле "Rules.txt" из дистрибутива программы.
Атака по предварительно рассчитанным таблицам
Данный вид атаки использует
предварительно рассчитанные
Rainbow-таблицы.
Программа содержит следующие инструменты:
Генератор хэшей – предназначен
для генерации хэшей всех типов, которые загружены в программу.
Генератор паролей – предназначен
для генерации случайных паролей с заданными параметрами.
Генератор словарей – предназначен для генерации словарей,
содержащих пароли из заданного диапазона, а также выполняет
другие функции по работе со словарями – сортировка, слияние
словарей в один файл и др.
Конвертер текста – позволяет конвертировать текст из Base64-формата в обычный текст и наоборот.
Восстановление текста под звездочками – предназначен для восстановления текста под звездочками.
Информация о системе – показывает различную системную информацию.
Программа поддерживает следующие параметры командной строки:
/config:filename – позволяет программе использовать настройки из файла "filename", а не из файла PasswordsPro.ini.
/auto – переводит программу в режим, при котором она автоматически запускает текущую атаку, а при окончании атаки программа автоматически завершает свою работу.
Эти параметры позволяют автоматизировать работу программы,
используя командные BAT-файлы.
Для этого нужно сделать следующее:
1. Создать несколько INI-файлов с различными названиями для разных видов атак.
2. Создать BAT-файл, к примеру, следующего содержания (в Windows 2000/XP):
PasswordsPro.exe /auto /config:Preliminary.ini
start /w PasswordsPro.exe /auto /config:DictSimple.ini
start /w PasswordsPro.exe /auto /config:DictHybrid.ini
start /w PasswordsPro.exe /auto /config:BruteLatin.ini
start /w PasswordsPro.exe /auto /config:BruteNumber.ini
и т.д.
3. Запустить созданный BAT-файл на исполнение.
4. Примечание: в этом режиме программа не выдает никаких сообщений (ни об окончании атаки, ни о возникающих ошибках), а принудительная остановка текущей атаки приводит к закрытию программы и переходу к следующей атаке (т.е. к следующей строке BAT-файла).
Программа PasswordsPro имеет статус Shareware.
Стоимость одной лицензии – 700 рублей.
С вариантами оплаты лицензионного ключа вы можете ознакомиться здесь.
Максимальное количество загружаемых пользователей с хэшами: 1.
1. Все права на программу PasswordsPro принадлежат
InsidePro Software.
2. Программа распространяется в виде Demo-версии,
которую Вы можете использовать неограниченно долго.
Также Вы без уведомления автора можете размещать и
распространять неизмененный дистрибутив
Demo-версии программы на каких-либо носителях информации
(жесткий диск, дискета, CD-ROM и т.д.).
3. Для использования программы без ограничений
Вам необходимо
зарегистрировать
свою копию программы, оплатив стоимость
лицензионного ключа (или нескольких лицензионных ключей).
4. Использование лицензионных ключей
лицами, не являющимися зарегистрированными
пользователями программы, а также распространение и публикация
лицензионных ключей к программе
являются незаконными действиями.
Автор программы оставляет за собой право лишать статуса
зарегистрированного пользователя владельцев этих лицензионных ключей
и блокировать такие лицензионные ключи в последующих версиях программы.
5. Вы не можете модифицировать, дизассемблировать и
декомпилировать данную программу.
Нарушение любого из этих требований ведет к автоматическому
прекращению действия этого лицензионного соглашения.
6. Программа распространяется по принципу "как есть"
("AS IS"). Вы используете программу на собственный риск. Автор
не несет ответственности за потерю данных, повреждения,
упущенную прибыль или иной ущерб, полученный при использовании или
неиспользовании Вами этой программы.
7. Автор гарантирует,
что программа не содержит в себе вредоносного, шпионского или иного
скрытого кода, предназначенного для выполнения других функций,
кроме оговоренных в описании программы.
8. Использование программы означает принятие Вами
данного лицензионного соглашения.
9. Если Вы не согласны с условиями данного лицензионного соглашения,
пожалуйста, удалите файлы программы с Вашего компьютера
и прекратите ее использование.
Q1: У меня есть хэш "XXXYYYZZZ". Какой у него тип (т.е. алгоритм
хэширования)?
A: Ниже перечислены некоторые типы хэшей, пароли к которым можно
восстановить с помощью программы PasswordsPro (или с помощью других программ):
• если хэш начинается с сигнатуры "$1$", то обычно это MD5(Unix) хэш.
• если хэш начинается с сигнатуры "$apr1$", то обычно это MD5(APR) хэш.
• если хэш имеет длину 8 байт, то это может быть MySQL-хэш или любой
более длинный хэш, укороченный до длины 8 байт – например, MD5-хэш.
• длину 16 байт обычно имеют следующие типы хэшей:
– MD4, MD5 и другие хэши;
– некоторые salt'овые хэши, например, md5(md5($pass).$salt);
– некоторые составные хэши, например, md5(md5($pass)) и др.
• если хэш имеет длину 20 байт, то это может быть SHA-1 или MySQL5-хэш.
Если тип хэша неизвестен, то
нужно узнать – какой алгоритм применяется в
программе, из которой хэш был извлечен.
Например, можно проанализировать исходные
тексты PHP-скрипта, в котором используется
этот хэш.
Всегда можно увидеть, как выглядит
тот или иной хэш, используя
сервис Генератор хэшей,
где представлено около 100 видов хэшей.
Иногда хэш может быть в
Base64-кодировке и для его анализа хэш лучше преобразовать
в более удобный 16-ричный вид. Для этого также можно использовать вышеупомянутый сервис
или соответствующий инструмент в программе.
Q2: Если я могу быстро вычислить хэш от своего пароля,
то почему я не могу быстро сделать обратную операцию – вычислить
пароль на основе хэша?
A: Любой алгоритм хэширования фактически представляет собой
подсчет контрольной суммы от исходного текста.
При этом используются необратимые математические операции
над исходным сообщением,
такие как AND и др. Например, даже если в выражении "X AND Y = Z" мы знаем
Y и Z, то мы никогда не сможем
по ним точно восстановить исходное значение X (максимум, что мы
можем – это рассчитать область возможных
значений X, удовлетворяющих данному равенству).
Это одна из причин, почему обратное преобразование
"хэш -> пароль" невозможно (теоретически, можно лишь
рассчитать область возможных
исходных паролей, но на практике это нереальная задача). Вторая же
причина, почему невозможно абсолютно точно вычислить исходный
пароль на основе хэша – это коллизии.
Q3: Что такое коллизии?
A: Так как область выходных значений (всевозможных хэшей)
в любом алгоритме хэширования является
величиной конечной и определяется размером хэша
(к примеру, для алгоритма MD5 количество возможных хэшей
составляет 2128 или 3.4*1038 вариантов),
а количество входных значений (исходных сообщений) – величина
бесконечная, то само собой существуют такие исходные сообщения, которым
соответствует один и тот же хэш. Такие исходные сообщения и называются
коллизиями.
Q4: Что такое salt и salt-овые хэши?
A: Salt или так называемая "привязка" в основном используется для
того. чтобы пользователи, использущие одинаковые пароли,
имели различные хэши. Как правило, salt – это строка
из 3...8 случайных символов, которая дополнительно используется
для хэширования паролей пользователей и сохраняется вместе
с финальным хэшем (как, к примеру, сделано в MD5(Unix)-хэшах)
или же хранится отдельно от хэша. Также хэши с salt'ом
часто называют "солёными" (от англ. "salt" – "соль").
Q5: Почему у salt'овых хэшей низкая скорость перебора?
A: В крайне упрощенном виде перебор паролей к
обычным (не-salt'овым) хэшам происходит
так – однократно подсчитывается хэш от текущего пароля,
а затем хэш многократно сравнивается со всеми перебираемыми хэшами.
При восстановлении же паролей к salt'овым хэшам текущий пароль приходится
хэшировать отдельно для каждого пользователя,
т.к. у них разные salt'ы. Само собой, скорость любой атаки при этом будет
снижена пропорционально количеству пользователей.
Q6: Почему у MD5(Unix) и MD5(APR) хэшей низкая скорость перебора?
A: Это связано с тем, что помимо использования salt'ов,
эти хэши формируются в цикле на 1000 итераций,
в каждой из которых вызывается от 2 до 4 обычных MD5-преобразований.
В результате скорость атаки для таких хэшей в тысячи раз ниже
по сравнению с обычными MD5-хэшами.
Q7: Я восстанавливаю пароль уже несколько дней,
но никак не могу его найти? Почему?
A: Т.к. невозможно сделать обратное преобразование хэш -> пароль,
то пароли приходится подбирать, генерируя от каждого проверяемого пароля
хэш и сравнивая его с исходным. Поэтому нужно пробовать
различные виды атак с различными настройками. К примеру,
можно долго искать пароль полным перебором
с алфавитом a...z, а пароль будет состоять из цифр.
Таким образом, если вы не можете найти пароль, это еще
не значит, что он очень сложный. Возможно, он короткий,
но в нем есть пробел. Или же пароль длинный, но
с простой закономерностью (например, "administrator12345"),
который будет найден гибридной атакой за несколько минут. И т.д.
Но, разумеется, ваш хэш может быть и от действительно
сложного пароля (к примеру, "tGEa+.]W"Z$C") – к сожалению,
восстановить такие пароли практически нереально.
Q8: Где используются хэши, имеющие суффикс [PHP] во внешних модулях?
A: Эту информацию можно узнать, вызвав функцию "О модуле"
на закладке "Модули хэширования" в настройках программы.
Примечание: суффикс [PHP] указывает на то, что эти алгоритмы
по своему синтаксису соответствуют PHP-коду, в котором они
обычно и применяются.
Q9: Что такое "словари" и где их взять?
A: Словарь – это текстовый файл, в котором находятся
возможные пароли пользователей (одна строка
файла – один пароль). Это могут быть
как часто употребляемые пароли ("admin", "master" и др.)
так и пароли из нужного диапазона символов ("1111" – "9999"),
которые можно
сгенерировать инструментом "Генератор словарей".
На данной странице
вы всегда можете найти несколько десятков мегабайт подобных словарей.
Q10: "Таблицы замены символов" в гибридной атаке по словарям – что это такое?
A: Данные таблицы (*.KBT-файлы) представляют собой текстовые
файлы, в которых можно указать – какие символы проверяемых
паролей должны быть заменены на другие символы.
Эта возможность обычно требуется пользователям
из не-англоязычных стран, имеющих на клавиатуре 2 раскладки
символов – английскую и свою национальную. В этом случае пароли
на своем языке могут быть набраны в английской раскладке клавиатуры
и наоборот – английские слова набраны национальными символами.
В дистрибутиве программы находится файл "Russian.kbt", в котором
представлены такие таблицы для пользователей с русской раскладкой клавиатуры.
Q11: В каком порядке рекомендуется восстанавливать пароли к
хэшам пользователей?
A: Восстанавливать пароли к хэшам рекомендуется в следующем порядке:
– Предварительная атака
– Простая атака по словарям (с большим количеством словарей)
– Гибридная атака по словарям (с небольшим количеством словарей)
– Атака полным перебором с алфавитом "0...9" на глубину 8-9 символов
– Атака полным перебором с алфавитом "a...z" на глубину 7-8 символов
– Атака полным перебором со всеми доступными алфавитами на глубину 4-6 символов
– Атака полным перебором с алфавитами "0...9" и "a...z" на глубину 7-8 символов
– Комбинированная атака по словарям
Разумеется, при наличии Rainbow-таблиц нужно использовать атаку по ним.
Также, если есть какая-либо информация о пароле, необходимо использовать атаку по маске.
Q12: Как применять пользовательские наборы символов?
A: Пользовательские наборы символов обычно используются
в атаке по маске. Т.e. если вы знаете, к примеру,
что первые 5 символов пароля – цифры или заглавные латинские символы,
то вы можете в поле "?4:" ввести строку "?d?u" (или же ввести
нужный алфавит полностью: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"),
а затем в маске описать первые 5 символов пароля так – ?4?4?4?4?4.
Q13: Я хотел бы перевести интерфейс программы на свой национальный язык.
Как это сделать?
A: Вы можете перевести интерфейс к программе на свой язык,
но поддержку и обновление своего LNG-файла
вам придется делать самостоятельно через форум на сайте программы.
Для этого:
– Посетите форум программы
PasswordsPro – возможно, интерфейс программы на ваш язык уже переведен.
– В настройках программы сгенерируйте файл "English.lng" (или "Russian.lng")
и переведите его на свой язык.
– Разместите новый LNG-файл на своем
сайте, FTP-сервере или же на одном из многих файловых серверов в интернете.
– Создайте на форуме программы новую тему,
в которой разместите ссылку на этот LNG-файл.
По мере выхода новых версий программы (о которых можно узнать,
подписавшись
на рассылку новостей проекта InsidePro) вам необходимо будет
своевременно вносить изменения в свой LNG-файл и обновлять ссылку на него
на форуме программы.
Разумеется, за перевод интерфейса возможно бесплатное получение
лицензионного ключа к программе.
Q14: Что такое Rainbow-таблицы и как их использовать для восстановления паролей?
A: Подробную информацию о Rainbow-таблицах можно прочитать здесь.
Для генерации таблиц можно использовать программы
rtgen или
Winrtgen.
Для восстановления паролей необходимо загрузить в программу список *.RT-файлов,
содержащих Rainbow-таблицы и выбрать атаку по таблицам. Разумеется, тип хэшей
в таблицах должен совпадать с типом хэшей, выбранных для атаки.
Q15: Я импортирую в программу список хэшей с salt'ами,
в которых есть символ ':' и программа неправильно
разделяет поля в строках с исходными данными.
Как загрузить в программу такие строки с хэшами?
A: Специально для таких ситуаций в настройках программы можно изменять
символ, который будет использоваться для разделения полей в строках
с хэшами пользователей (по умолчанию используется символ ':').
Также вы можете изменять символ для разделения полей, используемый
и для экспорта хэшей в текстовом виде.
Q16: При атаках по словарям программа выдает сообщение,
что атака закончена, хотя словарь был обработан не полностью. Почему?
A: Это связано с тем, что в словарях имеются служебные символы,
некоторые из которых программа
интерпретирует как конец файла (EOF) и заканчивает работу со словарем
(например, символ 0x1F, который появляется в файле
после объединения нескольких файлов в один DOS-командой COPY).
Поэтому используемые словари рекомендуется очистить от таких символов,
а также от символов табуляции, пустых строк и т.д.
Примечание: для сортировки словарей, а также для удаления из них
пустых строк и повторяющихся паролей вы можете использовать
инструмент "Генератор словарей".
Q17: При атаке по Rainbow-таблицам возникает сообщение
"Can't open charset configuration file!" и атака заканчивается.
Что это за файл, где его взять и зачем он нужен?
A: Это файл с наборами символов
(например – "alpha" (A...Z), "numeric" (0...9) и др.),
которые используются
для генерации Rainbow-таблиц, а также для восстановления
паролей по этим таблицам. В дистрибутиве программы находится
файл "Charset.txt", который содержит 25 часто используемых
наборов символов, но, разумеется, вы всегда можете дополнить его
своими собственными наборами.
Q18: Я хотел бы написать собственный модуль для хэширования, чтобы
с помощью вашей программы восстанавливать пароли к своим хэшам.
Как это сделать?
A: Если программа не поддерживает необходимый вам тип хэшей,
вы всегда можете написать свой модуль для хэширования
на любом языке программирования, создав DLL-библиотеку с несколькими
экспортируемыми функциями (см. файл ReadMe.chm в каталоге \Modules\API
дистрибутива программы), но его обновление и поддержку вам придется делать
самостоятельно через форум на сайте программы. За основу можно
взять готовый тестовый модуль с исходными текстами на Microsoft Visual C++ .NET 2003,
помещенный в дистрибутив программы в качестве примера.
Разумеется, за создание и опубликование на форуме нового модуля для программы
возможно бесплатное получение лицензионного ключа к программе.
Q19: Я загружаю в программу *.Hashes-файл от предыдущей
версии программы (или вариант – копирую файл PasswordsPro.ini от старой
версии в каталог с новой версией программы).
Почему программа после этого неверно отображает типы хэшей
или же показывает не те настройки, которые были в предыдущей версии?
A: Формат файлов *.Hashes и *.ini (а также других файлов,
создаваемых программой во время своей работы) может измениться
в очередной версии программы по разным причинам – например, после
оптимизации сохраняемых параметров в *.ini файле,
после изменения количества поддерживаемых типов хэшей
в программе и т.д. Таким образом, настоятельно рекомендуется
работать с файлами *.Hashes и *.ini, созданными той версией
PasswordsPro, с которой вы работаете, а импорт хэшей
из предыдущих версий программ делать через текстовый формат.