System Hacking

[해커스쿨FTZ] Level3

BIGFROG 2020. 1. 6. 17:19

힌트를 보면 소스코드를 볼 수 있는데,

 

내가 입력한 값이 host부분이 되어,

 

dig @ host version.bind chaos txt

라는 값이 된다.

 

리눅스에서 dig라는 명령어가 있는데,

 

DNS를 조회하는 명령어이다.

 

특히 이 문제에서는 bind 버전을 알아내는 용도로 사용이 되었다.

 

more hint에서,

 

동시에 여러 명령어를 사용하라는 힌트가 있었는데,

 

리눅스에서 이는 세미콜론(;)을 사용하여 해결이 가능하다.

 

명령어;명령어  형태로 값을 주면 여러 명령어를 동시에 실행할 수 있다.

 

두 번째 힌트로 문자열 형태로 명령어를 전달하라는 힌트가 있었다.

 

이는 ""따옴표로 묶어줌으로써 가능하다.

 

 

이전 문제와 마찬가지로,

find / -user level4 -perm -4000을 이용해 파일을 찾는다.

 

autodig라는 파일을 찾았고, 처음 힌트에서 본 소스코드대로 동작하는 듯 하다.

 

추가로 인자를 주면서 실행시켜야하는데, host는 간단하게 www.google.com으로 주었다.

 

실행시킬 때는, autodig "www.google.com;my-pass" 로 입력해주면

 

my-pass명령이 SETUID가 level4인 파일이 실행되는 동안 실행되므로,

 

level4의 flag를 얻을 수 있다.