Rainbow Table

Là bảng map giữa giá trị băm và giá trị bản rõ. Ví dụ:

HashPassword
02c75fb22c75b23dc963c7eb91a062cczxcvbnm
b0baee9d279d34fa1dfd71aadb908c3f11111
c44a471bd78cc6c2fea32b9fe028d30aasdfghjkl
d0199f51d2728db6011945145a1b607abasketball
dcddb75469b4b4875094e14561e573d8000000
e10adc3949ba59abbe56e057f20f883e123456
e19d5cd5af0378da05f63f891c7467afabcd1234
e99a18c428cb38d5f260853678922e03abc123
fcea920f7412b5da7be0cf42b8c937591234567

Việc sử dụng rainbow table giúp tiết kiệm thời gian nhưng nó cần nhiều bộ nhớ. Trang web CrackStation sử dụng một rainbow table khổng lồ.

Để chống rainbow table thì cần sử dụng salt (để không xảy ra hash collision). Salt sẽ được thêm vào đầu hoặc cuối password trước khi được băm. Salt không cần phải được giữ bí mật.

Recognising Password Hashes

Hash của password trong Unix có dạng như sau:

$format$rounds$salt$hash

Một số loại prefix và thuật toán băm tương ứng:

PrefixAlgorithm
$1$md5crypt, used in Cisco stuff and older Linux/Unix systems
$2$, $2a$, $2b$, $2x$, $2y$Bcrypt (Popular for web applications)
$6$sha512crypt (Default for most Linux/Unix systems)

Seealso

example_hashes [hashcat wiki]

Windows sử dụng NTLM để hash password và lưu trong SAM database. Giá trị hash được tách thành NT hash và LT hash.

Password Cracking

Nên sử dụng GPU vì nó có nhiều core hơn.

Crack this hash: 2a06$7yoU3Ng8dHTXphAg913cyO6Bjs3K5lBnwq5FJyA6d01pMSrddr1ZG

.\hashcat -m 3200 -a 0 .\bcrypt.hash .\rockyou.txt

Kết quả: 85208520

Crack this hash: 9eb7ee7f551d2f0ac684981bd1f1e2fa4a37590199636753efe614d4db30e8e1

.\hashcat -m 1400 -a 0 .\sha256-2.hash .\rockyou.txt

Kết quả: halloween

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

.\hashcat -m 1800 -a 0 .\sha512crypt.hash .\rockyou.txt

Kết quả: spaceman

Bored of this yet? Crack this hash: b6b0d451bbf6fed658659a9e7e5598fe

Sử dụng crackstation, kết quả: funforyou

list
from outgoing([[TryHackMe - Hashing - Crypto 101]])
sort file.ctime asc

Resources