-
[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
John the Ripper 설치
www.openwall.com/john
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
'2022 > Write-Ups' 카테고리의 다른 글
[DigitalForensic_with CTF] broken (0) 2022.07.05 [ctf-d] Tommy는 프로그램을 작성했습니다. (0) 2022.07.05 [ctf-d] basics (0) 2022.07.05 [ctf-d] 계속 주시해라! (0) 2022.07.05 [ctf-d] 저희는 디스크 이미지 파일을 찾았습니다. (0) 2022.07.05