Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
kernel-exploit-factory — Linux 커널 CVE 익스플로잇 분석 보고서 및 관련 디버그 환경. 더 이상 Linux 커널을 컴파일하고 환경을 구성할 필요가 없습니다. | Kitploit
도구/GitHubGitHub/bsauce/kernel-exploit-factory
Privilege EscalationVulnerability AnalysisExploitationLearning & EducationCurated ResourcesBinary ExploitationLabs & Practice
GitHubbsauce/kernel-exploit-factory

kernel-exploit-factory

Linux 커널 CVE 익스플로잇 분석 보고서 및 관련 디버그 환경. 더 이상 Linux 커널을 컴파일하고 환경을 구성할 필요가 없습니다.

저장소 보기
1.3k196284개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

kernel-exploit-factory

계속 업데이트 중......

Linux 커널 CVE 익스플로잇 분석 보고서 및 관련 디버그 환경. 더 이상 Linux 커널을 컴파일하고 환경을 구성할 필요가 없습니다.

이 저장소는 모든 Linux 커널 익스플로잇 및 관련 디버그 환경을 추출하기 위한 것입니다. Qemu를 사용하여 커널을 부팅하고 익스플로잇을 테스트할 수 있습니다.


예제```bash

Eg, test CVE-2017-11176, finally you levate privileges and get the shell

john@john-virtual-machine:~/Desktop/kernel-exploit-factory/CVE-2017-11176$ ./start.sh chmod: /dev/csaw: No such file or directory ifconfig: SIOCSIFADDR: No such device route: SIOCADDRT: No such device / $ uname -a Linux (none) 4.11.9 #1 SMP Sat Feb 20 21:52:39 CST 2021 x86_64 GNU/Linux / $ id uid=1000(chal) gid=1000(chal) groups=1000(chal) / $ cd exp /exp $ ./exp-slab-4119 [] sk_rmem_alloc > sk_rcvbuf ==> ok [] mq_notify start [*] wake up thread 1 ... ... /exp # id uid=0(root) gid=0(root) /exp #

---

## 목록

1. CVE-2015-8550
2. CVE-2016-9793
3. 4-20-BPF-integer
4. CVE-2017-5123
5. CVE-2017-6074
6. CVE-2017-7308
7. CVE-2017-8890
8. CVE-2017-11176
9. CVE-2017-16995
10. CVE-2017-1000112
11. CVE-2018-5333
12. CVE-2019-9213 & CVE-2019-8956
13. CVE-2019-15666
14. CVE-2020-8835
15. CVE-2020-27194
16. CVE-2021-3156
17. CVE-2021-31440
18. CVE-2021-3490
19. CVE-2021-22555
20. CVE-2021-41073
21. CVE-2021-4154
22. CVE-2021-42008
23. CVE-2021-43267
24. CVE-2022-0185
25. CVE-2022-0847
26. CVE-2022-0995
27. CVE-2022-1015
28. CVE-2022-2588
29. CVE-2022-2602
30. CVE-2022-2639
31. CVE-2022-25636
32. CVE-2022-27666
33. CVE-2022-32250
34. CVE-2022-34918
35. CVE-2023-2598
36. CVE-2024-1086
37. CVE-2025-21702
38. CVE-2026-23271

---

## 상세

#### 1.CVE-2015-8550

[writeup](https://blog.csdn.net/panhewu9919/article/details/100891770) 

**테스트 버전**: Linux-4.19.65

**보호**: kaslr/SMEP 활성화, SMAP 비활성화.

**취약점**: gcc 컴파일 최적화로 인한 **Double-Fetch 취약점**, 직접 제어 흐름을 탈취할 수 있음.

#### 2. CVE-2016-9793

[writeup](https://blog.csdn.net/panhewu9919/article/details/120164051) 

**테스트 버전**: Linux-4.8.13

**보호**: KASLR/SMAP/SMEP 미활성화. 위조된 [skb_shared_info](https://elixir.bootlin.com/linux/v4.8.13/source/include/linux/skbuff.h#L414) 구조체는 사용자 공간에 있으므로 SMAP를 우회할 수 없다.

**취약점**: `net/core/sock.c`의 [sock_setsockopt()](https://elixir.bootlin.com/linux/v4.8.13/source/net/core/sock.c#L658) 함수가 **음수 값을 잘못 처리**하여 `sk_sndbuf`와 `sk_rcvbuf`가 음수가 된다. `write` 호출 시 `skb->head`와 `skb->end`를 잘못 설정하고, 마지막에 `close` 호출로 해제할 때 사용자 공간에 접근하여 오류가 발생한다. 사용자 공간 주소 `0xfffffed0`에 [skb_shared_info](https://elixir.bootlin.com/linux/v4.8.13/source/include/linux/skbuff.h#L414) 구조체를 위조하고, `skb_shared_info->destructor_arg->callback`을 통해 제어 흐름을 탈취한다.

#### 3. 4-20-BPF-integer

[writeup](https://www.cnblogs.com/bsauce/p/11560224.html) 

**테스트 버전**: Linux-4.20.0-rc3

**보호**: SMEP 활성화, kaslr/SMAP 비활성화.

**취약점**: Linux ebpf 모듈의 `queue_stack_map_alloc()`에서 **정수 오버플로** 취약점으로 인해 힙 오버플로가 발생한다. 가상 테이블 포인터를 변조하여 제어 흐름을 `xchg eax, esp`로 탈취한다.

#### 4.CVE-2017-5123

[writeup](https://www.jianshu.com/p/90a040114188) 

**테스트 버전**: Linux 4.14-rc4

**보호**: SMEP/SMAP 활성화, KASLR 비활성화.

**취약점**: `/kernel/exit.c`의 `waitid` 구현은 `unsafe_put_user()`를 호출하여 커널 데이터를 사용자 공간 주소로 복사할 때 `access_ok()`로 사용자 공간 주소의 유효성을 검사하지 않아, 실제로 커널 공간 주소에 데이터를 복사할 수 있다. **waitid가 사용자 주소 유효성을 검사하지 않아 null 임의 주소 쓰기**가 가능하다. 0주소 셸코드를 실행하거나 추측 가능한 범위의 cred를 덮어써서 권한을 상승시킬 수 있다.

#### 5.CVE-2017-6074

[writeup](https://bsauce.github.io/2021/09/17/CVE-2017-6074/)      [reference](https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-6074)

**테스트 버전**: Linux-4.9.12

**보호**: SMEP/SMAP 활성화, kASLR 비활성화.

**취약점**: Linux 커널 IP V6 프로토콜 패밀리의 DCCP(데이터그램 혼잡 제어 프로토콜)에서, `net/dccp/input.c`의 [dccp_rcv_state_process()](https://elixir.bootlin.com/linux/v4.9.12/source/net/dccp/input.c#L574) 함수가 `LISTEN` 상태에서 `DCCP_PKT_REQUEST` 패킷 데이터 구조를 잘못 처리한다. 사용자가 `IPV6_RECVPKTINFO` 옵션으로 `setsockopt()`을 호출하면 **`sk_buff` 구조의 Double-Free**가 발생한다. 이용 방법은 CVE-2016-8655와 유사하다. 첫 번째로 취약점을 트리거하여 힙 스프레이로 `po->rx_ring->prb_bdqc->retire_blk_timer` 구조를 위조하고, `native_write_cr4(0x406e0)`를 실행하여 SMEP/SMAP를 비활성화한다. 두 번째로 취약점을 트리거하여 힙 스프레이로 `skb-> ... ->destructor_arg` 구조를 위조하고, `commit_creds(prepare_kernel_cred(0))`를 실행하여 권한을 상승시킨다.

#### 6.CVE-2017-7308

[writeup](https://www.jianshu.com/p/b53862cd64a6)      [reference](https://github.com/xairy/kernel-exploits/tree/master/CVE-2017-7308)

**테스트 버전**: Linux-4.10.6

**보호**: SMEP/SMAP 활성화, KASLR 비활성화.

**취약점**: `net/packet/af_packet.c`의 [`packet_set_ring()`](https://elixir.bootlin.com/linux/v4.10.6/source/net/packet/af_packet.c#L4181) 함수가 블록 size를 올바르게 검사하지 않고, 길이 판단 조건이 잘못되어 **힙 오버플로**가 발생한다. `CAP_NET_RAW ` 권한이 필요하다. 함수 포인터를 두 번 탈취하여 먼저 SMEP/SMAP 보호를 비활성화한 뒤 권한을 상승시킨다.

#### 7.CVE-2017-8890

[writeup](https://www.jianshu.com/p/699de662f567)      [reference](https://xz.aliyun.com/t/2383)

**테스트 버전**: Linux-4.10.15

**보호**: SMEP 활성화, kASLR/SMAP 비활성화.

**취약점**: `net/ipv4/inet_connection_sock.c` 파일의 [`inet_csk_clone_lock()`](https://elixir.bootlin.com/linux/v4.10.15/source/net/ipv4/inet_connection_sock.c#L652) 함수에 **Double-Free** 취약점이 존재한다. Double-Free를 이용해 RCU 콜백 함수 포인터를 변조하고, SMEP를 비활성화한 뒤 shellcode로 점프하여 cred를 수정한다.

#### 8.CVE-2017-11176

[writeup](https://www.jianshu.com/p/76041ec5c59f) 

**테스트 버전**: Linux-4.11.9

**보호**: SMEP 활성화, kASLR/SMAP 비활성화.

**취약점**: Linux 커널의 POSIX 메시지 큐 구현에서, `mq_notify()` 함수가 sock 포인터를 null로 설정하지 않아 UAF가 발생한다. 실제로는 **경쟁으로 인한 Double-Free 취약점**이지만, 레이스 조건의 시간을 무한정 연장할 수 있다.

#### 9.CVE-2017-16995

[writeup](https://www.cnblogs.com/bsauce/p/11583310.html) 

**테스트 버전**: Linux-4.4.110

**보호**: SMEP/SMAP/kaslr 활성화.

**취약점**: Linux ebpf 모듈의 **정수 확장** 문제. 핵심 문제는 두 레지스터 값의 타입이 달라 check 함수와 실제 함수의 실행 방식이 일치하지 않는다는 점이다. 이 취약점은 스택 공격이나 제어 흐름 탈취를 포함하지 않으며, 오직 시스템 호출 데이터만으로 권한을 상승시킨다. 데이터 지향 공격(Data-Oriented Attacks)이 Linux 커널에 적용된 대표적인 사례다.

#### 10. CVE-2017-1000112

[writeup](https://www.jianshu.com/p/1fa163fd5b82)  	  [reference](https://bbs.pediy.com/thread-265319.htm)

**테스트 버전**: Linux-4.12.6

**보호**: SMEP 활성화, SMAP/kaslr 비활성화.

**취약점**: `net/ipv4/ip_output.c`의 [__ip_append_data()](https://elixir.bootlin.com/linux/v4.12.6/source/net/ipv4/ip_output.c#L910)가 UDP 패킷 처리의 일관성을 보장하지 않아, 두 번의 send 패킷 시 UFO 경로에서 non-UFO 경로로 전환될 수 있고, 이로 인해 **힙 오버플로**가 발생한다. 이용 시 `skb_shared_info->destructor_arg->callback`을 덮어써 제어 흐름을 탈취할 수 있다.

#### 11. CVE-2018-5333

[writeup](https://blog.csdn.net/panhewu9919/article/details/119153052)  

**테스트 버전**: Linux-4.14.13

**보호**: SMEP 활성화, SMAP/kaslr 비활성화.

**취약점**: `net/rds/rdma.c`의 [`rds_cmsg_atomic()`](https://elixir.bootlin.com/linux/v4.14.13/source/net/rds/rdma.c#L788) 함수에서 `rm->atomic.op_active`를 0으로 설정하는 것을 잊어버려, [rds_atomic_free_op()](https://elixir.bootlin.com/linux/v4.14.13/source/net/rds/rdma.c#L474) -> [set_page_dirty()](https://elixir.bootlin.com/linux/v4.14.13/source/mm/page-writeback.c#L2559)가 `page->page_link`를 참조할 때 **`null-dereference` 취약점**이 발생한다. 0주소에 구조체와 함수 포인터를 위조하여 제어 흐름을 탈취한다.

#### 12. CVE-2019-9213 & CVE-2019-8956

[CVE-2019-9213-writeup](https://blog.csdn.net/panhewu9919/article/details/118557802)    [CVE-2019-8956-writeup](https://blog.csdn.net/panhewu9919/article/details/118557844)    

**테스트 버전**: Linux-4.20.0 32비트

**보호**: SMEP 활성화, SMAP/kaslr 비활성화.

**취약점**: 

- CVE-2019-9213: `mm/mmap.c`의 [`expand_downwards()`](https://elixir.bootlin.com/linux/v4.20.7/source/mm/mmap.c#L2413)가 mmap 최소 주소 검사를 잘못하여, 잘못된 task에 대해 capability 검사를 수행해 `mmap_min_addr` 제한을 우회한다. **논리적 취약점**. `LD_DEBUG=help /bin/su 1>&%d` 명령을 사용해 write 작업을 수행하면, 원래는 exp의 cred를 검사해야 하지만 잘못해서 write 프로세스의 cred를 검사하게 되어 낮은 주소를 권한 있는 접근으로 표시한다. 32비트 시스템에서만 성공적으로 이용할 수 있으며, 이유는 알려져 있지 않다.
- CVE-2019-8956: `net/sctp/socket.c`의 [`sctp_sendmsg()`](https://elixir.bootlin.com/linux/v4.20.7/source/net/sctp/socket.c#L2025) 함수가 `SCTP_SENDALL` flag를 처리할 때 **null 포인터 역참조** 취약점이 발생한다. CVE-2019-9213과 결합하여 `mmap_min_addr` 제한을 우회하고, 낮은 주소 0xd4에 mmap하여 구조체를 위조하고 제어 흐름을 탈취할 수 있다.

#### 13. CVE-2019-15666

[writeup](https://bsauce.github.io/2021/09/14/CVE-2019-15666/)  	  [reference](https://github.com/riskeco/Lucky/blob/master/lucky0_RE.c)

**테스트 버전**: Ubuntu 18.04(4.15.0-20-generic #21)

**보호**: SMEP/SMAP/kaslr 활성화.
도구 다운로드