Exploit-exercises Nebula level04 [ Link ]

2017. 5. 30. 15:36SystemHacking/Neblua

 


Nebula level04문제입니다


< 그림 4.1 >


당신은 " token " 파일을 읽어야합니다. 그러나 코드가 파일 읽기를 제한하고 있다 우회할 수 있는 방법을 찾아라

일단 flag04의 홈디렉토리로 가보도록 하겠습니다


< 그림 4.2 >


flag04 실행파일과 token 파일이 존재합니다. flag04파일을 여러번 실행시켜보았습니다.

아마도 파일을 읽어들이는 실행파일로 보입니다. token을 읽어드리려고 했지만 권한에 제한이 걸려있습니다

인자로 token 문자열이 들어가 있으면 해당 실행파일을 종료시킵니다 ( strstr 함수 )

어떻게하면 token파일을 인자로 넣을 수 있을 지 생각해봅시다

token파일을 다른이름으로 저장하던지 링크파일을 생성하면 된다


< 그림 4.3 >


cp 명령어와 하드링크 명령어 모두 제한되어 있었습니다. 남은건 심볼릭 링크 뿐이였습니다

여기서 하드링크와 심볼릭링크에 대해서 설명해드리겠습니다.

하드링크는 cp와 비슷하지만 용량을 차지하지 않는 특성이 있습니다. 심볼릭링크는 해당파일을 복사하는 것이아니고 해당 파일에 대한 포인터 역할을 하는 것처럼 해당 파일을 가르키깁니다

따라서 심볼릭링크 파일을 읽어들이면 심볼릭 링크가 가르키고 있는 파일을 읽어들입니다

심볼릭링크를 생성해봅시다 ( $ln -s [링크를 당할 대상명] [생성할 링크 파일] )


< 그림 4.4 >


/tmp/sysbolicLink 는 /home/flag04/token 파일을 가르키고 있습니다 ( symbolic 오타났습니다..; )


그러면 이제 해당 파일을 읽어볼까요 ?


< 그림 4.5 >


심볼릭링크를 통해서 token 파일이 읽어졌고, flag04계정의 비밀번호로 추정되는 문자들이 출력되었습니다

su 명령어를 통해서 flag04계정으로 접속해봅시다. level05로 넘어갑니다