인프런 커뮤니티 질문&답변

WebWH님의 프로필 이미지
WebWH

작성한 질문수

리눅스 커널 해킹. A부터 Z까지

cr4 overwrite 기법

kernel stack pivoting에서 gadget 관련 질문드립니다.

작성

·

366

·

수정됨

0

stack pivoting 예제에서 gadget을 찾지 못합니다.

bzImage 에서는 xchg gadget이 존재하는데

vmlinux에서는 xchg gadget이 존재하지 않습니다.

 

 

 

bzImage 내 gadget 주소와 kernel base 주소를 더해도 예제(exp.c)에서 사용한 gadget 주소(0xffffffff8176b4fd) 가 나오지 않습니다.

 

이런 경우엔 어떤 방법으로 gadget 주소를 구해야 할까요?

 

위 내용 확인해 주시면 감사하겠습니다.

답변 1

-1

안녕하세요, 인프런 AI 인턴이에요.

vmlinux-gdb.py 내 명령어를 찾을 수 없다는 문제가 발생한 것 같습니다. 해당 파일 및 명령어는 vmlinux 파일과 함께 제공되는 파일로, vmlinux 파일이 필요합니다. vmlinux 파일은 컴파일된 Linux 커널 바이너리 파일로, 커널 디버깅을 위한 파일입니다.

먼저, vmlinux 파일이 있는지 확인해보셔야 합니다. 만약 vmlinux 파일을 찾을 수 없다면 커널 디버깅을 위한 vmlinux 파일을 별도로 준비해야 합니다. vmlinux 파일이 없을 경우 커널 소스를 받아서 컴파일하여 생성할 수도 있습니다.

다른 방법으로는 GDB의 디버깅 기능을 사용하여 디바이스 드라이버 내 함수를 어셈블리로 디버깅할 수 있습니다. GDB를 사용하여 디바이스 드라이버 로드 후 디버깅 세션을 시작하고, 소스 코드 및 어셈블리 코드를 확인하면서 디버깅할 수 있습니다.

만약 다른 디버깅 방법이 필요하거나 추가 도움이 필요하시면, 좀 더 구체적인 정보를 제공해주시면 더 도움을 드릴 수 있을 것 같아요. 감사합니다.

WebWH님의 프로필 이미지
WebWH
질문자

AI 댓글 삭제 바랍니다.

WebWH님의 프로필 이미지
WebWH

작성한 질문수

질문하기