
ShuckNTは、オンプレミスでの使用向けのShuck.shオンラインサービスのスクリプトです。Data Encryption Standard (DES)に基づく認証トークンをダウングレード、変換、解析、およびシュックするように設計されています。
ShuckNT は、Shuck.sh オンラインサービスのスクリプトで、オンプレミスで使用するためのものです(オンラインで試す!)。Data Encryption Standard (DES) に基づく認証トークンをダウングレード、変換、解析、およびシュックするために設計されています。
対応アルゴリズム / フォーマット :
$99$ShuckNT は、ハッシュ・シュッキング の原理に基づき、チャレンジレスポンスのクラッキングと悪用可能性を最適化します。
パスワード・シュッキング は、更新されたパスワードハッシュからレイヤーを剥がし、新しいパスワードハッシュアルゴリズムの利点を取り除き、より弱いアルゴリズムに戻す方法です。パスワード・シュッキングは、攻撃者が古い再ハッシュ化されたパスワードやプリハッシュパスワードに対して使用でき、強力な外側のパスワードハッシュアルゴリズムを剥がしたり「シュック」したりすることを可能にします。
入力トークンのリストから、ShuckNT は次を提供します :
Shuck.sh のスクリプト ShuckNT の背後にあるのは、カスタムリバースバイナリ HIBP データベース内で、最後の2バイトが既知の NTハッシュ候補のサブセットから DES 鍵の衝突を探す、効率的で最適化された二分探索 にすぎません。
セキュリティ評価(時間が限られている)の間に、Responder などのツールで約100件の NetNTLMv1(ESSあり/なし)をキャプチャした場合、対応する NTハッシュ(HIBP に漏洩している場合)の検索は、Shuck.sh/ShuckNT を使えば数秒(約10秒)しかかかりません。
Shuck.sh のスクリプト ShuckNT は、暗号アルゴリズムをより弱い形式に変換して簡素化します(可能なら ESS なしで、Crack.Sh 向けの無料フォーマット、または HIBP に漏洩している場合は直接 NTハッシュ形式)。これにより、NetNTLMv1-ESS/SSP、PPTP VPN、MSCHAPv2 のチャレンジ(Crack.Sh では有料で時間がかかる)も、即座に無料でシュックできる可能性があります。
Shuck.sh/ShuckNT の最初のアイデアは、顧客向けのセキュリティ評価中に時間を節約したい、可用性が必ずしも継続的とは限らない第三者のオンラインサービスに依存しない、ローカルで自律的に使用できるようにしたい、という願いから生まれました。
インストールのプロセスは次のとおりです:
インストールコマンド:
# 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 は、PHP7/8+ の Windows/Linux でテストされています。
ShuckNT は DES-ECB アルゴリズムで PHP-OpenSSL 拡張機能を使用することに注意してください。そのため、OpenSSL3 を搭載した最近の PHP バージョンでは、レガシープロバイダーを有効にしてください。
各ステップのチェックサム :
$ 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コマンドライン または Webブラウザ で使用できます。
ヘルプ、引数、構文:
$ 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.