ช่องโหว่เคอร์เนล
ยกระดับสิทธิ์ผ่านเคอร์เนล
ช่องโหว่เคอร์เนล เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การแจกแจงข้อมูล
- การใช้ SUID และ Sudo ในทางที่ผิด
- งาน Cron และ PATH
- ช่องโหว่เคอร์เนล