background

    [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..

    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 $..

    Linux Kernel Debugging (with QEMU)

    Linux Kernel Debugging (with QEMU)

    이 글 읽어보고 따라 실습해보면서 정리하는 글 https://jeongzero.oopy.io/73084e52-54fa-43e2-986b-072ee2a4f80d 리눅스 커널 디버깅하기 1. 환경 jeongzero.oopy.io 기본 환경 세팅 ubuntu 18.04에서 진행한다. 사용하는 리눅스 커널의 버전은 4.7이다. sudo apt-get install qemu qemu-system git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux cd linux git checkout v4.7 필요한 패키지 설치 sudo apt-get install build-essential libncurses5 libncurses5..

    [fuzzing101] Exercise 2 - libexif (CVE-2009-3895 & CVE-2012-2836) (2)

    [fuzzing101] Exercise 2 - libexif (CVE-2009-3895 & CVE-2012-2836) (2)

    개요 fuzzing101에서 소개한 취약점은 2가지이다. 1. CVE-2009-3895 exif-entry.c의 exif_entry_fix 함수에서 발생하는 힙 오버플로우 취약점 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3895 2. CVE-2012-2836 exif-data.c의 exif_data_load_data 함수에서 발생하는 OOB Read 취약점 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2836 열심히 퍼징을 돌렸지만 아쉽게도 CVE-2009-3895는 발견하지 못했다. 따라서 CVE-2012-2836만 찾아보겠다. EXIF EXIF 파일 파싱 과정에서 발생하는 취약점이라고 했..