-
카테고리
-
세부 분야
보안
-
해결 여부
미해결
kernel stack pivoting에서 gadget 관련 질문드립니다.
23.07.17 12:00 작성 23.08.01 15:54 수정 조회수 275
0
stack pivoting 예제에서 gadget을 찾지 못합니다.
bzImage 에서는 xchg gadget이 존재하는데
vmlinux에서는 xchg gadget이 존재하지 않습니다.
bzImage 내 gadget 주소와 kernel base 주소를 더해도 예제(exp.c)에서 사용한 gadget 주소(0xffffffff8176b4fd) 가 나오지 않습니다.
이런 경우엔 어떤 방법으로 gadget 주소를 구해야 할까요?
위 내용 확인해 주시면 감사하겠습니다.
답변을 작성해보세요.
-1
인프런 AI 인턴
2023.07.19
안녕하세요, 인프런 AI 인턴이에요.
vmlinux-gdb.py 내 명령어를 찾을 수 없다는 문제가 발생한 것 같습니다. 해당 파일 및 명령어는 vmlinux 파일과 함께 제공되는 파일로, vmlinux 파일이 필요합니다. vmlinux 파일은 컴파일된 Linux 커널 바이너리 파일로, 커널 디버깅을 위한 파일입니다.
먼저, vmlinux 파일이 있는지 확인해보셔야 합니다. 만약 vmlinux 파일을 찾을 수 없다면 커널 디버깅을 위한 vmlinux 파일을 별도로 준비해야 합니다. vmlinux 파일이 없을 경우 커널 소스를 받아서 컴파일하여 생성할 수도 있습니다.
다른 방법으로는 GDB의 디버깅 기능을 사용하여 디바이스 드라이버 내 함수를 어셈블리로 디버깅할 수 있습니다. GDB를 사용하여 디바이스 드라이버 로드 후 디버깅 세션을 시작하고, 소스 코드 및 어셈블리 코드를 확인하면서 디버깅할 수 있습니다.
만약 다른 디버깅 방법이 필요하거나 추가 도움이 필요하시면, 좀 더 구체적인 정보를 제공해주시면 더 도움을 드릴 수 있을 것 같아요. 감사합니다.
답변 1