ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 1팀 남채림 Write-Ups (Suninatas_14)
    2021/Write-Ups 2021. 11. 23. 01:03

     

    문제(suninatas_14)

    문제: do you know password of suninatas? "당신은 서니나타스의 암호를 아십니까?" 라는 문구와 "다운로드"라는 문구의 하이퍼링크가 함께 제시되어 있다.

     

    다운로드를 누르면 압축폴더가 받아진다. 압축 폴더 안에는 passwd, shadow 두개의 파일이 있다.

    확장자가 없어서 일단 txt로 변경하여 실행해보았다.

    어떤 정보가 담긴 것은 알겠으나 의미를 잘 알 수 없다. 두 파일은 항목이 같다.

     

    인터넷에 passwd라고 쳐보니 리눅스 유닉스 명령어와 리눅스 운영체제의 사용자 관리 파일에 대한 정보가 나온다. 이 파일은 후자에 해당하는 것으로 보인다. 

    passwd와 shadow를 검색해 본 결과 이 둘 모두 리눅스에서 사용되는 사용자 정보, 보안 관련 파일이라고 한다. 보안 분야에서는 필수적으로 다뤄지는 부분이라고 한다. 

    리눅스 passwd에 대한 검색 결과(출처:https://reakwon.tistory.com/137)

    다운로드 받은 파일과 형태가 일치하는 것을 확인할 수 있다.

     

    (출처:https://reakwon.tistory.com/137)

    사용자 suninatas에 대한 필드는 suninatas:x:1001:1001::/home/suninatas:/bin/sh이다. 가장 마지막 줄에 있다.
    두번째 필드가 패스워드라고 한다. 그리고 패스워드는 shadow 파일에 암호화 되어있다고 한다. shadow파일이 함께 있던 이유이다.

    (출처:https://reakwon.tistory.com/137)

     검색한 정보에 따라 내가 받은 파일을 분석해보면

    suninatas:$6$QlRlqGhj$BZoS9PuMMRHZZXz1Gde99W01u3kD9nP ->해시아이디는 6이므로 SHA-512사용, 랜덤값은 QlRlqGhj, 암호화된 패스워드 값은 BZoS9PuMMRHZZXz1Gde99W01u3kD9nP 이다. 이를 복호화하면 되는데 검색해보니 해시함수는 단방향성으로 복호화가 가능하지 않다고 한다.

    또 다시 한참 헤매며 검색하다보니 브루트 포스 방법으로 복호화하는 프로그램이 있다고 한다. 여러가지 있다는데 나는 John The Ripper라는 것을 사용해보기로 했다.

     

    사이트에서 파일을 다운로드 받고 압축을 해제해준다.

    https://www.openwall.com/john/
    압축해제 후 내부 파일 확인

    압축을 해제하면 안에 run파일이 있는데, 여기에 cmd창과 shadow파일을 복사해준다.

    복사한 후 cmd를 실행시켜 jhon shadow.txt 라는 명령어를 입력한다.

    중간 정도를 보면

    suninatas의 패스워드 해독값을 알 수 있다. 인증키는 iloveu1이다.

    정답입력
    정답확인

    복호화하는 방법이 어려워서 그렇지 생각보다 풀이는 쉬운 문제였다. 복호화하는 툴의 과정에 대해서 조금 더 공부해보고 싶다.