모의해킹

Hashcat - 해시 크래킹 도구

G_OM 2025. 6. 23. 16:00

1.Hashcat 이란?

오픈소스로 공개된 고성능 해시 크래킹 도구이다.

다양한 해시 알고리즘을 지원하며 GPU를 활용한 병렬 처리 덕분에 매우 빠른 속도로 해시를 크래킹 할 수 있다.

 

2. 주요 특징

- GPU 기반 병렬 처리 지원 

- 다양한 공격 방식 지원 (사전대입, 무작위대입공격, 하이브리드, 룰 베이스, 마스크 등등)

- 광범위한 해시 알고리즘 지원 (MD5 , SHA1, SHA256 등등 너무 많음)

 

[지원 알고리즘 정리는 더보기에 있다]

더보기

[Hashcat 지원 알고리즘 정리] (GPT)

 

🔐 1. 일반 해시 함수 (Hash Functions)
MD 계열: MD4, MD5, Half MD5, md5(utf16 le($pass)), md5($pass.$salt) 등

SHA-1 / SHA-2 계열: SHA1, SHA2-224, SHA2-256, SHA2-384, SHA2-512, sha1(utf16 le($pass)), sha1($salt.$pass) 등

SHA-3 / Keccak 계열: SHA3-224, SHA3-256, SHA3-384, SHA3-512, Keccak-224, Keccak-256,...

RIPEMD 계열: RIPEMD-160

Streebog: GOST R 34.11-2012 (256, 512-bit)

BLAKE2: BLAKE2 b-512, BLAKE2 b-512($pass.$salt) 등

Whirlpool, CRC32, CRC64 Jones, MurmurHash, Java Object hashCode(),...

🧬 2. HMAC 해시 (Keyed Hashing)
HMAC-MD5, HMAC-SHA1, HMAC-SHA256, HMAC-SHA512

HMAC-Streebog-256/512 (big-endian)

SNMPv3 HMAC-* 계열

🔑 3. 암호화 알고리즘 (Symmetric Ciphers)
AES: AES-128/192/256-ECB, AES Crypt, AES-256-CBC

3 DES, DES, Skip32, ChaCha20, Blowfish

PBKDF 계열: PBKDF2-HMAC-*, scrypt, bcrypt, phpass

암호화 응용: BitLocker, LUKS, TrueCrypt, VeraCrypt, DiskCryptor, Apple File System

웹/소프트웨어 보안: JWT, Ansible Vault, Django, Flask, Web2 py,...

🛡️ 4. 패스워드 저장 포맷 및 인증 방식
운영체제 관련: Windows Hello, NTLM, LM, DCC, macOS, Linux shadow 등

애플리케이션 관련: hMailServer, MyBB, vBulletin, Drupal, MediaWiki, SAP, Cisco, Juniper, Oracle, MS SQL, MySQL, PostgreSQL, MongoDB,...

파일 포맷: RAR3, RAR5, 7-Zip, ZIP, PDF, Office, ODF, Apple Notes, iTunes Backup 등

🧩 5. 암호화된 지갑 및 암호화폐 포맷
Bit coin: wallet.dat, WIF (P2 PKH, P2SH, P2 WPKH)

Ethereum: Presale Wallet, SCRYPT, PBKDF2

Electrum Wallet (타입 1~5)

Exodus, Terra Station, Blockchain My Wallet, Stellar, BitShares,...

🌐 6. 프로토콜/네트워크 인증
WPA 계열: WPA-EAPOL, WPA-PMK, WPA-PMKID

IKE, CHAP, TACACS+, CRAM-MD5, SIP digest, Kerberos 5, NetNTLMv1/v2, SNMPv3, IPMI2,...

🧱 7. 포럼/웹 CMS/웹앱
Joomla, OpenCart, PrestaShop, PunBB, SMF, PHPS, Redmine, Umbraco,...

MediaWiki, Drupal, vBulletin, MyBB, WBB3, osCommerce

🔐 8. 기타 보안 구성요소
TOTP, Kerberos, LDAP, Mozilla Key3/Key4, Apple Keychain, ColdFusion, SolarWinds,...

iPhone, Samsung Android, macOS 10.x, Apple iWork, 1 Password, LastPass, Bitwarden, KeePass, Password Safe,...

 

3. 설치 방법

https://hashcat.net/hashcat/

 

hashcat - advanced password recovery

Download Name Version Date Download Signature hashcat binaries v6.2.6 2022.09.02 Download PGP hashcat sources v6.2.6 2022.09.02 Download PGP Signing key on PGP keyservers: RSA, 2048-bit. Key ID: 2048R/8A16544F. Fingerprint: A708 3322 9D04 0B41 99CC 0052 3C

hashcat.net

 

1. 사이트 접속

 

 

 

1. download 클릭하고 압축 풀기

 

 

압축 푼 파일 내용

 

4. 사용 방법

 

무작위 대입 공격 기능도 지원을 하지만 해시크랙에 경우에는 사전파일 대입이 좀 더 현실적이다.

해시를 무작위대입으로 크랙 한다는 건 좀 힘든 부분이 있다 (최소 조, 경 단위로 해야 하기 때문)

 

[간단한 방법예시는 더보기에 있다]

더보기

📘 실전 명령어 예시들

✅ 1. 사전 대입 공격 (Dictionary Attack)
hashcat -m 0 -a 0 hash.txt rockyou.txt
-m 0: MD5
-a 0: Dictionary
rockyou.txt: 사전 파일

✅ 2. 브루트 포스 공격 (Brute-Force)
hashcat -m 0 -a 3 hash.txt ?l?l?l?l?l?l?l?l
?l: 소문자
?d: 숫자
?u: 대문자
?s: 특수문자
복합 예시: ?u?l?l?l?d?d?d!? → 첫 자 대문자, 3 소문자, 3 숫자, 특수문자

✅ 3. 사전 + 룰 (패스워드 변형) 조합
hashcat -m 0 -a 0 hash.txt rockyou.txt -r rules/best64.rule
룰은 단어에 변형(뒤에 숫자 추가, 대소문자 변경 등)을 자동 적용

✅ 4. Hybrid (사전 + 마스크)
hashcat -m 0 -a 6 hash.txt rockyou.txt ?d?d
단어 뒤에 숫자 2자리를 붙여서 시도 (예: password12, admin98 등)

✅ 5. 결과 확인
hashcat --show -m 0 hash.txt
크랙 완료된 해시의 평문을 확인할 수 있음

⚙️ 추가 옵션들
옵션 설명
--force 강제로 실행 (OpenCL 문제 회피, 주의 필요)
--remove 크랙된 해시는 자동으로 파일에서 제거
--status 현재 상태 계속 출력
--session 세션 저장 및 이어하기 지원
--restore 중단된 세션 이어서 실행
--outfile=파일 결과 저장

📂 유명한 워드리스트 위치
이름 경로 (Kali 기준)
rockyou /usr/share/wordlists/rockyou.txt
SecLists /usr/share/seclists/Passwords/Common-Credentials/
CrackStation https://crackstation.net

🔐 다양한 해시 알고리즘 번호 예시
해시 종류 -m 번호
MD5 0
SHA1 100
SHA256 1400
bcrypt 3200
NTLM 1000
Wordpress 400

 

그래서 사전대입공격으로 실습을 해보겠다.

 

먼저 준비물 

1. 사전대입할 패스워드 목록 (rockyou.txt 등등)

2. 암호화된 패스워드 txt 파일 (md5 , SHA256 등등)

 

4-1. 사전대입 패스워드 목록

https://github.com/brannondorsey/naive-hashcat/releases/download/data/rockyou.txt

필자는 rockyou 를 썼음 물론 다른 파일도 존재함 

 

4-2. 암호화된 패스워드 txt 파일

 

이런 식으로 txt파일을 추가해 준다 물론 hashcat 경로랑 같은 경로에 있는 게 사용하기 편하다.

 

4-3. hashcat 사전대입공격 실행

 

hashcat -m [해시모드] -a 0 [해시파일] [사전파일]

-m: 해시 알고리즘 번호 (예: MD5는 0, SHA1은 100, bcrypt는 3200 등)
-a 0: 공격 모드 0번 = Dictionary Attack
[해시파일]: 해시값이 들어있는 파일 (예: hash.txt)
[사전파일]: 워드리스트 (예: rockyou.txt)

 

마지막을 보면 해시크랙을 통해 평문이 나타나는 걸 볼 수 있다.

 

5. 마치며..

솔직히 말해서 크랙이 언제나 통하는 건 아니다.

하지만 그렇다고 해서 "암호화되어 있으니 안전하다"는 맹신도 위험하다.

문제는 방심에서 시작하기 때문이고 누군가 그 틈을 파고들어 해시가 크랙 되는 순간 모든 것은 평문으로 바뀌어버린다.

잘 관리하자.