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

 

ID : level6

PW : what the hell

 

level6은 로그인을 하게 되면 [그림 1]과 같은 형태로 나오게 된다.

[그림 1] level06의 로그인 직후 모습


[그림 1]에서는 level6을 로그인하게되면 나오는 힌트 메시지이다. bbs의 텔넷 접속 메뉴에서 많이 사용되던 해킹 방법이라고 한다.

[그림 2] 로그인 창의 Enter 입력


Enter를 입력하면 [그림 2]와 같은 Enter를 입력하게 되면 나오게 되는 창이다. 그리고 1, 2, 3과 같은 선택지를 묻는 창이 뜬다. 

[그림 3] Ctrl+C를 입력한 모습


[그림 3]은 Ctrl+C를 입력한 모습이다. Ctrl+C는 운영체제에서의 signal이다. 운영체제가 하는 가장 중요한 일 중 컴퓨터와 인간이 서로 원활히 소통할 수 있게끔 도와주는 일이다. 이를 위해 운영체제에서는 signal이라는 것을 이용하게 된다.


시그널은 64개가 있고, 종류는 [그림 4]와 같다.

[그림 4] 시그널 종류


여기서 Ctrl+C는 시그널 2번의 SIGINT이다.


SIGINT는 프로세스를 종료시킨다는 의미를 가지는 시그널이다. 

이에 대한 자세한 설명은 아래의 링크를 참조하기 바란다.


<<시그널에 대한 설명>>


이제 이 SIGINT인 Ctrl+C를 입력하게 되면 [그림 5]와 같은 상태로 넘어가게 된다.

[그림 5] Ctrl+C를 입력한 후의 화면


hint 파일을 읽어보면 [그림 3]과 같은 힌트 메시지가 나오게 된다.

해당 문제는 로그온 시 나오게 되는 프로세스를 종료시키는 것이 해답이다.

[그림 6] password 파일


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

level10_FTZ  (0) 2016.07.21
level09_FTZ  (0) 2016.07.21
level08_FTZ  (0) 2016.01.07
level07_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

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

 

ID : level5

PW : what is your name?

 

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

[그림 1] level5의 hint 파일


/usr/bin/level5 프로그램을 실행시키면 /tmp 디렉토리에 level5.tmp라는 이름의 임시파일을 생성한다고 합니다.

그러면 /usr/bin/level5 프로그램을 실행시켜 임시파일이 생성되는지 확인해보도록 합시다.

[그림 2] 프로그램 실행 후 /tmp 디렉토리


프로그램을 실행시켜도 /tmp 디렉토리에는 level5.tmp라는 이름을 가진 프로그램은 존재하지 않았습니다.

level5라는 프로그램이 실행될 때 임시적으로 level5.tmp 라는 프로그램을 생성했다가 다시 삭제하는 것으로 판단됩니다.

여기서 사용할 기법은 '레이스 컨디션'이라는 해킹 기법을 사용할 것입니다.

먼저 레이스 컨디션에 대해 간단히 알아보겠습니다.


[그림 3]은 일반적인 실행파일의 실행 구조의 예시를 보여줍니다.

[그림 3] 일반적인 파일 입출력 프로그램의 예시


일반적인 파일 입출력 프로그램이 File_Name1.bin과 File_Name2.bin을 읽고 쓰기를 하는 행위를 할 때의 모습입니다.

실행 파일은 두 파일의 이름을 가리켜 읽기/수정 행위를 하게 됩니다. 두 파일에는 실행파일에서 수행하는 행위가 담겨 있을 것입니다.


[그림 4]는 레이스 컨디션 기법으로 파일의 내용을 Hacker's File에 실행 파일에서 일어나는 입력 값을 받아오는 방법입니다.

레이스 컨디션 기법의 순서는 다음과 같습니다.


1. 임시로 생성되는 파일(혹은 사용되는 파일)의 이름과 동일한 심볼릭 링크 파일을 생성합니다.

2. 심볼릭 링크 파일은 해커가 읽고 쓸 파일을 가리키도록 합니다.

3. 실행 파일을 실행합니다.

4. 이제 원래 File_Name1.bin에 입력되어야 할 내용이 Hacker's File에 입력되는 것을 확인할 수 있습니다.


[그림 4] 레이스 컨디션 기법을 이용한 입력 값 탈취


이제 어떤 행위가 일어나는지 알기 위해 레이스 컨디션 기법을 적용시켜봅시다.


[그림 5] 해커의 파일과 심볼릭 링크 파일 생성


cat > /tmp/hackerfile.bin 명령어를 입력하여 입출력에 사용될 파일을 생성합니다.

무슨 행위가 일어날지 모르기 때문에 파일에는 아무런 내용도 입력하지 않도록 합시다.

ln -s /tmp/hackerfile.bin /tmp/level5.tmp 명령어를 입력하여 hackerfile.bin파일을 가리키는 level5.tmp라는 이름의 심볼릭 링크 파일을 생성하도록 합니다.

위의 설명은 [그림 5]와 같은 결과를 볼 수 있게 됩니다.

[그림 5] /usr/bin/level5를 실행한 후의 hackerfile.bin의 변화


/usr/bin/level5를 실행하면 hackerfile.bin에 입출력의 어떤 변화가 있는지 살펴봅시다.

hackerfile.bin에는 next password : what the hell이라고 쓰여 있습니다.

이 실행파일은 임시파일을 생성하여 그 파일에 다음 레벨에 대한 비밀번호를 입력하는 것 같습니다.

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

level09_FTZ  (0) 2016.07.21
level08_FTZ  (0) 2016.01.07
level07_FTZ  (0) 2016.01.07
level06_FTZ  (0) 2016.01.07
level04_FTZ  (0) 2015.11.26
level03_FTZ  (0) 2015.11.20
level02_FTZ  (0) 2015.11.15
level01_FTZ  (0) 2015.11.15

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

 

ID : level4

PW : suck my brain

 

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

[그림 1] level4의 hint 파일


"누군가 /etc/xinetd.d/에 백도어를 심어놓았다."로 보아 /etc/xinetd.d에 들어가보는 것이 좋겠다는 생각이 먼저 듭니다.

/etc/xinetd.d에 들어가면 [그림 2]와 같이 파일들의 리스트들이 보입니다.

[그림 2] /etc/xinetd.d의 디렉토리


위 그림에서 볼 때 backdoor라는 파일이 아주 눈에 띄는 것을 볼 수 있습니다.

cat 명령어를 통해 backdoor를 살펴보도록 합시다.

[그림 3] backdoor 파일의 내용


파일의 내용에는 service finger를 이용하여 다음과 같은 작업을 수행하는 것으로 보입니다.


service finger{} 안에 있는 내용에 대해 잠시 알아봅시다.


구분 

 내용

 disable

 사용 불가능에 대한 상태

 flags

 소켓이 작동될 때 사용하는 정보

 socket_type

 사용하는  TCP/IP 소켓, stream(TCP), dgram(UDP), raw, seqpacket이 올 수 있음

 wait

 yes or no로 설정 할 수 있음

yes

 xinetd가 요청된 한 데몬(daemon)이 끝날 때까지 다른 요청을 받지 않음

 single-thread service

no

 각 요청에 대해 데몬(daemon)이 작동함
 multi-thread service

 user

 데몬(daemon)의 UID를 설정, xinetd의 UID가 0이 아니면 의미가 없음

 server

 실행될 데몬(daemon), 반드시 지정되어야 함 

 log_on_failure

 로그인 실패 시 로그에 원하는 정보를 기록( log_on_failure = HOST은 HOST를 기록 )

log_on_failure += USERID

 로그인 실패에 대한 로그 정보를  추가해주며 쌓을 정보는 USERID를 넣어줌 

 log_on_success

 로그인 성공 시 로그에 아래와 같은 정보를 로그로 기록함

 PID

 프로세스ID

 HOST

 해당 호스트의 이름

 DURATION

 접속 유지시간

 EXIT

 접속 종료시간


[그림 3]의 설명은 다음과 같이 말할 수 있습니다.


- 사용 불가능이 아님

- 소켓이 동작할 때 사용하는 정보는 REUSE임

- 소켓 타입은 stream 형식

- 각 요청에 대해 데몬이 동작하는 multi-thread service임

- user ID는 level5로, 데몬의 UID는 level5임

- 실행될 데몬의 경로와 파일은 /home/level4/tmp/backdoor

- 로그온 실패시 USERID를 로그에 기록함


여기서 눈여겨 봐야 할 곳은 server에 나타나 있는 경로입니다.

이 backdoor 파일의 설명을 간단히 하면, 위와 같은 경로에 있는 backdoor 파일을 level5유저의 권한으로 실행시키는 서비스라고 할 수 있습니다. 

그렇다면 우리가 찾아봐야 하는 경로는 /home/level4/tmp입니다.

로컬로 설치했을 경우에는 /tmp에는 아무것도 없을 것입니다.

여기에 우리가 원하는 exe프로그램을 backdoor의 이름으로 만들어 level5의 권한으로 실행시킬 수 있을 것입니다.

먼저 system("id"); 를 사용해봅시다.

[그림 3] finger 서비스를 이용하여 backdoor 서비스를 실행


system("id"); 의 명령어를 수행하는 프로그램을 backdoor로 만들었을 때의 결과는 [그림 3]과 같습니다.

finger @localhost는 xnetd.d 디렉토리 내의 서비스를 실행시키는 것을 의미합니다.

이 때 backdoor라는 서비스 또한 실행되고, server가 가리키는 /home/level4/tmp/backdoor라는 파일이 실행되게 됩니다.

backdoor에 사용된 명령어는 id와 같기 때문에 level5의 권한으로 실행시킨 id 명령어는 level5의 id를 보여주게 됩니다.

[그림 4] system("my-pass")를 사용


이제 system("my-pass")를 입력하여 비밀번호를 알아내도록 합시다.

system("bash"), system("/bin/bash") 등은 사용되지 않아서....


'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
level03_FTZ  (0) 2015.11.20
level02_FTZ  (0) 2015.11.15
level01_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04

Windows 7환경의 로그온 화면에 백도어를 만들어보도록 하겠습니다.

참고 URL : http://mr-zero.tistory.com/51



먼저 계정 로그온 창에 있는 도구를 살펴보도록 합시다.

이 도구는 원래 Utilman.exe라는 프로그램으로 다양한 도구들을 로그온 창에서 사용할 수 있도록 하는 도구입니다.

[그림 1]에서 표시되어 있는 point 부분이 우리가 이용할 도구입니다.


[그림 1] 로그온 화면의 도구


[그림 1]에서 표시된 도구는 시스템 내부의 실행파일로 되어 있습니다.

위치는 C:\Windows\System32에 있고, 파일의 이름은 Utilman.exe입니다.

하지만 일반 사용자는 사용할 수 없도록 권한이 부여되어 있습니다.

권한은 System과 Administrator에게 아무런 수정 권한이 없으며, 실행과 읽기 권한만 있습니다.

또한 Owner도 아니기 때문에 권한 변경도 불가능하게 되어 있습니다.

여기서 우리의 첫번째 과제는 Owner를 우리로 바꿔주는 것입니다.


[그림 2] Utilman.exe의 권한 목록


[그림 2]를 보면 TrustedInstaller에 모든 권한이 부여되어 있는 것을 확인할 수 있습니다.

아마 Utilman.exe의 Owner 또한 TrustedInstaller라는 것을 짐작해볼 수 있습니다.

백도어를 만들기 위해서는 이 파일의 수정 권한이 필요하기 때문에 Takeown 명령어를 이용하여 권한을 가져오도록 합시다.

순서는 다음과 같습니다.


1. cmd를 관리자 권한으로 실행

2. 명령어 [takeown /f Utilman.exe]를 입력하여 권한을 가져옴(takeown에 대한 설명은 -help를 통해 확인)


[그림 3] takeown 명령어 수행


프로그램의 소유자(Owner)가 바뀌었기 때문에 이 프로그램은 이제 관리자의 권한으로 사용권한을 수정할 수 있습니다.

프로그램을 오른쪽 클릭하여 사용권한에 들어가 모든 권한을 사용할 수 있도록 보안설정을 바꿔주도록 합시다.


<권한 변경 방법>

[오른쪽 클릭] -> [보안 탭] -> [고급] -> [사용 권한 변경] -> [Administrator 더블 클릭] -> 모든권한 선택 


[그림 4] 모든 권한 설정


이제 소유자와 권한이 모두 변경됐기 때문에 Utilman.exe 파일은 우리가 마음대로 수정할 수 있게 되었습니다.

이제 우리는 모든 권한을 사용할 수 있는 Utilman.exe의 파일이름을 변경해줘야 합니다.

이는 Utilman.exe이라는 이름을 가진 다른 프로그램이 실행되게 하기 위함입니다.

두번째 과제는 Utilman_bak.exe로 수정하여 Utilman.exe이름을 가진 다른 파일로 덮어쓰는 것입니다.

(파일을 버릴 수 없기 때문입니다. ^^)


[그림 5] Utilman.exe 파일 이름 변경


이제 우리는 Utilman.exe 파일처럼 사용할 다른 프로그램을 선정해야 합니다.

기존에 있는, 또 우리가 사용할 수 있는 프로그램으로는 cmd가 가장 적절하다고 판단하였습니다.


[그림 6] Utilman.exe 이름으로 변경된 cmd.exe파일


System32 내에 있는 cmd.exe를 복사하여 Utilman.exe 파일의 이름으로 수정합니다.

Utilman_bak.exe 파일과 같은 경로에 두도록 합시다.


이제 세팅은 마무리가 되었습니다. 이제 로그온 화면으로(잠금화면)넘어가 Utilman.exe 아이콘을 클릭해봅시다.

실행 화면은 [그림 7]과 같이 cmd가 켜집니다.


[그림 7] cmd가 켜지는 잠금화면


여기서 눈여겨 봐야 할 부분은 커맨드 창에서 볼 수 있는 권한입니다.

whoami /user로 확인해 보면 결과는 system 권한을 가지고 있다는 것을 알 수 있습니다.

Windows 7에서 권한의 순서는 TrustedInstaller > System > Administrator > User > Guest 순으로 되어 있습니다.

즉 System 권한으로는 Administrator보다도 더 수준이 높은 행위를 할 수 있다는 것을 의미합니다.


이제 세번째 과제로는 새로운 계정을 생성하여 우리가 마음대로 드나들 수 있게 만들어야 합니다.


커맨드 창에서 net user를 입력하면 현재 Windows 시스템의 사용자 목록이 뜹니다.


[그림 8] net user를 사용한 사용자 목록 조회


net의 다른 옵션을 살펴보면 [그림 9]와 같습니다. net의 다른 기능을 이용하여 해커가 원하는 행동을 취할 수 있을 것입니다.

단 이 게시글에서는 Backdoor에 중점을 두도록 하겠습니다.


[그림 9] net 명령어의 다른 옵션 목록


여기서 아용할 옵션은 user입니다.

net user는 사용자의 비밀번호를 바꾸거나 생성/삭제를 할 수 있습니다.

우리의 목적은 Backdoor이기 때문에 사용자의 시스템에 마음대로 드나들 수 있는 계정을 생성해야 합니다.


kkami라는 계정을 생성/삭제하는 명령어는 다음과 같습니다.


생성 명령어 : [net user kkami * /add]

삭제 명령어 : [net user kkami /delete]


[그림 11] net user를 이용한 계정 생성 삭제


이런 방법으로 계정을 생성하여 침입할 수 있습니다.

또한 기존에 있는 계정을 탈취하는 방법도 있습니다. net user 명령어를 이용하여 기존 계정의 비밀번호를 바꾸어 보도록 합시다.


비밀번호 변경 명령어 : [net user kkami *]

비밀번호 삭제 명령어 : [net user kkami ]


기존의 명령어에서 옵션 부분만 제거해주면 됩니다.


Windows 7에서 net user 명령어를 이용하여 계정을 생성하면 Default localgroup은 Administrators가 아닌 Users로 되어 있습니다.

때문에 생성한 계정으로 들어간다고 해도 Users 권한으로는 아무것도 할 수 없습니다.

때문에 net localgroup 명령어를 이용하여 생성한 계정의 localgroup을 수정해주어야 합니다.

명령어는 다음과 같습니다.


로컬 그룹 변경(추가) 명령어 : [net localgroup Administrators kkami /add]


[그림 12] 로컬 그룹 변경


[그림 12]를 보면 로컬 그룹이 변경되었음을 확인할 수 있습니다.

이제 kkami로 로그인하면 권한은 Administrators로 활동 할 수 있게 됩니다.






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

 

ID : level3

PW : can you fly?

 

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

[그림 1] level03 hint 파일 캡처


[그림 1]에서는 어딘가에 작성되어 있는 autodig라는 파일의 코드입니다.

이 소스를 이용하여 level4의 권한을 얻어야 합니다.

more hints로는 동시에 여러 명령어를 사용하기 위한 방법문자열 형태로 명령어를 전달하는 방법이 있습니다.

먼저 level03에서 사용할 autodig 파일을 검색해봅시다.

명령어는 다음과 같은 형태로 find를 작성할 수 있습니다.


find / -name autodig 2>/dev/null 



[그림 2]와 같이 autodig 파일은 /bin 디렉토리 내에 있다는 것을 알 수 있습니다.


[그림 2] autodig 위치


autodig라는 파일을 찾았으면 먼저 그 파일을 어떻게 이용할 수 있는지 탐색해볼 필요가 있습니다.

가장 먼저 권한과 사용자가 어떻게 되어 있는지 살펴봅시다.

ls -l /bin/autodig 명령어를 작성하여 파일의 권한을 보니 [그림 3]과 같이 나타났습니다.


[그림 3] autodig 파일의 권한


파일은 level4의 소유자로 되어있으며, user 권한에는 setuid가 설정되어 있는 s가 보입니다.

level4 권한으로 실행할 수 있는 이 파일을 이용하여 우리가 원하는 명령어를 사용할 수 있도록 방법을 궁리해봅시다.

이에 대한 답은 more hint에서 힌트를 얻을 수 있습니다.


more hint 내용

 명령어를 한 번에 여러 개를 실행할 수 있는 방법 

 명령어를 문자열 형태로 입력하는 방법


<명령어를 한 번에 여러 개를 실행>

    기존의 명령어를 실행한 후, 해커가 원하는 명령어도 실행할 수 있도록 한다는 의미입니다.


<명령어를 문자열 형태로 입력>

    여러 개의 명령어를 하나로 한 녀석을 하나의 argv에 집어넣기 위한 꼼수입니다.


[그림 3][그림 4]는 위 설명에 대한 예시를 보여줍니다.

[그림 3] 여러 명령어를 한 번에 실행


명령어가 한 번에 실행될 수 있는 방법은 여러가지가 있습니다.

그중 우리가 사용할 옵션은 세미콜론(;)입니다.


[그림 4] 명령어를 문자열로 입력


문자열로 한 번에 주기 위해서는 따옴표(')로 묶어줄 수 있습니다.

즉, 127.0.0.1이라는 문자열과 vi라는 문자열을 한 번에 argv[1]에 입력값으로 집어넣을 수 있다는 것을 의미합니다.

127.0.0.1이라는 값이 autodig에 사용되고 이후 level4의 setuid 권한을 통해 vi가 실행됩니다.

level02에서 했던 방법대로 bash 명령어를 사용하면 level4의 권한을 얻게 됩니다.

'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
level02_FTZ  (0) 2015.11.15
level01_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04

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학년의 시간이 지나, 동기 친구들이 하나, 둘 군대로 떠나는 쓸쓸함을 조금씩 체감하게 되었습니다. 그렇게 2년이라는 시간을 필사적으로 보내게 됐습니다.


그리고 어제, 첫 전역한 친구를 만났습니다.


친구와 술을 마시며 달라진 나를 돌아보고, 못 본 사이 많이 달라진 친구의 모습을 보았습니다.


시간이 지나갔었습니다. 2년이라는 많은 날들이 어느새 멀리, 제 뒤에 있다는 게 새삼스레 와닿았습니다.


하루하루 쌓여가는 날들은 가끔씩 이렇게 보이나봅니다.


지난 날의 일들이 생각나더라도, 달라진 지금의 모습에 고개를 끄덕이며 작게 웃음지어보았습니다.


한 편으로는 그리우면서, 다른 한 편으로는 웃음지을 수 있는. '나'라는 일대기의 여러 페이지 조각들을 넘겨보았습니다.


모두들 잘 지내고 계시나요.

 

후배들의 말에 이런 말이 나오는 선배가 되고 싶지 않더라.


"난 저렇게 되지 말아야지."

"답이 없네."

"한심하다."

"저 사람의 미래가 나한테는 안 보이는 거 같아."



후배들의 말에 이런 말이 나오는 선배가 되고 싶더라.


"괜찮네."

"멋있네."

"잘하네."

 

+ Recent posts