나의 기록, 현진록

[War Game] LOB orge 본문

War Game/LOB

[War Game] LOB orge

guswlsdk 2018. 2. 8. 14:39
반응형

LOB orge











darkelf에서 argv hunter 조건이 추가되었다.


argv[1]의 내용을 모두 0으로 수정하는 코드이다.


argv[1]과 buffer를 사용할 수 없으니 argv[0]을 사용해보자.


argv[0]은 실행 파일이다.


실행 파일을 쉘코드로 바꾸면 될 것 같다.


그 전에 argv[0]의 주소를 알아보자. 








파일 이름은 AAAA이므로 41414141이 저장되었을 것이다.




0xbffffc6d가 argv[0] 주소이다.



argv[0] 주소를 알았으니


파일을 복사해 페이로드를 입력해본다.


(굳이 파일을 복사하는 이유는 오류 시 core dump 하기 위한 목적이다.)


troll 파일을 복사한다.


이때 복사파일의 이름을 쉘코드로 하는데


\x2f가 포함된 쉘코드는 사용할 수 없다.


'\x2f' 는 아스키코드로 '/'이기 때문이다.


\xeb\x11\x5e\x31\xc9\xb1\x32\x80\x6c\x0e\xff\x01\x80\xe9\x01\x75\xf6\xeb\x05\xe8\xea\xff\xff\xff\x32\xc1\x51\x69\x30\x30\x74\x69\x69\x30\x63\x6a\x6f\x8a\xe4\x51\x54\x8a\xe2\x9a\xb1\x0c\xce\x81



NOP 추가





파일을 실행 후 ret 값에 argv[0]의 주소를 가진 페이로드 작성



주소가 잘못 되었다.


core dump 확인






NOP을 처음에 100개 넣어주었으니


argv[0]에는 NOP 100개 다음 쉘코드가 입력된다.


0xbffffa8c가 argv[0] 주소이다.



성공


파일을 지우고




쉘코드로 이루어진 파일 이름은 그대로


troll 파일과 심볼릭 링크를 설정한 파일을 다시 만든다.



페이로드 작성



반응형

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

[War Game] LOB vampire  (0) 2018.02.11
[War Game] LOB troll  (0) 2018.02.09
[War Game] LOB darkelf  (0) 2018.02.07
[War Game] LOB wolfman  (0) 2018.02.02
[War Game] LOB orc  (0) 2018.02.02