Взлом 7-Zip-архивов (08.06.2025). |
![]() |
2025 - Июнь | |
08.06.2025 00:00 | |
Если ранее думалось, что взламываемый объект замедляет проверку каждого пароля путём обращения к себе, - оказалось гораздо проще: хеш выкусывается из объекта - и тупо в оперативной памяти программы взлома хранится. То есть, никаких задержек нет - и разгадка пароля ограничивается только частотой процессора, типом процессора и многопоточностью. И словарями готовыми под 330ГБ/шт с алгоритмами мутации, ускоряющими взлом лёгких паролей, - поэтому пароль "Qwerty772346" не спасёт от быстрого взлома. Осталось только смакетировать. Однако специализированные утилиты, в отличие от предлагаемого юзерам программ, - требуют более детального изучения из-за своих скрытых особенностей: - например, пользователям предлагается Advanced Archive Password Recovery: подсунул архив с паролем - и вся работа. Однако программа использует процессор на 100% - проверяя при этом 146 паролей в секунду. Сильно медленнее, чем сотни миллиардов, - заколебёшься расшифровывать - зато к видеокарте нет требований. Однако такая программа выглядит полной бессмыслицей: она именно к архиву обращается, с ним невозможно работать в это время, - неправильные алгоритмы работы с паролями - и за такую шнягу просят 50$. Зато её можно использовать, чтобы Intel i5-10400 2020 года выпуска за 15к - отсосал в 3-й раз у Intel Xeon E5-2696 V2 2013 года выпуска за 6.3к: выжимает 220 паролей в секунду; - неизвестная широкому кругу людей, специализированная утилита 7z2hashcat (не пошла в Windows 7, запустилась в WinPE Windows 11) выкусила хеш из запароленного архива с паролем "130385" - за 1.5с (7z2hashcat64-2.0.exe archive.7z > hash.txt). Всё, архив больше не нужен - отвязались от объекта взлома; - этот хеш использовался при запуске утилиты hashcat (требует OpenCL [Пакет совместимости OpenCL™, OpenGL® и Vulkan® Installer] и .NET v.4.0 - в WinPE не работает), без указания каких-либо словарей и настроек (hashcat.exe -m 11600 hash.txt). Т.е., программа использует весь набор существующих символов и регистров клавиатуры). 11600 - число, дающее понять программе, что хеш от 7-Zip. Если просмотреть весь список расшифровываемых хешей - станет понятен масштаб этой утилиты (и общего писеца с паролями): там даже VirtualBox есть (27500, 27600) с VMware (27400) - и MD5 с солью, и даже Joomla. А теперь, чего мне стоило получить результаты этой утилитой hashcat: - конфигурация виртуальной машины VirtualBox (Windows 10 x64, 1 поток i5-10400 1.45ГГц, 8ГБ RAM) - не заимела смысла. Потому что hashcat крутит хеши именно на видеокарте - ей требуются корректно установленные видеодрайверы, а в виртуальных машинах такую технологию пока не видно (впрочем: "Суслика видишь? Вот и я не вижу. А он есть..."); - на реальном ПК: установив в WinPE Windows 11 видеодрайвер к GeForce 210 из драйверпака - hashcat не завелась, и даже на нормальной Windows 10 не завелась. Утилите подавай и драйвер выше v.440.64, и CUDA Toolkit новую (прямым текстом пишет) - не каждая видеокарта для расшифровки паролей подойдёт. CUDA v.12.9 весом 3.3ГБ, волшебным образом ставится на GeForce 210, у которой нет CUDA аппаратно, - не заимело смысла; - поэтому пришлось тащить хеш домой и пытаться расшифровывать глубокой ночью во тьме, при свете жалкого ночника, на AMD RX 580. Расшифровка получилась крайне занимательная: - крайне желательно сделать cd для директории с hashcat, чтобы она стала в cmd директорией по умолчанию. Иначе возможны ложные ошибки об отсутствии OpenCL; - когда все условия были выполнены, и утилита подготовила видеокарту к расшифровке (в т.ч. показав лимит температуры 90 градусов), - она упала. Видно с помощью MSI Afterburner: у видеокарты резкий всплеск энергии - температура растёт с 38 градусов до 65. Видно с помощью диспетчера устройств: утилита дополнительно выделяет себе 215МБ памяти. Но падает. Либо с ОС проблема (старая Windows 7), либо с драйверами (установлены в диспетчере устройств без софта-обвеса от AMD, а диск с родными драйверами выброшен), либо с видеокартой (перегрев или несовместимость); - значит, надо поставить голую Windows 10, новые родные драйверы - на другой диск (был разбит раньше на разделы). И тут инсталлятор винды начинает такими ошибками сыпать, что в эту ночь ничего не получилось. То не устанавливается в нужный раздел. То не может последний раздел между двумя нераспределёнными пространствами удалить. То пишет все зелёные галки, а при завершении - ошибка 0xC5, как будто с носителем что-то не в порядке (Victoria показала норму). Дошло только утром после сна (и интернет это подтвердил): инсталлятор Windows 10 глючит из-за соседнего диска M.2 - нужно ставить Windows 11; - пока Windows 11 дома не установлена, в утилите нашёлся параметр -D, отвечающий за переключение между GPU (2) и CPU (1). Нацелился на i5-10400: с учётом, что его турбо-режим есть лютое днище, - считать частоты ядер номинальными и суммарную частоту 17.4ГГц. Однако утилита требует то, что нужно для её работы с GPU, - даже при работе с CPU. То есть, пришлось запускать дома на E5-2696 V2; - но до запуска дело не дошло. Windows 11 мало того, что сама установилась без Windows Boot Manager и не запустилась корректно (возможно, несовместима с материнской платой) - так ещё и убила Windows 7 на соседнем диске; - ну, то есть, куча времени потеряна зря - и ничего не расшифровалось. Крик ярости было слышно в соседнем помещении. Пришлось на работе на чужом компьютере взламывать, скрываясь ото всех в лучах яркого палящего солнца и в сонных утренних часах. Видеокарта, естественно, другая: GeForce GTX 1050 2016 года выпуска - ещё старее, чем RX 580 2017 года. 640 виртуальных ядер CUDA, Windows 10 x64 v.22H2, драйверы последние чуть ли не мая 2025 года v.576.52, CUDA в составе драйвера - всё соответствует системным требованиям утилиты. И при установке драйвера выдаётся такая хрень: Накачал кучу драйверов постарше дома - 9ГБ сжатые, 35ГБ распакованные, 12шт - ни одна из версий 566.03-576.40 не подошла: та же ошибка, и проверка совместимости - занимала 8мин каждая. А версий ниже - на сайте производителя нет (их можно найти только поиском в гугле). Значит, Nvidia подлизывает Microsoft: "завершая" поддержку не такой уж старой версии Windows 10 таким замысловатым способом. Что ж, в ход идут другие решения. Был найден драйвер версии 472.12, но его установка также пошла криво. Пришлось удалять ценное. Если раньше можно было поставить несколько разных драйверов от разных видеокарт Nvidia и спокойно с внешним диском от ПК к ПК без перенастройки цепляться - то теперь ситуация изменилась. Установщик просто взял и похерил (но не удалил) старый драйвер - при этом отказавшись ставиться дальше. То есть, нужно в программах удалить продуктов 10 Nvidia - каждый из которых, опять же, подготавливается к удалению минут 8 - а потом удаляется за 15с. Был ещё какой-то 3-й скрин ошибки установки - но затерялся в ярости: РААААААААААААРРРРРРРРРРРРРР!11 Утилита после всего этого - запустилась и занялась расшифровкой. Таким образом, формируется дополнительное вероятное системное требование для hashcat: ОС - от Windows 10. Однако утилита расшифровывала ну крайне медленно (было сомнение, что вообще от GPU, а не CPU, работает): для новых видеокарт достаточно стандартного параметра -m, но для старых - ещё и дополнительную настройку ускорения: -a 3 (брутфорс), -O (уменьшение разрядности пароля до 32 символов). Утилита сама подсказывает, что ей примерно нужно для ускорения. При параметре -a 3: утилита зашевелилась - но с особенностями: - при том же файле хеша - потребовала 307МБ RAM, а также откусила от процессора 12% (1 поток? Пока неясно). Также неясно, используется ли 640 виртуальных ядер CUDA: в настройках ядра написано "Pure kernel". И неясно, что пишет о частоте 3.5ГБ RAM (чьей?); - утилита медленно разгоняется. 1-значный пароль разгадывает со скоростью 1 пароль в секунду, 2-значный - 34, 3-значный - 415, 4-значный - 2800. Потом выясняется, что скорость в рамках одной длины пароля падает - поэтому 2800 считать 2000 как для 4-значного, так и для 5-значного пароля. То есть, выгодно параллельно запускать 1-2 пароля расшифровывать на Advanced Archive Password Recovery (как раз: "быстро" и бесплатно). А более сложные - hashcat (её скорость быстрее процессора - уже доказано); - утилита расставляет чекпоинты - как-то можно начать дорасшифровывать хеш, если работа программы прерывается. Пока нужно остановиться, иначе этот материал разрастётся до простыни (эта утилита, однозначно, требует глубокого изучения), - требуется его 2-я часть. Сейчас идёт расшифровка "130385" - программа брутфорсит его, как минимум, двумя регистрами английского языка и цифрами. Потом будут дописаны как время расшифровки без параметров, так и с другими параметрами; а также разница между использованием GPU и CPU конкретно этого ПК. Убийственный интернет-результат RTX 3090 - можно доубивать только математикой. Если пароль сложный - он использует весь набор символов (русский и английский алфавит, 2 регистра, цифры, спецсимволы). Получается, 66 русских букв, 52 английских, 10 цифр, ~25 спецсимволов - максимальное количество попыток будет 153длина_пароля. То есть, время (максимальное) разгадывания 8-значного самого сложного пароля на RTX 4090 - до 508ч - до 21.18дн. Вот будет план по раскрытию хранения порнухи у физлиц - отдел "Кэ" вычислит пароль максимум за 21 день - штраф 100-300к по ст.242 УК РФ (изъятый системник можно хранить до 10+30 дней по ст.81.1 п.1-2 УПК РФ). Поэтому правильным путём составления очень надёжного пароля, исходя из реально возможной скорости расшифровки 165млрд/с: становится не просто увеличение его длины с регистром и циферками (такой 8-значный англоязычный пароль отгадывается до 0.36ч) - а мешать английский и русский алфавиты (чтобы 628 превратилось хотя бы в 1288 (до 121ч - мало!) - и только потом длину пароля уже наращивать. А для обычных пользователей: 11-значный пароль с английскими буквами разного регистра и цифрами - 6211 - до 88084ч - до 3670 дней - вот это уже терпимо (в отличие от 10-значного до ~59 дней, что уже приближается к 40 дням УПК РФ). То есть, теория о минимальной длине пароля 11 - подтверждена полностью (ведь, если он начинается с "0" - он может быть взломан за 59 дней + 1с - как 10-значный), и этой длиной - точно не стоит шифровать архивы бухгалтерии или чего похлеще. Разное: - утилита RainbowCrack не приняла хеш ни от 7z2hashcat, ни от самодельных исходников; - мои исходники из прошлого материала: обрабатывали 241495 паролей за 0.11с - 2.195.409 паролей в секунду. Процессор имеет 12 потоков - при многопоточности будет 26.344.908 паролей в секунду. Но это просто для MD5, а не SHA256 у 7-Zip; - дублирование одинаковых частей пароля в самом себе - также не спасёт из-за наличия у hashcat разных режимов атаки: брутфорс (использовался в материале и в расчётах), комбинаторная атака, гибридная атака, атака по маске, перестановочная атака, атака на основе правил, табличная атака, атака с переключением регистра;- если пользоваться hashcat с режимом по умолчанию -D 2 (GPU) - нужно быть на 100% уверенным в исправности вентиляторов, термопасты и прокладок видеокарты; - взлом сайта становится тоже простым делом. Достаточно из БД умыкнуть хеши логина и пароля - и расшифровать их. И тут вырисовывается проблема: именно на сайте - пароли не менялись года с 2008; - попадаются разные статьи, сравнивающие скорость hashcat на CPU и GPU. Не совсем корректные сравнения в принципе (и здесь тоже) - но ЦП всегда медленнее, и небрежно было замечено одно из чисел в 100 раз; - встроенная видеокарта в составе i5-10400 (UHD 630) - не имеет в своём составе технологии CUDA. |
|
Обновлено ( 08.06.2025 20:49 ) |