- Подробности
-
Категория: Главная
-
Опубликовано 07.06.2013 08:57
-
Автор: Шитов В.Н.
-
Просмотров: 10397
Программа для взлома паролей к архивам форматов ZIP/PKZip/WinZip, ARJ/WinARJ, ACE/WinACE, RAR/WinRAR. По умолчанию интерфейс программы английский. Для русификации программы перейдите на вкладку Options (Опции). Откройте список Language (Язык). Выберите русский язык. Перейдите на вкладку Range (Набор). После этого рабочее окно программы будет примерно таким, как на рисунке (Рис. 1).
|
Рис. 1. Рабочее окно программы Advanced Archive Password Recovery 2.11
|
Мы специально не останавливаемся на причинах взлома — это не обязательно должен быть взлом со злым умыслом. Пользователь может просто забыть пароль или правоохранительные органы пытаются прочитать защищенный архив и т. д.
Прежде всего, нужно открыть архив, пароль к которому потерян или он неизвестен. Для этого нужно или нажать на кнопку Load ZIP/RAR/ACE/ARJ-file in to the project (Загрузить ZIP/RAR/ACE/ARJ-файл) (), которая находится справа от поля Encrypted ZIP/RAR/ACE/ARJ-file (ZIP/RAR/ACE/ARJ-файл). Кнопка Open (Открыть) с такой же пиктограммой открывает не архив, а проект по взлому со всеми настройками. После этого открывается окно Открыть. Выберите архив и нажмите на кнопку Открыть.
На вкладке Range(На бор) предлагаются опции по выбору символов, которые могут составлять пароль к архиву. По умолчанию предлагаются английские прописные (All caps latin (A-Z)) и строчные буквы (All small latin (a-z)). Но в паролях могут быть и арабские цифры (All digits (0-9)), и специальные символы (All special symbols (!@...)) (!@#$%^&*()_+-=<>,./?[]{}~:;`«|»\), и пробелы (Space). Так как в паролях могут быть не только английские буквы, но и русские, то желательно установить флажок в опцию All printable (Все печатаемые). В этом случае остальные опции становятся недоступными. Индикатор Space предписывает учитывать пробелы в пароле, а индикатор All printable предписывает учитывать и все видимые символы вообще. Пробел в этом случае определяться не будет, так как он также является непечатаемым.
В полях Start from (Начать с) и End at (Закончить на) можно указать начальные или конечные символы пароля, если Вы их, конечно, знаете. Если в этих полях были какие-либо символы, то их можно удалить, нажав на кнопку Clear starting password (Очистить начальный пароль) или Clear ending password (Очистить конечный пароль). Пиктограмма обеих кнопок одинаковая (). Если Вы не знаете начальных и/или конечных символов пароля, то в этих полях ничего не заполняйте.
Установка флажка в опции User-defined (Набор пользователя) делает недоступным все опции на панели Brute-force range options (Набор символов). Нажатие на кнопку Custom charset (Определить набор символов) () открывает окно User defined charset (Определение набора символов). Вы можете перечислить все символы (буквы, цифры, специальные символы), которые, по Вашему мнению, могут использоваться в пароле. Установка флажка в опцию Convert to OEM encoding (OEM-кодировка) предписывает искать символы в соответствии с выбранной кодовой страницей символов национального языка. Кодовая страница национального языка определена в ОС Windows на панели параметров в компоненте Язык и региональные стандарты. Так как мы живем в России, то и язык OEM-кодировки будет русским. После определения пользовательских символов нажмите на кнопку ОК.
На вкладке Length (Длина) определяется длина пароля. Если программа не зарегистрирована, то длина пароля не может быть больше 3-5 символов. Если программа зарегистрирована, то длина пароля может быть до 7 символов, а при выборе специальных типов атак и до 12 символов. Укажите минимальную и максимальную длину пароля архива. Чем больше будет диапазон искомого пароля, тем больше комбинаций должна перебрать программа. Например, при поиске пароля из 3 символов программе потребовалось меньше 1 секунды, а при анализе диапазона из 5 символов программе может потребоваться несколько минут.
Примечание: мы постоянно обращаем (и будем обращать) Ваше внимание на то, что длина пароля не может быть менее 7 символов. Такое требование, например, выдвигают стандарты США. Поэтому длина пароля не менее 15 символов обеспечивает достаточно надежную защиту от взлома пароля.
Остальные вкладки нужны в зависимости от выбранного типа атаки. Список Type of attack (Тип атаки) доступен из любой вкладки. По умолчанию предлагается наиболее надежный и простой тип: Brute-force (Перебор). Этот тип атаки просто перебирает все варианты выбранных символов в разной комбинации от минимальной до максимальной длины пароля.
Тип Mask (Маска) позволяет определить маску в пароле, если Вы знаете хотя бы несколько символов из пароля. Тем самым можно уменьшить время сканирования. Например, Вы знаете, что пароль будет содержать 8 символов. При этом пароль начинается с «x», и заканчивается на «99». Другие символы являются строчными или прописными буквами. Известные символы указываются в явном виде, а неизвестные символы указываются в виде вопросительного знака (?). Маска будет выглядеть так: «x?????99». Выберите опции All caps и/или All small.
Символ неизвестного символа маски (?) предлагается по умолчанию. Тем не менее, Вы можете использовать в качестве неизвестного символа любой символ (например, * или #). Для выбора символа перейдите на кладку Advanced (Продвинутость). Символ маски указывается в поле Mask symbol (Символ маски). Менять символ маски имеет смысл только в том случае, если этот символ действительно имеется в искомом пароле. Например, пароль «Что делать?». Здесь вопросительный знак действительно является символом. Если же мы укажем этот символ в маске, то программа будем считать это неизвестным символом.
Тип Dictionary (По словарю) предназначен для поиска пароля на основе словаря. Параметры этого типа определяются на вкладке Dictionary (Словарь). Выберите нужный словарный файл (в формате *.dic). Разработчики данной программы предлагают несколько словарей по адресам:
ftp://sable.ox.ac.uk/pub/wordlists/
ftp://ftp.cdrom.com/pub/security/coast/dict/wordlists/
ftp://ftp.cdrom.com/pub/security/coast/dict/dictionaries/
http://www.elcomsoft.com/prs.html
Кроме того, Вы можете выбрать опции Smart mutations (Заумные мутации) и/или Try all possible upper/lower case combinations (Попробовать все возможные комбинации заглавных/маленьких букв), что может действительно помочь в том случае, если Вы не уверены в регистре букв пароля. Например, допустим, что в словаре выбрано следующее слово: PASSword. При выборе опции Tryall possible upper/lower case combinations (Попробовать все возможные комбинации заглавных/маленьких букв), программа просто попробует все возможные комбинации, например: password, passworD, passwoRd, passwoRD, passwOrd, …, PASSWORd, PASSWORD. Тем не менее, проверка всех таких комбинаций занимает много времени: в вышеприведенном примере программа проверит 28 слов (то есть, 256) вместо одного. С заумными мутациями, Вы можете устранить множество комбинаций фактически возможных. Заумные комбинации предлагают 10 комбинаций для каждого слова:
PASSword (как есть);
passWORD (реверс);
password (все в нижнем регистре);
PASSWORD (все в верхнем регистре);
Password (первая в верхнем регистре, остальные в нижнем регистре);
pASSWORD (первая в нижнем регистре, остальные в верхнем регистре);
PaSSWoRD (гласные в верхнем регистре, согласные в нижнем регистре);
pAsswOrd (согласные в верхнем регистре, гласные в нижнем регистре);
PaSsWoRd (с заглавной через одну);
pAsSwOrD (со строчной через одну).
Опция Convert to OEM encoding (OEM-кодировка) включается в том случае, если словарь в кодировке ANSI, а архив создан с использованием DOS.
В поле Start line # (Начать с) можно указать букву (или несколько букв) из словаря, с которых нужно начать поиск пароля. Если Вы не знаете таких букв, то ничего указывать не нужно. Если в поле имеются буквы от предыдущего поиска, то можете удалить эти символы, нажав на кнопку Clear start line (Очистить «Начать с») ().
Тип Plain-text (Простой текст) предлагает взлом пароля с помощью так называемого простого или открытого текста. Архивы ZIP имеют прочный шифровальный алгоритм. Архиватор ZIP преобразовывает пароль в три 32-битовых ключа шифрования, затем использует их, чтобы кодировать целый архив. Из-за этого, общая сложность атак архивов ZIP составляет 296, то есть, мы должны были бы попробовать все возможные ключевые комбинации. Это действительно занимает слишком много времени. Тем не менее, этот алгоритм не такой прочный, как алгоритмы DES, RSA, IDEA и аналогичные алгоритмы. Один из путей взлома защиты ZIP заключается в использовании известного открытого текста. Имея закодированный файл, созданный архиватором ZIP и тот же файл в не шифрованной форме, мы можем выполнить некоторые вычисления и извлечь ключи шифрования, которые защищают этот файл. Обычно архив ZIP содержит несколько файлов, и все они имеют тот же пароль и, следовательно, те же ключи шифрования. Это означает, что если мы получим ключи шифрования для одного из этих файлов, мы будем способны снять защиту со всех остальных. Кроме того, это не займет столько времени, сколько попытки перебора всех возможных комбинаций ключей шифрования. Для того чтобы выполнить атаку открытого текста, все, что Вам нужно, это один файл из архива, сжатый тем же архиватором и тем же методом, что и один закодированный.
Архив в формате ZIP можно создать с помощью множества архиваторов. Выбор используемого архиватора имеет проблему: файловый формат ZIP не содержит никаких данных, которые могли бы помочь идентифицировать такой архиватор. Фактически Вам нужно попытаться использовать несколько архиваторов (только, конечно, если Вы не помните, какую конкретную утилиту Вы использовали при создании данного архива).
Чтобы выполнять атаку открытого текста, нужно найти не зашифрованный файл, который также существует в защищенном паролем архиве. Сжать его тем же методом и тем же архиватором ZIP, что и использован в закодированном архиве. После этого нужно запустить данную программу взлома, выбрать закодированный архив, затем выбрать тип Plain-text и сравнить с архивом в незашифрованном файле. После этого программа проверит файлы, и если она найдет схожие фрагменты, то атака будет начата. Атака Plain-text состоит из двух этапов плюс два дополнения поиска пароля:
1. Редукционный цикл ключей. На этом этапе программе нужно около 34 мегабайтов виртуальной памяти. Этот цикл занимает от одной минуты до трех (в зависимости от размера открытого текста). Если бы Вы не получили достаточного объема физической памяти, то это могло бы занять немного больше времени. После этого этапа, программа освободит значительную часть памяти и работает только с 2-4 мегабайтами. Также отметьте, что время, необходимое для завершения этого этапа, не может быть оценено, и так для первых нескольких минут указатель прогресса прочитает 0%, после того, как прогресс начнет возрастать довольно быстро.
2. Сопоставление ключей. Это основной этап атаки данного типа. Теперь Вы можете увидеть, сколько ориентировочно времени может потребоваться на восстановление архива. В зависимости от размера открытого текста, этот этап может занять от 5 минут до нескольких часов. На этом этапе Вы можете остановить атаку в любое время без риска, после чего программа создаст резюме и сохранит его в файле проекта. Первый этап (редукционный цикл ключей) выполнится снова в резюме (это займет несколько минут).
Когда программа найдет правильные ключи, то после этого программа попытается найти пароль, согласованный с этими ключами. Поиск может быть выполнен для пароля длиной до 9 знаков с любыми символами.
Тип Guaranteed WinZip Recovery (Гарантированная расшифровка WinZip) является наиболее сильной атакой в данной программе. Тем не менее, сам архив должен иметь, по крайней мере, 5 закодированных файлов, защищенных паролем, и должен быть создан WinZip или любым другим архиватором, создающим архивы ZIP. Начиная с архивов версии 8.1 и выше, Вы не будете способны использовать эту атаку. Если архив создан другим архиватором или содержит менее 5 файлов, то программа выведет сообщение об ошибке.
Тип Password from keys (Пароль из ключей) восстанавливает пароль в том случае, если имеются ключи шифрования. Рекомендуемая минимальная длина пароля 11 символов, если у Вас есть ключи из данной программы, а не из любого другого источника.
Кнопка Benchmark (Контроль) () помогает оценить примерное время, необходимое на поиск пароля, скорость проверки в секунду и число проверок с выбранными параметрами. Это нужно на тот случай, чтобы оценить — сколько же может продлиться процесс поиска и стоит ли его вообще запускать. По опыту можем сказать, что при неудачном поиске затрачиваемое время занимает всего лишь несколько минут. Этот приблизительный анализ занимает примерно 3-4 секунды и после него выводится специальное окно с результатами анализа. Если выбран самый полный анализ, то время анализа занимает примерно 20 секунд.
Для запуска искомого пароля нажмите на кнопку Start (Старт). Если пароль будет найден, то он выводится в специальное окно. На рисунке (Рис. 2) он указан в поле Password for this file (Пароль для этого файла). Ниже приведено его 16-ричное значение. Здесь же указывается число выполненных проверок (в нашем примере это 19 320 323), время проверки (около 4 секунд). Для остановки процесса анализа предусмотрена кнопка Stop (Пауза). После нажатия на эту кнопку необходимо очистить поле Start from (Начать с), так как в нем остается последний вариант перебора пароля. Обратите внимание, что мы перед анализом (а возможно, что и в ходе него) выполняем какие то настройки. Эти настройки можно сохранить для того, чтобы потом можно было использовать снова. Для этого нужно нажать на кнопку Save (Сохранить) () и указать имя сохраняемого проекта. Затем этот проект с установками параметров можно открыть кнопкой Open (Открыть) ().
|
Рис. 2. Пароль найден
|
Для закрытия программы нажмите на кнопку Quit (Выход) () или на кнопку Закрыть (×) на системной полосе программы.