level2의 ID와 PW는 아래와 같습니다.

 

ID : level2

PW : hacker or cracker

 

level2의 hint 파일을 읽으면 [그림 1]과 같이 나오게 됩니다.

[그림 1] level2 cat hint 실행 화면


'텍스트 파일 편집 중 쉘의 명령얼 실행시킬 수 있다.'라는 힌트를 볼 수 있습니다.

쉘 명령을 실행할 수 있다는 것은, level3로 쉘을 실행시킬 수 있는 프로그램이 있다는 것을 짐작할 수 있습니다.

그렇다면 여기서 level1과 마찬가지로 find명령어를 이용하여 level3의 파일을 찾아보도록 합시다.

find 명령어는 [그림 2]와 같습니다.

[그림 2] find 명령어 사용


[그림 2]를 살펴보면 찾아낸 프로그램은 /usr/bin이라는 경로에 있으며 프로그램 이름은 editor입니다.

이제 찾아내 프로그램의 정보를 살펴봅시다.

/usr/bin/editor의 프로그램은 level3의 권한으로 setuid가 설정되어 있음을 볼 수 있습니다.


editor 프로그램을 실행시킨 화면은 [그림 3]과 같습니다.

실행된 화면이 리눅스 내의 프로그램인 vi editor와 비슷한 모습을 보이고 있는 것을 알 수 있습니다.

vi editor의 옵션을 살펴보도록 합시다.


vi 옵션 참고 URLhttp://comefeel.com/tt/comefeel/entry/


vi에서는 ! 를 이용하여 쉘 명령어를 실행시킬 수 있습니다.


명령어 예시

내용

 :!ls -l

 ls -l 명령어가 실행되어 결과값을 화면에 보여줌 

 :r!ls -l 

 ls -l 명령어가 실행되어 에디터에 결과값을 작성해줌 

 :e! [filename]

 새로운 파일을 편집함 

[그림 3] editor 프로그램 화면


이제 vi의 옵션을 통해 쉘 명령어를 실행시켜보도록 합시다.

우리가 실행시킬 명령어는 level3의 권한을 가져오기 위한 bash 명령어 입니다.

[그림 4] level3의 권한을 탈취


vi를 통해 실행된 bash는 level3의 쉘을 실행시켜줍니다.



'WARGAMES > FTZ' 카테고리의 다른 글

level08_FTZ  (0) 2016.01.07
level07_FTZ  (0) 2016.01.07
level06_FTZ  (0) 2016.01.07
level05_FTZ  (0) 2015.11.27
level04_FTZ  (0) 2015.11.26
level03_FTZ  (0) 2015.11.20
level01_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04


level1의 ID와 PW는 아래와 같습니다.

 

ID : level1

PW : level1


 

로그인을 하면 아래와 같은 권한으로 들어가집니다.

ls -l 명령어를 사용해보면 hint라는 파일 1개, public_html, tmp라는 디렉토리 2개가 보입니다.


cat hint 명령을 사용하여 hint 파일의 내용을 확인해보면 다음과 같은 힌트가 주어집니다.

힌트의 내용은 [그림 1]과 같습니다.

즉, level2라는 사용자가 자신의 파일 중 setuid를 걸어놓은 것이 있는지 찾아보는 것을 의미합니다.

[그림 1] level1의 hint 파일


level2라는 유저가 setuid를 설정한 파일을 찾는 명령어는 [그림 2]와 같습니다.

 명령어 or 옵션

내용 

find

 파일 혹은 디렉토리를 찾는 명령어

/

 '/'라는 디렉토리(최상위 디렉토리)에서부터 검색을 시작한다는 것을 의미

 -user level2

 사용자는 level2라는 것을 지정하는 옵션 

-perm +4000

 권한은 +4000 즉, setuid가 설정되어 있는 파일을 지정하는 옵션 

 2>/dev/null

 /dev/null은 리눅스의 휴지통과 같은 의미로, error(2)이면 휴지통으로 보냄 


[그림 2] level2라는 유저가 setuid를 설정한 파일을 찾는 명령어 및 파일


/bin/ExecuteMe를 실행시키면 다음 [그림 3]과 같은 내용이 나옵니다.

[그림 3] /bin/ExecuteMe 실행화면


이 파일은 level2권한으로 원하는 명령어를 실행시킬 수 있도록 해주는 프로그램입니다.

단, my-pass와 chmod는 사용할 수 없게 외어 있습니다.

여기서 실행할 명령어를 신중하게 골라야 합니다.

[그림 4] bash 명령어를 실행하여 level2 권한을 유지함


[그림 4]와 같이 bash명령어를 실행하여 level2권한을 실행시킬 수 있음을 숙지해둡시다.


my-pass의 명령어를 실행시켜보면 패스워드가 나옵니다.


PS. vi명령어로도 해봅시다.

'WARGAMES > FTZ' 카테고리의 다른 글

level08_FTZ  (0) 2016.01.07
level07_FTZ  (0) 2016.01.07
level06_FTZ  (0) 2016.01.07
level05_FTZ  (0) 2015.11.27
level04_FTZ  (0) 2015.11.26
level03_FTZ  (0) 2015.11.20
level02_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04

참고 출처(1) : http://noplanlife.com/?p=606

참고 출처(2) : http://taeeun83.com/?p=48


해커스쿨 FTZ를 로컬에 환경을 구축하여 풀는 게 낫네요.

FTZ 서버가 Hackerschool에서 자주 닫히는 경우가 있어 친절한 우리 해커돌이님들께서 로컬로 할 수 있도록 해주셨어요.

전 바보같이 이제 알았네요.


---------<<방법 1>>---------


구글 드라이브에서 FTZ이미지 다운로드

타겟 이스 저 노란색.


다운받아주세요.


아마 많은 vmware파일들이 있을 건데,

vmware player 혹은 vmware workstation이 있다면

.vmx파일을 더블클릭하면 바로 실행이 될 거에요.


ID  : root

PW : hackerschool


ifconfig로 ip를 확인해주시고 putty나 다른 프로그램으로 들어가시면 될 거에요.


제 로컬 환경에서는 SSH로 들어가야 하더군요.

왜인지는 모르겠지만 그렇더라구요.


* 만약 vmware가 실행이 잘 안 된다면 서비스가 잘 켜저 있는지 확인하세요.




---------<<방법 2>>---------


해커스쿨에서 Red Hat 9.0다운받기

구글드라이브에서 FTZ_Setting다운받기


Red Hat 9.0을 받고, Vmware로 구동시켜요.



CD-Rom 마운팅 기능을 설정하여 ftz.iso 파일을 연동시켜주고요.


Use ISO image file에서 Browse를 클릭하고 ftz.iso 파일이 들어있는 디렉토리를 들어가 마운트 시켜주세요.


mount /dev/cdrom /mnt/cdrom


참고 링크 (2)에서 작성하신 분은 "FTZ restore Manual.docx"파일을 보고 설정해도 된다고 하시네요.

하지만 저 처럼 귀차니즘 분들은 그냥 AUTO_SCRIPT를 추천하더군요.


AUTO_SCRIPT 하위 폴더에가보면 자동 설치를 위한 shell파일이 있어요.


 bash auto_script.sh

or

sh auto_script.sh


설치가 정상적으로 완료되면 ifconfig로 ip를 확인한 후, putty나 다른 프로그래을 이용하여 ssh로 들어가주면 끝.




'WARGAMES > FTZ' 카테고리의 다른 글

level08_FTZ  (0) 2016.01.07
level07_FTZ  (0) 2016.01.07
level06_FTZ  (0) 2016.01.07
level05_FTZ  (0) 2015.11.27
level04_FTZ  (0) 2015.11.26
level03_FTZ  (0) 2015.11.20
level02_FTZ  (0) 2015.11.15
level01_FTZ  (0) 2015.11.15

+ Recent posts