stack 5번 본문
쉘 코드를 삽입한다.
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.gdb를 PID 값을 입력하여 실행한다.
4.실행된 gdb에서 ret에 break를 걸어 두고 conti를 실행 했다.
5.pause가 되어있는 파이썬 스크립트를 엔터를 누른다.
local에서 자주 써먹는 디버깅 방법이다.
다른 방법으로도 shell을 따보겠다.
return 2 lib기법을 사용하겠다.
ret주소를 system 함수로 덮고
인자값으로 /bin/sh를 줄것이다.
필요한 가젯들을 얻었다.
Comments