목록Linux kernel exploit (13)
strangerRidingCaml
Write-What-Where (Arbitrary Memory Overwrite)Write-What-Where (WWW) attack is a type of exploitation where an attacker gains control over arbitrary memory locations and can write arbitrary data to these locations.Lab Activity: Write-What-Where (Arbitrary Memory Overwrite) AttackIn this lab activity, we'll demonstrate a simple WWW attack on a vulnerable C program.Defender Side Code:#include #incl..
Return-Oriented Programming (ROP)Return-Oriented Programming (ROP) is a technique used in exploitation where existing code snippets, known as gadgets, are chained together to execute arbitrary commands or escalate privileges.Lab Activity: Return-Oriented Programming (ROP) AttackIn this lab activity, we'll demonstrate a simple ROP attack on a vulnerable C program.Defender Side Code:#include #incl..
Return-to-User (ret2usr) AttacksReturn-to-user (ret2usr) attacks are a type of exploitation technique where an attacker overwrites the return address on the stack to redirect the program execution flow to a user-space function, typically one that allows the attacker to gain elevated privileges or execute arbitrary code.Lab Activity: Return-to-User (ret2usr) AttackIn this lab activity, we'll demo..
Stack Smashing (32-bit and 64-bit)Stack smashing, also known as buffer overflow, is a type of vulnerability that occurs when a program writes more data to a buffer than it can hold, resulting in overwriting adjacent memory locations, including return addresses and other important data.Lab Activity: Stack Smashing (32-bit)In this lab activity, we'll demonstrate a simple stack smashing vulnerabili..
Debugging Kernel and ModulesUsing gdb for kernel debuggingDebugging the Linux kernel requires specialized tools, and one of the most commonly used is GNU Debugger (gdb). Setting up gdb: Install gdb and configure it to work with the Linux kernel. Attaching gdb to the kernel: Use gdb to attach to a running kernel or to a virtual machine running the kernel under debug. Inspecting kernel ..
Development of Kernel ModuleBasics of kernel module developmentKernel modules are pieces of code that can be dynamically loaded and unloaded into the Linux kernel without rebooting the system. Module structure: A kernel module typically consists of initialization and cleanup functions along with the necessary code to perform its intended functionality. Module compilation: Kernel modules ..