background/fuzzing

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

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

    bootp 관련 크래시를 못 찾았기 때문에 다른 분들의 글을 보면서 분석하겠습니다. 먼저 콜 스택은 다음과 같다. print-bootp.c:325 ND_PRINT((ndo, ", Flags [%s]", bittok2str(bootp_flag_values, "none", EXTRACT_16BITS(&bp->bp_flags)))); EXTRACT_16BITS는 다음과 같다. ntohs를 수행하는 그냥 엔디안 변환 함수인 듯 하다. extract.h:150 static inline uint16_t EXTRACT_16BITS(const void *p) { return ((uint16_t)ntohs(*(const uint16_t *)(p))); } bootp_flag_values는 다음과 같다. 브로드캐스트와 관..

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

    [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 파일 파싱 과정에서 발생하는 취약점이라고 했..

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

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

    개요 두 번째 예제는 libexif EXIF ​​구문 분석 라이브러리 퍼징이다. 목표는 libexif 0.6.14에서 CVE-2009-3895 에 대한 크래시/PoC와 CVE-2012-2836 에 대한 또 다른 크래시을 찾는 것이다. CVE-2009-3895는 잘못된 EXIF ​​이미지로 인해 발생할 수 있는 힙 기반 버퍼 오버플로우이다. 원격 공격자는 이 문제를 악용하여 영향을 받는 라이브러리를 사용하는 응용 프로그램의 컨텍스트 내에서 임의의 코드를 실행할 수 있다. CVE-2012-2836은 조작된 EXIF ​​태그가 있는 이미지를 통해 트리거될 수 있는 Out-of-bounds Read 취약점이다. 원격 공격자는 DoS를 유발하거나 프로세스 메모리에서 잠재적으로 민감한 정보를 얻을 수 있다. 환경 ..

    [fuzzing101] Exercise 1 - Xpdf (CVE-2019-13288)

    [fuzzing101] Exercise 1 - Xpdf (CVE-2019-13288)

    개요 첫 번째 예제는 Xpdf PDF 뷰어 퍼징이다. 목표는 XPDF 3.02에서 CVE-2019-13288에 대한 크래시/PoC를 찾는 것 이다. CVE-2019-13288은 조작된 파일을 통해 무한 재귀를 일으킬 수 있는 취약점이다. 프로그램에서 호출된 각 함수는 스택에 스택 프레임을 할당하므로 함수가 너무 많이 반복적으로 호출되면 스택 메모리가 고갈되고 프로그램이 중단될 수 있다. 이는 DoS 공격에 활용될 수 있다. https://cwe.mitre.org/data/definitions/674.html 환경 해당 예제는 ubuntu 20.04 버전을 권장하고 있으며 vmware 파일을 제공하고 있다. (pw: fuzz) https://drive.google.com/file/d/1_m1x-SHcm7M..