분류 전체보기

    [Linux Kernel Exploit] ret2usr

    [QWB CTF 2018] core 문제에서 ret2usr 기법이 사용되었는데ret2usr에 대해 알아보도록 하자.https://ssongkit.tistory.com/767 [QWB CTF 2018] core (with write-up)롸업과 함께하는 첫 리눅스 커널 문제 환경 세팅 문제 파일은 여기서 받을 수 있다. https://github.com/ctf-wiki/ctf-challenges/tree/master/pwn/kernel/QWB2018-core ctf-challenges/pwn/kernel/QWB2018-core at master · ctf-wiki/ctf-cssongkit.tistory.com  LPE먼저 커널에서 권한 상승(LPE)을 하기 위해선 commit_creds(prepare_ke..

    [fuzzing101] Exercise 3 - TCPdump (CVE-2017-13028) (1)

    [fuzzing101] Exercise 3 - TCPdump (CVE-2017-13028) (1)

    세 번째 예제는 TCPdump 패킷 분석기 퍼징이다. 목표는 TCPdump 4.9.2에서 CVE-2017-13028에 대한 크래시/PoC를 찾는 것이다. CVE-2017-13028은 BOOTP 패킷(부트스트랩 프로토콜)을 통해 트리거될 수 있는 OOB read 취약점이다. https://www.cvedetails.com/cve/CVE-2017-13028/ 근데 설명을 보면 4.9.2에 패치된 걸로 나와있다. 그래서 4.9.1로 설치하고 진행했다. 환경 해당 예제는 ubuntu 20.04 버전을 권장하고 있으며 vmware 파일을 제공하고 있다. https://drive.google.com/file/d/1_m1x-SHcm7Muov2mlmbbt8nkrMYp0Q3K/view?usp=sharing (pw: fu..

    [QWB CTF 2018] core (with write-up)

    [QWB CTF 2018] core (with write-up)

    롸업과 함께하는 첫 리눅스 커널 문제 환경 세팅 문제 파일은 여기서 받을 수 있다. https://github.com/ctf-wiki/ctf-challenges/tree/master/pwn/kernel/QWB2018-core ctf-challenges/pwn/kernel/QWB2018-core at master · ctf-wiki/ctf-challenges Contribute to ctf-wiki/ctf-challenges development by creating an account on GitHub. github.com 파일들 중 core_give.tar.gz를 압축해제 해준다. bzImage 파일은 커널 이미지 파일이다. core.cpio 파일은 file system을 압축한 파일로 분석 대상 모듈..

    Kernel Address Space Layout Randomization (KASLR)

    Kernel Address Space Layout Randomization (KASLR)

    KASLR(Kernel Address Space Layout Randomization)은 ASLR의 커널 버전으로 커널의 기본 주소 값을 무작위로 만들어 커널 공격을 어렵게 만드는 기능이다. 실습은 우분투 16.04에서 진행했다. KASLR을 비활성화 하려면 "/etc/default/grub" 파일의 "GRUB_CMDLINE_LINUX_DEFAULT"에 "nokaslr"을 추가한다. sudo update-grub으로 설정을 반영한다. 이후 reboot로 적용시켜줘야 한다. 이제 reboot해도 계속 주소가 같게 나오는 것을 확인할 수 있다. 반대로 KASLR을 활성화 하려면 "/etc/default/grub" 파일의 "GRUB_CMDLINE_LINUX_DEFAULT"에서 "nokaslr"을 "kaslr"..

    Linux Kernel Debugging (with VMware)

    Linux Kernel Debugging (with VMware)

    결론부터 적자면 vmware를 사용한 방법은 실패했습니다. qemu를 사용한 디버깅 방법을 추천드립니다. VMware를 이용한 리눅스 커널 디버깅 방법에 대해 알아보자. 분석의 편의성을 위해 Debug Symbol를 설치한다. 다음과 같이 저장소 정보를 "/etc/apt/sources.list.d/ddebs.list" 파일에 저장한다. echo "deb http://ddebs.ubuntu.com $(lsb_release -cs) main restricted universe multiverse deb http://ddebs.ubuntu.com $(lsb_release -cs)-updates main restricted universe multiverse deb http://ddebs.ubuntu.com $..