전체 글 31

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

Hackerschool FTZ Trainer 2

ID: trainer2PW: linuxer 내 위치를 확인하기 위해 똑같이 pwd를 입력하기. 사진과 같이 home/trainer2 경로 안에 있는 것을 볼 수 있음. 이후 cd 명령어를 이용해 똑같이 상위 디렉터리로 이동해 보기. 성공했다는 메시지가 출력됨. 상위 디렉터리인 home으로 이동한 것을 볼 수 있음. 다시 원래 있던 아래 디렉터리로 내려가 보기. 다시 내려간 것을 볼 수 있음. cd /: 단계 거침 없이 곧바로 최상위 디렉토리로 이동하는 명령어. trainer2 => / 로 바뀐 것을 볼 수 있음. 다시 원래 있던 디렉터리로 갈 때, cd home => cd trainer2 이렇게 칠 수도 있지만'cd home/trainer2' 따위의 형식으로 디렉터리 경로를 묶어 한 번에 이동할 수도 있..

CTF/FTZ 2025.11.03