igunix-s.tistory.com
Open in
urlscan Pro
211.231.99.250
Public Scan
URL:
http://igunix-s.tistory.com/
Submission: On March 17 via api from US — Scanned from DE
Submission: On March 17 via api from US — Scanned from DE
Form analysis
0 forms found in the DOMText Content
전체 글 [Kernel] KROP & KPTI 2024.03.15· Kernel 1. 소개 커널의 보호기법 중 SMEP이 걸려있는 경우 유저 공간의 코드를 실행하는 것이 불가능해진다. 유저랜드의 NX 보호기법을 우회하기 위해서 RTL, ROP 가 존재 하듯, SMEP을 우회하기 위해서는 KROP(Kernel ROP)라고 불리는 기법이 필요하다. 기법은 유저랜드의 ROP와 크게 다르지 않으며 유저랜드 ROP와 크게 다르지 않기 때문에 잡다한 설명은 생략하고 진행할 예정이다. Main Topic SMEP, SMAP KROP KPTI 2. Extract-Vmlinux ROP gadget을 찾기 위해선 커널 공간의 이미지가 필요하다. ROPgadget 명령을 이용해서 바이너리의 가젯을 찾았듯이 커널의 바이너리가 필요한 것이다. 이것은 다행히도 extract-vmlinux라는 이름의 스크립트.. [Kernel] Kernel Stack Overflow & Commit_creds 2024.02.18· Kernel 1. 소개 저번 글에서 Holstein 모듈에 대해서 소스코드 분석과 취약점을 알아보았다. Stack Buffer Overflow를 통해 RIP를 조작할 수 있다는 것을 알았으니 이제 이를 활용하여 권한 상승 공격을 실습 해볼것이다. Main Topic commit_creds ret2usr 2. commit_creds commit_creds 함수 가장 기본적인 권한 상승 방법으로는 commit_creds 함수와 init_cred 구조체를 사용한 권한 상승이 있다. cred 구조체는 각 프로세스에서 권한 정보를 가지고 있는 구조체로 task_cred 라는 구조체에서 이를 관리한다. 이중에서 commit_creds 함수는 프로세스의 권한 정보를 바꿔주는 함수로 소스코드와 함께 알아보자 int commit_c.. [Kernel] Holstein Module 2024.02.12· Kernel 1. 소개 Holstein이란? Holstein Module은 앞서 qemu를 이용한 환경 세팅 글에서 설치한 LK01 예제에 포함된 간단한 취약점을 가진 커널 모듈로 open, write, read 등의 기능을 포함하고 있다. Main Topic Module Stack Buffer Overflow Kernel read, write 2. 환경 설정 기본적인 환경 세팅은 아래 글과 같다. https://igunix-s.tistory.com/entry/Kernel-qemu%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%9C-%ED%99%98%EA%B2%BD-%EC%84%B8%ED%8C%85 [Kernel] qemu를 사용한 환경 세팅 1. 소개 본격적인 Kernel exploit tech에 들.. [Fuzzing101] 5. Libxml2 (CVE-2017-9048) 2024.01.12· Fuzzing 1. 분석 대상 Libxml2란? XML 문서 파싱을 위한 소프트웨어 라이브러리로, 기본적인 라이브러리에 기반하여 만들어져 휴대성이 좋고 스타일시트 처리, xmlint, HTML parser 도 포함하고 있다. Main Topic Dictionaries Basic parallelization Fuzzing command-line arguments 2. CVE Code CVE-2017-9048 libxml2 20904-GITv2.9.4-16-g0741801 버전에서 xmlSnprintfElementContent 함수가 strlen(buf) + 2 < size 인지 검증하는 루틴이 생략되어 Stack Buffer Overflow를 일으키는 취약점 3. CVE 관련 정보 Reference https://nvd.. [Kernel] 커널의 보호 기법 2024.01.04· Kernel 1. 소개 이번 글에서는 커널의 대표적인 보호 기법인 SMEP, SMAP, KASLR, KPTI 등에 대해 알아본다. 기본적인 보호 기법은 사용자 공간에서와 비슷하며 커널 공간 특유의 취약점을 보호하는 기법도 존재한다. 이 글에서는 보호 기법에 대해서만 알아보고 Exploit Tech는 다른 글에서 다룰 예정이다. 2. SMEP SMEP(Supervisor Mode Execution Prevention) SMEP은 커널의 대표적인 보호 기법으로, 사용자 공간의 NX(No Execute)와 비슷한 역할의 보호기법이다. 커널 공간에서 코드를 실행할 때, 실행할 코드가 유저 공간의 코드 혹은 유저 공간에서 접근 가능한 코드라면 실행을 못하게 막는 보호 기법이다. SMEP은 하드웨어 차원의 보안 기법으로 CR4.. [Fuzzing101] 4. LibTIFF (CVE-2016-9297) 2024.01.02· Fuzzing 1. 분석 대상 LibTIFF란? 태그 이미지 파일 형식의 파일을 읽고 쓰기 위한 라이브러리 tiff 파일을 생성하거나 확장자 정보를 얻는 등의 기능도 있다. Main Topic Code coverage LCOV 2. CVE Code CVE-2016-9297 LibTIFF 4.0.6 버전의 TIFFetchNormalTag 함수를 사용하여 조작된 태그 파일을 통해 Out-of-Bounds Read, 서비스 거부 공격을 일으킬 수 있는 취약점 3. CVE 관련 정보 Reference https://nvd.nist.gov/vuln/detail/CVE-2016-9297 https://mititch.tistory.com/114 https://docs.fileformat.com/ko/image/tiff/ 4. 분석.. [Fuzzing101] 3. TCPdump (CVE-2017-13028) 2023.12.26· Fuzzing 1. 분석 대상 TCPdump란? CLI 환경에서 실행하는 패킷 가로채기 프로그램 tcp/ip 뿐만 아니라 컴퓨터에 부착된 네트워크를 통해 송수신되는 기타 패킷을 가로채고 표시하는 기능도 있음 Main Topic ASan Sanitizers 2. CVE Code CVE-2017-13028 TCPdump 4.9.2 이전 버전에서 BOOTP packet parsing 도중 out-of-bounds를 통해 임의 메모리의 값을 읽어오는 취약점 3. CVE 관련 정보 Reference https://nvd.nist.gov/vuln/detail/CVE-2017-13028 https://techlog.gurucat.net/273 https://stone-t.tistory.com/9 4. 분석 환경 Ubuntu 20... [Kernel] qemu를 사용한 환경 세팅 2023.12.18· Kernel 1. 소개 본격적인 Kernel exploit tech에 들어가기 앞서 커널 공간을 디버깅 하기위해 qemu 설치와 사용법 등을 알아보자. Qemu ? Linux의 대표적 에뮬레이터 이다. bzImage, cpio 와 같은 이미지 파일을 통해 가상머신을 구동시킬 수 있다. x86, ARM 등 다양한 아키텍처를 지원한다. 왜 Qemu를 사용할까 ? ELF 바이너리를 exploit 할때 버그를 일으키면 프로세스가 종료되고 끝이지만 우리가 사용하는 커널 공간을 조작하다 에러가 발생할 경우 치명적으로 다가올 수 있다. Qemu는 동적 디버깅을 위한 옵션을 지원하기 때문에 디버깅이 좀 더 수월하다는 장점이 있다. 2. 레퍼런스 본 글에서 필요한 예제파일은 ptr-yudai님의 github에 올라와 있는 파일을 사.. [Kernel] Introduce Kernel 2023.12.15· Kernel 1. 소개 필자는 System Hacking에 관한 공부를 진행하며 기본적인 stack과 관련된 취약점, heap exploit, vtable 과 관련된 정보는 한글로 된 정보도 많고 예제도 많기 때문에 충분히 실습과 이론적인 공부를 하기 어렵지 않았다. 그런데, 최근 Linux Kernel에 관심을 갖게 되며 공부를 진행하던 중 Kernel에 관한 정보와 이론은 영어나 외국어로 작성되어 있는 자료가 많았고, 한국어 자료의 경우 찾기 어렵거나 일부 블로그의 정보만으로는 공부하기가 쉽지 않다. 그래서 여러 레퍼런스 자료들을 참고하고 실습하며 Kernel 이론 부터 exploit 까지 블로그로 작성해보려한다. 2. 레퍼런스 전반적인 내용은 Pwanyable blog에 기초를 두고 작성하겠다. https://.. [Pwnable] Return Oriented Programming 2023.12.08· Pwnable 1. 소개 Pwn 분야를 처음 접하게 되면 가장 많이 어렵다고 느끼는 부분인 Pwnable의 꽃 ROP에 대해서 알아보자 선행 학습 요소 Calling Convention Buffer Overflow Stack Memory Cumputer Architecture ROP란? Return Oriented Programming(이하 ROP)은 가젯이라고 불리는 코드 조각들을 사용하여 공격자가 임의의 코드를 실행하고 프로그램의 흐름을 바꾸는 기초 기법이다. 말그대로 공격자가 원하는 대로 실행 흐름을 바꿀 수 있기 때문에 공격이 가능할 경우 엄청난 피해를 일으킬 수 있다. How to use? 필요한 프로그램들로는 gdb(pwndbg, peda, gef), pwntools, python 등의 프로그램이 사용된다... * 이전 * 1 * 2 * 다음 불여우령 igunis 전체 581 오늘 0 어제 6 검색 * 분류 전체보기 (15) * Dreamhack (2) * Pwnable (2) * Fuzzing (5) * Kernel (6) 블로그 메뉴 * 홈 * 태그 * 방명록 공지사항 인기 글 * [Kernel] Kernel Stack Overflow &⋯ 2024.02.18 * [Kernel] KROP & KPTI 2024.03.15 * [Fuzzing101] 4. LibTIFF (CVE-201⋯ 2024.01.02 * [Kernel] Introduce Kernel 2023.12.15 * [Pwnable] Syscall_table 정리 2023.10.06 태그 * ROP * System_Hacking * Kernel * CVE Review * Linux * system hacking * Kernel BOF * Fuzzing * pwnable * Linux Kernel * Linux Kernel Exploit 최근 글 * [Kernel] KROP & KPTI 2024.03.15 * [Kernel] Kernel Stack Overflow &⋯ 2024.02.18 * [Kernel] Holstein Module 2024.02.12 * [Fuzzing101] 5. Libxml2 (CVE-201⋯ 2024.01.12 * [Kernel] 커널의 보호 기법 2024.01.04 hELLO · Designed By 정상우.v4.2.2 불여우령 구독하기 테마상단으로 티스토리툴바 불여우령구독하기