Post

[RCity] RCity1 Write up

개요

Redraccoon에서 운영하는 RCity라는 워게임에 RCity1에 대한 Write up을 작성했습니다.

해당 공격 기법들을 허가되지 않은 실제 운영 서버에서 시도하는 것은 정보통신망법에 어긋나는 행위입니다.

문제분석

1
2
3
4
5
6
SSH를 이용하여 서버에 rcity1 유저로 접속한 후,
주어진 디렉토리들을 cd (Change Directory) 명령어를 사용하여 방문해 "flag.txt" 파일을 찾으세요.

flag.txt 파일 안에는 "rcity2"라는 유저의 비밀번호가 기록되어 있을 것입니다.

이 정보를 활용하여 rcity2 유저로 로그인하세요.

문제내용을 보면 cd(Change Directory)명령어를 사용해 flag.txt파일을 읽는것이 목표라는 것을 할 수 있다.

image

접속을 한 뒤 ls -alh명령어를 사용해 파일들을 살펴보니 maybe here라는 디렉토리가 존재하는 것을 확인했는데 이름이 뭔가 이 디렉토리 안에 있는 것같은 느낌을 주므로 cd명령어로 들어가봐야 할것같다. 하지만 문제는 maybe뒤에 띄어쓰기가 되어있다는 것이다. cd명령어는 현재 디렉토리위치를 변경하는 명령어이다. 명령어의 기본 사용 형태는 cd <디렉토리이름>와 같다. 이때 디렉토리 이름은 붙어있어야 한다. 하지만 maybe here이라는 파일은 띄어져있어 cd maybe here을 입력하면 오류가난다.

image

이러한 경우에 해결하는 방법이 여러가지가 있다. 그중 하나는 ', "따옴표를 사용하는 것이다. 우리가 평소에 프로그래밍을 할때 문자열을 변수에 저장할때도 a="Hello, World!"이런식으로 문자열 양쪽에 따옴표를 사용해 따옴표 안에있는것들을 모두 하나의 객체로 묶어버린다. 이것도 마찬가지로 cd 'maybe here'또는 cd "maybe here"로 디렉토리를 변경하면 오류없이 잘 접근이 될것이다. 다른 방법으로는 역슬래시를 사용하는것이다. cd maybe\ here이렇게 역슬래시를 공백이나 특수문자 앞에 사용하면 일반적인 문자로 인식이 된다. 사실 그냥 자동완성이 되는 쉘이라면 tab을 사용하면 간단하게 접근할 수 있다.

image

maybe here에 들어간뒤 이 디렉토리의 파일들을 본 결과 fl ag.txt파일이 있는 것을 확인했다. fl ag.txt파일도 중간에 공백이 존재하는데 위 디렉토리 접근하는것과 똑같이 따옴표로 감싸거나 역슬래시를 사용하면 읽을 수 있다. cat fl\ ag.txt

This post is licensed under CC BY 4.0 by the author.