Post

[RCity] Linux Quiz 1

개요

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

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

문제분석

1
2
3
4
🥷 시나리오: 당신은 리눅스 서버에서 성공적으로 침투한 해커입니다.
정찰 단계에서 전체 파일 시스템에서 "password"라는 단어가 파일 내용 안에 포함된 파일을 찾아야 합니다!

❓ 질문: Linux 파일 시스템에서 "password"라는 단어가 파일 내용 안에 포함된 파일을 검색하기 위해 다음 중 어떤 명령을 사용해야 할까요?
1
2
3
4
 1. find / -name "password"
 2. grep -r "password" /
 3. ls -lR | grep "password"
 4. chmod -R 777 / | grep "password"

이번 문제는 RCity6문제 다음으로 이어진 Quiz다 문제를 보니 현재 시스템에서 “password”라는 단어가 파일 내용 안에 포함된 파일을 검색하라는 것 같다.

1번 선택지부터 하나씩 보겠다. 1번 선택지에서는 find명령어 하나를 사용하고 있다. find명령어는 기본 사용형태는 다음과같다. find [위치] [옵션] [문자열]. 따라서 1번에서는 /위치 즉 루트위치인 최상위디렉토리에서부터 파일을 찾고 -name으로 파일이름이 password라는 파일을 찾는 것이다. 1번은 파일안에 password라는 단어가 있는것이아닌 파일 이름이 password라는 것이니 틀린답이 된다.

2번선택지는 grep명령어 하나를 사용한다. -r옵션은 지정한 디렉토리와 그 하위 디렉토리의 모든 파일에서 지정한 문자열을 검색하는 명령이다. 그리고 뒤에 /를 넣어줌으로써 최상위디렉토리에서 하위디렉토리들은 모든 파일들을 뜻하므로 2번 선택지가 전체 파일 시스템에서 password라는 단어가 들어간 파일을 찾는 명령어이다.

3번 선택지는 lsgrep명령어를 사용했다. 두 명령어 사이에 |는 두개의 명령어를 이어주는 역할중 하나로 |는 앞 명령어의 결과가 뒷 명령어의 입력드로 들어가는 것이다. 따라서 ls -lR을 통해 현재 디렉토리에 하위 모든 디렉토리의 내용이 grep명령으로 넘어간다. 이후 grep "password"를 실행하게 되는데 여기서 grep명령어는 전달 받은 파일들에서 password라는 문자열을 찾는 것이 아니라 전달받은 그 출력물 자체에서 password문자열을 찾게된다. 따라서 3번째 선택지는 문제에서 원하는 명령이 아니다.

4번째 선택지는 chmodgrep명령어를 사용한다. 여기서 chmod는 이전에 설명했던 것과같이 해당 파일의 권한을 변경하는 것이고 -R 옵션과 함께 /를사용해서 모든 디렉토리와 파일에 777권한을 부여하는 것이다. 하지만 권한을 부여하기만할 뿐 따로 출력되는것은 Permission에러 정도밖에 없다 이것을 grep명령으로 넘기는건 아무 의미가 없기때문에 4번또한 문제에서 원하는 명령이 아니다.

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