22018, 1/1101 회원가입  로그인  
   testing
   FTZ Level2 문제!

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=34615 [복사]


안녕하세요
ftz를 즐겨하는 청년입니다.
level1은 예전에 인터넷 보고 따라해본 적이 있어서 최근에 레벨1문제는 쉽게 풀었습니다.

문제는 level2부터네요.

level2의 hint를 열어보니 "텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데..." 라고 힌트를 주네요.

일단 텍스트 파일 편집기는 vi이므로 vi로 my-pass를 띄우게 한다던지 /bin/sh 로 sh을 얻다?? 를 한다던지 시도를 해봤는데 level2의 패스워드만 뜨네요ㅠㅠ

문제가 안풀리니 제가 소질이 없는 것은 아닌지 위축되네요ㅎㅎ;

원래 저같이 다들 level2에서 막히나요 ㅋㅋㅋ

아무리 생각해봐도 좋은 수가 떠오르질 않습니다.
구글의 힘을 빌려보고 싶지만 다른 사람들은 혼자 힘으로 푸는것 같아서 구글 검색은 하지 않고 있습니다.

선배님들 조언좀 해주세요!





참고로 제가 했던 vi 방식을 올려보자면

/home/level2에 cat > a.txt과 vi 방식이 먹히지 않자
/home/level2/tmp로 이동해서 작업했습니다.

vi a.txt로 그 내용에 다음과 같이 입력하였습니다.

#/bin/bash
my-pass
(이렇게 하니 level2만 떳습니다. 당연한 거겠죠 ㅎㅎ)

#/bin/bash
/bin/bash
(이렇게 하니 아무것도 나오질 않았습니다.)

#/bin/bash
/bin/bash
my-pass
(이것도 마찬가지로 아무것도 뜨질 않았습니다.)

여기서 좀더 생각해본 결과 level3 디렉토리로 이동하여 권한을 따고
(여기서 권한을 어떻게 따는것인지 모르겠습니다만 /bin/sh만 치면 권한이 따지는 것으로 저는 알고있습니다.. 권한따는 방식이 틀렸으면 조언좀 부탁드리겠습니다.)
my-pass를 입력하면 어떨까 해서 다음과 같이 수정하였습니다.

#/bin/bash
cd /home/level3/tmp
/bin/sh
(이와같이 수정하였더니 level3의tmp로 가졌고 /bin/sh이 실행되었습니다. my-pass해본 결과 역시나 level2의 패스워드가 나오네요..)

아무래도 권한을 따는 방식이 틀린 것 같은데 제 생각이 맞나요?..

  Hit : 9209     Date : 2017/02/11 10:24



    
해쿨러 제 경험상으로는 FTZ로 컴퓨터 공부를 처음시작했다면 level10까지는 모두 모르는 내용입니다
그래서 level10까지는 물론 처음엔 혼자 풀려고 시도는 해봐야겠지만 굳이 한달씩 고민해가면서 풀 필요는 없다고 봅니다
level11부터는 풀이를 보지 않고 푸는게 비교적 가능하지만 level10까지는 풀이를 안보고 풀기 어렵습니다
예를들어서 파이썬 프로그램을 짠다음에 :!python % 을 하면 %에는 현재 파일명이 들어가고 python [현재파일명] 이렇게 실행됩니다
:!/usr/bin/id 를 한번 쳐보세요
2017/02/12  
testing @해쿨러
ㅠㅠㅠㅠ정말 감사드려요

학교에서 이미 배운 내용이었네요..

조금만 더 다르게 생각을 해봤으면 풀렸을 문제인데 한쪽만 너무 깊게 판것 같네요.

힌트 감사합니다^^

조언도 감사드립니다^^!
2017/02/13  
testing @해쿨러
해쿨러님 질문 하나 드려도 될까요?
"쉘을 따다, 권한을 따다" 라는 말이 FTZ에서는 /bin/bash 또는 /bin/sh 인가요?

/bin/bash가 나보다 권한이 높은 사람의 쉘을 딴다라는 말인가요?

만약, 맞다면 혹시 실전 해킹에서도 권한을 딸때 /bin/bash로 권한을 따게 되나요?
2017/02/13  
해쿨러 아 쉘을 따는건 보통 높은 권한의 쉘, 말씀하신 /bin/sh, /bin/bash같은 쉘 프롬프트 프로그램을 실행시킨 뒤 유지를 하는것을 뜻합니다
보통 /bin/sh를 실행할 수 있으면 임의의 프로그램 혹은 임의의 코드를 실행 시킬 수 있어 이를 Arbitrary Code Execution이라고 부르구요 보통 공격은 한 컴퓨터에서 다른 컴퓨터로 공격을 하는 remote exploit이 주를 이루기 때문에 보통은 RCE라는 용어를 더 사용합니다
그리고 리모트가 아닌 경우, 로컬권한이 있는 상태에서 권한상승을 하는 행위는 Privilege Escalation이라고 부릅니다
2017/02/13  
해쿨러 그래서 보통 쉘딴다라고 하는 표현은 대회에서 주로 쓰고
실제로는 나는 크롬에서 RCE취약점을 찾았어, 혹은 리눅스 커널에서 Privilege Escalation 취약점을 찾았어, VMWare에서 VM Escape취약점을 찾았어 이런식으로 얘기하고
무슨 취약점인데? 하면 BOF야, UAF야, Race Condition이야 등으로 취약점의 종류를 얘기합니다
익스플로잇을 할 때도 모든 상황에서 쉘을 딸 수 있는 것은 아니기 때문에 그냥 익스플로잇했다고 합니다
2017/02/13  
testing @해쿨러
wow 해쿨러님 정말 감사해요
제가 듣기 쉽고, 이해하기 쉽게 잘 정리해주셔서 읽는데 무리가 없네요 ㅎㅎ
정보공유 감사합니다^^

ps. 혹시 대학생이신지 궁금하네요. 전 대학생인데 왤케 부족한게 많을까욬ㅋㅋ
2017/02/14  
해쿨러 대학생 아니에요 ㅋㅋ 2017/02/14