Overpass (2)
이제 root 권한을 얻어보자.
이번 문제는 root 권한을 얻기 위한 과정이 조금 어려웠다..
sudo -l도 사용을 못하고
find를 이용해 setuid가 설정된 파일을 출력시켜 봐도 활용할 부분을 찾지 못했다.
결과적으로.. james 계정에서 볼 수 있는 directory는 죄다 들어가서 파일을 읽어봤다.
하하하-
아무튼 결과적으로 위의 사진에서 보이는 crontab이라는 파일의 마지막 줄을 보면 문제 해결의 힌트를 얻을 수 있다.
우선 overpass.thm에 해당하는 ip를 공격자 ip로 수정해 준다.
curl command가 실행되면 overpass.thm/downloads/src/buildscript.sh 파일을 가져온 후
bash shell이 실행되는 거 같다.
그래서 overpass.thm을 공격자의 ip로 수정하고 공격자의 컴퓨터에서 downloads/src/buildscript.sh를 만들어
target server에서 실행되도록 작업하는 것이다.
downloads/src/buildscript.sh의 내용을 nc shell이다.
공격자의 IP address와 사용할 port 8888을 설정해놨다.
공격자 terminal에서 해야 하는 두 가지 중 첫 번째는
만들어둔 파일을 가져갈 수 있도록 웹 서버 80 port를 열어두고
두 번째는 8888 port를 열고 기다리는 것이다.
제대로 buildscript.sh를 가져가 실행한다면 이 terminal에 root shell이 뜬다.
잽싸게 root.txt 파일을 읽어주면 root.flag GET!!
이번 문제는 다른 문제들처럼 root 권한을 얻는 방법을 알아내기에 비교적 어려웠다..
하지만 root 권한을 얻는 또 다른 route를 접할 수 있는 새로운 방법을 습득한 느낌이다!!