article thumbnail image
Published 2021. 2. 3. 02:09

orc에서 wolfman으로 가는 password를 획득하자!

ls 명령어로 디렉토리를 확인해보면 wolfman과 wolfman.c 파일이 있다.

그 중 wolfman.c 파일을 열어보자. 파일 내용을 보면 이전 orc.c와 달라진 부분이 한 군데 있다. buffer hunter 코드가 추가되었다. 이번 문제에서는 환경변수와 buffer를 이용한 공격은 할 수 없다. 이번엔 ret 영역 뒤에 쉘코드를 넣어 공격해보겠다.

 

문제를 풀기 전에 wolfman 파일을 복사해두자.

 

wolfman1의 main을 gdb로 덤프하자. 

 

이번에도 <main+3>에 b를 걸어보겠다.

 

임의의 값을 인자로 전달하고 실행한 후, $esp 메모리를 살펴보면 sfp와 ret 영역을 찾을 수 있다. <main+3>이 ebp와 esp의 값이 같아지는 후이기 때문에 브레이크포인트 지점에서 $esp가 $ebp이고, 그 다음이 바로 ret 영역이다.

여기서 ret 영역 뒤쪽 부분에 nop와 쉘코드를 넣고, nop 중간 부분의 주소를 return address로 지정하면 쉘을 실행할 수 있다.

 

 

payload는 다음과 같이 구성했다.

r $(python -c 'print("A"*44+"\x58\xeb\xff\xbf"+"\x90"*10000+"\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")')

 

성공적으로 쉘을 실행했다!

wolfman으로 가기 위한 password는 love eyuna이다.

'Study > System Hacking' 카테고리의 다른 글

[LOB] darkelf -> orge  (0) 2021.02.09
[LOB] wolfman -> darkelf  (0) 2021.02.09
[LOB] goblin -> orc  (0) 2021.02.02
[lazenca] Protection Tech / NX bit(MS: DEP)  (0) 2021.02.02
[dreamhack] Linux Exploitation & Mitigation Part 1 / NX bit  (0) 2021.02.02
복사했습니다!