PasswordsPro

[Russian]
PasswordsPro

Important! The program shall be used to work with your own passwords only!

  • Program description
  • Program features
  • Data import
  • Data export
  • Types of attack
  • Program tools
  • Command line parameters
  • Program status
  • Demo-version limits
  • License agreement
  • FAQ
Program description

This program is designated to recover passwords for different types of hashes. The program currently supports about 30 types of hashes, and new ones can easily be added through writing own external hashing DLL-module. Actual list of modules available can be found on the forum of the program. Maximal number of hashes to work with at the same time is 256.

List of supported hashes:

  • 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
  • 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)

Types of hashes available through external modules written by third party developers:

  • MD2
  • MS SQL
  • Oracle DES
  • Oracle SHA-1
  • RipeMD-128
  • etc.

Note: all hashing modules are located in the \Modules folder of the program archive and can be imported through program settings menu ("Hashing modules" tab).

Program features
  • Passwords recovery using following methods:
    - Preliminary attack;
    - Brute-force attack (including distributed attack);
    - Mask attack;
    - Simple dictionary attack;
    - Combined dictionary attack;
    - Hybrid dictionary attack;
    - Rainbow-tables attack;
  • Recovery of passwords up to 127 character length;
  • Recovery of passwords for incomplete hashes of any type;
  • User's hashes editor;
  • Search of data in the list of imported users;
  • Quick add of the hash using dialog box;
  • Quick add of the hashes from Clipboard;
  • Quick check of the current password for all imported users;
  • Use of symbol replacement tables for the hybrid dictionary attack;
  • Unlimited number of dictionaries used for dictionary attack;
  • Unlimited number of tables used for Rainbow-tables attack;
  • Unlimited number of users with hashes (in the licensed version);
Data import

Users' hashes can be imported to the program using one of the following methods:

  • Import from PasswordsPro format files (*.Hashes-files).

  • Import from text files with hashes given in format:
    Login:Hash:Salt(or HMAC-key):Password:Comment.
    Program archive includes test files with all the types of supported hashes given in this format.

  • Using dialog box.

  • From Clipboard.

Data export

The program allows to save current users and hashes list to the file of internal program format (*.Hashes-files), as well as export data to text or HTML.

Types of attack

Preliminary attack:

This type of attack is quick check of users' hashes to match simple passwords like - "123", "qwerty", "99999", etc. as well as for earlier found passwords stored by the program in the "PasswordsPro.dic" file.

Brute-force attack:

This type of attack is total check of all password variants.

Brute-force attack also includes distributed attack. This type of attack allows using several computers for passwords recovery distributing passwords to process. This type of attack is enabled automatically when the user sets more than one computer to participate in attack. Then ability to set password range to recover for current computer. So to start distributed attack you shall:
  1. Run program on several computers.
  2. Choose required number of computers for attack.
  3. Set the same attack settings for all the computers.
  4. Choose for every computer own password range to recover.
  5. Run brute-force attack on every computer.

Mask attack:

This type of attack is used if any information about the password is provided, i.e. if anything is known about the password. For example:
- Passwords begin with "12345" character combination;
- First 4 characters of the password are numbers, others are Latin letters;
- etc.

For that define mask for every character of the password to recover in the mask attack settings. Symbolic notations of standard or custom character sets - ?u, ?d, ?2, etc. - are used as mask symbols (see program options, "Character sets" tab).

Simple dictionary attack:

This type of attack is check of hashes for match from text files - dictionaries.

Combined dictionary attack:

This type of attack includes check of the passwords made of several words taken from different dictionaries. This attack allows to recover complex passwords like "superadmin", "admin*admin", etc.

Hybrid dictionary attack:

This type of attack allows to change passwords from the dictionaries (for example, shift password to upper case, add character '1' to the end of the password, etc.) and to check them as users passwords. Actions performed at source passwords are so called "rules" - full list of these rules can be found in "Rules.txt" file in the program archive.

Rainbow-tables attack:

This type of attack uses Rainbow-technology (http://www.antsight.com/zsl/rainbowcrack/) of pre-calculated tables generation.
Program tools

The program includes the following tools:

  • Hash generator - designated to generate any hash of types, supported by the program.

  • Password generator - designated to generate random passwords with parameters specified.

  • Dictionary generator - designed to generate dictionaries containing passwords from range specified and performs other functions related to work with dictionaries - sorting, merging, etc.

  • Text converter - allows to convert text from Base64 format to plain text and vice versa.

  • Hidden passwords recovery - designated to recover text hidden by asterisks.

  • System information - displays various system information.
Command line parameters

The program supports the following command line parameters:

  • /config:filename - allows work with INI-file other than PasswordsPro.ini.

  • /auto - enables program mode when it automatically launches current attack and exits when attack is finished.

These parameters allow to slightly automatize program work, using command BAT-files. Do the following:

  1. Create several INI-files with different names for different types of attack.
  2. Create BAT-file, for instance, containing (for 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
    etc.
  3. Run created BAT-file.
  4. Note: in this mode there's no messages (neither finish of attack, nor errors occurred), and termination of current attack leads to program closure and start of next attack.
Program status

PasswordsPro program is Shareware.
The personal license price is €39.95.

To learn more about variants of license key purchase please visit this page.

After license purchase you shall send to Support service the following data:
- Payment details (required);
- Your first and last name (required);
- Additional information for registration as your company name, etc. (not required).

After program licensing you get:
- License key which allows you to use current and all future versions of the program without any limits;
- Qualified technical support on use of program and passwords recovery, including on-line tips (via ICQ).

Demo-version limits
  1. Maximal number of users to import is 1.
License agreement
  1. All rights for PasswordsPro program are reserved to InsidePro project author.

  2. The program is distributed as Demo-version without any time limitations. You may also copy and redistribute unchanged distributive of Demo-version on any data mediums (hard disk, floppy disk, CD-ROM, etc.).

  3. For unlimited use of the program you shall register your copy of program, purchasing license key (or several license keys).

  4. Use of license keys by person which is not registered user of the program, distribution and publishing of license keys are illegal. Author of program reserves right to recall status of registered user from the owners of these keys and block these keys in the future versions of program.

  5. You may not modify, disassembly or decompile this program. Breach of any of these requisitions leads to immediate termination of this license agreement.

  6. The program is provided "AS IS". You use this program at your own risk. Author is under no circumstances responsible for data loss or damage, lost profits or any other damages caused by to use or non-use of this program.

  7. Author guarantees that the program contains no harmful, spy nor any other code designed to perform any other functions but those stated in the program description.

  8. Using the program you accept this license agreement.

  9. If you do not wish to be bounded by the terms of this license agreement, please delete program files from your computer and stop use of the program.
FAQ

Q1: I have hash "XXXYYYZZZ". What is its type (i.e. hashing algorithm)?
A: 1) 1) Here are some types of hashes listed supported by PasswordsPro program (or by other programs):
• if hash begins with "$1$" signature, it's usually MD5(Unix) hash.
• if hash begins with "$apr1$" signature, it's usually MD5(APR) hash.
• if hash has 8-byte length, it may be MySQL-hash or any other longer hash cut to 8 bytes, for instance, MD5-hash.
• 16-byte long hashes usually are:
- MD4, MD5 and other hashes;
- some salted hashes like md5(md5($pass).$salt);
- some composite hashes like md5(md5($pass)), etc.
• if hash has 20-byte length, it may be SHA-1 or MySQL5-hash.

2) If type of hash is unknown, algorithm used by the program hash had been obtained from, shall be found. For example, analyzing source codes of PHP-script using this hash.

3) You can always check the look of any hash, using Hash generator service, where more than 90 types of hashes presented.

4) Sometimes hash may be Base64-formatted and it shall be converted to text for precise analysis. Service mentioned above or appropriate program tool can help you with it as well.

Q2: If I can easily calculate hash for my password, why can't I calculate the password from the hash?
A: Any hashing algorithm is in fact source text checksum calculation. That involves one-way math operations with source message, like AND, etc. For example, even if we know Y and Z at "X AND Y = Z". we still won't be able to find exact X value (the most we can is to calculate range of probable X values satisfying this equation). That's one of the reasons why transverse "hash -> password" is impossible (theoretically, you can just calculate range of probable source passwords, however it's actually impossible). Second reason why source password can't be precisely found from the hash is issue of collisions.

Q3: What the collisions are?
A: As soon as output values (all possible hashes) for any hashing algorithm is limited by hash size (for example, number of possible MD5 hashes is 2128 or 3.4*1038 variants), and number of input values (source messages) is unlimited, then it's clear that there are source messages having identical hash. These source messages are collisions.

Q4: What salt and salted hashes are?
A: Salt is mostly used to so that users with the same passwords had different hashes. Salt is usually line composed of 4...8 random characters which is additionally used for users' passwords hashing and is saved together with final hash (for example, MD5(Unix) hashes use this) or stored separately.

Q5: Why are salted hashes recovered with such low speed?
A: Schematically, passwords forcing for usual (non-salt) hashes goes as follows - hash for current password is calculated once, then it's compared to every hash forced. Recovering salted hashes, current password is to be hashed every time for each user, as they have different salts. Certainly, speed of attack will be lowered proportionally to users number.

Q6: Why are MD5(Unix) and MD5(APR) hashes recovered so slow?
A: That's due to both salts use and 1000 iteration cycle of hashes forming, where each iteration recalls 2 to 4 usual MD5 transformations. So attack speed for such hashes is thousands times lower comparing to usual MD5 hashes.

Q7: I've been recovering a password for several days already, but still can't find it. Why?
A: As inverse transformation hash -> password is impossible, the password shall be recovered through comparing given hash with hashes generated from every checked password. So different types of attacks and settings combinations shall be tried. For example, you can spend much time to brute-force password with "a...z" alphabet while sought password is numerical. So if you can't find your password, that doesn't mean it's very complex. It can be short, but include space. Or it can be long but simple (like "administrator12345") and will be recovered in a few minutes using hybrid attack, and so on. However your hash can really be match to complex password (like "tGE&a+.]W\Z$C"). Unfortunately, such passwords almost inrecoverable.

Q8: Where are used hashes suffixed with [PHP] in external modules?
A: You can find it out using "About module" function from "Hashing modules" tab in the program options. Note: suffix [PHP] means these algorithms' syntax matches PHP-code where they mostly used.

Q9: What is "dictionary" and where can it be obtained from?
A: Dictionary is text file which contains possible user passwords (each line in the file is one password). There can be frequently used passwords ("admin", "master", etc.) as well as passwords from required character range ("1111" - "9999"), which can be generated by the "Dictionary generator" tool. You can always find several dozens of megabytes of such dictionaries here.

Q10: "Symbol replacement tables" in the hybrid dictionary attack - what is it?
A: These tables (*.KBT-files) are text files where can be set which symbols of being checked passwords shall be replaced by different ones. This feature is useful for users from non-English-speaking countries with 2 keyboard layouts - English and national. In this case native language passwords can be entered in English keyboard layout, or vice versa English words can be typed in national symbols. There's "Russian.kbt" file in the program archive with tables for russian keyboard layout.

Q11: What order is recommended to recover passwords for users' hashes?
A: It's recommended to recover passwords for hashes in the following order:
- preliminary attack;
- simple dictionary attack (with large number of dictionaries);
- hybrid dictionary attack (with small number of dictionaries);
- brute-force attack with "0...9" alphabet for 8-9 character depth;
- brute-force attack with "a...z" alphabet for 7-8 character depth;
- brute-force attack with all available alphabets for 4-6 character depth;
- brute-force attack with "0...9" and "a...z" alphabets for 7-8 character depth.
- combined dictionary attack;
- etc.
Certainly, if you have Rainbow-tables, pre-calculated tables attack shall be used.
Also if there's any information about the password, use mask attack.

Q12: How to use custom character sets?
A: Custom character sets are commonly used for the mask attack. I.e. if you know, for instance, that first 5 characters are numbers or capital Latin letters, you can type "?d?u" in the "?4:" field (or just enter whole alphabet to use: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"), then describe first 5 characters in the mask: ?4?4?4?4?4.

Q13: I would like to translate program interface to my native language. How can I do that?
A: You may translate program interface to your native language, but you will have to perform support and updates of your LNG-file by your own at the forum on the program site. So to do that:
- visit PasswordsPro program forum - program interface can be already translated to your language;
- create "English.lng" file (or "Russian.lng" file) using program options menu and translate it to your language;
- host this file at your site, FTP-server or one of file hosting internet servers;
- create new topic on the program forum and post there link to this LNG-file.
As new versions are released (you can track new releases signing up for InsidePro project news mailing) you will need to timely update your LNG-file and update link on the forum. Certainly your translation may be rewarded by free license key for the program.

Q14: What Rainbow-tables are and how can they be used for password recovery?
A: Find detailed information about Rainbow-tables here. To generate tables rtgen or Winrtgen programs can be used. To recover passwords list of *.RT-files shall be imported to the program and table attack shall be selected. Certainly type of hashes in the tables shall match type of hashes selected for attack.

Q15: I import list of salt hashes which have ':' character and program incorrectly divides source lines to fields. How to import such hashes to the program?
A: Exactly for such situations there's a menu option to set character to use as fields divider in the users' hashes lines (':' is default character). You can also change character used to divide fields for export of users' hashes.

Q16: During dictionary attack program messages attack completion, while the dictionary hadn't been completely processed. Why?
A: That happens due to presence of service characters in the dictionaries. Some of these characters are interpreted by the program as end of the file (EOF) so finishes working with the dictionary (like 0x1F character which appears in the file after conjunction of several files to the one using DOS-command COPY). So it's recommended to clean dictionaries of these characters as well as of tabulation symbols, empty lines, etc. before use. Note: to sort dictionaries and clean out empty lines and double passwords you can use "Dictionary generator" tool.

Q17: During Rainbow-tables attack program messages "Can't open charset configuration file!" and attack ends. What is this file, where can I take it and what for is it needed?
A: This is a file containing character sets (like "alpha" (A...Z), "numeric" (0...9), etc.) used to generate Rainbow-tables as well as to recover passwords using these tables. Program archive contains "Charset.txt" file with 25 of most frequently used character sets, though you can always add your own sets to this file.

Q18: I would like to write my own hashing module to recover passwords for my hashes using your program. How can I do that?
A: If the program doesn't support type of hashes you need, you may write your own hashing module using any programming language to create DLL library with several exportable functions (see ReadMe.chm file in the \Modules\API folder the program archive), but you will have to work on your own to update and support it through the forum on the site of the program. You may base it on the ready test module with Microsoft Visual C++ .NET 2003 sources, which is put as an example to the program archive. Certainly, creation of new module for the program can be rewarded by free license key for the program.

Q19: I import old version *.Hashes-file (or copy old version PasswordsPro.ini to new version folder). Why does program incorrectly displays types of hashes or program options different from those set in the previous version?
A: Format of *.Hashes and *.ini files (as well as other work files created by the program) may differ from version to version for many reasons, for example, after optimization of parameters saved to *.ini-file, or change of supported hashes list, etc. So it's strongly recommended that you use *.Hashes and *.ini files created by that version of PasswordsPro you currently run, while import of hashes from previous versions of the program can be done through text files.

©2004-2008, InsidePro. All rights reserved.


PasswordsPro

[English]
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
  • 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 рублей.

С вариантами оплаты лицензионного ключа вы можете ознакомиться здесь.

После оплаты вам необходимо отправить в Службу поддержки следующие данные:
- Информацию о платеже (обязательная информация);
- Ваше имя и фамилию (обязательная информация);
- Дополнительную информацию для регистрации - например, название вашей компании и т.п. (необязательная информация).

После этого вы получаете:
- Лицензионный ключ, позволяющий использовать без ограничений текущую и все последующие версии программы;
- Квалифицированную техническую поддержку по использованию программы, включая поддержку On-line (по ICQ).

Ограничения Demo-версии
  1. Максимальное количество загружаемых пользователей с хэшами: 1.
Лицензионное соглашение
  1. Все права на программу PasswordsPro принадлежат автору проекта InsidePro.

  2. Программа распространяется в виде Demo-версии, которую Вы можете использовать неограниченно долго. Также Вы без уведомления автора можете размещать и распространять неизмененный дистрибутив Demo-версии программы на каких-либо носителях информации (жесткий диск, дискета, CD-ROM и т.д.).

  3. Для использования программы без ограничений Вам необходимо зарегистрировать свою копию программы, оплатив стоимость лицензионного ключа (или нескольких лицензионных ключей).

  4. Использование лицензионных ключей лицами, не являющимися зарегистрированными пользователями программы, а также распространение и публикация лицензионных ключей к программе являются незаконными действиями. Автор программы оставляет за собой право лишать статуса зарегистрированного пользователя владельцев этих лицензионных ключей и блокировать такие лицензионные ключи в последующих версиях программы.

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

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

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

  8. Использование программы означает принятие Вами данного лицензионного соглашения.

  9. Если Вы не согласны с условиями данного лицензионного соглашения, пожалуйста, удалите файлы программы с Вашего компьютера и прекратите ее использование.
FAQ

Q1: У меня есть хэш "XXXYYYZZZ". Какой у него тип (т.е. алгоритм хэширования)?
A: 1) Ниже перечислены некоторые типы хэшей, пароли к которым можно восстановить с помощью программы 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-хэш.

2) Если тип хэша неизвестен, то нужно узнать - какой алгоритм применяется в программе, из которой хэш был извлечен. Например, можно проанализировать исходные тексты PHP-скрипта, в котором используется этот хэш.

3) Всегда можно увидеть, как выглядит тот или иной хэш, используя сервис Генератор хэшей, где представлено более 90 видов хэшей.

4) Иногда хэш может быть в 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"), который будет найден гибридной атакой за несколько минут. И т.д.
Но, разумеется, ваш хэш может быть и от действительно сложного пароля (к примеру, "tGE&a+.]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, с которой вы работаете, а импорт хэшей из предыдущих версий программ делать через текстовый формат.

©2004-2008, InsidePro. All rights reserved.