1. 문제 상황 2. 해결 과정 처음에는 echo 등으로 출력시키는 방식을 시도했으나 cron 스케줄을 확인해본 결과 사용자가 rcity20으로 설정되어있어서 rcity19인 나는 cron 실행 결과를 못본다는 걸 뒤늦게 알게 됨 # 기초 정보 획득 단계 pwd ls -alh # 문제 설명에 따라 rcity20 디렉토리 확인 cd /home/rcity20 ls -alh cat flag.txt # rcity20에 대한 정보 획득 grep -r "rcity20" / 2>/dev/null # 얻은 정보를 이용해 cron 확인 cat /etc/cron.d/rcity20_cronjob # 매분마다 /tmp/rcity20.py가 실행되도록 설정되어 있으므로 rcity20.py 확인 cat /tmp/rcity20.p..
1. 문제 상황 2. 해결 과정 이번 문제도 git 디렉토리를 조사하는 것이므로 굳이 git에 들어가서 찾기보단 git log 명령어 활용하기 # 기초 정보 획득 단계 pwd ls -alh # 커밋 로그 조회 git log # 변경 내용에 플래그 문자가 하나씩 있는거 확인 # 변경 내용에 하나씩 문자 추가된 걸 보기좋게 추출 git log --pretty=format:"%h %s" --grep="^Add flag character" > test.txt # 우선 결과물 받기 awk '{print $5}' test.txt > test2.txt # 변경 내용 로그에서 플래그 문자만 추출하기 awk '{printf "%s", $0}' test2.txt > result.txt # 문장당 한 글자만 들어가있는걸 하..
1. 문제 상황 2. 해결 과정 # 기초 정보 획득 단계 pwd ls -alh cd .git # 플래그 찾기(하위 디렉토리 내까지 전부 검색) grep 'flag' * grep -r 'flag' * # 커밋 메시지에서 flag가 삭제된 이력이 있기 때문에 커밋 변경 내용 확인 git show [커밋 해시] ※ git 디렉토리를 발견하면 grep이나 find 사용하기 전에 우선 git log 사용하기
1. 문제 상황 2. 해결 과정 # 기초 정보 획득 단계 pwd ls -alh # 수상한 디렉토리 살펴보기 cd .git ls -alh # 내용물이 많으므로 검색 활용 grep 'flag' * ※ git 디렉토리를 발견하면 grep이나 find 사용하기 전에 우선 git log 사용하기
1. 문제 상황 2. 해결 과정 # 기초 정보 획득 단계 pwd ls -alh file rcity15-data.bin # 유형이 data라는 것 밖에 모르므로 더 알아보기 (키 획득) cat rcity15-data.bin strings rcity15-data.bin # 16진수(hex)인 것으로 보이므로 xxd 사용 (키 획득) xxd rcity15-data.bin # 문제 설명에 따라 xor 복호화 시도 # 획득한 키와 cyberchef 사이트를 이용
1. 문제 상황 2. 해결 과정 문제에서 주어진 걸 이해하고 시도해보기! # 기초 정보 획득 단계 pwd ls -alh file rcity13-binary strings rcity13-binary # 바이너리 파일 실행해보기 ./rcity13-binary # 비밀번호를 찾기 위해 문제에서 주어진대로 환경 살펴보기 env # 얻은 비밀번호로 실행해보기 ./rcity13-binary research-setuid-its-important "/bin/bash" # 권한 상승을 위해 -p 옵션 사용하기 ./rcity13-binary research-setuid-its-important "/bin/bash -p" # bash 쉘에서 플래그 찾기 pwd cd .. cd rcity14 cat rcity13-flag.txt