TryHackMe

TryHackMe(THM): Hashing – Crypto 101 -Writeup

暗号の大事な道具の一つであるハッシュに関するTryHackMeのルーム。答えをそのまま載せるのはなるべく避けます。

Task 1  Key Terms

Is base64 encryption or encoding?

base64は暗号化ではなくエンコーディング

Task 2  What is a hash function?

What is the output size in bytes of the MD5 hash function?

MD5は128ビット。バイトに直すと 128/8=16

Can you avoid hash collisions? (Yea/Nay)

むりー

If you have an 8 bit hash output, how many possible hashes are there?

入力が何ビットでも出力が変わったりしない

Task 3  Uses for hashing

レインボーテーブルの説明

Crack the hash “d0199f51d2728db6011945145a1b607a” using the rainbow table manually.

載ってる

Crack the hash “5b31f93c09ad1d065c0491b764d04933” using online tools

Should you encrypt passwords? Yea/Nay

パスワードを暗号化する必要がありますか?

ない

実際は何かあったときに「パスワードを暗号化していないなんて管理不備!」って怒るひとがいるからなんかしらの説明は必要ではないかと思われる。

Task 4  Recognising password hashes

How many rounds does sha512crypt ($6$) use by default?

参考にさせていただいた

What’s the hashcat example hash (from the website) for Citrix Netscaler hashes?

サンプルページを見て答える

How long is a Windows NTLM hash, in characters?

サンプルページに載ってるので文字数を数える

Task 5  Password Cracking

bcryptは、GPUでのハッシュがCPUでのハッシュとほぼ同じ速度になるように設計されている

へ〜知らなかった〜。だからGPU使って解析されても多少は安全ってこと?

Crack this hash: $2a$06$7yoU3Ng8dHTXphAg913cyO6Bjs3K5lBnwq5FJyA6d01pMSrddr1ZG

こういうサイトで検索する

噂のbcryptのハッシュだということがわかる。

hashcatを使って与えられたハッシュを解析する

hashcatよくわからんので参考にさせていただいたサイトたち

必要なオプション

-m … ハッシュの種類を番号で指定する
-a … 攻撃の仕方を指定する(デフォルトは0)
-o … クラック後のファイルの出力ファイル(別になくてもよい)
# | Mode
===+======
  0 | Straight ←辞書攻撃
  1 | Combination
  3 | Brute-force ←ブルートフォース
  6 | Hybrid Wordlist + Mask
  7 | Hybrid Mask + Wordlist

hashcatのヘルプを見てbcryptのハッシュタイプを調べる。⇒3200

解析したいハッシュをファイルとして置いておく

rockyou.txtを指定して辞書攻撃する

hashcat -m 3200 -a 0 -o cracked.txt hash.txt rockyou.txt

1分くらいでクラックできた。

ファイルの最後にコロンで解析後の文字列が追加されている

ちなみに解析後の文字列はここにも保存されてる
いつも場所忘れてしまう

~/.hashcat/hashcat.potfile

たまに見返すとこんな事もあったなあと思い出せるかもしれない(意味はない)

Crack this hash: 9eb7ee7f551d2f0ac684981bd1f1e2fa4a37590199636753efe614d4db30e8e1

同じようにハッシュタイプを調べる

SHA2-256ということがわかる

ハッシュタイプの番号を調べる⇒1400(grepは大文字と小文字も区別されます)

コマンドは上の問題と同じ

hashcat -m 1400 -a 0 -o cracked2.txt hash2.txt rockyou.txt

これも1分くらいでクラックできた

Crack this hash: 6$GQXVvW4EuM$ehD6jWiMsfNorxy5SINsgdlxmAEl3.yif0/c3NqzGLa0P.S7KRDYjycw5bnYkF5ZtB8wQy8KnskuWQS3Yr1wQ0

プレフィクスよりsha512crypt ということがわかる

hashtypeを調べる⇒1800

同じようにコマンド実行

hashcat -m 1800 -a 0 -o cracked3.txt hash3.txt rockyou.txt

3分くらいで解けた

Bored of this yet? Crack this hash: b6b0d451bbf6fed658659a9e7e5598fe

確かにそろそろ飽きてきたので、このサイトを使う

Task 6  Hashing for integrity checking

What’s the SHA1 sum for the amd64 Kali 2019.4 ISO? http://old.kali.org/kali-images/kali-2019.4/

チェックサムがどこに書いてあるのかわからなくてkaliのサイト内を探し回ってしまった…

ここでした

別解

これはこれでめんどくさいけどダウンロードして調べてもよいと思われます

openssl sha1 kali-linux-2019.4-amd64.iso
SHA1(kali-linux-2019.4-amd64.iso)= 186c5227e24ceb60deb711f1bdc34ad9f4718ff9

What’s the hashcat mode number for HMAC-SHA512 (key = $pass)?

hashcatのヘルプを検索したらよい