접근 방법

제가 write syscall을 이용하여 stdout의 주소를 출력한 뒤 그것을 이용해서 libc base 주소를 구해 무언갈 하려고 했습니다. 그런데 write syscall을 하고 나니 처음엔 segmentation fault가 떴고 이를 leave와 ret을 추가해줌으로써 더이상 segmentation fault는 뜨지 않게 되었습니다. 그런데 leave ret을 추가해주고 난 후에는 그냥 SIGKILL이 뜨면서 프로그램이 종료되버리던데 제가 한 접근이 틀린건가요? 소정의 힌트라도 주시면 감사하겠습니다..

#pwnable
작성자 정보
답변 2
avatar
Sechack
2024 Invitational Contenders

seccomp의 strict mode에 대해서 찾아보시면 도움이 될것 같습니다. system call을 사용할 수 있는 상황에서 libc leak을 한다고 딱히 도움될것같지는 않네요. write syscall을 했을때 segmentation fault가 뜬건 system call이후에 실행할 opcode가 잘못되어서 난것같습니다.

2021.09.08. 19:38
5unkn0wn
강의 수강: 50

SIGKILL이 발생했다는 것은 Seccomp의 필터에 걸렸다는 것을 의미합니다. 윗분처럼 Seccomp의 mode에 대해 공부하고, Seccomp를 실행할 때 필터를 우회할 수 있는 방법을 찾으시면 될거같습니다.

2021.09.10. 13:43
질문에 대한 답을 알고 계신가요?
지식을 나누고 포인트를 획득해보세요.
답변하고 포인트 받기