워게임/Root Me

[Root Me] Bash - System 1 - 포너블

SecurityMan 2024. 1. 4. 11:00

 

Root Me 에서 제공하는 간단한 시스템해킹 문제

 

주어지는 소스코드에서 취약점을 찾아 .passwd 파일의 내용을 읽으면 된다.

 

반응형

 

 

아래에 있는 WebSSH 버튼을 누르면

 

온라인으로 문제를 풀 수 있다.

 

 

 

접속해서 ls -al 을 해본다.

 

로그인된 계정은 app-script-ch11 인데

 

.passwd 파일은 app-script-ch11-cracked 계정에만 read 권한이 있어

 

내용을 읽을 수 없다.

 

 

 

주어진 소스코드로 만들어진 바이너리인

 

ch11 을 실행시켜 본다.

 

소스코드 자체에서 ls 명령어를 수행하도록 되어있기 때문에

 

ls 명령어 수행결과가 출력될 뿐,

 

.passwd 파일의 내용을 읽을수는 없다.

 

 

우선 /tmp 디렉토리로 이동한다.

 

 

mkdir 을 통해 임의의 디렉토리를 하나 생성해준다.

 

 

파일의 내용을 읽어야 하니

 

/bin/cat 파일을 /tmp/vuln 경로로 복사해준다.

 

 

mv 명령어를 이용해

 

/tmp/vuln/cat 파일의 이름을

 

/tmp/vuln/ls 로 바꿔준다.

 

 

다음으로 export 명령어를 이용해

 

현재 경로인 /tmp/vuln을 환경변수로 추가해준다.

 

이렇게 하면 현재 경로가 우선적으로 탐색되어 ls 명령어가 입력되면

 

/tmp/vuln 에 있는 ls 파일을 먼저 찾게된다.

 

 

 

따라서 /tmp/vuln 경로에서 ch11 바이너리를 실행하게 되면

 

ls 인척하는 cat 가 실행되어

 

.passwd 파일의 내용을 읽을 수 있게 된다.

반응형