워게임/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 파일의 내용을 읽을 수 있게 된다.
반응형