0Pricing
Ethical Hacking Academy · บทเรียน

ช่องโหว่เคอร์เนล

ยกระดับสิทธิ์ผ่านเคอร์เนล

ช่องโหว่เคอร์เนล เป็นบทเรียน Ethical Hacking Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Ethical Hacking Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

การยกระดับสิทธิ์ผ่านเคอร์เนล

เมื่อการกำหนดค่าถูกล็อกไว้อย่างรัดกุม เคอร์เนล เองอาจเป็นจุดอ่อน บั๊กในโค้ดเคอร์เนล — ที่กระบวนการไร้สิทธิ์สามารถเข้าถึงได้ — อาจถูกใช้เพื่อเรียกใช้โค้ดใน ring 0 และรับสิทธิ์ root

การระบุเคอร์เนล

ทุกอย่างเริ่มจากเวอร์ชันเคอร์เนลและดิสทริบิวชันที่ถูกต้องอย่างละเอียด บิลด์เฉพาะแต่ละรายการจะสอดคล้องกับ CVE สาธารณะและการโจมตีบางรายการ

uname -r
uname -a
cat /proc/version
cat /etc/os-release

จับคู่เวอร์ชันกับ CVE

ค้นหาฐานข้อมูลการโจมตีตามเคอร์เนลและดิสทริบิวชันของคุณ เครื่องมืออย่าง searchsploit (Exploit-DB แบบออฟไลน์) และ linux-exploit-suggester ช่วยจับคู่เวอร์ชันกับการโจมตีที่มีแนวโน้มใช้ได้

searchsploit linux kernel 4.4
./linux-exploit-suggester.sh

เรื่องเด่น: Dirty COW

Dirty COW (CVE-2016-5195) คือสภาวะแข่งขันในการจัดการการคัดลอกเมื่อเขียนของเคอร์เนลสำหรับการแมปหน่วยความจำ ทำให้ผู้ใช้ไร้สิทธิ์เขียนลงในไฟล์แบบอ่านอย่างเดียว (เช่น /etc/passwd) และรับสิทธิ์ root ได้ ช่องโหว่นี้ส่งผลต่อเคอร์เนลตั้งแต่ปี 2007 ถึง 2016

เรื่องเด่น: DirtyPipe

DirtyPipe (CVE-2022-0847) ส่งผลต่อ Linux 5.8 ขึ้นไป ข้อบกพร่องในการจัดการบัฟเฟอร์ของไพป์ทำให้ผู้ใช้ไร้สิทธิ์เขียนทับข้อมูลในไฟล์แบบอ่านอย่างเดียว และรับสิทธิ์ root ได้ด้วยเทคนิคเขียนทับ passwd/SUID แบบเดียวกัน

เรื่องเด่น: PwnKit

PwnKit (CVE-2021-4034) เป็นบั๊กในพื้นที่ผู้ใช้ของ pkexec (Polkit) ไม่ใช่ในเคอร์เนลโดยตรง แต่เป็นช่องทางรับสิทธิ์ root ในเครื่องแบบเฉพาะที่ที่เชื่อถือได้บนดิสทริบิวชัน Linux แทบทุกตัวมานานกว่าทศวรรษ ควรตรวจสอบสิ่งนี้เสมอระหว่างการยกระดับสิทธิ์

ls -la /usr/bin/pkexec   # SUID root, often vulnerable

การคอมไพล์การโจมตี

การโจมตีเคอร์เนลส่วนใหญ่เป็นซอร์สโค้ด C ที่คุณต้องคอมไพล์ บนสภาพแวดล้อมที่ตรงกัน เฮดเดอร์หรือเวอร์ชันคอมไพเลอร์ที่ไม่ตรงกันอาจทำให้ล้มเหลว หากเป็นไปได้ ให้คอมไพล์บนโคลนสำหรับห้องทดลองของเป้าหมาย

gcc -o exploit exploit.c
# or: gcc dcow.c -o dcow -lpthread

ความเสี่ยงของการโจมตีเคอร์เนล

การโจมตีเคอร์เนลควรเป็น ทางเลือกสุดท้าย การพยายามที่ล้มเหลวอาจทำให้ เคอร์เนลแพนิก และทำให้ทั้งเครื่องหยุดทำงาน — เกิดข้อมูลสูญหาย ระบบหยุดให้บริการ และสิทธิ์เข้าถึงที่ได้มาถูกตัดขาด อย่าเรียกใช้การโจมตีเช่นนี้แบบไม่ระมัดระวังบนระบบใช้งานจริง

เสถียรภาพและความน่าเชื่อถือ

ความน่าเชื่อถือของการโจมตีแตกต่างกันตามรุ่นย่อยของเคอร์เนล ฮาร์ดแวร์ และกลไกบรรเทาผลกระทบ (KASLR, SMEP, SMAP) อ่านหมายเหตุของการโจมตี ยืนยันช่วงเวอร์ชันที่ได้รับผลกระทบอย่างแน่นอน และทดสอบในห้องทดลองก่อนดำเนินการกับเป้าหมายการทดสอบ

การป้องกัน

การป้องกันหลักนั้นเรียบง่าย: ติดตั้งแพตช์โดยเร็ว อัปเดตเคอร์เนลอยู่เสมอ เปิดใช้กลไกบรรเทาผลกระทบ ลดจำนวนไบนารี SUID และใช้เคอร์เนลที่มีการจำกัดสิทธิ์ (การเสริมความปลอดภัยแบบ grsecurity และ seccomp) การโจมตีเคอร์เนลส่วนใหญ่หมดประสิทธิภาพทันทีที่ระบบได้รับแพตช์

การอนุญาตและข้อควรระวัง

เนื่องจากการโจมตีเคอร์เนลอาจทำให้ระบบหยุดทำงาน ให้ขออนุมัติเป็นลายลักษณ์อักษรอย่างชัดเจนก่อนเรียกใช้ เลือกช่วงเวลาที่ไม่ใช่ระบบใช้งานจริง และเตรียมให้ลูกค้าพร้อมรีบูต ทำงานเฉพาะภายในขอบเขตที่ได้รับอนุญาต

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เกี่ยวกับการโจมตีเคอร์เนลของคุณ

สรุปทบทวน

คุณได้เรียนรู้การยกระดับสิทธิ์ผ่านเคอร์เนล:

  • จับคู่เวอร์ชันเคอร์เนลที่แน่นอนกับ CVE ด้วย searchsploit / LES
  • การโจมตีคลาสสิก: Dirty COW, DirtyPipe, PwnKit
  • การโจมตีมักเขียนด้วย C และต้องคอมไพล์ให้ตรงกับเป้าหมาย
  • การโจมตีเหล่านี้เป็น ทางเลือกสุดท้าย — ความล้มเหลวทำให้เครื่องหยุดทำงาน ควรติดตั้งแพตช์เพื่อป้องกัน

จบหลักสูตรการยกระดับสิทธิ์บน Linux แล้ว

คำถามที่พบบ่อย

บทเรียน “ช่องโหว่เคอร์เนล” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ช่องโหว่เคอร์เนล” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Ethical Hacking Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Ethical Hacking Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ช่องโหว่เคอร์เนล”

ยกระดับสิทธิ์ผ่านเคอร์เนล คุณปฏิบัติ Ethical Hacking Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Ethical Hacking Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Ethical Hacking Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน

บทเรียน “ช่องโหว่เคอร์เนล” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Ethical Hacking Academy นี้ได้ไหม

ได้ บทเรียน Ethical Hacking Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การแจกแจงข้อมูล
  2. การใช้ SUID และ Sudo ในทางที่ผิด
  3. งาน Cron และ PATH
  4. ช่องโหว่เคอร์เนล
← กลับไปที่ Ethical Hacking Academy