Şifreleme Tanımlayıcısı

Tanımlamak için bir değer yapıştırın.

Biçimi tanımla

Bir veritabanı dökümünü incelerken $2y$10$... veya 5f4dcc3b5aa765d61d8327deb882cf99 gibi diziler görürsünüz ve kırmaya ya da tersine çevirmeye başlamadan önce neye baktığınızı bilmeniz gerekir. Bu tanımlayıcı, bir şifreli metin örneğinin arkasındaki en olası algoritmayı veya kodlamayı tahmin etmek için uzunluk, karakter seti, yapı ve ön eke dayalı sezgisel yöntemler (heuristikler) uygular.

Şifreli metni nasıl tanımlarız?

  1. 1

    Örneği yapıştırın

    Tek bir hash, şifreli metin bloğu, token veya kodlanmış karakter dizisi.

  2. 2

    Eşleşen formatları görün

    Sonuç, uyan formatları sıralar: önce en olası olanları, ardından yapıştırdığınız değerin başka ne olabileceğini gösterir.

  3. 3

    Çapraz kontrol yapın

    Birden fazla format eşleşiyorsa hangisinin doğru olduğunu doğrulamak için bir hash kırıcı veya kod çözücü kullanın.

  4. 4

    Belirsizliği göz önünde bulundurun

    Yalnızca bir örnekten yapılan tanımlama nadiren kesindir; hiçbir şey eşleşmezse araç bunu belirtir.

Tanımlayıcının tanıdığı formatlar

Hex hash’ler, uzunluklarına göre tanınır (büyük ya da küçük harf fark etmez):

Uzunluk (hex karakter) En olası
8 CRC32 veya başka bir 32 bit sağlama toplamı
32 MD5, MD4 veya NTLM
40 SHA-1 veya RIPEMD-160
56 SHA-224 veya SHA3-224
64 SHA-256 veya SHA3-256
96 SHA-384 veya SHA3-384
128 SHA-512 veya SHA3-512

Örneğin d63dc919e201d7bc4c825630d2cf25fdc93d4b2f0d46706d29038d01 56 karakterdir: “password” kelimesinin SHA-224 hash’idir.

Parola hash’leri, ön eklerine ve yapılarına göre tanınır:

  • $2a$, $2b$, $2y$: bcrypt; maliyet faktörü ön ekten okunur
  • $1$: md5crypt; $apr1$: Apache MD5 (htpasswd)
  • $5$ ve $6$: sha256crypt ve sha512crypt
  • $y$: yescrypt; $7$ ve $scrypt$: scrypt
  • $argon2id$, $argon2i$, $argon2d$: Argon2
  • $pbkdf2-sha256$ (passlib) ve pbkdf2_sha256$ (Django): PBKDF2
  • $P$ ve $H$: phpass (WordPress, phpBB); $S$: Drupal 7
  • * ve ardından 40 hex karakter: MySQL 4.1+
  • {SSHA}, {SHA} ve diğer yaygın LDAP şemaları

Yaygın durumlarda sonuç, hashcat modunu (-m) da gösterir: MD5 0, NTLM 1000, SHA-1 100, SHA-256 1400, SHA-512 1700, bcrypt 3200, md5crypt 500, sha256crypt 7400, sha512crypt 1800, phpass 400, Drupal 7 7900, MySQL 4.1+ 300 ve Django PBKDF2-SHA256 10000.

Anahtarlar, token’lar ve tanımlayıcılar:

  • PEM blokları (-----BEGIN ...-----): özel anahtarlar (RSA, EC, OpenSSH, PKCS #8), parola korumalı özel anahtarlar, açık anahtarlar, X.509 sertifikaları ve sertifika istekleri
  • ASCII zırhlı OpenPGP blokları: şifreli mesajlar (BEGIN PGP MESSAGE), anahtar blokları ve imzalar
  • OpenSSH açık anahtarları (ssh-rsa, ssh-ed25519, ecdsa-sha2-...)
  • JSON Web Token’lar: başlığın kodu çözülerek alg ve typ alanları gösterilir; enc alanı içeren beş parçalı bir token ise şifreli bir JWE’dir
  • UUID’ler ve sürümleri (hash değil, tanımlayıcıdır)

Kodlamalar, yalnızca daha belirgin bir format eşleşmediğinde:

  • Hex, Base32, Base64 ve Base64url (kodu çözülmüş uzunluk bayt cinsinden gösterilir) ile URL (yüzde) kodlaması.
  • Kodu çözülmüş uzunluğu 16 baytın katı olan hex veya Base64 veriler, AES gibi bir blok şifrenin çıktısı olabilir; uzunluk 128, 256, 384 veya 512 bayt ise RSA ile şifrelenmiş veri ya da bir imza da olabilir. 16, 20, 28, 32, 48 veya 64 baytlık Base64 ya da Base32 veriler, ham bir MD5, SHA-1 veya SHA-2 hash’i olabilir.

Tanımlamanın söyleyemeyecekleri

  • %100 kesinlikle tam algoritma. 64 hex karakterlik bir dizi SHA-256 veya SHA3-256 olarak raporlanır, ancak BLAKE2s ve diğer 256 bit hash’ler de tıpatıp aynı görünür. MD5, MD4 ve NTLM hash’lerinin hepsi 32 hex karakterdir.
  • Bir veri bloğunu hangi şifrenin şifrelediği. Şifreli veri rastgele görünür. Uzunluğu yalnızca seçenekleri daraltır; bu yüzden AES veya RSA bir olasılıktır, asla kesinlik değildir.
  • Anahtar gücü. Bir bcrypt hash’i ön ekinde maliyet faktörünü gösterir ($2y$10$ = maliyet 10), ancak parolanın kendi gücünü göstermez.
  • Tuzlanmış olup olmadığı. Modern parola hash’leri (bcrypt, Argon2) her zaman tuzlanmıştır; eskiler (ham MD5/SHA) tuzlanmış olabilir de olmayabilir de.
  • Düz metin. Tanımlama hash’i geri çevirmez; kırma ayrı bir süreçtir ve yalnızca kendi verileriniz üzerinde yasaldır.

Tanımlayıcı yanıldığında

  • Özel ön ekli token’lar. Uygulamalar bazen bir hash’i kendi ön ekiyle sarar; önce bu sarmalayıcıyı kaldırın.
  • Çift kodlama. İkili bir hash’in hex gösterimi tekrar Base64 ile kodlandığında yanlış tanımlanır. Kodu bir kez çözüp yeniden kontrol edin.
  • Alışılmadık uzunluklar. Kırpılmış hash’ler (örneğin kimlik olarak kullanılan bir SHA-256’nın ilk 16 karakteri) düz hex veri olarak görünür, çünkü bu uzunluk yukarıdaki tablodaki hiçbir hash uzunluğuyla eşleşmez.
  • Aynı anda birden fazla değer. Kontrol tek bir değeri okur. Bir hash listesi yapıştırırsanız yalnızca ilk satır kontrol edilir; diğer değerleri tek tek yapıştırın.

Kullanım örnekleri

  • Güvenlik denetimleri: bir kripto geçişi öncesinde kod tabanındaki hash türlerini kataloglamak.
  • CTF yarışmaları: bilinmeyen bir veri bloğuna hızlı ilk bakış.
  • Olay müdahalesi: sızan kimlik bilgilerinin formatını belirlemek.
  • Framework hata ayıklama: bir kütüphanenin hangi kodlamayı ürettiğini bulmak.

Etik hatırlatması

Bir hash formatını belirlemek pasif bir araştırmadır. Başkasının hash’ini izinsiz kırmak çoğu yargı bölgesinde bilgisayarların kötüye kullanımıyla ilgili yasaları ihlal eder. Yalnızca size ait olan veya analiz etme yetkiniz bulunan hash’ler üzerinde çalışın.

Sık Sorulan Sorular

Kısmen: MD5, 32 hex karakterdir; SHA-1 ise 40. Her ikisi aynı uzunluk aralığındaysa yalnızca hash değerine bakarak ayırt edemezsiniz. Genellikle bağlam (veritabanı sütun adı, framework varsayılan ayarları veya sızdırılmış şema) sonucu belirler.

Hayır. Yalnızca tanımlama yapar. Bir hash’i tersine çevirmek veya şifreli metni çözmek için ayrı araçlar (ve anahtar ya da kırma için gerekli hesaplama kaynakları) gerekir ve bu işlem yalnızca kendi materyaliniz üzerinde yasaldır.

Argon2id (veya yüksek maliyet faktörlü bcrypt) güncel öneridir. PBKDF2-SHA256 ve scrypt hâlâ kabul edilebilir. Düz MD5, SHA-1 veya tuzlanmamış SHA-256 ise parola saklamak için güvenli değildir.

Hayır. Yapıştırdığınız değer format kontrolü için sunucumuza gönderilir, ancak hiçbir veritabanında saklanmaz ve sayfa bağlantısına eklenmez. İki adım arasında bu tarayıcı sekmesinde tutulur ve “Yeniden başla” düğmesi bu değeri siler.

İlgili Araçlar

Araç diğer dillerde mevcuttur