이 영역을 누르면 첫 페이지로 이동
caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

페이지 맨 위로 올라가기

caputdraconis

네트워크 관점에서의 클라우드 컴퓨팅을 공부하는 중입니다 :)

[FTZ 정복기] level1

  • 2020.08.07 09:48
  • Security/PWN
글 작성자: caputdraconis
반응형

FTZ 정복기 시작한다..

 

 

조건에 성립하는 파일을 찾으면 되는 문제다. 주어진 조건은 level2가 권한을 가지고 있으며(user 옵션) setuid가 걸려있는 파일이라는 것이다. 여기서 setuid는 리눅스의 특수 권한중 하나로, setuid가 걸려있는 프로그램을 실행시 특정 작업 수행을 위해 일시적으로 파일 소유자의 권한을 갖고온다. 즉 우리가 찾는 프로그램을 실행시키면 일시적으로 level2의 권한을 갖고오는 것이다.

SETUID에 대해 조금 더 자세히 알고싶다면!? => https://leeggoggal.tistory.com/10

 

 

조건을 줘가면서 파일을 찾을 수 있는 명령어가 리눅스에 find 라고 있다!

우선 -user 옵션을 통해서 소유주가 level2라는 것을 명시하자.

 

 

 

그리고 위 사진에서 볼 수 있듯이 setuid가 적용된 파일은 권한이 4000대이니 -perm -4000을 붙여주자!

 

find / -user level2 -perm -4000

위 명령에서 /는 현재 디렉토리를 의미한다. 이렇게 명령하면?

수많은 검색결과 중 유일하게 하나! /bin/ExecuteMe 파일이 있다!

 

더보기

허가가 거부된 파일 중에서 찾기가 힘들다면 다음과 같이 치면 된다.

find / -user level2 -perm -4000 2>/dev/null  

뒤에 붙은 "2> /dev/null"가 의미하는 바는 다음과 같다.

숫자 2는 오류를 의미한다. 즉 여기서는 '허가 거부됨'을 의미한다.

/dev/null은 휴지통 같은 개념이다. 

즉 "오류가 난 파일은 휴지통으로 보내라! 정상적인 파일만 출력하라!"가 된다. ㅋㅅㅋ

 

 

그럼 /bin 으로 가서 ExecuteMe를 실행시켜보자

조건이 성립하는구만

실행시킨 모습이다. my-pass(현재 계정의 PW를 알려주는 명령어)와 chmod(권한 변경 명령어)를 제외한 명령어를 level2의 권한으로 실행시켜준다고 한다. 

시스템 해킹의 궁극적인 목표는 쉘을 따는것이다. 그렇기에 쉘을 실행시켜보자

/bin/sh 를 통해 쉘을 실행시켰다.

 

실행된 쉘에 whoami(현재 계정의 ID를 출력해주는 명령어)를 입력하니 진짜로 level2의 계정으로 되어있다. 그렇다면 여기서 my-pass 명령어를 실행시키면 level2 계정의 pw가 나온다.

Level2 Password is "hacker or cracker".

 

반응형

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [FTZ 정복기] level2

    [FTZ 정복기] level2

    2020.08.07
  • pwnable.kr Wargame Toddler's Bottle👶

    pwnable.kr Wargame Toddler's Bottle👶

    2020.07.01
다른 글 더 둘러보기

정보

caputdraconis 블로그의 첫 페이지로 이동

caputdraconis

  • caputdraconis의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • 🥚고리즘 (13)
      • 겅부겅부🙃 (10)
        • Naver CS50 코칭스터디 (2)
        • Machine Learning (1)
        • Computing System (6)
      • 언어&프레임워크 (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • 지옥방 스터디 (22)
        • 여름방학 스터디 (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • 알고 있으면 도움되지 않을까,,? (23)
      • 일상다반사 (1)
      • 근황 정리 (1)
      • 42 Seoul (1)
        • Setting (1)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 웹해킹.kr
    • 드림핵
    • 파이썬함수
    • 파이썬
    • 리스트함수
    • old-16
    • Python
    • 파이썬기초

    나의 외부 링크

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    정보

    caputdraconis의 caputdraconis

    caputdraconis

    caputdraconis

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    티스토리툴바