발단
대학교 3학년 수업인 시스템보안실습 수업에서 다음과 같이 과제가 올라왔다.
파일 내용은 다음과 같다.
root는 !로 비밀번호가 없고(로그인 비활성화) 비밀번호를 크래킹 가능한 계정은 cju, victim1, victim2, victim3 총 4개다.
비밀번호 형식을 보아하니 우분투에서 해시된 듯 하다. (아닐 수도 있다.)
$y는 yescrypt, $j9T는 salt 값의 일부를 나타내는데, 데비안 계열은 Debian11(Bullseye)부터 yescrypt를
기본 해시 알고리즘으로 사용해옴 (대충 때려맞췄다는 소리)
공격 시작
일단 제일 만만한 사전 공격부터 진행해보았다.
사용 중인 john은 Jumbo가 아니기에 형식 옵션은 그냥 crypt
를 주었다.
john --format=crypt --wordlist=wordlists/rockyou.txt ./shadow
제일 무난한 rockyou.txt 파일을 이용해 공격을 수행해보니 위와 같이 3개 계정의 비밀번호가 크래킹되었다.
아직 victim2의 비밀번호는 알아내지 못했다.
이쯤에서 과제의 힌트를 확인해보면,,,
NordPass가 힌트로 주어져 있다. 냉큼 NordPass로 달려가 비밀번호 리스트를 가져왔다.
물론 나는 대충 스샷을 찍어왔고 .txt 파일로 바꿔준 것은 당연하게도 ChatGPT이다. (이럴 때가 아니곤 딱히 Plus 버전을 쓸일이 없다)
다시 사전 공격을 수행해보면...
victim2까지 잘 크래킹된 것을 확인할 수 있다.
크래킹 결과
cju 1111
victim1 UNKNOWN
victim2 1q2w3e4r5t!
victim3 *******
결론
비밀번호를 설정할 때에는 잘 알려진 비밀번호인지 알아보고, 나만의 salt나 pepper를 잘 뿌려 사전 공격같이 쉬운 공격에는 당하지 않도록 유의하는 것이 좋을 듯 하다.
뭔가 하기 싫은 반복 작업은 역시 ChatGPT를 쓰는 것이 최고다.
'대학생활' 카테고리의 다른 글
시스템보안실습 | 4. 주통기 점검 스크립트 (0) | 2024.12.15 |
---|---|
시스템보안실습 | 5. 윈도우 RDP 침투 (0) | 2024.12.13 |
시스템보안실습 | 3. 버퍼오버플로우 (0) | 2024.10.26 |
시스템보안실습 | 2. Privilege Escalation & Lateral Movement (2) | 2024.10.17 |