
ShuckNT é o script do serviço online Shuck.sh para uso on-premise. Ele foi projetado para rebaixar, converter, dissecar e "shuck" tokens de autenticação baseados no Data Encryption Standard (DES).
ShuckNT é o script do serviço online Shuck.sh para uso on-premise (experimente online!). Ele foi projetado para fazer downgrade, converter, dissecar e fazer shuck de tokens de autenticação baseados no Data Encryption Standard (DES).
Algoritmos / formatos suportados :
$99$ShuckNT baseia-se no princípio de hash shucking para otimizar a quebra e exploração de challenge-response.
Password shucking é um método de remover camadas de um hash de senha atualizado, eliminando os benefícios do seu novo algoritmo de hashing de senha e revertendo-o para o seu algoritmo mais fraco. O password shucking pode ser usado por um atacante contra senhas antigas rehashadas ou senhas pré-hash, permitindo remover ou "shuck" a forte camada externa do algoritmo de hashing de senha.
A partir de uma lista de tokens de entrada, o ShuckNT fornece :
Por trás do script do Shuck.sh, o ShuckNT é simplesmente uma busca binária eficiente e otimizada para colisões de chaves DES a partir de um subconjunto de hashes NT candidatos, cujos dois últimos bytes são conhecidos, na base de dados HIBP em binário-reverso personalizado.
Durante uma avaliação de segurança (limitada em tempo), se você capturar ~100 NetNTLMv1 (com ou sem ESS) através de uma ferramenta como o Responder, a busca pelos hashes NT correspondentes (se vazados no HIBP) leva apenas alguns segundos via Shuck.sh/ShuckNT (~10s).
O script do Shuck.sh, o ShuckNT, trata de simplificar convertendo o algoritmo criptográfico para uma forma mais fraca (sem ESS, se possível, em formato gratuito para o Crack.Sh ou diretamente em formato de hash NT se vazado no HIBP). Assim, um challenge NetNTLMv1-ESS/SSP, PPTP VPN ou MSCHAPv2 (pago e demorado no Crack.Sh) pode potencialmente ser "shucked" instantaneamente e de graça!
A ideia inicial do Shuck.sh/ShuckNT nasceu do desejo de economizar tempo durante avaliações de segurança para clientes, de não depender de um serviço online de terceiros cuja disponibilidade não é necessariamente contínua e de poder ser localmente autônomo.
O processo de instalação consiste em:
Comandos de instalação:
# 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
A geração da base de dados no formato esperado pelo ShuckNT deve ser feita num sistema Unix/Linux.
O uso do ShuckNT com uma base de dados válida foi testado em Windows/Linux com PHP7/8+.
Por favor, note que o ShuckNT usa a extensão PHP-OpenSSL com o algoritmo DES-ECB. Portanto, para versões modernas de PHP com OpenSSL3, ative o provedor legado.
Checksums para cada etapa:
$ 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