diff options
| -rw-r--r-- | README.md | 71 |
1 files changed, 57 insertions, 14 deletions
| @@ -12,6 +12,16 @@ Pull requests are welcome. | |||
| 12 | 12 | ||
| 13 | ## Exploitation techniques | 13 | ## Exploitation techniques |
| 14 | 14 | ||
| 15 | [2018: "Linux-Kernel-Exploit Stack Smashing"](http://tacxingxing.com/2018/02/15/linux-kernel-exploit-stack-smashing/) [article] | ||
| 16 | |||
| 17 | [2018, HitB: "Mirror Mirror: Rooting Android 8 with a Kernel Space Mirroring Attack" by Wang Yong](https://conference.hitb.org/hitbsecconf2018ams/materials/D1T2%20-%20Yong%20Wang%20&%20Yang%20Song%20-%20Rooting%20Android%208%20with%20a%20Kernel%20Space%20Mirroring%20Attack.pdf) [slides] | ||
| 18 | |||
| 19 | [2018, BlackHat: "KSMA: Breaking Android kernel isolation and Rooting with ARM MMU features" by Wang Yong](https://www.blackhat.com/docs/asia-18/asia-18-WANG-KSMA-Breaking-Android-kernel-isolation-and-Rooting-with-ARM-MMU-features.pdf) [slides] | ||
| 20 | |||
| 21 | [2018, OffensiveCon: "Concolic Testing for Kernel Fuzzing and Vulnerability Discovery" by Vitaly Nikolenko](https://www.youtube.com/watch?v=mpfKN1URqdQ) [video] | ||
| 22 | |||
| 23 | [2018: "Still Hammerable and Exploitable: on the Effectiveness of Software-only Physical Kernel Isolation"](https://arxiv.org/pdf/1802.07060.pdf) [paper] | ||
| 24 | |||
| 15 | [2017: "KERNELFAULT: Pwning Linux using Hardware Fault Injection" by Niek Timmers and Cristofaro Mune](https://www.youtube.com/watch?v=nqF_IjXg_uM) [video] | 25 | [2017: "KERNELFAULT: Pwning Linux using Hardware Fault Injection" by Niek Timmers and Cristofaro Mune](https://www.youtube.com/watch?v=nqF_IjXg_uM) [video] |
| 16 | 26 | ||
| 17 | [2017: "Escalating Privileges in Linux using Fault Injection" by Niek Timmers and Cristofaro Mune](https://www.riscure.com/uploads/2017/10/escalating-privileges-in-linux-using-fi-presentation-fdtc-2017.pdf) [slides] | 27 | [2017: "Escalating Privileges in Linux using Fault Injection" by Niek Timmers and Cristofaro Mune](https://www.riscure.com/uploads/2017/10/escalating-privileges-in-linux-using-fi-presentation-fdtc-2017.pdf) [slides] |
| @@ -28,6 +38,8 @@ Pull requests are welcome. | |||
| 28 | 38 | ||
| 29 | [2017: "Unleashing Use-Before-Initialization Vulnerabilities in the Linux Kernel Using Targeted Stack Spraying"](https://www.internetsociety.org/sites/default/files/ndss2017_09-2_Lu_paper.pdf) [whitepaper] | 39 | [2017: "Unleashing Use-Before-Initialization Vulnerabilities in the Linux Kernel Using Targeted Stack Spraying"](https://www.internetsociety.org/sites/default/files/ndss2017_09-2_Lu_paper.pdf) [whitepaper] |
| 30 | 40 | ||
| 41 | [2017: "Breaking KASLR with perf" by Lizzie Dixon](https://blog.lizzie.io/kaslr-and-perf.html) [article] | ||
| 42 | |||
| 31 | [2016: "Getting Physical Extreme abuse of Intel based Paging Systems" by Nicolas Economou and Enrique Nissim](https://www.coresecurity.com/system/files/publications/2016/05/CSW2016%20-%20Getting%20Physical%20-%20Extended%20Version.pdf) [slides] | 43 | [2016: "Getting Physical Extreme abuse of Intel based Paging Systems" by Nicolas Economou and Enrique Nissim](https://www.coresecurity.com/system/files/publications/2016/05/CSW2016%20-%20Getting%20Physical%20-%20Extended%20Version.pdf) [slides] |
| 32 | 44 | ||
| 33 | [2016: "Linux Kernel ROP - Ropping your way to # (Part 1)" by Vitaly Nikolenko](https://www.trustwave.com/Resources/SpiderLabs-Blog/Linux-Kernel-ROP---Ropping-your-way-to---(Part-1)/) [article] | 45 | [2016: "Linux Kernel ROP - Ropping your way to # (Part 1)" by Vitaly Nikolenko](https://www.trustwave.com/Resources/SpiderLabs-Blog/Linux-Kernel-ROP---Ropping-your-way-to---(Part-1)/) [article] |
| @@ -104,6 +116,10 @@ Pull requests are welcome. | |||
| 104 | 116 | ||
| 105 | ### LPE | 117 | ### LPE |
| 106 | 118 | ||
| 119 | [2018: "Ubuntu kernel eBPF 0day analysis"](https://security.tencent.com/index.php/blog/msg/124) [article, CVE-2017-16995] | ||
| 120 | |||
| 121 | [2017: "Adapting the POC for CVE-2017-1000112 to Other Kernels"](https://ricklarabee.blogspot.de/2017/12/adapting-poc-for-cve-2017-1000112-to.html) [article, CVE-2017-1000112] | ||
| 122 | |||
| 107 | [2017: "The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel" by Di Shen](https://speakerdeck.com/retme7/the-art-of-exploiting-unconventional-use-after-free-bugs-in-android-kernel) [slides, CVE-2017-0403, CVE-2016-6787] | 123 | [2017: "The Art of Exploiting Unconventional Use-after-free Bugs in Android Kernel" by Di Shen](https://speakerdeck.com/retme7/the-art-of-exploiting-unconventional-use-after-free-bugs-in-android-kernel) [slides, CVE-2017-0403, CVE-2016-6787] |
| 108 | 124 | ||
| 109 | [2017: "Exploiting CVE-2017-5123 with full protections. SMEP, SMAP, and the Chrome Sandbox!" by Chris Salls](https://salls.github.io/Linux-Kernel-CVE-2017-5123/) [article, CVE-2017-5123] | 125 | [2017: "Exploiting CVE-2017-5123 with full protections. SMEP, SMAP, and the Chrome Sandbox!" by Chris Salls](https://salls.github.io/Linux-Kernel-CVE-2017-5123/) [article, CVE-2017-5123] |
| @@ -252,6 +268,13 @@ Pull requests are welcome. | |||
| 252 | [2009: "When a "potential D.o.S." means a one-shot remote kernel exploit: the SCTP story"](https://kernelbof.blogspot.de/2009/04/kernel-memory-corruptions-are-not-just.html) [article, CVE-2009-0065] | 268 | [2009: "When a "potential D.o.S." means a one-shot remote kernel exploit: the SCTP story"](https://kernelbof.blogspot.de/2009/04/kernel-memory-corruptions-are-not-just.html) [article, CVE-2009-0065] |
| 253 | 269 | ||
| 254 | 270 | ||
| 271 | ### Other | ||
| 272 | |||
| 273 | [2017: "initroot: Bypassing Nexus 6 Secure Boot through Kernel Command-line Injection"](https://alephsecurity.com/2017/05/23/nexus6-initroot/#anecdote-a-linux-kernel-out-of-bounds-write-cve-2017-1000363) [article, CVE-2017-1000363] | ||
| 274 | |||
| 275 | [2016: "Motorola Android Bootloader Kernel Cmdline Injection Secure Boot Bypass"](https://alephsecurity.com/vulns/aleph-2017011) [article, CVE-2016-10277] | ||
| 276 | |||
| 277 | |||
| 255 | ## Protection bypass techniques | 278 | ## Protection bypass techniques |
| 256 | 279 | ||
| 257 | [2016: "Linux Kernel x86-64 bypass SMEP - KASLR - kptr_restric"](http://blackbunny.io/linux-kernel-x86-64-bypass-smep-kaslr-kptr_restric/) [article] | 280 | [2016: "Linux Kernel x86-64 bypass SMEP - KASLR - kptr_restric"](http://blackbunny.io/linux-kernel-x86-64-bypass-smep-kaslr-kptr_restric/) [article] |
| @@ -287,6 +310,8 @@ Pull requests are welcome. | |||
| 287 | 310 | ||
| 288 | ## Defensive | 311 | ## Defensive |
| 289 | 312 | ||
| 313 | [2018: "KASR: A Reliable and Practical Approach to Attack Surface Reduction of Commodity OS Kernels"] (https://arxiv.org/pdf/1802.07062.pdf) [paper] | ||
| 314 | |||
| 290 | [2018, Linux Conf AU: "The State of Kernel Self Protection" by Kees Cook](https://outflux.net/slides/2018/lca/kspp.pdf) [slides] | 315 | [2018, Linux Conf AU: "The State of Kernel Self Protection" by Kees Cook](https://outflux.net/slides/2018/lca/kspp.pdf) [slides] |
| 291 | 316 | ||
| 292 | [2017: "Towards Linux Kernel Memory Safety"](https://arxiv.org/pdf/1710.06175.pdf) [whitepaper] | 317 | [2017: "Towards Linux Kernel Memory Safety"](https://arxiv.org/pdf/1710.06175.pdf) [whitepaper] |
| @@ -303,6 +328,8 @@ Pull requests are welcome. | |||
| 303 | 328 | ||
| 304 | [2017: "Fine Grained Control-Flow Integrity for The Linux Kernel" by Sandro Rigo, Michalis Polychronakis, Vasileios Kemerlis](https://www.blackhat.com/docs/asia-17/materials/asia-17-Moreira-Drop-The-Rop-Fine-Grained-Control-Flow-Integrity-For-The-Linux-Kernel.pdf) [slides] | 329 | [2017: "Fine Grained Control-Flow Integrity for The Linux Kernel" by Sandro Rigo, Michalis Polychronakis, Vasileios Kemerlis](https://www.blackhat.com/docs/asia-17/materials/asia-17-Moreira-Drop-The-Rop-Fine-Grained-Control-Flow-Integrity-For-The-Linux-Kernel.pdf) [slides] |
| 305 | 330 | ||
| 331 | [2016: "Thwarting unknown bugs: hardening features in the mainline Linux kernel" by Mark Rutland](https://elinux.org/images/8/87/Thwarting_Unknown_Bugs.pdf) [slides] | ||
| 332 | |||
| 306 | [2016: "Emerging Defense in Android Kernel" by James Fang](http://keenlab.tencent.com/en/2016/06/01/Emerging-Defense-in-Android-Kernel/) [article] | 333 | [2016: "Emerging Defense in Android Kernel" by James Fang](http://keenlab.tencent.com/en/2016/06/01/Emerging-Defense-in-Android-Kernel/) [article] |
| 307 | 334 | ||
| 308 | [2016: "Randomizing the Linux kernel heap freelists" by Thomas Garnier](https://medium.com/@mxatone/randomizing-the-linux-kernel-heap-freelists-b899bb99c767#.3csq8t23s) [article] | 335 | [2016: "Randomizing the Linux kernel heap freelists" by Thomas Garnier](https://medium.com/@mxatone/randomizing-the-linux-kernel-heap-freelists-b899bb99c767#.3csq8t23s) [article] |
| @@ -315,11 +342,17 @@ Pull requests are welcome. | |||
| 315 | 342 | ||
| 316 | [2012: "How do I mitigate against NULL pointer dereference vulnerabilities?" by RedHat](https://access.redhat.com/articles/20484) [article] | 343 | [2012: "How do I mitigate against NULL pointer dereference vulnerabilities?" by RedHat](https://access.redhat.com/articles/20484) [article] |
| 317 | 344 | ||
| 345 | [2011: "Linux kernel vulnerabilities: State-of-the-art defenses and open problems"](https://pdos.csail.mit.edu/papers/chen-kbugs.pdf) [paper] | ||
| 346 | |||
| 318 | [2009, Phrack: "Linux Kernel Heap Tampering Detection" by Larry Highsmith](http://phrack.org/archives/issues/66/15.txt) [article] | 347 | [2009, Phrack: "Linux Kernel Heap Tampering Detection" by Larry Highsmith](http://phrack.org/archives/issues/66/15.txt) [article] |
| 319 | 348 | ||
| 320 | 349 | ||
| 321 | ## Fuzzing & detectors | 350 | ## Fuzzing & detectors |
| 322 | 351 | ||
| 352 | [2018, BlackHat: "New Compat Vulnerabilities In Linux Device Drivers"](https://www.blackhat.com/docs/asia-18/asia-18-Ding-New-Compat-Vulnerabilities-In-Linux-Device-Drivers.pdf) [slides] | ||
| 353 | |||
| 354 | [2018: "Precise and Scalable Detection of Double-Fetch Bugs in OS Kernels"](http://www-users.cs.umn.edu/~kjlu/papers/deadline.pdf) [paper] | ||
| 355 | |||
| 323 | [2017: "The android vulnerability discovery in SoC" by Yu Pan and Yang Dai](http://powerofcommunity.net/poc2017/yu.pdf) [slides] | 356 | [2017: "The android vulnerability discovery in SoC" by Yu Pan and Yang Dai](http://powerofcommunity.net/poc2017/yu.pdf) [slides] |
| 324 | 357 | ||
| 325 | [2017, Black Hat USA: "Evolutionary Kernel Fuzzing" by Richard Johnson](https://moflow.org/Presentations/Evolutionary%20Kernel%20Fuzzing-BH2017-rjohnson-FINAL.pdf) [slides] | 358 | [2017, Black Hat USA: "Evolutionary Kernel Fuzzing" by Richard Johnson](https://moflow.org/Presentations/Evolutionary%20Kernel%20Fuzzing-BH2017-rjohnson-FINAL.pdf) [slides] |
| @@ -439,20 +472,8 @@ PlaidCTF 2013 (Servr): [writeup](http://blog.frizn.fr/plaidctf-2013/pwn-400-serv | |||
| 439 | 472 | ||
| 440 | 0ctf2017: [source and exploit](https://github.com/lovelydream/0ctf2017_kernel_pwn) | 473 | 0ctf2017: [source and exploit](https://github.com/lovelydream/0ctf2017_kernel_pwn) |
| 441 | 474 | ||
| 475 | 0ctf2018: [writeup 1](http://blog.eadom.net/writeups/0ctf-2018-zerofs-writeup/), [writeup 2](http://ddaa.tw/0ctf_pwnable_478_zer0fs.html) | ||
| 442 | 476 | ||
| 443 | ### Misc | ||
| 444 | |||
| 445 | https://github.com/Fuzion24/AndroidKernelExploitationPlayground | ||
| 446 | |||
| 447 | https://github.com/ReverseLab/kernel-pwn-challenge | ||
| 448 | |||
| 449 | https://github.com/NoviceLive/research-rootkit | ||
| 450 | |||
| 451 | https://github.com/djrbliss/libplayground | ||
| 452 | |||
| 453 | [pwnable.kr tasks](http://pwnable.kr/play.php) (syscall, rootkit, softmmu, towelroot, kcrc, exynos) | ||
| 454 | |||
| 455 | [RPISEC kernel labs](https://github.com/RPISEC/MBE/tree/master/src/lab10) | ||
| 456 | 477 | ||
| 457 | ## Tools | 478 | ## Tools |
| 458 | 479 | ||
| @@ -477,10 +498,32 @@ http://www.openwall.com/lkrg/ | |||
| 477 | https://github.com/IAIK/meltdown | 498 | https://github.com/IAIK/meltdown |
| 478 | 499 | ||
| 479 | 500 | ||
| 480 | ## Unsorted | 501 | ### Misc |
| 502 | |||
| 503 | https://github.com/Fuzion24/AndroidKernelExploitationPlayground | ||
| 504 | |||
| 505 | https://github.com/ReverseLab/kernel-pwn-challenge | ||
| 506 | |||
| 507 | https://github.com/NoviceLive/research-rootkit | ||
| 508 | |||
| 509 | https://github.com/djrbliss/libplayground | ||
| 510 | |||
| 511 | [pwnable.kr tasks](http://pwnable.kr/play.php) (syscall, rootkit, softmmu, towelroot, kcrc, exynos) | ||
| 512 | |||
| 513 | [RPISEC kernel labs](https://github.com/RPISEC/MBE/tree/master/src/lab10) | ||
| 514 | |||
| 515 | https://github.com/hackedteam | ||
| 481 | 516 | ||
| 482 | https://github.com/mncoppola/Linux-Kernel-CTF | 517 | https://github.com/mncoppola/Linux-Kernel-CTF |
| 483 | 518 | ||
| 484 | https://crowell.github.io/blog/2014/11/24/hosting-a-local-kernel-ctf-challenge/ | 519 | https://crowell.github.io/blog/2014/11/24/hosting-a-local-kernel-ctf-challenge/ |
| 485 | 520 | ||
| 486 | https://github.com/ukanth/afwall/wiki/Kernel-security | 521 | https://github.com/ukanth/afwall/wiki/Kernel-security |
| 522 | |||
| 523 | https://github.com/a13xp0p0v/linux-kernel-defence-map | ||
| 524 | |||
| 525 | https://github.com/kmcallister/alameda | ||
| 526 | |||
| 527 | https://github.com/01org/jit-spray-poc-for-ksp | ||
| 528 | |||
| 529 | https://forums.grsecurity.net/viewforum.php?f=7 | ||
