[Kernel] ret2usr 포스팅 썸네일 이미지

Pwnable/Kernel exploit

[Kernel] ret2usr

Ret2usr 조건 : SMEP, SMAP 보호기법이 걸려있지 않을 때 사용가능하다. Kernel Space에서 LPE를 일으켜 권한을 상승한 뒤 --> User Space에 있는 /bin/sh를 실행하는 코드 영역으로 쫨프하는 것 페이로드 1. commit_creds(prepare_kernel_cred(0)) --> 권한 상승 2. swapgs 3. rsp를 유저공간 스택으로 전환 4. iretq 주의할점 : 페이로드를 보내기 전에 backup_rv()함수를 통해 현재 레지스터 레이아웃 저장해놓기. 즉, 현재 스택이랑 레지스터 정보를 저장해놔야 권한 상승후 돌아올 주소를 알 수 있다.

2021.07.20 게시됨

[ Kernel Exploit] Kernel 공부를 위한 C언어 포스팅 썸네일 이미지

Pwnable/Kernel exploit

[ Kernel Exploit] Kernel 공부를 위한 C언어

예제 코드 __attribute__((속성)) 1. __attribute__((packed)) struct register_val{ uint64_t user_rip; uint64_t user_cs; uint64_t user_rflags; uint64_t user_rsp; uint64_t user_ss; }__attribute__((packed)); 위의 코드는 구조체로 padding이 끼지 않은 구조체를 만들고 이진코드로 만들어준다. --> C언어 시간에 배운 구조체 크기를 sizeof해보면 실제 예상하던 크기와 다를 수 있다는게 이말이었다. --> 1학년 때 왜 그랬던거지? 이렇게 넘겼던게 이어지는 느낌이 든다. https://unipro.tistory.com/197 2. __attribute__((r..

2021.07.20 게시됨

[ Kernel Exploit] Kernel 공부를 위한 자료들 포스팅 썸네일 이미지

Pwnable/Kernel exploit

[ Kernel Exploit] Kernel 공부를 위한 자료들

URL 및 공부 자료들 개인적으로 공부할 때 도움을 받을 수 있을만한 자료들을 정리하고자 한다. 포너블 처음 시작할 때처럼 어떤 자료라도 모든지 참고해서 내용을 다 흡수해서 내것으로 만들었으면 좋겠다. 1. https://www.inflearn.com/course/%EB%A6%AC%EB%88%85%EC%8A%A4-%EC%BB%A4%EB%84%90-%ED%95%B4%ED%82%B9 리눅스 커널 해킹. A부터 Z까지 - 인프런 | 강의 리눅스 커널의 각종 보호 기법과 그에 대한 우회 방안, 다양한 취약점들을 분석해보는 강의이며 강의별로 실습 예제가 제공 됩니다., [사진] 💡 강의 특징 이 강의는 리눅스 커널 해킹에 대한 www.inflearn.com 2. https://jiravvit.tistory.com..

2021.07.20 게시됨