최상단

컨텐츠

[Secuinside] toolbox write up

글 정보

Category
컴퓨터 이야기/Security
2013. 5. 28. 13:37

본문

exploit 문제가 아니라 나도 잘하면 풀수 있을 것 같아 덤볐다가..포기한 문제-_-;


답이 너무 궁금한데, write up이 나오지 않아, 아는 동생이랑 같이 풀어봤다....혼자 푼게 아니라서 write up을 쓰기가 껴려졌었는데, 대회 때 초반에 나온 문제인데, 2명밖에 못 풀어서.. 궁금해 하는 사람이 많을 것 같아서 대충 정리해서 올린다.



아는 동생의 도움을 받아 새로운 트릭을 하나 배웠다.


현재 디렉토리에 

file1.gzip, file2.gzip, file3.gzip 이 있는 경우

tar zvf *.gzip 을 하게 되면 

tar zvf file1.gzip file2.gzip file3.gzip 으로 shell에 의해서 *.gzip이 확장되어 실제 명령어로 실행된다는 사실!..


아마 이 문제의 key가 아닐까 싶다.


이 문제는 크게 세가지의 꼼수를 사용해야 풀수 있는데, 

  - 그 중 하나는 위에서 설명한 꼼수이고

  - 두번째는 상대경로로 파일을 생성하는 방법이다.

  - 그리고 마지막으로 givemeshell 문제에서 사용된 sh<&4 같은 리디렉션을 이용하는 방법

이다.


이 세가지를 잘 조합하면서 문제를 풀어나가보면..


일단 정상(?)적인 아이디를 하나 생성한다.


그리고, toolbox를 설치할지 물어보는 부분에서 대기!..


그럼. UserSpace에 해당 ID의 디렉토리가 생성된다.(예를 들어, 0cc175b9c0f1b6a831c399e269772661 라고 하자.)


그 상태에서 새로운 접속을 만들어 또 다른 아이디를 생성한다.


이 때 아이디의 이름은


../UserSpace/0cc175b9c0f1b6a831c399e269772661/--to-command=sh<&4;.gzip


으로 생성한다.


그럼, 

UserSpace/0cc175b9c0f1b6a831c399e269772661/ 에


--to-command=sh<&4;.gzip 이라는 파일이 생성될 것이다.


그 상태에서 


처음에 생성한 계정으로 돌아가서,


toolbox를 설치 한다.


그럼, 


/bin/sh -c tar xvfzp *.gzip 이 실행되면서


이 명령은 tar xvfzp file1.gzip file2.gzip .... --to-command=sh<&4;.gzip 이라는 명령어로 확장된다.


그럼, tar 명령에 의해서 --to-command 뒤의 명령이 실행되면서 shell 획득 가능!!..


재미있는 문제인듯...ㅎㅎ


ps. --to-command=sh<&4;gzip 대신에 nc나 다른 명령을 써복 싶었지만. 버퍼가 딱 저기 까지 이다.


그리고, hint에 ubuntu라고 나와있는 건..CentOS의 tar 명령에는 --to-command 옵션이 없다;;.(CentOS 5.3 기준.)






트랙백과 댓글 여닫기

TOP