Вопрос или проблема
В данный момент я пытаюсь взломать хеш пароля в hashcat.
Но я столкнулся с проблемой и не могу понять, как её решить.
Мне нужно иногда заменять один и тот же символ с помощью разных правил (что-то вроде sa> ИЛИ sa0
).
Есть ли простой способ это сделать?
В правилах hashcat нет логического ИЛИ, потому что сложность выражения когда вы хотите сделать одно или другое либо так проста, что легче просто сделать оба варианта, либо достаточно сложна, чтобы потребовать скриптов за пределами hashcat.
Большинство атак просто выполняют оба варианта – либо в одном файле правил, либо комбинируя несколько файлов правил с помощью -r
. Для большинства атак на основе GPU нет причин не выполнять оба варианта, чтобы обеспечить достаточную нагрузку на GPU(и) для их полного использования.
Например, если вы хотите всегда писать слово с заглавной буквы, а затем выполнить одно из замен, один файл правил будет содержать:
c sa>
c sa0
Или вы можете комбинировать два файла правил:
file1.rules:
c
file2.rules:
sa>
sa0
… а затем вызвать с -r file1.rules -r file2.rules
.
Это всего лишь два разных метода для получения одинакового окончательного набора правил, выполняемого hashcat.
Ответ или решение
В Hashcat не предусмотрена возможность использования логического ИЛИ в правилах. Это связано с тем, что ситуация, в которой вам нужно выполнить одно или другое действие, обычно либо совсем проста, и проще просто выполнить оба действия, либо слишком сложна и требует создания скрипта вне Hashcat.
В большинстве случаев, когда вы хотите попробовать несколько вариантов, проще всего просто включить оба правила в один файл правил или использовать несколько файлов правил. Для эффективного использования ваших GPU нет смысла ограничиваться одним вариантом, лучше запросить как можно больше работы.
Например, если ваша задача заключается в замене символа "a" на "@" или "0", вы можете создать один файл правил, который будет содержать следующее:
sa>
sa0
Или вы можете создать два отдельных файла правил и запустить их одновременно:
file1.rules:
sa>
file2.rules:
sa0
После этого вы сможете запустить Hashcat с указанием обоих файлов правил, используя следующую команду:
hashcat -r file1.rules -r file2.rules [ваши_другие_параметры]
Это два различных подхода, которые приведут к одинаковому результату, при этом позволяя вам использовать все возможности, которые предоставляет Hashcat.
Таким образом, для решения проблемы замены одного символа на несколько вариантов в Hashcat вам следует либо комбинировать правила в одном файле, либо использовать несколько файлов правил, не переживая о логическом ИЛИ.