Меню Рубрики

Password zip recovery linux

Взламываем запароленный zip архив в Linux

Наверняка все сталкивались с запароленныыми zip архивами, при этом может случится так, что пароль не известен. На моей памяти за нужную мне информацию в zip архиве даже просили заплатить. Но, не это сподвигло меня на написание данной статьи. Когда то я создавал запароленный zip архив, и честно говоря, пароль не помню – забыл. А в этом архиве находилась ценная для меня информация в единственном экземпляре. Так получилось, что благодаря одному известному журналу я стал изучать Kali Linux, и это привело меня к тому, что имея определенные знания, я прибег к взлому своего же zip архива. Этот факт и подвиг меня написать данную статью, хотя, принципиально избегаю в статьях данную тематику. Ладно, хватит предысторий, переходим к практике.

Утилита Fcrackzip

Прибегнем к помощи утилиты Fcrackzip для нашей задачи, она схожа с ее родственными утилитами zc и zipcrack. Первым делом мы установим Fcrackzip в нашу систему. Для этого переходим в терминал и вводим команду:

sudo apt install fcrackzip

Для дистрибутива Fedora Fcrackzip можно скачать с сайта pkgs.org , после чего его установить.

sudo pacman -S fcrackzip

Когда утилита Fcrackzip установлена, переходим к самой процедуре взлома. Для эксперимента вы можете создать zip архив командой:

zip -r -e text .zip text

Выделенным жирным название вашего файла, который хотите запаковать в запароленный zip архив. Поясню вкратце атрибуты с которыми мы запускаем zip, атрибут “-r” означает рекурсивный, а атрибут “-e” означает задать пароль. После запуска данной команды, нужно будет ввести пароль дважды, сам пароль при вводе отображаться не будет.

Взламываем утилитой Fcrackzip

Для того что бы взломать zip архив утилитой Fcrackzip переходим в терминал, так как это консольная утилита. Fcrackzip необходимо запускать от root пользователя с атрибутами, необходимыми для взлома zip архива. Поясню некоторые атрибуты, которые можно использовать при запуске Fcrackzip:

  • -h – help.
  • -l – минимальная – максимальная длинна пароля.
  • -v – подробный режим.
  • -u – использования команды unzip для проверки паролей.
  • -D – использования словаря.
  • -b – перебор паролей по средством brute-force.
  • -c – указывает из чего состоит пароль. Например из заглавных и строчных букв и цифр – Aa1

Более подробно можно узнать набрав команду: fcrzckzip -h:

И так, продолжаем, запускать fcrackkzip будем со следующими атрибутами: -b означает что будем использовать метод brute-force. Словарь для brute-force в утилите fcrackzip имеется свой, так что нет необходимости его создавать или скачивать из сети. Далее указываем атрибут: -c, а затем задаем символы из которых будет состоять пароль, например: Aa1!. Теперь укажем длину пароля, например от 1 до 10 символов, для этого будем использовать атрибут: -l, а затем вводим: 1-10. Ну и последний атрибут: -u, который отобразит пароль на нашем экране. После чего вводим путь до файла, так как у меня файл “text.zip” лежит в домашней директории, то путь вводить не обязательно. Запускаем fcrackzip с необходимыми атрибутами и жмем Enter:

sudo fcrackzip -b -c Aa1! -l 1-8 -u text.zip

После подбора пароля он выведется в строке: PASSWORD FOUND. pw ==:

Как видно на скриншоте, пароль от архива zip. Теперь можно пробовать его распаковать зная подобранный пароль.

Заключение

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

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
С уважением Cyber-X

Источник

Как восстановить утерянный пароль к архиву с помощью видеокарты

Добрый день, Хабрасообщество!

Что представляет собой пароль

С тех пор как разработчики поняли, что хранить пароль в тексте небезопасно, мы видим только хеш — набор значений, которые генерируются на основе пароля. Такое преобразование выполняется хеш-функцией по заданному алгоритму и является односторонним.

Существуют разные алгоритмы хеширования: MD5, SHA-1, SHA-2 и прочие. Чтобы восстановить пароль из хеша, можно использовать метод перебора. Нам достаточно создавать хеш для каждого возможного пароля и сравнивать его с тем хешем, который нужно расшифровать. Фактически нам нужно взять файл, вытащить из него хеш и расшифровать его программой-взломщиком. Методика извлечения хеша для каждого алгоритма разная, и сложность перебора каждого из них варьируется.

Как рассчитать сложность перебора? Не вдаваясь глубоко в заковыристый матан, можно сказать, что это зависит как от длины пароля, так и от набора используемых в нем символов:
например, числовой пароль 0-9 содержит 10 символов. Пятизначный пароль содержит m=5 знаков. Число комбинаций будет P=m^n или 5 в степени 10 — 9765625.

Если же учитывать латинские символы — большие и маленькие, то это 26*2+10=62 и наше P равно уже 5 в степени 62!

Я видел, как в течение недели с помощью двух 22-ядерных Xeon восстанавливают пароль к zip. Ни такими ресурсами, ни стольким временем для подбора пароля я не располагал и задумался об использовании в своих целях графического чипа. Вычислительная мощь этих устройств сейчас у всех на слуху. Производители графических ускорителей — AMD и Nvidia. Nvidia обладает CUDA — собственным закрытым API для вычислений на GPU, который по синтетическим тестам на 20% быстрее открытого аналога OpenCL, но не каждая программа обладает SDK к нему. Кроме того, карты Nvidia уступают картам AMD в вычислениях, реализованных на OpenCL. Эта проблема частично лечится свежими драйверами, но разрыв все равно остается. В конечном итоге мы также упремся в количество вычислительных блоков видеокарты.

Ниже я рассмотрю решение Hashchat, которое работает на OpenCL и позволяет подключить до 128 видеокарт одновременно. Хотя такой возможности для этого теста нет, предположительно имеет смысл отдать предпочтение среднему ценовому сегменту, поскольку карт можно поставить больше, а разница в производительности непропорциональна цене.

Инструменты для восстановления пароля

Hashcat — преемник ранее используемых утилит oclHashcat/cudaHashcat. Заявлен как самый быстрый инструмент для подбора утерянного пароля. Начиная с версии 3.0, поддерживает использование как CPU, так и GPU, но не для всех алгоритмов. Например, с помощью GPU нельзя подобрать пароль к Bcrypt. Зато к MD5 и SHA-1 пароли подбираются довольно быстро. Работает с более чем 200 хешами. По сути, является универсальным кроссплатформенным решением.

Для получения некоторых из них понадобится утилита ниже:

John The Ripper — инструмент администратора по восстановлению утерянных паролей — легендарная утилита хак-софта. Популярна из-за поддержки большого количества хешей и их автораспознавания. Поддерживает множество модулей, включая сторонние. John The Ripper даже включен в Kali Linux, но в урезанном виде. Только у этой программы я нашел совершенно необходимые расширения для извлечения хешей из других форматов: zip2john, rar2john, pdf2john.py, pfx2john.exe и много еще чего интересного.

Cain & Abel — тоже в представлении не нуждается. Программа имеет даже собственный сниффер.

Существуют и другие инструменты, однако они либо плохо документированы и не имеют GUI, либо уступают в скорости. Поддержка разных типов хешей также важна. Таким образом, останавливаемся на Hashcat.

В качестве примера мы используем произвольный архив 7zip. Генерируем архив самостоятельно. 7zip использует алгоритм AES256

Для восстановления хеша пользуемся утилитой 7z2hashcat. Фактически это скрипт на Perl. Качаем его по ссылке и распаковываем.

В результате в текстовом файлике увидим искомый хеш. Далее настроим наш Hashcat:

  • Ставим сам продукт
  • Ставим GUI по желанию и для знакомства с программой.
  • Идем на хешкиллер — и забираем оттуда HashcatGUI.
  • Заходим в папку с HashcatGUI, запускаем App.HashcatGUI.exe.
  • При запуске указываем исполняемый файл программы hashcat64.exe или hashcat32.exe в зависимости от разрядности системы

GUI иногда выдает ошибки и вылетает при завершении поиска. Тем не менее, чекпоинт предусмотрен, мы можем вернуться к последней запущенной сессии и продолжить начатый поиск на вкладке Custom commands & Services.

Hashcat сам определит все устройства GPU / CPU в компьютере и начнет расшифровку.

Тестируем возможности программы

Запускаем Hashchat. Указываем тип хеша как m 11600 (7zip), обновление статуса поиска каждые 60 секунд, выходной файл и маску для поиска.

Поиск по маске позиционируется улучшенным вариантом брутфорса. Зная что-то о паттерне пароля, мы можем значительно ускорить перебор. Предположим, это дата, имя или год или любые предполагаемые символы, например, ?R ?R ?R — любые три символа русского алфавита.
В данном случае это любые семь цифр. Стоит учитывать, что если длина пароля составляет шесть цифр, то мы его не найдем и нужно повторить попытку. Для автоматизации процесса предусмотрена галочка «инкремент».

Итог: в файле E:\asus\result.txt. Пароль 3332221 подобран примерно за 10 секунд.

Пробуем увеличить длину пароля. Скорость перебора заметно упала — до 635 паролей в секунду.
Результат: пароль 3334566611 — 10 знаков. Для его восстановления потребовалось около трех минут.

Усложним задачу. Пароль теперь состоит из букв латинского алфавита и цифр. Длина пароля выросла до 11 знаков. В программе есть ряд опций еще более ускоряющих подбор. Очевидный вариант — подобрать с помощью базы стандартных паролей.

Ставим словарь HashKiller Passwords. В папке программы уже есть пример — слов так на 1000. Добавляем наш словарик во вкладке «Wordlists & Markov». Скачиваем словарик HashKiller Passwords, а затем извлекаем его, к примеру, в папку Dict.

Markov является еще одним вариантом комбинированного подбора и имеет отдельный исполняемый файл. https://ru.wikipedia.org/wiki/Цепь_Маркова
Опция плохо документирована. В справке к GUI для набора символом ?d?l?u (Латинские буквы и цифры) рекомендуется значение 40.

Также мы используем гибридную атаку. Это поиск слова из словаря с добавлением окончания маски, к примеру, Password113, Qwe1235.

Также в программе существуют готовые маски в формате .hcmask, которые позволяют перебрать известные паттерны строчка за строчкой. Лишние строки можно комментировать, открыв этот файл Блокнотом. Их также можно использовать как с опцией «инкремент», так и комбинировать со списком слов.

Помимо гибридных атак программа поддерживает правила подбора по определенным алгоритмам, выявленным опытным путем, которые дают хорошие результаты.

Так называемый перебор по правилам является самой технически сложной атакой и представляет собой язык программирования. По словам разработчиков, такой подход работает быстрее, чем регулярные выражения. Готовые правила уже можно использовать, загрузив их в GUI из каталога rules в Hashchat. С учетом указанных опций за 2,5 часа программа выдала результат.
Пароль Property123

Радужные таблицы

В примере у нас довольно сложный алгоритм шифрования. Если вы подбираете, например, хеш к MD5 за разумное время, и ваш пароль так и не подобран, имеет смысл обратить внимание на последний аргумент — радужные таблицы. Это расчетные значения хешей для всех распространённых паролей, которые были посчитаны и сохранены в условной таблице. Зная алгоритм хеширования, можно загрузить таблицу в память и провести поиск нужного хеша. Обычно они используются для подбора большого количества паролей в кратчайшие сроки, например, всех утекших паролей к веб-приложению, но это другая история.

На сегодняшний день есть два проекта, поддерживающие различные типы хешей:

  • Rainbowcrack — поддерживает четыре алгоритма хеширования: LN/NTLM, MD5 и SHA-1
  • rcracki_mt или rcracki для Linux -MD4, MD5, DoubleMD5, SHA1, RIPEMD160, MSCACHE, MySQL323, MySQLSHA1, PIX, LMCHALL, HALFLMCHALL, NTLMCHALL, ORACLE

Заключение

Не обладая большими вычислительными ресурсами, сегодня все же можно расшифровать даже очень стойкие типы хешей. Учитывая их широкое распространение в качестве стандарта, на данный момент, многие приложения являются уязвимыми априори. Возможно, в ближайшем будущем нас ожидает переход на такие стандарты, как SHA-2 или ГОСТ_Р_34.11-2012. Пока же остается лишь пользоваться общими рекомендациями по генерации паролей:

  • Не использовать общие слова из ежедневного употребления. Их всего-то несколько тысяч.
  • Не использовать слова, после которых стоят цифры или буквенные ряды на клавиатуре. Добавив 1231231 к Qwerty, вы не сделаете пароль более защищенным. Весь словарь и маски можно перебрать за полдня.
  • Стандартные комбинации удваивания слов и т.д. легко разбираются правилами подбора, которые ориентированы на такие приемы.
  • Не использовать личную информацию. В нашем мире слишком много информации в общем публичном доступе.

Источник

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

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

  • Не грузится mac os с флешки
  • Не входит в учетную запись mac os
  • Не входит в режим восстановления mac os
  • Не включается trim mac os
  • Не видит жесткий диск при установке mac os