บทแนะนำการแฮ็ก Linux: Ubuntu คำสั่งและเครื่องมือ
⚡ สรุปอย่างชาญฉลาด
การแฮ็ก Linux คือการค้นหาและใช้ประโยชน์จากจุดอ่อนในระบบ Linux และหน้านี้จะอธิบายถึงช่องโหว่ที่ผู้โจมตีมุ่งเป้าหมาย เครื่องมือตรวจสอบที่เกี่ยวข้อง และมาตรการควบคุมที่ช่วยปกป้องเซิร์ฟเวอร์

ลินุกซ์เป็นระบบปฏิบัติการเซิร์ฟเวอร์ที่ใช้กันอย่างแพร่หลายที่สุด โดยเฉพาะอย่างยิ่งสำหรับเว็บเซิร์ฟเวอร์ เป็นซอฟต์แวร์โอเพนซอร์ส ซึ่งหมายความว่าทุกคนสามารถอ่านซอร์สโค้ดได้ ความโปร่งใสนี้มีทั้งข้อดีและข้อเสีย: ผู้ดูแลระบบใช้มันเพื่อค้นหาและแก้ไขข้อบกพร่องได้อย่างรวดเร็ว ในขณะที่ผู้โจมตีศึกษาโค้ดเดียวกันเพื่อมองหาจุดอ่อนที่จะใช้ประโยชน์ การแฮ็กลินุกซ์คือการใช้ประโยชน์จากจุดอ่อนเหล่านั้นเพื่อเข้าถึงระบบโดยไม่ได้รับอนุญาต
หัวข้อด้านล่างนี้จะกล่าวถึงว่า Linux คืออะไร ช่องโหว่ด้านความปลอดภัยที่ส่งผลกระทบต่อ Linux และตัวอย่างการลงมือปฏิบัติจริงในการแฮ็กด้วย Linux Ubuntuและมาตรการรับมือที่คุณสามารถนำมาใช้ได้
หมายเหตุด่วนบน Linux
ลินุกซ์เป็นระบบปฏิบัติการโอเพนซอร์ส มีการแจกจ่ายซอฟต์แวร์หลายเวอร์ชันโดยใช้ลินุกซ์เป็นพื้นฐาน รวมถึง... Red Hat Enterprise Linuxเฟโดรา เดเบียน และ Ubuntuเนื่องจากมีการเผยแพร่ซอร์สโค้ด นักวิจัย ผู้จำหน่าย และผู้โจมตีจึงสามารถตรวจสอบได้ทั้งหมด ผู้โจมตีใช้การเข้าถึงนั้นเพื่อค้นหาช่องโหว่ที่สามารถใช้ประโยชน์ได้ ในขณะที่การมองเห็นได้เช่นเดียวกันนี้ช่วยให้ผู้ดูแลระบบสามารถแก้ไขปัญหาได้เร็วกว่าแพลตฟอร์มแบบปิดทั่วไป Linux สามารถทำงานได้ในฐานะระบบปฏิบัติการเซิร์ฟเวอร์ เดสก์ท็อป แท็บเล็ต หรืออุปกรณ์เคลื่อนที่
โปรแกรม Linux สามารถใช้งานได้ผ่านทางอินเทอร์เฟซแบบกราฟิกหรือจากบรรทัดคำสั่ง การทำงานผ่านบรรทัดคำสั่งนั้นเร็วกว่าและแม่นยำกว่าการคลิกผ่าน GUI ซึ่งเป็นเหตุผลว่าทำไมผู้ทดสอบความปลอดภัยที่ทำงานกับระบบปฏิบัติการต่างๆ เช่น Linux จึงเลือกใช้โปรแกรมเหล่านี้ Kali Linux พวกเขาใช้เวลาเกือบทั้งหมดอยู่หน้าเทอร์มินัล ดังนั้นการรู้คำสั่งพื้นฐานจึงเป็นสิ่งจำเป็นอย่างยิ่ง
อ้างถึงสิ่งนี้ บทช่วยสอน Linux สำหรับพื้นฐาน และสำหรับ Kali Linux เกี่ยวกับการสอน สำหรับระบบกระจายข้อมูลที่เน้นความปลอดภัยซึ่งสร้างขึ้นบนพื้นฐานของระบบเหล่านั้น
ช่องโหว่ด้านความปลอดภัยและช่องทางการโจมตีที่พบได้ทั่วไปใน Linux
การโจมตีระบบ Linux นั้นแทบจะไม่ใช้ช่องโหว่ที่แปลกใหม่เลย ข้อมูลที่เผยแพร่ระหว่างปี 2025 และ 2026 แสดงให้เห็นว่าการโจมตีส่วนใหญ่... tracกลับไปสู่จุดอ่อนที่เกิดขึ้นซ้ำๆ เพียงไม่กี่อย่าง และการรู้จุดอ่อนเหล่านั้นจะช่วยให้คุณรู้ว่าควรทุ่มเทความพยายามในการป้องกันไปที่จุดใดก่อน
- ข้อมูลประจำตัว SSH ที่ไม่แข็งแรงหรือถูกนำมาใช้ซ้ำ — การโจมตีแบบ Brute-force และ Credential Stuffing ต่อ SSH ที่เชื่อมต่อกับอินเทอร์เน็ต เป็นสาเหตุหลักของกิจกรรมที่เป็นอันตรายที่พบเห็นได้บนอุปกรณ์ Linux ส่วนใหญ่
- ช่องโหว่ของเคอร์เนลและแพ็กเกจที่ยังไม่ได้รับการแก้ไข — ทีมพัฒนาเคอร์เนล Linux กลายเป็นหน่วยงานกำหนดหมายเลข CVE ในปี 2024 และจำนวน CVE ของเคอร์เนลที่รายงานเพิ่มขึ้นจากประมาณ 290 รายการในปี 2023 เป็นมากกว่า 3,500 รายการในปีถัดมา ทำให้ปริมาณการแก้ไขที่ค้างอยู่เพิ่มขึ้นอย่างรวดเร็ว
- การกำหนดค่าผิดพลาด — บัญชีผู้ใช้เริ่มต้น, โปรแกรมทำงานเบื้องหลังที่ไม่จำเป็น, ไฟล์ที่ทุกคนสามารถเขียนได้ และกฎ sudo ที่อนุญาตอย่างเสรี มอบสิทธิ์ต่างๆ ที่ไม่จำเป็นต้องใช้ช่องโหว่ใดๆ ในการได้มา
- แอปพลิเคชันเว็บที่มีช่องโหว่ — ข้อบกพร่องต่างๆ เช่น การแทรก SQL และการโจมตีแบบ Cross-site scripting อนุญาตให้ผู้โจมตีเข้าถึงเซิร์ฟเวอร์ผ่านทางแอปพลิเคชันแทนที่จะเป็นระบบปฏิบัติการ เว็บเชลล์เป็นมัลแวร์ที่พบได้บ่อยที่สุดในเซิร์ฟเวอร์ Linux ที่ถูกบุกรุก
- บั๊กการยกระดับสิทธิ์ — ช่องโหว่ในระดับท้องถิ่นที่เปลี่ยนบัญชีผู้ใช้ที่มีสิทธิ์จำกัดให้กลายเป็นผู้ใช้ระดับรูท บางช่องโหว่เหล่านี้รอดพ้นการตรวจพบในเคอร์เนลมานานกว่าทศวรรษก่อนที่จะถูกเปิดเผย
- ความเสี่ยงด้านห่วงโซ่อุปทานและการพึ่งพา — แพ็กเกจจากภายนอก ไลบรารีภาษา และอิมเมจคอนเทนเนอร์ ดึงโค้ดที่ไม่มีใครในทีมปฏิบัติการตรวจสอบเข้ามา
ไม่มีกรณีใดที่ผู้โจมตีจำเป็นต้องทำลายระบบปฏิบัติการ Linux เอง การวิเคราะห์การโจมตีในปี 2025 พบว่าประมาณสี่ในห้าของการโจมตีนั้นไม่ได้ใช้มัลแวร์เลย แต่กลับอาศัยการตั้งค่าที่ไม่ถูกต้องและการขโมยข้อมูลประจำตัวแทน
เครื่องมือแฮ็ก Linux
ผู้ทดสอบความปลอดภัยและผู้ดูแลระบบมักใช้สแกนเนอร์ตัวเดียวกัน: ฝ่ายหนึ่งใช้เพื่อค้นหาจุดอ่อนก่อนที่ผู้โจมตีจะทำได้ อีกฝ่ายใช้เพื่อตรวจสอบว่าการแก้ไขนั้นได้ผลจริง เครื่องมือด้านล่างนี้เป็นเครื่องมือที่ใช้บ่อยที่สุดในการตรวจสอบระบบ Linux
| เครื่องมือ | ประเภท | ใบอนุญาตประกอบธุรกิจ | การใช้งานทั่วไปบน Linux |
| Nessus | เครื่องสแกนช่องโหว่ | เชิงพาณิชย์ | ตรวจสอบการตั้งค่าคอนฟิก แพทช์ที่ขาดหายไป และบริการเครือข่ายในสภาพแวดล้อมที่หลากหลาย |
| nmap | เครื่องสแกนเครือข่ายและพอร์ต | โอเพ่นซอร์ส | ระบุโฮสต์ที่ทำงานอยู่บนเซิร์ฟเวอร์ บริการที่โฮสต์เหล่านั้นให้บริการ และพอร์ตที่เปิดอยู่ |
| Lynis | การตรวจสอบและการเสริมความแข็งแกร่งของโฮสต์ | โอเพ่นซอร์ส | ตรวจสอบระบบที่กำลังทำงานอยู่เทียบกับเกณฑ์มาตรฐานด้านความปลอดภัย และรายงานขั้นตอนการแก้ไขที่เฉพาะเจาะจง |
| OpenVAS | เครื่องสแกนช่องโหว่ | โอเพ่นซอร์ส | การสแกนช่องโหว่ของเครือข่าย ซึ่งดูแลโดย Greenbone ในเวอร์ชัน Community Edition |
รายชื่อนี้ไม่ได้ครอบคลุมทุกรายการ แต่เป็นเพียงตัวอย่างเครื่องมือที่มีให้ใช้สำหรับการตรวจสอบ Ubuntu และระบบ Linux อื่นๆ คู่มือเก่าๆ ยังคงแนะนำ SARA (Security Auditor's Research Assistant) แต่เวอร์ชันสุดท้ายออกในปี 2009 และเว็บไซต์โครงการก็ปิดตัวลงไปแล้ว ดังนั้น Lynis และ OpenVAS เป็นทางเลือกที่ได้รับการรักษาไว้
กิจกรรมการแฮ็ก: แฮ็กก Ubuntu ระบบ Linux โดยใช้ PHP
ในสถานการณ์จำลองนี้ เราจะมาดูวิธีการเข้าถึงโฮสต์ Linux ผ่านเว็บแอปพลิเคชัน โดยใช้ PHP เป็นตัวอย่าง ไม่มีเหยื่อที่เป็นคนจริง หากคุณต้องการลองทำเอง โปรดติดตั้ง LAMPP ซึ่งเป็น XAMPP เวอร์ชัน Linux บนเครื่องของคุณเอง
PHP มาพร้อมกับฟังก์ชันสองฟังก์ชันที่สามารถใช้เรียกใช้คำสั่งของระบบปฏิบัติการได้ ได้แก่ exec() และ shell_exec() ฟังก์ชัน exec() จะส่งคืนบรรทัดสุดท้ายของผลลัพธ์คำสั่ง ในขณะที่ shell_exec() จะส่งคืนผลลัพธ์ทั้งหมดของคำสั่งในรูปแบบสตริง
เพื่อเป็นการสาธิต สมมติว่าผู้โจมตีสามารถอัปโหลดไฟล์ต่อไปนี้ไปยังเว็บเซิร์ฟเวอร์ได้
<?php $cmd = isset($_GET['cmd']) ? $_GET['cmd'] : 'ls -l'; echo "executing shell command:-> $cmd</br>"; $output = shell_exec($cmd); echo "<pre>$output</pre>"; ?>
ที่นี่
สคริปต์ด้านบนรับคำสั่งจากตัวแปร GET ชื่อ cmd คำสั่งนั้นจะถูกเรียกใช้โดยใช้ shell_exec() และผลลัพธ์จะถูกส่งกลับไปยังเบราว์เซอร์
โค้ดข้างต้นสามารถถูกโจมตีได้โดยใช้วิธีการดังต่อไปนี้ URL
http://localhost/cp/konsole.php?cmd=ls%20-l
ที่นี่
- “…konsole.php?cmd=ls%20-l” กำหนดค่า ls –l ให้กับตัวแปร cmd
คำสั่งบน Ubuntu ดังนั้นเซิร์ฟเวอร์จึงถูกเรียกใช้งานดังนี้
shell_exec('ls -l') ;
เมื่อรันโค้ดข้างต้นบนเว็บเซิร์ฟเวอร์ จะได้ผลลัพธ์ที่คล้ายกับต่อไปนี้
ผลลัพธ์จะแสดงไฟล์ในไดเร็กทอรีปัจจุบันและสิทธิ์การเข้าถึงของไฟล์เหล่านั้น
ทีนี้ลองสมมติว่าผู้โจมตีส่งคำสั่งต่อไปนี้แทน
rm -rf /
ที่นี่
- คำสั่ง “rm” ใช้สำหรับลบไฟล์
- คำสั่ง “rf” จะเรียกใช้คำสั่ง rm ในโหมดเรียกซ้ำ ซึ่งจะลบโฟลเดอร์และไฟล์ทั้งหมด
- เครื่องหมาย “/” สั่งให้เริ่มลบจากไดเร็กทอรีราก
การโจมตี URL จะมีลักษณะประมาณนี้
http://localhost/cp/konsole.php?cmd=rm%20-rf%20/
พารามิเตอร์ที่ไม่ได้รับการตรวจสอบเพียงตัวเดียวก็เพียงพอที่จะทำให้ผู้โจมตีได้รับสิทธิ์ทุกอย่างที่บัญชีเว็บเซิร์ฟเวอร์มีอยู่ ส่วนสองส่วนถัดไปมีไว้เพื่อป้องกันไม่ให้เกิดเหตุการณ์ดังกล่าว และเพื่อตรวจจับเมื่อการป้องกันล้มเหลว
วิธีป้องกันการแฮ็ก Linux
การแฮ็ก Linux อาศัยช่องโหว่ในระบบปฏิบัติการและซอฟต์แวร์ที่ทำงานอยู่บนนั้น องค์กรสามารถใช้มาตรการควบคุมต่อไปนี้ร่วมกัน เพื่อปิดช่องโหว่ส่วนใหญ่ที่กล่าวมาข้างต้นได้
- การจัดการแพทช์ — แพทช์จะแก้ไขข้อบกพร่องที่ผู้โจมตีใช้ประโยชน์ในการเจาะระบบ นโยบายที่กำหนดไว้จะช่วยให้มั่นใจได้ว่าการอัปเดตที่เกี่ยวข้องจะถูกนำไปใช้ทันที แทนที่จะรอจนกว่าใครจะนึกขึ้นได้
- การกำหนดค่าระบบปฏิบัติการที่เหมาะสม — ปิดใช้งานบัญชีผู้ใช้ที่ไม่ได้ใช้งานและโปรแกรมพื้นหลังที่ไม่จำเป็น เปลี่ยนการตั้งค่าเริ่มต้น รวมถึงชื่อผู้ใช้เริ่มต้น รหัสผ่านแอปพลิเคชันที่ใช้ร่วมกัน และหมายเลขพอร์ตเริ่มต้น
- การเสริมความปลอดภัย SSH — ปิดใช้งานการเข้าสู่ระบบด้วยชื่อผู้ใช้ root และการตรวจสอบรหัสผ่าน อนุญาตเฉพาะผู้ใช้หรือกลุ่มที่ระบุชื่อไว้เท่านั้น และจำกัดจำนวนครั้งในการลองเข้าสู่ระบบซ้ำ วิธีนี้จะปิดช่องโหว่ที่ถูกโจมตีมากที่สุดใน Linux
- สิทธิพิเศษน้อยที่สุด — ให้สิทธิ์เฉพาะที่จำเป็นแก่บัญชีและบริการต่างๆ และจำกัดการใช้ sudo เฉพาะคำสั่งที่กำหนด แทนที่จะให้สิทธิ์การเข้าถึงระดับผู้ดูแลระบบแบบครอบคลุม
- การควบคุมการเข้าถึงภาคบังคับ — เลือกใช้ SELinux (ตระกูล Red Hat) หรือ AppArmor (Debian และ Ubuntu) ในโหมดบังคับใช้ เพื่อป้องกันไม่ให้บริการที่ถูกบุกรุกเข้าถึงส่วนอื่นๆ ของระบบได้
- การตรวจสอบข้อมูลอินพุต — ตัวอย่างข้างต้นใช้งานได้ก็ต่อเมื่อข้อมูลคำขอไปถึงฟังก์ชันเชลล์เท่านั้น ห้ามส่งข้อมูลที่ผู้ใช้ป้อนเข้าไปในฟังก์ชัน exec() หรือ shell_exec() เด็ดขาด
- ไฟร์วอลล์และการแบ่งส่วน — เปิดเผยเฉพาะพอร์ตที่บริการนั้นต้องการจริงๆ โดยใช้ ไฟร์วอลล์ และการแบ่งส่วนเครือข่ายเพื่อจำกัดสิ่งที่โฮสต์ที่ถูกโจมตีสามารถเข้าถึงได้
- ระบบตรวจจับการบุกรุก — เครื่องมือเหล่านี้สามารถใช้ตรวจจับการเข้าถึงระบบโดยไม่ได้รับอนุญาต และบางเครื่องมือยังสามารถบล็อกความพยายามดังกล่าวได้อีกด้วย
- ทดสอบการสำรองข้อมูลแล้ว — การสำรองข้อมูลแบบออฟไลน์ที่สามารถกู้คืนได้ จะเปลี่ยนคำสั่งทำลายล้างเช่นที่กล่าวมาข้างต้น ให้กลายเป็นการหยุดชะงักชั่วคราวแทนที่จะเป็นการสูญเสียถาวร
วิธีตรวจจับระบบ Linux ที่ถูกบุกรุก
การป้องกันย่อมล้มเหลวในที่สุด ดังนั้นคำถามที่สองคือ คุณจะสังเกตเห็นได้เร็วแค่ไหน การตรวจจับบน Linux ขึ้นอยู่กับการรวบรวมหลักฐานที่ถูกต้องก่อนเกิดเหตุการณ์ ไม่ใช่หลังจากเกิดเหตุการณ์แล้ว
- การบันทึกการตรวจสอบ — เฟรมเวิร์กการตรวจสอบเคอร์เนล auditd จะบันทึกการใช้สิทธิ์ การเข้าถึงไฟล์ และการเรียกใช้ระบบในรูปแบบที่กระบวนการที่ถูกบุกรุกไม่สามารถเขียนทับได้อย่างเงียบๆ ส่งต่อบันทึกเหล่านั้นออกจากโฮสต์ไปยังตัวรวบรวมส่วนกลาง
- บันทึกการตรวจสอบสิทธิ์ — การค้นพบความล้มเหลวหลายครั้งติดต่อกัน ตามด้วยการค้นพบความสำเร็จเพียงครั้งเดียวในไฟล์ /var/log/auth.log หรือ /var/log/secure ถือเป็นรูปแบบการโจมตีแบบ Brute-force แบบคลาสสิก
- กระบวนการและการเชื่อมต่อที่ไม่คาดคิด — บริการดักฟังหรือการเชื่อมต่อขาออกที่ไม่มีใครสามารถชี้แจงได้ สมควรได้รับการตรวจสอบโดยทันที
- การตรวจสอบความสมบูรณ์ของไฟล์ — เครื่องมือที่ใช้สร้างแฮชให้กับไฟล์ไบนารีของระบบและไฟล์การกำหนดค่า เพื่อระบุการเปลี่ยนแปลงในไฟล์ที่ไม่ควรเปลี่ยนแปลง
- งานที่กำหนดเวลาไว้และรายการเริ่มต้น — โดยปกติแล้ว การตั้งค่าแบบถาวรมักจะถูกจัดการโดย cron job, systemd units หรือ shell profile scripts
- บัญชีใหม่หรือบัญชีที่แก้ไขแล้ว — ตรวจสอบหาผู้ใช้ที่ไม่คุ้นเคย บัญชีผู้ใช้ที่สองที่มี UID 0 และคีย์ SSH ที่ไม่มีใครเพิ่มเข้ามา
- ไดเร็กทอรีของเว็บเซิร์ฟเวอร์ — เนื่องจากเว็บเชลล์เป็นไฟล์ที่เป็นอันตรายที่พบได้บ่อยที่สุดในเซิร์ฟเวอร์ลินุกซ์ ไฟล์สคริปต์ที่ไม่คาดคิดที่อยู่ในไดเร็กทอรีเว็บจึงสมควรได้รับการตรวจสอบอย่างใกล้ชิด
- การตรวจสอบตามกำหนดเวลา — เรียกใช้เครื่องมือตรวจสอบระบบโฮสต์ เช่น Lynis ตามกำหนดเวลา และถือว่ารายงานแต่ละฉบับเป็นรายการงานที่ต้องทำ แทนที่จะเป็นเพียงงานครั้งเดียว
หากคุณพบหลักฐานการถูกบุกรุก ให้แยกโฮสต์นั้นออก เก็บรักษาบันทึกและอิมเมจดิสก์ก่อนที่จะเปลี่ยนแปลงใดๆ และสร้างระบบใหม่จากสื่อที่ใช้งานได้ดีแทนที่จะพยายามทำความสะอาดระบบที่กำลังทำงานอยู่ ส่วนการจัดการหลักฐานนั้นได้กล่าวถึงไว้ในหัวข้อถัดไปแล้ว นิติดิจิตอล.
ขอบเขตทางกฎหมายและจริยธรรมของการแฮ็ก Linux
เทคนิคทุกอย่างในหน้านี้ถูกต้องตามกฎหมายสำหรับการใช้งานบนระบบที่คุณเป็นเจ้าของหรือได้รับอนุญาตเป็นลายลักษณ์อักษรให้ทดสอบ และผิดกฎหมายในเกือบทุกที่อื่น การทดลองข้างต้นจงใจดำเนินการกับระบบที่ติดตั้งในเครื่องของคุณเองด้วยเหตุผลดังกล่าว
- หนังสืออนุญาต — ขอบเขตงานที่ลงนามแล้ว ช่วงเวลาทดสอบที่ตกลงกันไว้ และผู้ติดต่อที่ระบุชื่อ คือสิ่งที่ทำให้การทดสอบเจาะระบบแตกต่างจากการโจมตี การอนุมัติด้วยวาจาเพียงอย่างเดียวไม่เพียงพอ
- อยู่ภายในขอบเขตที่กำหนด — โฮสต์ ช่วงที่อยู่ และเทคนิคที่ไม่ได้ระบุไว้จะไม่ได้รับอนุญาต แม้ว่าจะสามารถเข้าถึงได้ก็ตาม
- จัดการข้อมูลอย่างระมัดระวัง — หลักฐานที่รวบรวมได้ระหว่างการทดสอบยังคงมีข้อมูลส่วนบุคคลจริงอยู่ และจะต้องจัดเก็บอย่างปลอดภัยและทำลายทิ้งหลังจากนั้น
- รายงานอย่างมีความรับผิดชอบ — เปิดเผยผลการตรวจสอบให้เจ้าของทราบและให้เวลาในการแก้ไขก่อนที่จะเผยแพร่สิ่งใดๆ
ความเสี่ยงทางกฎหมายนั้นมีอยู่จริง: การเข้าถึงระบบคอมพิวเตอร์โดยไม่ได้รับอนุญาตถือเป็นความผิดทางอาญาภายใต้กฎหมายต่างๆ เช่น กฎหมายว่าด้วยการฉ้อโกงและการใช้คอมพิวเตอร์ในทางที่ผิดของสหรัฐอเมริกา และกฎหมายว่าด้วยการใช้คอมพิวเตอร์ในทางที่ผิดของสหราชอาณาจักร หากคุณต้องการสร้างอาชีพจากทักษะเหล่านี้ ควรเลือกเส้นทางที่เป็นที่ยอมรับ — ใบรับรองความปลอดภัย และคุณยังมีห้องปฏิบัติการที่เป็นของคุณเอง ไม่ใช่เซิร์ฟเวอร์ของคนอื่น

