ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ctf-d] 당신의 친구 Bob은 모의해킹 전문가이다.
    2022/Write-Ups 2022. 7. 5. 18:18

    1팀 김나연

     

     

    당신의 친구 Bob는 모의해킹 전문가이다.

     

    압축 해제

    압축을 풀어보니까 리눅스 명령어들이 있어서

    리눅스로 열어야겠다고 생각

    /bin폴더

    기본 명령어들이 모여 있는 디렉토리

    /boot폴더

    리눅스의 커널이 저장되어 있는 디렉토리

    /dev폴더

    시스템의 각종 디바이스 목록

    /etc폴더
    • /etc와 /usr/etc 디렉토리는 시스템의 부팅, 셧다운 시에 필요한 파일들과 시스템의 전반에 걸친 설정 파일들 및 초기 스크립트 파일들이 있다.
    • 시스템에 어떠한 문제가 발생한다거나, 시스템 전체 환경에 관한 설정을 바꾸기 위해서는 이들 디렉토리내에 포함되어 있는 파일들에 대하여 잘 알아야 한다.
    /home폴더

    시스템 계정 사용자들의 홈 디렉토리

    /lib폴더

    프로그램들의 각종 라이브러리들이 존재

    /lost+found폴더

     fsck등에 의해서 발견된 결함이 있는 파일에 대한 정보가 보관되는 디렉토리로 마운트 되는 파일 시스템에 존재한다.

     

    디스크오류나 부정확한 시스템 종료에 의해 파일들이 잃어버린 상태가 될 수 있는 파일을 의미한다.

     

    시스템이 부팅될 때 fsck가 실행이 되어 이런 파일들을 찾아내어 lost+found 디렉토리에 저장한다.

     

    잃어버린 파일들의 디렉토리로 어떤 디렉토리에도 속하지 않은 디스크 장소를 가리키는 파일을 의미한다.

     

    파일시스템을 점검하는 특수 프로그램에 의해 사용되며 시스템 관리자가 자주 점검해야 하는 디렉토리이다.

    /media폴더

    CD_ROM이나 USB같은 외부 장치를 연결하는 디렉토리입니다.

    /mnt폴더

    외부 장치인 플로피 디스크, CD-ROM, Samba 등을 마운트하기 위해서 제공되는 디렉토리

    /opt폴더

    추가적인 (optional) 프로그램들의 설치 경로

    /proc폴더

    /proc 디렉토리에는 시스템의 각종 프로세스

    프로그램 정보 그리고 하드웨어적인 정보들이 저장

    /root폴더

    시스템 관리자( 예: root 사용자)의 홈 디렉토리

    /run폴더

    실행중인 서비스와 관련된 파일이 저장되는 디렉토리입니다.

    /share폴더
    /srv폴더

    다른 시스템에게 제공되는 파일들(served)

    /sys폴더

    시스템(system) 파일들

    /tmp 폴더

    임시 파일들을 위한 디렉토리

    /usr폴더

    대부분의 프로그램이 설치되어 있는 디렉토리 공유할 수 있는 디렉토리와 파일들

    /var폴더

     시스템에서 사용되는 가변적인 파일들이 저장

     스풀, 로그, 캐싱

     

     

    /etc 폴더가 시스템 전반에 걸친 내용을 담고 있는 거 같으니

    /etc 폴더로 들어가 보았다. 

     

    /etc/shadow : 시스템의 shadow 패스워드를 포함하는 파일이다.

    /etc/passwd: 사용자에 대한 정보를 포함하고 있는 문서 파일이다. 

     

    cat passwd

    cat passwd 명령어로

    passwd 내용을 열어보니 알 수 없는 규칙으로 계정명이 나열되어 있었다.

    passwd 읽는 법을 참고한 사이트다.

    https://harryp.tistory.com/878

     

    root:x:0:0:root:/root:/bin/bash

    ①root:②x:③0:④0:⑤root:⑥/root:⑦/bin/bash

     

    ①계정 명(아이디): 실제 사용하는 계정 명

    ②패스워드: x로 되어있을 경우 /etc/shadow에 암호화 되어 있는 패스워드를 사용

    ③사용자ID(UID): UID 정보.

    ④그룹ID(GID): GID 정보.

    ⑤Description: 계정에 대한 설명이 기록

    ⑥홈 디렉토리: 해당 계정의 홈 디렉토리 정보이다. root의 경우 /root를 홈 디렉토리로 사용

    ⑦Dafult 쉘: 로그인 시 Default로 사용되는 쉘

     

     

     

     

     

    passwd에서 패스워드 필드에 x로 되어있었기 때문에

    shadow 파일을 열어 암호화된 패스워드를 확인한다. 

     

    root:$6$PBY4XOYn$JJOSF.0aOqVNd/yqQ4jdLLAmgXCe6RNekSv6JmOenId3z0xkR/u72M2TFhpGO8.Y0IyHiZuB50WlIxmONz/KZ.:16816:0:99999:7:::

    ①계정 명(아이디): 사용자의 계정 명이다.

    ②패스워드: 사용자의 패스워드가 암호화되어 저장 된다.

    ③패스워드 파일 최종 수정 일: 공백 가능

    ④패스워드 변경 최소일: 공백 가능

    ⑤패스워드 변경 최대일: 99999일 경우 만료 X

    ⑥패스워드 사용 만료일 전 경고메세지 제공 기간

    ⑦패스워드 만료 경고 기간

    ⑧계정 만료 기간: 공백 가능

    ⑨예약 필드: 공백 가능

     

     

     

    사용자 관련 파일을 봤는데..바보 같은 이름을 가진 사용자는 없다

    바보 같은이라는게 비밀번호를 푸는 것일까 생각이 들어

    비밀번호 암호화 된 걸 풀 수 있는 툴을 검색해봤다. 

     

     

    John the Ripper

    라는 툴로 패스워드 크래킹 가능

    https://blog.naver.com/harang8069/222292701833

    https://zero-min.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4Linux-John-the-Ripper-%EB%8B%A4%EC%9A%B4%EC%82%AC%EC%9A%A9%EB%B2%95

     

    John the Ripper 설치

    www.openwall.com/john

     

    John the Ripper password cracker

    John the Ripper password cracker John the Ripper is an Open Source password security auditing and password recovery tool available for many operating systems. John the Ripper jumbo supports hundreds of hash and cipher types, including for: user passwords o

    www.openwall.com

     tar.gz, 13MB 에 마우스 우클릭을 하고, 링크 주소 복사를 누른다.

    wget 다음 복사한 링크 주소 붙여넣기

    john 파일 설치 후 압축 해제

     

    tar xvfz john-1.9.0.tar.gz

     

    압축해제 된 파일 확인

     

    john과 unshadow 명령어를 실행시키기 위해서 john-1.9.0/run 디렉토리로 이동

    cd john-1.9.0/run

     

     

     

     

     

    John the Ripper를 실행하기 전에

    passwd 파일과 shadow파일을 combine 하여 텍스트 파일 test5.txt로 저장하기

    -> 계정명과 비밀번호를 한번에 볼 수 있게

     

    ./john

    암호화된 패스워드들이 들어있는 test5.txt 파일을 john 명령어로 크랙

    비밀번호가 dragon1로 해독되었고 사용자 이름은 gohan이라는 것을 알 수 있다. 

     

    즉, 문제에서 바보를 찾으라는 뜻은 john_the_ripper 툴로 비밀번호가 쉽게 크랙되는

    유저를 찾으라는 뜻인 거 같다. 

     

    따라서 gohan을 입력했지만 답이 아니라서

    비밀번호인 dragon1을 입력해보니 정답이었다. 

     

     

    flag: dragon1