본문 바로가기
Infra & Security Eng/Network & Security

John the Ripper 설치, 패스워드 크랙, 크랙 해석 하기

by 엔지니어 E 2026. 3. 9.
반응형

John the Ripper 설치 

1. # apt install -y john John the Ripper 설치 
2. # apt show john - 다운로드 확인 


3. # vi /etc/login.defs
John the Ripper 배포본은 아직 YESCRYPT 방식의 hash를 지원하지 않음

* 암호 방식 수정 YESCRYPT -> SHA512로 수정

#ENCRYPT_METHOD YESCRYPT
ENCRYPT_METHOD SHA512

4. vi /etc/pam.d/common-password 파일 수정 
# password       [success=2 default=ignore]      pam_unix.so obscure yescrypt - 주석 처리 

password       [success=2 default=ignore]      pam_unix.so obscure sha512 - 추가

5. 사용자명 비밀번호 변경 - 비밀번호를 변경해야 새로운 알고리즘(SHA512) 이 적용됨 
# passwd 사용자명 (kail, root, st15 변경하면 됨)


6. sudo grep 사용자명 /etc/shadow 로 변경사항 확인
$6$ ~ 으로 시작 해야 SHA-512 알고리즘이 사용 되었음을 확인할 수 있음

 

패스워드 크랙

계정 10개를 만들고, 크랙이 되는지 확인 한다 
* 계정 2개는 일반 포털 사이트에 있는 비밀번호처럼 비밀번호 생성을 함

1. 계정 생성 및 패스워드 설정 (st1~st10 계정)
useradd st1 && echo "st1:st1" | chpasswd
useradd st2 && echo "st2:st" | chpasswd
useradd st3 && echo "st3:rose" | chpasswd
useradd st4 && echo "st4:123456" | chpasswd
useradd st5 && echo "st5:abcd" | chpasswd
useradd st6 && echo "st6:asdf1234" | chpasswd
useradd st7 && echo "st7:abcd1234" | chpasswd
useradd st8 && echo "st8:asdfg12345" | chpasswd
useradd st9 && echo "st9:khwjdqhrydbrdnjs!!!@@" | chpasswd
useradd st10 && echo "st10:abc1234" | chpasswd

2. 암호 파일 병합
unshadow /etc/passwd /etc/shadow > passwd.1

3. reboot 진행 

4. 크래킹 시작 
john passwd.1


1. Salt Strategy(13 different salts(솔트 적용 상태))
모든 계정에 고유한 소금(Salt)가 쳐져 있다라는 뜻 

2. Algorithm Integrity (알고리즘 무결성 및 보안 수준)
$6$, sha512를 통해 현재 서버가 최신 표준 암호화 방식인 SHA-512를 사용 중임을 확인함. 만약 실무에서 $1$(MD5)이나 $5$(SHA256)가 보였다면, 담당자는 즉시 보안 취약점 리포트를 작성하고 알고리즘 마이그레이션을 계획해야 함
3. Hash Complexity Cost (해시 연산 부하 설정)
5000 iterations는 암호를 저장할 때 5,000번 반복해서 꼬아놓았다는 뜻으로 실무 담당자는 이 수치를 보고 "공격자가 시도할 때마다 시스템 리소스를 이만큼 쓰게 강제하고 있구나"라고 해석함. 보안을 더 높여야 한다면 이 수치를 늘리는 설정을 검토하게 됨
4. Attack Vector Prioritization (우선 공격 경로 파악)
single 모드(계정명 기반 유추)와 wordlist(사전 대조) 단계가 먼저 실행된다는 점에 주목해야 합니다
5. Resource Availability for Auditing (감사 자원 할당량)
4 OpenMP threads는 서버의 CPU 성능을 얼마나 크래킹 작업에 할당할 수 있는지 보여줌


1. 0g
쉬운 암호(사전 기반)는 이미 다 풀렸고, 이제부터는 시간이 오래 걸리는 어려운 암호들과 싸우고 있다는 뜻
2. 0:00:14:22
크래킹 작업을 시작된지 14분 22초가 경과되었다는 뜻
3. 3/3
사전 파일에 없는 암호를 풀기 위해 가능한 모든 문자 조합을 하나씩 대입해 보는 가장 강력하고 느린 단계에 진입 했다는 뜻
4. 3281c/s & 3281C/s
현재 CPU가 초당 3,281번의 SHA-512 해시 연산을 수행하고 있음
5. miam12
현재 이 순간에 "miam12"라는 문자열을 암호 해시와 대조해 보고 있는 중임