CTF 16

SWIMMER OSINT CTF(by DIVER OSINT CTF) Write-up

2026년 1월 17일 12:10부터 18일 00:10(일본시각 기준)까지 개최된 주니어 대상 Swimmer OSINT CTF에 참가하였다.본인은 '너의집주소는' 이란 팀에 'Ispini'로 참가하여 팀원들과 함께 OSINT 문제들을 풀었다. 본인이 맡았던 주 파트는 tgt_rain이었으며, 그 밖에도 tgt_debeyohiru의 hidden2나 meal 등을 같이 풀었고, ops_swimmer 문제는 아쉽게 정답을 맞추진 못했지만 정답에 거의 근접하는 등 많은 성과를 얻어내는 데 성공하였다.지금부터 아래에 이번 OSINT의 라이트업을 쓰려 한다. Our Team: 너의집주소는(Your Address)Points: 3514Rank: 95/687Challenges the team solved: 37/38t..

Hackerschool FTZ Level 7

로그인한 뒤 hint 파일을 열어본다.꽤 여러 가지가 써져 있다. 상상력을 총동원하라고 나오고, 진수 변환 관련도 언급된다.계산기 설정을 공학용으로 바꾸라는 건 아직 잘 모르겠다. 수학 관련 문제인가? 일단 setuid를 찾아보니 bin 경로 안에 파일이 하나 나온다. 파일 정보를 확인해 보니 실행 권한이 있길래 한 번 실행해 본다. 될리는 없겠지만 7의 비밀번호를 한 번 넣어본다. 역시 안 된다.wrong.txt 파일이란 게 없다고 뜬다. 근데 bin 디렉터리 안엔 wrong.txt란 파일이 없다. 만들어줘야 하는 건가? 그러나 나한테는 쓰기 권한이 없다. 그렇지만 일단 해 볼 수 있는 게 별로 없으므로 시도는 해 본다. 역시나 안 된다. 해당 오류는 파일을 쓸 권한이 없을 때 뜨는 오류다. 당연하겠지..

CTF/FTZ 2025.11.27

Hackerschool FTZ Level 4

이번에도 바로 힌트부터 찾아본다.저 경로 안에 백도어가 심어져 있다고 한다. 바로 가 본다.정말로 backdoor란 이름의 파일이 있다. 내용을 확인해 보면 다음과 같이 나온다.finger란 이름의 서비스 내용을 담는 것 같고, 기능이 켜져 있다.(disable = no)사용자가 level5로 되어 있으며, server의 위치(?)는 level4/tmp 경로의 backdoor란 파일에 있다고 한다. 그런데 해당 경로로 가보니 그런 파일은 없다.일단 finger가 뭔지 모르겠어서 무턱대고 쳐보니, 다음과 같이 쳐본다. 현재 접속중?인 사용자의 목록을 출력하는 기능이 아닐까 추측해 본다.이후 구글링 해보니, 사용자의 리눅스 계정 정보를 자세히 확인할 수 있는 기능인데,요즘엔 대부분 꺼놓는다고 한다. 저 xi..

CTF/FTZ 2025.11.13

Hackerschool FTZ Level 3

힌트 파일을 열어보니 다음과 같이 나온다.코딩이라 좀 골치 아플 것 같다. setuid를 찾아보니 위에서 보았던 autodig란 파일이 하나 보인다.저 파일을 써 먹는 게 맞나 보다. 저 파일을 실행해 보니 다음과 같이 결과가 나온다. 일단 strcpy는 문자열 복사로 dig @란 문구를 cmd에 새로 붙여넣고,그 뒤의 strcat는 각각 argv[1](내가 넣은 값의 두 번째, 띄어쓰기로 구분하는 듯 하다)과version.bind chaos txt란 텍스트를 순서대로 이어 붙인다는 뜻이다. 근데 코드의 저 dig @가 뭘 뜻하는 건지 모르겠어 찾아보니, dns 정보를 조회하는 명령어라고 한다.그리고 아까 힌트에서 인자 값이 2개가 아니면 바로 윗 사진과 같이 출력했으니, autodig 뒤에아무 dns나..

CTF/FTZ 2025.11.04

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