-
[L.O.B] Level 2 - gremlinWargame/L.O.B 2022. 10. 11. 04:11반응형
Level 2 - gremlin을 풀어보자.
gremlin은 Level 1인 gate와 비슷하다.
단지, buffer의 크기가 작다는 점이 다르다.
그런데 풀이는 쉘 코드를 직접 입력하는 방식이 아닌 환경변수를 이용하는 방식이라 gate와 같다.
코드 분석은 간단하다.
buffer 배열의 크기가 16바이트라는 것만 기억하고 나머지는 gate와 같기 때문에 넘어가도록 하자.

<cobolt.c의 내용> gdb로 cobolt를 분석해자.
strcpy의 buffer가 나오는 <main+44>를 보면 ebp에서 16 바이트만큼 떨어져 있다는 것을 알 수 있다.
buffer의 크기 그대로인데, dummy가 없는 것 같아 신기하다.

<cobolt의 gdb 분석> buffer의 크기가 작아 쉘 코드를 직접적으로 넣기 힘드니 환경변수를 이용하자.
F.T.Z부터 많이 작성을 했으니, 방법에 대한 자세한 설명은 넘어간다.


<환경변수 선언 및 주소 확인> cobolt 파일을 쉘 코드의 주소를 넣은 페이로드를 입력하면서 실행하자.
권한이 cobolt로 변경되면서 쉘이 실행된다.
my-pass를 입력하면 비밀번호가 나타난다.

<나타난 비밀번호> 반응형'Wargame > L.O.B' 카테고리의 다른 글
[L.O.B] Level 6 - wolfman (0) 2022.10.14 [L.O.B] Level 5 - orc (0) 2022.10.13 [L.O.B] Level 4 - goblin (0) 2022.10.12 [L.O.B] Level 3 - cobolt (2) 2022.10.11 [L.O.B] Level 1 - gate (1) 2022.10.10