Mr.Robot CTF 풀이3 (Walk through)

2017. 3. 29. 22:35보안 & 해킹/CTF


최상위 디렉터리 / 에서 ls -al을 해보면 root 폴더의 읽기 권한이 없다는 것이 보인다.


아마도 마지막 키를 얻기 위해서 우리는 권한 상승(privilege escalation)을 해야할 것이다.


리눅스의 알려진 권한 상승 취약점 방법을 이용하기 위해 여러가지를 시도해본다.


리눅스 권한 상승 참고할 만한 사이트 링크1, 링크2


잘못 설정된 setuid를 이용한 권한 상승 방법을 이용하기 위해 


1
find / -perm -4000 -type f 2>/dev/null
cs


find 명령어로 setuid 4이상 설정된 값을 찾아본다.


(각종 중급 이하의 리눅스 권한상승 단골문제다.)



find / -perm -4000 -type f 2>/dev/null


유의할 점으로 칼리리눅스는 -perm 뒤에 -[숫자] 이고 다른 버전의 쉘의 경우


+4000 혹은 기호를 붙이지 않고 그냥 4000을 써야할 경우도 있다.



setuid는 파일 실행시 해당 소유자의 권한을 빌려 실행하기 때문에 root권한으로 상승되는 것이다. 그리고는 프로세스가 종료되면 권한을 반환한다.

nmap이 아닌 nano, gedit, vi 등의 편집기가 setuid설정되어 있다면 root권한이 아닌 계정으로 root권한만 접근 가능한 파일에 접근 할 수도 있다.


nmap이 setuid가 설정될 일이 없기에 수상하다고 생각이 든다.


nmap이 리스트에 뜨는데 이 nmap의 구버전에서 interactive 모드를 실행할 수 있다.



해당 서버에 설치된 nmap의 버전은 3.81로 nmap 5.35버전에서 삭제된 --interactive 모드 명령어를 실행시켜 shell을 실행시킬 수 있다.




find 명령어로 key-3-of-3.txt를 찾거나 ( find / -name "key-3-of-3.txt" ) 홈폴더인 /root안에 들어가보면 마지막 키를 발견할 수 있다.


이로써 3가지의 키를 다 모았다!


  1. 073403c8a58a1f80d943455fb30724b9
  2. 822c73956184f694993bede3eb39f959
  3. 04787ddef27c3dee1ee161b21670b4e4


획득한 키들은 어떠한 해쉬값같아 보이는데 이것을 어디에 제출하는 지는 아무도 모르는 듯 하다.


여담으로 /opt/bitnami/ 경로안에 mysql이 설치되 있는데 bitnami의 mysql DB안에 mich05654라는 계정을 볼 수 있고 사전파일을 대입해보면 Dylan_2791이 암호인 것을 볼 수 있다.



이 계정안에는 Elliot의 상담사 Krista_Gordon의 위키링크가 걸려있고 'another key?' 라는 바이오그래피가 있다. CTF 제작자가 장난으로 숨겨놓은 듯 하다.



이상으로 각 풀이들을 종합해 가장 나아보이는 방법들로 새로 작성하여 보았다.





링크 : 풀이 1번


링크 : 풀이 2번