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

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

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

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

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

Категории

Все категории
Loading categories
ShuckNT — ShuckNT is the script of Shuck.sh online service for on-premise use. It is design to dowgrade, convert, dissect and shuck authentication token based on Data Encryption Standard (DES). | Kitploit
Инструменты/GitHubGitHub/yanncam/shucknt
Password CrackingPassword AttacksHash AnalysisCryptographyPenetration TestingAuthentication
GitHubyanncam/shucknt

ShuckNT

ShuckNT is the script of Shuck.sh online service for on-premise use. It is design to dowgrade, convert, dissect and shuck authentication token based on Data Encryption Standard (DES).

Репозиторий
78111 год назадПроверено Kitploit

Популярное

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

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

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

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

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

Shuck.sh

🔐 ShuckNT : Снятие оболочки с хэша перед попыткой взлома | скрипт Shuck.sh

ShuckNT — это скрипт онлайн-сервиса Shuck.sh для локального использования (попробуйте онлайн!). Он предназначен для понижения (downgrade), конвертации, разбора и снятия оболочки (shuck) с токенов аутентификации на основе Data Encryption Standard (DES).

Поддерживаемые алгоритмы / форматы:

  • MSCHAPv2
  • NET(NT)LM
  • (LM|NT)HASH
  • PPTP-VPN $99$
  • Все с любым значением challenge!

ShuckNT опирается на принцип hash shucking для оптимизации взлома и эксплуатируемости challenge-response.

Password shucking — это метод снятия слоёв с обновлённого хэша пароля, который устраняет преимущества нового алгоритма хэширования пароля и возвращает его к более слабому алгоритму. Password shucking может использоваться атакующим против старых повторно хэшированных паролей или паролей до хэширования, позволяя снять или «содрать» (shuck) сильный внешний алгоритм хэширования пароля.

На основе списка входных токенов ShuckNT предоставляет:

  • NT-хэш мгновенно (готовый к pass-the-hash) благодаря умному поиску в последней базе данных HaveIBeenPwned (если он там есть);
  • Готовый к использованию оптимизированный токен для Crack.Sh, позволяющий заплатить меньше или ничего, если NT-хэш не найден в HIBP-DB;
  • Несколько конвертированных форматов для попыток взлома другими инструментами (hashcat, jtr, CloudCracker и т. д.):
    • Hashcat mode 5500: для взлома NetNTLMv1 до открытого текста (непредсказуемый результат, зависит от словарей, масок, правил...);
    • Hashcat mode 27000: для снятия оболочки с NetNTLMv1 до NT-хэша (непредсказуемый результат / зависит от NT-словарей...);
    • Hashcat mode 14000: для снятия оболочки с NetNTLMv1 до DES-ключей, а затем до NT-хэша (100% результат / необходимо время);
  • Все детали разбора challenge-response (PT1/2/3, K1/2/3, CT1/2/3, вхождения/кандидаты HIBP, LMresp, NTresp, challenges и т. д.).

🔍 Как это работает?

За скриптом Shuck.sh ShuckNT стоит просто эффективный и оптимизированный бинарный поиск коллизий DES-ключей по подмножеству кандидатов NT-хэшей, у которых известны последние два байта, в специальной развёрнутой бинарной базе данных HIBP.

Во время ограниченного по времени анализа защищённости, если вы захватите ~100 NetNTLMv1 (с ESS или без) с помощью такого инструмента, как Responder, поиск соответствующих NT-хэшей (если они утекли в HIBP) займёт всего несколько секунд через Shuck.sh/ShuckNT (~10 с).

Скрипт Shuck.sh/ShuckNT берёт на себя упрощение, преобразуя криптографический алгоритм в более слабую форму (без ESS, если возможно, в бесплатном формате для Crack.Sh или сразу в формат NT-Hash, если пароль утёк в HIBP). Таким образом, challenge NetNTLMv1-ESS/SSP, PPTP VPN или MSCHAPv2 (платный и трудоёмкий на Crack.Sh) потенциально может быть сшакан мгновенно и бесплатно!

Изначальная идея Shuck.sh/ShuckNT родилась из желания экономить время при анализе защищённости заказчиков, не полагаться на сторонний онлайн-сервис, доступность которого не обязательно непрерывна, и иметь возможность быть локально автономными.

🔨 Установка ShuckNT / Подготовка базы данных HIBP

Процесс установки состоит из следующих шагов:

  • Получите проект ShuckNT;
  • Подготовьте базу данных HaveIBeenPwned (однократно, занимает несколько минут) (эти шаги выполняются в среде Unix/Linux):
    • Скачайте последнюю версию базы данных HaveIBeenPwned с NT-хэшами, упорядоченными по хэшам (несколько ГБ) (зеркало или через торрент);
    • Распакуйте эту базу данных с помощью 7zip;
    • Разверните все хэши этой базы данных напрямую скриптом ShuckNT;
    • Отсортируйте все развёрнутые хэши;
    • Преобразуйте эту новую базу данных в бинарный формат напрямую скриптом ShuckNT (или с помощью HIBP_PasswordList_Slimmer моего друга @JoshuaMart :));
  • Наслаждайтесь ShuckNT!

Команды установки:

root@kitploit:~
# Install dependencies
apt install p7zip-full php git

# Get ShuckNT tool
git clone https://github.com/yanncam/ShuckNT
cd ShuckNT

# Prepare HaveIBeenPwned database (one time only, takes several minutes)
## Download latest HIBP-DB (can take severals minutes...)
wget https://downloads.pwnedpasswords.com/passwords/pwned-passwords-ntlm-ordered-by-hash-v8.7z
## Extract HIBP-DB (can take severals minutes...)
7z e pwned-passwords-ntlm-ordered-by-hash-v8.7z
## Reverse all hashes (can take severals minutes...)
php shucknt.php -r pwned-passwords-ntlm-ordered-by-hash-v8.txt -t pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed
## Sort all reversed-hashes (can take severals minutes...)
sort pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed -o pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted
## Convert to binary format (can take severals minutes...)
php shucknt.php -b pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted -t pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin
## Free space to keep only pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin
rm -f pwned-passwords-ntlm-ordered-by-hash-v8.7z
rm -f pwned-passwords-ntlm-ordered-by-hash-v8.txt
rm -f pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed
rm -f pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted

# Enjoy ShuckNT via commandline, or web http://[HOST]/shucknt.php
php shucknt.php -h

Генерация базы данных в формате, ожидаемом ShuckNT, должна выполняться в системе Unix/Linux.

Использование ShuckNT с валидной базой данных протестировано в Windows/Linux с PHP7/8+.

Обратите внимание, что ShuckNT использует расширение PHP-OpenSSL с алгоритмом DES-ECB. Поэтому для современных версий PHP с OpenSSL3 включите legacy provider.

Контрольные суммы для каждого шага:

root@kitploit:~
$ sha1sum pwned-passwords-ntlm-*
225a993a908e3d73ffa68859c4f128e17359358e  pwned-passwords-ntlm-ordered-by-hash-v8.7z
4b6c4728c21f64d6a58c7b63d98dcf342c068407  pwned-passwords-ntlm-ordered-by-hash-v8.txt
88094c4a332ecfac9a15c23ba886194d1810b0b2  pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed
d5486dfbf960f36ff0e1cf313a1b80db5cd4137f  pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted
31a5c1b605cca5bcf71196c70f291c05aa3fe86c  pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin

$ sha256sum pwned-passwords-ntlm-*
ea83d536387e6b149f2e362bf7dfbf521523812611359f47620fd44dae9770ee  pwned-passwords-ntlm-ordered-by-hash-v8.7z
916cfd1772d24f2fe99aa5f37d4a465359c7b6f7d39f45ffbf27deca697b7116  pwned-passwords-ntlm-ordered-by-hash-v8.txt
76f9e101801dfc44489cad4edec5f14d634c2b4676bb9ffbc7e9968c9a5356a5  pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed
6ee13a35ed88e8073be088a20560cb9fefcc6d08e599241244eaee01dc053a44  pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted
ac2f6bf681fbe636b94f3ce3f2b594ef3d0af7671375478db1153874e8a5d873  pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin

🔥 Демонстрация / Пример / Как использовать?

ShuckNT — это автономный PHP-скрипт без каких-либо зависимостей. Его можно использовать из командной строки CLI или через веб-браузер.

Автономный скрипт командной строки CLI

Справка, аргументы и синтаксис:

root@kitploit:~
$ php shucknt.php -h
 __ _                _        __  _____
/ _\ |__  _   _  ___| | __ /\ \ \/__   \
\ \| '_ \| | | |/ __| |/ //  \/ /  / /\/
_\ \ | | | |_| | (__|   </ /\  /  / /
\__/_| |_|\__,_|\___|_|\_\_\ \/   \/  v1.0
DES-based authentication token shucker (https://shuck.sh)
@author : ycam | @asafety.fr / @yann.cam

ShuckNT is design to dowgrade, convert, dissect and shuck authentication token based on Data Encryption Standard (DES).
Algorithms / formats supported :
        - NetNTLMv1(-ESS/SSP)
        - MSCHAPv2
        - NET(NT)LM
        - (LM|NT)HASH
        - PPTP-VPN $99$
        - All with any challenge value!

ShuckNT rely on "hash shucking" principle to optimize challenge-response cracking and exploitability.

From a list of input tokens, ShuckNT provides :
- The NT-hash instantly (pass-the-hash ready) through a smart-research in the HaveIBeenPwned latest database (if present);
- The Crack.Sh ready-to-use optimized token, to pay less or nothing if NT-hash not found in HIBP-DB;
- Several converted formats to try to crack them via other tools (hashcat, jtr, CloudCracker, etc.) :
        - Hashcat mode 5500 : to crack NetNTLMv1 to plaintext (unpredictable result, depend on wordlists, masks, rules...);
        - Hashcat mode 27000: to shuck NetNTLMv1 to NT-hash (unpredictable result / depend on NT-wordlists...);
        - Hashcat mode 14000: to shuck NetNTLMv1 to DES-keys then NT-hash (100% result / time needed);
- All the details of the dissection of the challenge-response (PT1/2/3, K1/2/3, CT1/2/3, HIBP occurences/candidates, LMresp, NTresp, challenges, etc.).

Use '-h' to print help.

usage: php shucknt.php  [-h] [-f tokens.txt] [-i 'tokenValue'] [-w wordlist.bin] [-o json|stdout|web] [-v]
                        [-r input_wordlist.txt] [-b input_wordlist_reversed_sorted.txt] [-r output_wordlist] [-j]

Arguments details:

        -h                      Print this help
        -f tokens.txt           Input tokens file, one per line.
        -i 'tokenValue'         Inline input token from stdin.
        -w wordlist.bin         Specific binary-reversed-sorted-wordlist to use.
        -o json|stdout|web      Commandline output in json, stdout or web format.
        -v                      Verbosity for stdout output format only.
        -r input_wordlist.txt   Input wordlist file to be reversed.
        -b input_wordlist.txt   Input reversed-sorted-wordlist file to be binarized.
        -r output_wordlist      Output file for reversal or binarization.
        -j                      Do not display header (for json output).

Это типичные команды ShuckNT, используемые в различных ситуациях:

root@kitploit:~
        # Shuck tokens from an input file to stdout with verbosity:
        php shucknt.php -f tokens.txt -w pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin -v

        # Shuck token from stdin to json output:
        php shucknt.php -i '$99$1a7F1qr2HihoXfs/56u5XMdpDZ83N6hW/HI=' -w pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin -o json -j

        # Shuck token from stdin to light stdout (use default wordlist defined as constant in script):
        php shucknt.php -i 'ycam::ad:DEADC0DEDEADC0DE00000000000000000000000000000000:70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:1122334455667788'

        # Reverse HIBPDB to output file:
        php shucknt.php -r pwned-passwords-ntlm-ordered-by-hash-v8.txt -t pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed

        # Binarize HIBPDB already reversed and sorted to output file:
        php shucknt.php -b pwned-passwords-ntlm-ordered-by-hash-v8.txt-reversed-sorted -t pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin

Мгновенно снимите оболочку с токена аутентификации NetNTLMv1 с ESS/SSP до соответствующего NT-хэша, из stdin (с базой HIBP-DB по умолчанию) и подробным выводом:

root@kitploit:~
$ php shucknt.php -i 'ycam::ad:DEADC0DEDEADC0DE00000000000000000000000000000000:70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:1122334455667788' -v
[...]
1 hashes-challenges analyzed in 0 seconds, with 1 NT-Hash instantly broken for pass-the-hash and 0 that can be broken via crack.sh for free.

[INPUT] ycam::ad:DEADC0DEDEADC0DE00000000000000000000000000000000:70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:1122334455667788
        [USERNAME] ycam
        [DOMAIN] ad
        [LMRESP] DEADC0DEDEADC0DE00000000000000000000000000000000
        [NTRESP] 70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED
                [CT1] 70C249F75FB6D2C0
                [CT2] AC2C2D3808386CCA
                [CT3] B1514A2095C582ED
        [ESS] YES
                [CLIENTCHALL] 1122334455667788
                [SERVERCHALL] DEADC0DEDEADC0DE
        [CHALLENGE] C85086419358F950
        [NTHASH-SHUCKED] 93B3C62269D55DB9CA660BBB91E2BD0B
                [HIBP-CANDIDATES] 12778
                [HIBP-OCCURENCE] 15
                [PT1] 93B3C62269D55D
                [PT2] B9CA660BBB91E2
                [PT3] BD0B
                [K1] 93D9F1C5274F55BB
                [K2] B9E599C1BBDD47C5
                [K3] BD85C10101010101
        [CRACK.SH-TOKEN] $NETLM$C85086419358F950$70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED (20-300$)
        [FORMAT-NETNTLMV1-NO-ESS] ycam::ad::70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:C85086419358F950
        [FORMAT-MSCHAPV2] $MSCHAPv2$C85086419358F950$70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED$
        [FORMAT-NET(NT)LM] $NETLM$C85086419358F950$70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED
        [FORMAT-PPTP] $99$yFCGQZNY+VBwwkn3X7bSwKwsLTgIOGzKvQs=

Мгновенно обработайте множество токенов аутентификации поддерживаемых форматов до соответствующих NT-хэшей, из входного файла (с указанной HIBP-DB) и простым выводом:

root@kitploit:~
$ php shucknt.php -f tokens-samples.txt -w pwned-passwords-ntlm-reversed-ordered-by-hash-v8.bin
[...]
10 hashes-challenges analyzed in 3 seconds, with 8 NT-Hash instantly broken for pass-the-hash and 1 that can be broken via crack.sh for free.

[INPUT] $99$1a7F1qr2HihoXfs/56u5XMdpDZ83N6hW/HI=
        [NTHASH-SHUCKED] DE26CCE0356891A4A020E7C4957AFC72

[INPUT] LMHASH:2B56DAEB658F9FE977BD3B61E7976684388EF712DB95C6F8
        [NTHASH-SHUCKED] C780C78872A102256E946B3AD238F661

[INPUT] NTHASH:D4ACBAA3CD626E2A074D76C7491D332F8FB8989968E88736
        [NTHASH-SHUCKED] C22B315C040AE6E0EFEE3518D830362B

[INPUT] ycam::ad:DEADC0DEDEADC0DE00000000000000000000000000000000:70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:1122334455667788
        [NTHASH-SHUCKED] 93B3C62269D55DB9CA660BBB91E2BD0B

[INPUT] $NETNTLM$4803CB182E23B79A$BA4DA703C6A056727CC7B62FFA065970D5D400F18D02C6D1
        [NTHASH-SHUCKED] 8E2FDD50C6FB5D0E22E2455394D98D2A

[INPUT] user::domain.tld:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:727B4E35F947129EA52B9CDEDAE86934BB23EF89F50FC595:1122334455667788
        [NTHASH-SHUCKED] 8846F7EAEE8FB117AD06BDD830B7586C

[INPUT] $MSCHAPv2$1337133713371337$F93A1DB1C044133F52582EFDA5C31667EBBE6F8F2814E539$root
        [NTHASH-SHUCKED] 209C6174DA490CAEB422F3FA5A7AE634

[INPUT] $NETLM$FE2CFD84F6C7DEF8$852074A98A9B2AF70D59D449AD0F9B898B4A9455C7B90CE7
        [NTHASH-SHUCKED] 0A42BC909E226C6F8FFCBAA6AB0DA43D

[INPUT] $99$ESIzRFVmd4i8671kB52wcm9qK5VdJR7lJKU=
        [CRACK.SH-TOKEN] NTHASH:BCEBBD64079DB0726F6A2B955D251EE57D6DD8A109D77A0D (0$)

[INPUT] x::x:FEC7A34F78C17A9700000000000000000000000000000000:E875F0A28BD7729D071D7DF05272B0FB4549AE926FE36255:1122334455667788
        [CRACK.SH-TOKEN] $NETLM$1A6A5C911D8A4DF2$E875F0A28BD7729D071D7DF05272B0FB4549AE926FE36255 (20-300$)

Обработка токенов с выводом только в JSON:

root@kitploit:~
$ php shucknt.php -f tokens-samples.txt -o json -j
[...]
    {
        "type": "NetNTLMv1 (ESS\/SSP)",
        "description": "NetNTLMv1 (ESS\/SSP) type with C85086419358F950 as challenge",
        "token": "ycam::ad:DEADC0DEDEADC0DE00000000000000000000000000000000:70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:1122334455667788",
        "user": "ycam",
        "domain": "ad",
        "lmresp": "DEADC0DEDEADC0DE00000000000000000000000000000000",
        "ntresp": "70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED",
        "ct1": "70C249F75FB6D2C0",
        "ct2": "AC2C2D3808386CCA",
        "ct3": "B1514A2095C582ED",
        "ess": true,
        "clientchallenge": "1122334455667788",
        "serverchallenge": "DEADC0DEDEADC0DE",
        "challenge": "C85086419358F950",
        "deskeys": {
            "k1": "93D9F1C5274F55BB",
            "k2": "B9E599C1BBDD47C5",
            "k3": "BD85C10101010101"
        },
        "nthash": "93B3C62269D55DB9CA660BBB91E2BD0B",
        "pt1": "93B3C62269D55D",
        "pt2": "B9CA660BBB91E2",
        "pt3": "BD0B",
        "reversePt3": "B0DB",
        "HIBPcountCandidates": 12778,
        "HIBPoccurence": 15,
        "crackshToken": "$NETLM$C85086419358F950$70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED (20-300$)",
        "h4m14000": "echo \"70C249F75FB6D2C0:C85086419358F950\">14000.hash;echo \"AC2C2D3808386CCA:C85086419358F950\">>14000.hash;hashcat -m 14000 -a 3 -1 charsets\/DES_full.charset --hex-charset 14000.hash ?1?1?1?1?1?1?1?1",
        "h4m5500": "echo \"ycam::ad::70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:C85086419358F950\">5500.hash;hashcat -m 5500 -a 3 5500.hash ?a?a?a?a?a --increment",
        "h4m27000": "echo \"ycam::ad::70C249F75FB6D2C0AC2C2D3808386CCAB1514A2095C582ED:C85086419358F950\">27000.hash;hashcat -m 27000 -a 0 27000.hash nthash-wordlist.txt"
    }
[...]

Автономный скрипт для веб-браузера

Разместите ShuckNT на веб-сервере (Apache, Nginx и т. п.) с поддержкой PHP 7/8+:

ShuckNTweb

🧰 Чтобы углубиться...

Онлайн-сервис Shuck.sh, реализующий инструмент ShuckNT, предоставляет множество подробностей и FAQ.

На сайте также доступен динамический Генератор, позволяющий по паролю в открытом виде или NT-хэшу наблюдать механизмы алгоритма генерации токена аутентификации (NetNTLMv1(-ESS/SSP), MSCHAPv2, PPTP-VPN и т. д.).

Наконец, на сайте также доступен динамический Конвертер, который позволяет по токену аутентификации (NetNTLMv1(-ESS/SSP), MSCHAPv2, PPTP-VPN и т. д.) подробно показать его разбор и даже получить соответствующий NT-хэш, если предоставлены DES-ключи K1 и K2 (например, после атаки DES-KPA).

🍻 Благодарности

  • Спасибо Crack.sh за их отличный онлайн-сервис, который остаётся незаменимым!
  • Спасибо также Трою Ханту из HaveIBeenPwned за постоянное повышение осведомлённости об утечках паролей.
  • Спасибо всему сообществу Hashcat за их увлекательные исследования, инструменты и техники!
  • Спасибо zarbibi за помощь, когда бинарные операции вызывали у меня головную боль.
  • Привет всей команде Le££e :)
Скачать инструмент