2025/11/03 12

Hackerschool FTZ Level 2

이전 레벨이랑 똑같이 파일 및 디렉터리부터 확인한다. 똑같이 hint 파일을 cat 명령어로 열어 내용을 확인해본다.아무래도 각 레벨 디렉터리 안의 내용물은 똑같은가 보다. 그렇다고 한다. 뭔가 편집을 해야하나 보다. 이번에도 무턱대고 다음 레벨의 권한으로 setuid가 지정된 파일이 있는지 찾아본다. 이번에도 뭔가 하나 걸렸다. editor란 파일이다. 일단 바로 editor를 실행해서 bash를 우겨넣어 본다. 저장하려고 했더니 파일 이름이 없다고 한다. editor만 치고 들어가서 그런가보다. test란 이름으로 저장해보려 했는데 저렇게 뜨면서 안 된다.찾아보니 권한이 없으면 저렇게 뜬다고 한다. 그렇다. level2인 나는 쓰기 권한이 없었다.editor 자체가 난 쓰기 권한이 없으면 어떻게 풀어..

CTF/FTZ 2025.11.03

Hackerschool FTZ Level 1

일단 무슨 파일이나 디렉터리가 있는지부터 확인해 본다. cat 명령어로 hint 파일을 열어보니 다음과 같이 나왔다. 전 차시에서 배운대로 level2 권한으로 setuid가 걸린 파일을 찾아본다. 대부분 denied가 뜨는데 딱 하나가 안 뜬다. 해당 경로(최상위로 이동 뒤 bin)로 들어가서 파일을 실행해 본다. 비밀번호를 얻으려면 my-pass 명령어를 입력하랬는데, 여기서는 안 된다고 한다.전 차시에서 셸을 얻은 뒤 비밀번호를 획득하라고 해서, 셸 실행 명령어를 찾아보니 sh .sh 꼴로 치라 해서, 쳐봤는데 안 된다. 생각해보니 ExecuteMe는 셸 파일이 아니다. 다른 명령어들을 찾아보니 bash 명령어도 있었다. 얘도 셸 명령어였다. 조용히 넘어가지고 level2라 뜨길래 확인해봤더니 le..

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 10

트레이닝 단계의 마지막. 해킹엔 두 가지(리모트, 로컬)가 있다고 함.Remote: 무작위 대입, 데몬 취약점, 게시판 이용 등..Local: 관리자(root) 권한 얻기 여기서 볼 건 로컬 해킹. SetUID: 일시적으로 스스로의 ID를 바꾸는 것 shadow 파일의 경우 원칙대로라면 관리자만 제어할 수 있음.그럼 일반 사용자가 자신의 비밀번호를 바꿨을 땐 어떻게 되는가?=> 비밀번호를 바꾸는 passwd 파일의 루트 권한으로서의 SetUID가 걸려 있어 일반 사용자들이파일을 실행할 때에만 '루트를 이용한 일시적 아이디 변경'이 이루어짐.(비밀번호 자체는 shadow에 있음, passwd는 비밀번호를 바꾸는 데 쓰지 비밀번호 자체가 있진 않음) 's'가 바로 SetUID를 뜻함.(실행 부분에 x 대신 ..

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 9

파일의 권한과 관련된 실습. 먼저 사용자의 ID를 확인하기.uid: 유저 IDgid: 그룹 IDgroups: 현재 사용자가 있는 그룹(뒤의 숫자들은 한참 전 차시 설명대로 사용자 식별 번호) rwxrwxrwx를 3글자씩 나눠서각각 사용자의 권한, 사용자 그룹의 권한, 그 밖 영역의 권한으로 나뉨(r: 읽기, w: 쓰기, x: 실행)뒤의 trainer9는 사용자, trainer10은 그룹을 뜻함.다시 말해, 해당 파일(test1)은 현재 사용자든 그룹이든 다른 사람이든 모두 읽/쓰/실을 다 할 수 있다는 뜻. test2의 경우, guest란 사용자는 읽/쓰/실을 모두 할 수 있지만,trainer1이란 그룹에 있는 사용자들은 읽/실 만 할 수 있고,그 밖의 사용자들은 실행만 할 수 있음. 리눅스에선 확장자만..

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 8

다음과 같이 cat > test.txt 명령어를 입력한 뒤,test.txt 파일 안에 들어갈 문구들을 입력하고 빠져 나옴.(>: cat 명령어를 이용해 넣은 글자들을 test.txt 파일로 보낼 것) 파일 생성 및 내용 모두 정상적으로 작업이 완료됨. '>'를 붙여 내용을 써 넣으면 기존의 내용은 지워짐.원래 있던 내용 뒤에 덧붙이기 위해선 '>>'를 이용해 기존 내용을 남기고 추가할 수 있음.사진과 같이 원래 있던 내용이 보존된 채로 새로운 문구들이 다음 줄에 추가된 것을 볼 수 있음. 이번엔 10과 20을 더하는 c 파일을 만들기.프로그램의 확장자를 c로 지정한 뒤 c언어 양식에 맞춰 작성. 이후 해당 언어 파일을 실행 프로그램으로 만들기 위한 과정을 거치기.(gcc -o program.exe pro..

CTF/FTZ 2025.11.03

Hackerschool FTZ trainer 7

먼저 ls -al 명령어를 이용해 파일을 출력.가사 파일들을 하나로 묶어 하나의 압축파일로 만들 예정. 합치기: tar cvf 합칠파일 합칠파일들해제하기: tar xvf 해제할파일c: 새 파일 만들기x: 압축 해제하기v: 압축 과정을 보여줌f: 파일로 백업하기 다음과 같이 입력해 파일들을 하나로 묶기.(tar cvf songs.tar *: 디렉터리 안의 모든 파일(*)을 songs라는 새 파일로 압축할 것) 사진과 같이 songs.tar란 이름의 파일로 합쳐진 것을 볼 수 있음. 그러나, tar는 '압축'을 하는 것이 아님. 백업 및 복구용으로 쓰이는 명령어임.(세 파일을 합친 것보다 용량이 훨씬 더 큰 것을 통해 알 수 있음) 압축을 하는 명령어는 'gzip'임. gzip은 한 번에 하나 씩의 파일만 ..

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 6

전 차시와 같이 cat etc/passwd 명령어를 이용해 사용자 명단을 확인. :를 기준으로 영역이 나뉨.root: 로그인할 때 쓰는 아이디x: 원래는 비밀번호가 들어있었으나, etc 경로 안의 shadow 파일로 옮긴 뒤 이 곳에선 x만 출력됨.0(3번째 및 4번째): 사용자와 사용자가 있는 그룹, 여기선 숫자로 표현함(root가 0으로 표시 됨)Admin: 사용자의 이름root: 접속했을 때 처음 위치하는 경로/bin/bash: 처음 접속했을 때 실행하는 프로그램 이후 비밀번호와 함께 7단계로 넘어갈 수 있게 됨.

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 5

whoami: 내가 누구인지를 출력함(사용자의 이름) id: 좀 더 자세한 정보들이 나옴 cat 명령어를 이용해 etc 안의 passwd 파일 내용을 출력해보면 다음과 같이 나옴. uname -a: 현재 쓰고 있는 OS 커널의 버전을 알려 줌. 사진과 같이 명령어를 입력하기. 서버의 버전이 레드햇 리눅스 9인 것을 볼 수 있음. 패키지의 정보를 알아내기 위해 rpm -qa 명령어를 입력하기. 뭔가 엄청 많이 깔려 있음. CPU에 대한 정보도 수집할 수 있음. 다음과 같이 서버의 자세한 사양을 볼 수 있음. 비밀번호와 함께 6단계로 넘어갈 수 있게 됨.

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 4

트레이닝의 설명대로 최상위 디렉터리로 이동한 뒤, ls -al 명령어로 디렉터리들 확인. 다양한 명령어들에 대한 설명이 나옴.이어서 설명.이 설명들을 바탕으로 뒤에 문제가 나오므로 잘 보고 넘어갈 것. 중요 역할 파일들의 역할. 답은 다음과 같음.1) 명령어 목록은 bin 디렉터리에서.2) 처음 접속할 때 사용자 계정의 홈 디렉터리에서 시작함.3) 리눅스의 설정 파일들은 etc에 있음.4) issue.net: 처음 접속할 때 뜨는 화면5) shadow 파일은 사용자들의 비밀번호가 있으므로 아무나 접근할 수 없음. 이후 비밀번호와 함께 5단계로 넘어갈 수 있음.

CTF/FTZ 2025.11.03

Hackerschool FTZ Trainer 3

w 명령어를 이용해 현재 서버에 누가 접속해있는지를 확인할 수 있음. 다음과 같이 뜸.① 로그인한 사용자의 ID② 접속한 콘솔 또는 터미널 종류③ 접속한 사용자의 IP④ 로그인 시간대⑤ IDLE: 지연시간(AFK 상태 시간 측정)⑥ 사용자의 CPU 사용 지연시간⑦ WHAT 필드에 있는 명령의 지연시간⑧ 사용자가 쓰고 있는 명령 종류 finger -l 명령어를 통해 사용자의 자세한 정보를 확인할 수 있음. tty 명령어를 통해 본인의 터미널 정보를 확인할 수 있음. ifconfig 명령어를 통해 서버의 IP, 서브넷 마스크, 이더넷 이름 등의 정보를 알 수 있음. 이 후 새 터미널을 띄운 뒤 guest로 로그인(ID/PW 모두 guest)trainer3에서 guest의 pts 번호를 확인하기.그 뒤 wri..

CTF/FTZ 2025.11.03