" title="Написать письмо">Написать письмо
Донаты на карту ВТБ:
2200 4002 2461 6363

Статистика

Пользователи : 1
Статьи : 2178
Просмотры материалов : 8145857
 
Взлом 7-Zip-архивов (08.06.2025). Печать E-mail
2025 - Июнь
08.06.2025 00:00
Save & Share
Ранее взламывал абстракцию - на взлом 6-значного пароля ушло менее секунды (хоть и с оговорками - несколько секунд без них взламывался бы). Статья на хабре пользователя AlexHost "Взлом хешей с помощью HashCat" 2021 года - показала, что проблема гораздо серьёзнее. А математика и макетирование - вбили окончательный гвоздь в гроб коротких паролей, какими бы сложными они ни были (и ещё статья на хабре пользователя SovaSova15 "Прошлое, настоящее и будущее взлома паролей" 2024 года: 164.1млрд паролей/с на одной RTX 4090).



Если ранее думалось, что взламываемый объект замедляет проверку каждого пароля путём обращения к себе, - оказалось гораздо проще: хеш выкусывается из объекта - и тупо в оперативной памяти программы взлома хранится. То есть, никаких задержек нет - и разгадка пароля ограничивается только частотой процессора, типом процессора и многопоточностью. И словарями готовыми под 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 )
 
 

Последние новости


©2008-2025. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru