본문 바로가기
인프라 7기/네트워크 보안 공격 기법

패스워드 크랙 (John the Ripper)

by 킹버거 2023. 5. 10.

이번에는 패스워드를 뚫어볼 거예요!

그 유명한 벌ㄹㄹㄹthㅡ데이 공격 ㄷΔㄷ

생일 공격이라고 불리는 birthday attack은

사실 pass phrase(암호로 쓰는 문자열)를 찾는다는 의미가 아닙니다.

같은 해시코드 값을 갖는 문자열을 찾아내는 거예요.

이게 해시함수의 충돌 어쩌고 저쩌고 관련된 취약점인데요. 

이것도 암호학 정리할 때 다뤄보겠습니다 @@@ (언제가 될지는 모르겠어요)


1) 패스워드 크랙 도구 설치 (John the Ripper)

- http://www.openwall.com/john/ 에서 최신버전 다운로드 

# wget http://www.openwall.com/john/j/john‐1.8.0.tar.gz                           // 64bit 기준  

**** 그러나 해당 홈페이지 운영 문제로 현재 다운로드 불가능 

**** 저는 강사님의 서버에서 다운 받았습니다.

 

# tar xvfz john‐1.8.0.tar.gz
# cd  john‐1.8.0/src
# make clean linux‐x86‐64
‒ make를 실행하면 사용 가능한 옵션을 보여준다.
‒ i386이면 linux‐x86‐any 옵션을 이용한다. (# make clean linux-x86-any)         // 32 bit

 

* 컴파일이 끝나면 실행 프로그램은 john‐1.8.0/run에 저장된다.
- john, unshadow

 

2) 패스워드 크랙 실습

* 사전 작업: 계정 생성

# groupadd -g 2222 test

# useradd -g test -u 2201 st1

# useradd -g test -u 2202 st2

# useradd -g test -u 2203 st3

# useradd -g test -u 2204 st4

# useradd -g test -u 2205 st5

# useradd -g test -u 2206 st6

# useradd -g test -u 2207 st7

# useradd -g test -u 2208 st8

# passwd [user명] // 비밀번호 설정

 

• step 1 : 암호 파일 생성
‒ unshadow 명령 : shadow 암호를 passwd 파일에 병합
‒ 문법 :  unshadow  [passwd 파일]  [shadow 파일]
# ./unshadow  /etc/passwd  /etc/shadow  > passwd.1


 step 2 : 암호 크랙
‒ john 명령
‒ 문법 : john  [암호 파일]
# ./john  passwd.1


• 크랙 암호 확인
# cat  john.pot


* 실습에 사용할 사용자 계정 sample

ID Password crack time
st1 st1 1
st2 st  
st3 rose 3
st4 123456 2
st5 abcd 6
st6 asdf1234 5
st7 abcd1234 4
st8 asdfg12345  
root 12 7