나의 기록, 현진록

[War Game] LOB goblin 본문

War Game/LOB

[War Game] LOB goblin

guswlsdk 2018. 2. 1. 14:23
반응형

LOB goblin





가장 먼저 bash2 실행









다음은 orc 파일의 소스 내용이다.



if 문이 두개와 for문 한개가 있다.


첫번째 if문은 실행 인자가 없을 경우 종료



for문에서 environ은


extern으로 선언되었다.


extern은 외부참조 변수이다.


즉, 환경 변수라고 이해할 수 있다.


for문의 내용을 보면 


environ의 내용을 전부 0으로 바꾼다.


환경변수를 참조할 경우 그 내용을 모두 0으로 바꾼다는 의미이다.


환경변수를 사용할 수 없다.


두번째 if문은


실행인자의 48번째 문자가 \xbf 가 아닐 경우


종료한다.



그렇다면 환경변수를 쓰지 않고, 48번째 문자가 \xbf인 상태로


쉘코드를 실행하면 된다.



일단 gdb로 더 알아보자.


orc 파일을 복사해야 goblin 권한으로 gdb 분석할 수 있다.







sfp까지의 크기는 0x2c -> 44byte



아까 두번째 if문에서 48번째 문자가 \xbf를 필요로 했다.


48은 ret주소이다.


ret 주소에 입력 받는 곳의 주소를 넣어주면 될 것 같다.


실행인자로 넘어온 곳의 주소를 알아보자.



buffer에 배열에 넣기 전 브레이크 포인트를 설정하고






48번째 문자가 필요로하는 \xbf에 맞게 입력한다.






0xbffffc34에 입력된다.


ret 값에 0xbfffc34를 입력하고


이 주소에 놉은 적당히 채운 후


이 주소에 쉘코드를 넣어주자.



페이로드 작성






반응형

'War Game > LOB' 카테고리의 다른 글

[War Game] LOB wolfman  (0) 2018.02.02
[War Game] LOB orc  (0) 2018.02.02
[War Game] LOB cobolt  (0) 2018.01.31
[War Game] LOB gremlin  (0) 2018.01.31
[War Game] LOB gate  (0) 2018.01.31