취약점분석/Pwnable

리눅스 패스워드 크래킹 실습 (John the Ripper )

poiri3r 2025. 10. 16. 16:33

kali로 패스워드 크래킹 실습을 해보겠습니다.

test101과 test102 , security라는 3가지 유저를 추가해줬습니다.

각각 비밀번호는 test101, test102, poiri3r로 비밀번호를 설정해뒀습니다.

 

 

cat /etc/shadow |egrep '(root|test101|test102)'

 

위의 명령어로 섀도우 볼륨에 저장된 패스워드를 확인을 해주겠습니다.

비밀번호가 해시함수로 저장된 것을 확인할 수 있습니디.

출력 결과를 통해 해시함수 형식을 확인할 수 있는데, 맨 앞 $다음의 토큰은 알고리즘 형식을 나타냅니다. $y는 yescrypt형태의 알고리즘을 의미하고 $j9t <- params 다음 $값은 salt값 (GqvjWAwcKkseK9pKAHIbl1) 나머지는 데이터의 해시값입니다

 

각각의 패스워드 파일과 쉐도우 파일을 문자로 각각 passwd.txt와 passwd2.txt에 저장을 했습니다.(passwd에는 test101 및 test102, passwd2에는 test101,test102,security의 값)

위의 사진은 각각 텍스트 파일에 저장된 값입니다.

 

john --list=formats로 확인할 수 있는 존 더 리퍼에서 제공하는 포멧리스트입니다

 

john --format=crypt passwd.txt

 

위의 명령어를 이용하면 passwd.txt를 크래킹할 수 있습니다.

 

비교적 간단한 암호로 설정한 test101과 test102는 금방 크래킹 가능합니다.

 

john --show passwd.txt

 

해당 명령어를 입력해보면 크래킹한 결과를 확인할 수 있습니다

 

이번에는 암호를 조금 더 길게 설정해서 test103에 저장해두겠습니다.

비밀번호는 1234567890으로 설정했습니다

마찬가지로 해싱되어서 저장이 되어있습니다

 

명령어를 사용해서 크래킹 해보면 비밀번호로 설정한 1234567890이 크래킹됨을 확인할 수 있습니다.

아까 test101,test102를 해킹할때는 1초가 걸렸는데 비밀번호가 길어지니까 7초로 크래킹에 걸리는 시간을 확인할 수 있습니다

 

똑같은 명령어를 비밀번호를 비교적 어렵게 설정(poiri3r)한 security에 대해 실행해보겠습니다.

 

passwordlist에서 추출해서 뽑고 있는데 시간이 걸려도 크래킹이 되지 않는 모습입니다.

10분정도 기다려봐도 크래킹에 실패하고 있습니다.

 

강력한 암호를 걸어야 하는 이유인 듯 싶네요