Co to jest hash?

Hash to ciąg znaków o stałej długości, generowany z danych wejściowych przy użyciu matematycznego algorytmu zwanego funkcją skrótu. Pomyśl o tym jak o cyfrowym odcisku palca — bez względu na rozmiar oryginalnego pliku lub tekstu, hash będzie zawsze miał taką samą długość. Nawet minimalna zmiana danych wejściowych powoduje całkowicie inny hash, co czyni go przydatnym do weryfikacji integralności danych.

Jak działają funkcje skrótu?

Funkcje skrótu przyjmują dowolne dane wejściowe (hasło, plik lub wiadomość) i przetwarzają je przez złożone operacje matematyczne, aby wygenerować unikalny wynik. Ten proces jest jednostronny, co oznacza, że nie można odtworzyć oryginalnych danych wejściowych z hash. Popularne algorytmy skrótu obejmują MD5 (128-bitowy), SHA-1 (160-bitowy), SHA-256 (256-bitowy) oraz nowoczesne funkcje hashowania haseł, takie jak bcrypt i Argon2.

Dlaczego identyfikować typy hash?

Podczas analizowania systemów bezpieczeństwa, odzyskiwania haseł lub audytu baz danych często napotyka się ciągi hash bez wiedzy, który algorytm je stworzył. Identyfikacja typu hash jest kluczowym pierwszym krokiem przed podjęciem dalszej analizy. Różne długości i formaty hash dostarczają wskazówek o użytym algorytmie, ale wiele hash posiada podobne cechy, co sprawia, że ręczna identyfikacja jest trudna.

Opis narzędzia

To narzędzie analizuje ciągi hash i identyfikuje potencjalne algorytmy hash w oparciu o ich długość, format i strukturę. Wystarczy wkleić wartość hash, a narzędzie natychmiast dopasuje ją do znanych wzorców ponad 40 typów hash, wyświetlając wyniki posortowane według prawdopodobieństwa. Rozpoznaje standardowe skróty kryptograficzne (MD5, rodzina SHA, BLAKE2), formaty hashowania haseł (bcrypt, Argon2, scrypt, PBKDF2), warianty Unix crypt oraz hash specyficzne dla aplikacji używane przez MySQL, WordPress, Drupal i Django.

Funkcje

  • Natychmiastowa identyfikacja — Wyniki pojawiają się podczas wpisywania bez opóźnienia przetwarzania
  • Ponad 40 obsługiwanych typów hash — Obejmuje hash kryptograficzne, hash haseł i formaty specyficzne dla aplikacji
  • Ranking prawdopodobieństwa — Wyniki sortowane według prawdopodobieństwa (wysokie, średnie, niskie), aby pomóc zawęzić możliwości
  • Wyświetlanie długości hash — Pokazuje liczbę znaków, aby szybko zweryfikować format hash
  • Wykrywanie oparte na wzorcach — Rozpoznaje hash szesnastkowe i strukturalne formaty, takie jak bcrypt i Argon2

Przypadki użycia

  • Audyt bezpieczeństwa — Identyfikacja algorytmów hash używanych w wyciekłych zrzutach baz danych lub plikach konfiguracyjnych w celu oceny stanu bezpieczeństwa
  • Analiza sądowa — Analiza nieznanych wartości hash znalezionych podczas cyfrowych dochodzeń
  • Debugowanie rozwoju — Weryfikacja, który algorytm hashowania generuje Twoja aplikacja podczas rozwiązywania problemów z systemami uwierzytelniania
  • Konkursy CTF — Szybka identyfikacja typów hash w wyzwaniach bezpieczeństwa capture-the-flag

Obsługiwane typy hash

Hash kryptograficzne:

  • MD2, MD4, MD5, Podwójny MD5
  • SHA-0, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
  • SHA3-224, SHA3-256, SHA3-384, SHA3-512
  • RIPEMD-160, Tiger-160, Tiger-192
  • BLAKE2s-256, BLAKE2b-512
  • Whirlpool, Haval (160/192/224/256-bitowy)
  • GOST R 34.11-94, Snefru-256
  • CRC-32, CRC-32B, Adler-32

Funkcje hashowania haseł:

  • bcrypt (oparty na Blowfish)
  • Argon2 (warianty i, d, id)
  • scrypt
  • PBKDF2 (SHA-1, SHA-256, SHA-512)

Formaty Unix crypt:

  • MD5 crypt ($1$)
  • SHA-256 crypt ($5$)
  • SHA-512 crypt ($6$)
  • Apache APR1-MD5

Specyficzne dla aplikacji:

  • MySQL 3.x i MySQL 4.1+
  • NTLM i LM Hash (Windows)
  • PHPass (WordPress, phpBB)
  • Drupal 7
  • Django PBKDF2-SHA256
  • Cisco PIX MD5

Zakodowane w Base64:

  • MD5, SHA-1, SHA-256 w formacie Base64