-
gdb로 fork된 자식프로세스 디버깅하기공부정리 2019. 4. 6. 13:02
CTF를 풀다보면 Server바이너리에서 fork( )를 사용하는 경우가 많다.
이때 gdb로 바이너리를 잡으면 자식프로세스가 아닌 부모프로세스를 따라가게 된다.
우리가 분석해야 하는건 자식프로세스 이기 때문에, ' set follow-fork-mode child '를 사용하면
디버거가 자식프로세스를 따라가면서 디버깅할 수 있게 된다.
[ set follow-fork-mode child ]
Angrydoraemon은 Server바이너리로 fork( )로 자식프로세스를 생성하여 Client접속을 받는다.
gdb에서 ' set follow-fork-mode child '를 입력한 뒤, run으로 바이너리를 실행시키면 접속 대기 상태가 된다.
[ fork( ) 생성 ]
nc로 서버에 접속하면 디버거에서 접속을 받으면서 새로운 Process가 생성된 것을 확인할 수 있다.
이런식으로 디버깅할 시점에 Break Point를 걸어두고 실행하면 자식프로세스를 디버깅할 수 있다.
'공부정리' 카테고리의 다른 글
checksec없이 NXbit 확인하기 (1) 2019.06.17 vsyscall을 이용한 Exploit (0) 2019.06.16 Syscall 가젯이 없을 때 (0) 2019.03.06 Return-to-Csu 기법 정리 (8) 2019.03.05 메모리 보호기법 - PIE (1) 2019.01.12 댓글