일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 보안
- CTF-d
- 해커팩토리
- 리버싱
- 파일 다운로드 취약점
- python flask
- Blind Sql Injection
- 게시판 만들기
- SQL Injection
- 포렌식
- 해커 팩토리 6번
- Burp Suite
- 해커팩토리 10번
- 리버싱 기초
- ftz
- 웹해킹 실습
- 해커 팩토리
- 레나 튜토리얼
- 해커팩토리 8번
- 웹 해킹
- 로그 분석
- 디스크 포렌식
- 부트스트랩
- union sql injection
- 테이블명 수집
- SANS
- 네트워크 포렌식
- 해커팩토리 7번
- Burp Suite Intruder
- 시스템 해킹
- Today
- Total
Cha4SEr Security Study
[FTZ-Level1] 풀이 본문
FTZ 로컬 서버를 구축한 후
ID : level1
PW : level1
을 입력하여 FTZ를 풀어본다.
우선 "ls -al" 명령어를 입력하여 현재 디렉토리에 있는 파일들을 확인한다.
파일 목록 중 "hint" 라는 파일이 있기에 파일 읽기 명령인 "cat"을 이용해 hint 파일을 열어본다.
"cat hint" 를 하면 "Level2 권한에 setuid가 걸린 파일을 찾는다" 라는 힌트가 주어진다.
해당 파일을 찾기위해 find 명령을 해야하는데 조건에 맞는 옵션을 추가하면 쉽게 찾을 수 있다.
=== 필요한 명령과 옵션 ===
◎ find : 파일을 찾는 명령어
◎ -perm : 권한을 찾는다.
◎ -4000 : 4-> SetUID, 000 -> rwx 모두
=> find / -perm -4000
여기서 문제에 Level2의 권한이라 했으니 -user level2 라는 옵션을 추가해준다.
=> find / -user level2 -perm -4000
결과가 나오긴 하지만 Permission denied로 걸러지는게 많아서 찾기 힘들었다. 이때 denied를 제외한 결과를 볼때 필요한 옵션은 다음과 같다.
◎ 2> /dev/null
- 2는 표준에러를, /dev/null은 휴지통을 의미하며 해석하면 표준에러에 걸린 결과는 휴지통에 넣고 이를 제외한 결과만 출력한다.
따라서 위의 옵션을 추가하여 검색을 해본다.
/bin 폴더에 ExcuteMe 라는 파일을 발견했다!
해당 파일에 대해 분석해 보기 위해 cd 명령어로 /bin 폴더로 이동 후 ls -al로 보았다.
이 파일은 level2의 user로 SetUID가 걸려있고 level1의 그룹도 실행할 수 있는 파일이다. 따라서 해당 프로그램을 ./ 명령어를 통해 실행시켜 보겠다.
level2의 권한으로 한가지 명령어를 실행시켜 준다고 하였지만 FTZ의 핵심인 my-pass 명령어가 막혀있다..
하지만 bash 로 level2의 권한을 지속적으로 얻으면 후에 my-pass 명령을 사용할 수 있을것이다!
다음과 같이 bash 명령어를 입력하면 level2의 권한을 얻을 수 있고 이때 my-pass를 입력한다.
level2의 Password : "hacker or cracker"
★ 요약 ★
- level2의 SetUID가 걸린 파일검색
- find / -user level2 -perm -4000 2> /dev/null
이로써 FTZ Level1을 다 풀었따!
'System > FTZ' 카테고리의 다른 글
[FTZ-Level6] 풀이 (0) | 2019.12.28 |
---|---|
[FTZ-Level5] 풀이 (1) | 2019.12.26 |
[FTZ-Level4] 풀이 (0) | 2019.12.23 |
[FTZ-Level3] 풀이 (0) | 2019.12.23 |
[FTZ-Level2] 풀이 (1) | 2019.12.22 |