暗号の大事な道具の一つであるハッシュに関するTryHackMeのルーム。答えをそのまま載せるのはなるべく避けます。
- Task 1 Key Terms
- Task 2 What is a hash function?
- Task 3 Uses for hashing
- Task 4 Recognising password hashes
- Task 5 Password Cracking
- Crack this hash: $2a$06$7yoU3Ng8dHTXphAg913cyO6Bjs3K5lBnwq5FJyA6d01pMSrddr1ZG
- Crack this hash: 9eb7ee7f551d2f0ac684981bd1f1e2fa4a37590199636753efe614d4db30e8e1
- Crack this hash: 6$GQXVvW4EuM$ehD6jWiMsfNorxy5SINsgdlxmAEl3.yif0/c3NqzGLa0P.S7KRDYjycw5bnYkF5ZtB8wQy8KnskuWQS3Yr1wQ0
- Bored of this yet? Crack this hash: b6b0d451bbf6fed658659a9e7e5598fe
- Task 6 Hashing for integrity checking
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のヘルプを検索したらよい