Ошибка в модуле hashcat

bebraeb

One Level
23.11.2025
2
0
Всем привет, недавно переписывал модуль, взятый с гитхаба на raw bytes
Исходник:

Дело в том, что выдает результат Exhausted, код просмотрел весь, не понимаю в чём проблема.
Может кто-то сможет помочь здесь, ответить что не так.
Репа: GitHub - edspecialmed/hashcatmodule
Для запуска
./hashcat.exe --self-test-disable -m 4540 -a 3 "52cc8adbd7a00d40973c174f297833944162451d:01rIbTytUx300851" "romeoandjuliet"
 
Давайте сравним два модуля:

Оригинальный модуль (m04530):

В kernel m04530_a3-pure.cl используется hex encoding между хешами:
Код:
// 1. SHA1(salt + password)
// 2. Конвертация результата в HEX (uint_to_hex_lower8_le)
// 3. SHA1(salt + hex_encoded_hash)
Алгоритм: sha1($salt + sha1_hex($salt + sha1($pass)))

Переписанный модуль (m04540):

В kernel m04540_a3-pure.cl используются raw bytes:
Код:
// 1. SHA1(password)
// 2. SHA1(salt.hash1) - raw bytes
// 3. SHA1(salt.hash2) - raw bytes
Алгоритм: sha1($salt.sha1($salt.sha1($pass))) - без hex encoding!

Это разные алгоритмы! В оригинале между хешами есть преобразование в hex-строку, а в переписанной версии идёт конкатенация сырых байтов. Именно поэтому hashcat выдаёт "Exhausted" - он ищет по неправильному алгоритму.

Вам надо либо:
1. Вернуть hex encoding между итерациями SHA1 в kernel (как в оригинале)
2. Или использовать оригинальный модуль -m 4530 вместо -m 4540

Тестовый вектор "romeoandjuliet" → "52cc8adbd7a00d40973c174f297833944162451d:01rIbTytUx300851" создан с алгоритмом оригинала (с hex encoding), поэтому работать будет только правильная реализация.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

Похожие темы

Популярный контент