이번 실습에서는 다양한 해시 알고리즘에 의해 암호화된 해시 값을 해시카트(hashcat) 도구를 활용하여 복호화하는 과정을 배우게 됩니다.
사용할 사전 파일: https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt
단계별 해시 복호화
MD5 해시 복호화
해시 값: 48bb6e862e54f2a795ffc4e541caed4d
해시 타입 식별 후 hashcat의 모드 번호를 확인합니다. 다음 명령어로 해시 값을 파일에 저장한 후 복호화 수행:
hashcat --hash-type=0 target_hash.md5 /usr/share/wordlists/rockyou.txt
복호화 결과: easy
SHA1 해시 복호화
해시 값: CBFDAC6008F9CAB4083784CBD1874F76618D2A97
모드 번호 확인 후 다음과 같이 실행:
hashcat --hash-type=100 target_hash.sha1 /usr/share/wordlists/rockyou.txt
복호화 결과: password123
SHA256 해시 복호화
해시 값: 1C8BFE8F801D79745C4631D09FFF36C82AA37FC4CCE4FC946683D7B336B63032
명령어:
hashcat --hash-type=1400 target_hash.sha256 /usr/share/wordlists/rockyou.txt
복호화 결과: letmein
bcrypt(2*) 해시 복호화
해시 값: $2y$(12)Dwt1BZj6pcyc3Dy1FWZ5ieeUznr71EeNkJkUlypTsgbX1H68wsRom
모드 번호 3200을 사용하지만 처리 시간이 길어지므로 온라인 도구 활용:
https://hashes.com/en/decrypt/hash
복호화 결과: bleh
MD4 해시 복호화
해시 값: 279412f945939ba78ce0758d3fd83daa
명령어:
hashcat --hash-type=900 target_hash.md4 /usr/share/wordlists/rockyou.txt
복호화 결과: Eternity22
고급 단계 해시 복호화
SHA256 해시 복호화 (Level 2)
해시 값: F09EDCB1FCEFC6DFB23DC3505A882655FF77375ED8AA2D1C13F640FCCC2D0C85
모드 번호 1400 재사용:
hashcat --hash-type=1400 target_hash.sha256 /usr/share/wordlists/rockyou.txt
복호화 결과: paule
NTLM 해시 복호화
해시 값: 1DFECA0C002AE40B8619ECF94819CC1B
모드 번호 1000을 사용:
hashcat --hash-type=1000 target_hash.ntlm /usr/share/wordlists/rockyou.txt
복호화 결과: n63umy8lkf4i
sha512crypt(6) 해시 복호화
해시 값: (6)aReallyHardSalt$6WKUTqzq.UQQmrm0p/T7MPpMbGNnzXPMAXi4bJMl9be.cfi3/qxIf.hsGpS41BqMhSrHVXgMpdjS6xeKZAs02.
모드 번호 1800 사용:
hashcat --hash-type=1800 target_hash.sha512crypt --force
복호화 결과: waka99
SHA1(With Salt) 해시 복호화
해시 값: e5d8870e5bdd26602cab8dbe07a942c8669e56d6:tryhackme
모드 번호 110을 사용:
hashcat --hash-type=110 target_hash.sha1salt /usr/share/wordlists/rockyou.txt
복호화 결과: 481616481616
참고 자료
- 온라인 해시 복호화: https://crackstation.net
- 해시 타입 식별기: https://github.com/blackploit/hash-identifier
- hashcat 모드 목록: https://hashcat.net/wiki/doku.php?id=example_hashes