본문 바로가기

stack 5번 본문

wargame/Protostar

stack 5번

Seongjun_You 2021. 11. 24. 20:06

쉘 코드를 삽입한다.

ret의 주소를 shell주소로 바꾸도록 한다.

 

 

0x40 + sfp(8) = 72

ret은 72에 위치한다.

 

payload = dummy * 72 + (ret+8) + shell함수

 

먼저 ASLR을 꺼야한다.

주소들이 계속 변하기 때문이다.

 

echo 0 | sudo tee /proc/sys/kernel/randomize_va_space

끄고 난 후

디버깅을 돌렸다.

 

 

 

0x7fffffffdff8이 ret주소

여기에 +8을 하여 ret에 위치에 다시 넣는다.

 

그럼 shell이 실행됨

 

msfvenom -p linux/x64/exec CMD='bin/sh' -f python

shell코드 생성 방법이다.

 

어태치 방법

1.파이썬 스크립트에 sendline 전에 pause를 걸어둔다.

2.그다음 파이썬 스크립트를 실행한다.

3.gdbPID 값을 입력하여 실행한다.

4.실행된 gdb에서 retbreak를 걸어 두고 conti를 실행 했다.

5.pause가 되어있는 파이썬 스크립트를 엔터를 누른다.

 

local에서 자주 써먹는 디버깅 방법이다.

 

다른 방법으로도 shell을 따보겠다.

return 2 lib기법을 사용하겠다.

 

ret주소를 system 함수로 덮고

인자값으로 /bin/sh를 줄것이다.

 

 

 

 

 

필요한 가젯들을 얻었다.

 

 

'wargame > Protostar' 카테고리의 다른 글

stack 7번  (0) 2021.11.24
stack 6번  (0) 2021.11.24
stack 4번  (0) 2021.11.24
stack 3번  (0) 2021.11.24
stack 2번  (0) 2021.11.24
Comments