Sitemap

Brute Forcing คืออะไร? รู้จักเทคนิคโจมตีรหัสผ่านที่ใครๆ ก็ต้องระวัง

3 min readJun 11, 2025

Brute Forcing คืออะไร? รู้จักเทคนิคโจมตีรหัสผ่านที่ใครๆ ก็ต้องระวัง

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

________________________________________

Brute Forcing คืออะไร?

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

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

________________________________________

ปัจจัยที่มีผลต่อความสำเร็จของ Brute Force

1.ความซับซ้อนของรหัสผ่าน

รหัสผ่านที่ยาวและประกอบด้วยตัวอักษรใหญ่ ตัวอักษรเล็ก ตัวเลข และสัญลักษณ์ จะทำให้จำนวนชุดรหัสผ่านที่ต้องลองมีมากขึ้นเป็นทวีคูณ ทำให้การเดารหัสผ่านยากและใช้เวลานานขึ้น

2.พลังประมวลผลของเครื่องมือโจมตี

คอมพิวเตอร์สมัยใหม่หรือฮาร์ดแวร์เฉพาะทางที่มีความเร็วสูง สามารถลองชุดรหัสผ่านได้เป็นพันล้านชุดต่อวินาที ยิ่งมีพลังสูง ก็ยิ่งลดเวลาที่ต้องใช้ลง

3.มาตรการป้องกัน

ระบบที่มีการล็อกบัญชีหลังจากพยายามล็อกอินผิดหลายครั้ง หรือมี CAPTCHA ช่วยป้องกัน และ Delay การโจมตีแบบ Brute Force ได้

________________________________________

วิธีการทำงานของ Brute Force

ภาพรวมของขั้นตอนการโจมตีแบบ Brute Force มีดังนี้:

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

________________________________________

ประเภทของ Brute Force ที่ต้องรู้

Brute Forcing ไม่ได้มีแค่แบบเดียว ยังมีวิธีหลากหลายที่แฮกเกอร์เลือกใช้ตามสถานการณ์ เช่น

________________________________________

Brute Force กับการทดสอบเจาะระบบ (Penetration Testing)

สำหรับผู้เชี่ยวชาญด้านความปลอดภัย หรือที่เรียกกันว่า “Pentester” การใช้ Brute Force เป็นเครื่องมือหนึ่งที่ควรนำมาใช้ในการทดสอบความแข็งแกร่งของระบบรหัสผ่าน ไม่ว่าจะมีวิธีอื่นๆ ที่ใช้ได้หรือไม่ก็ตาม เพราะเป็นเทคนิคพื้นฐานที่สามารถเปิดเผยช่องโหว่ด้านการตั้งรหัสผ่านที่มักถูกมองข้ามได้

การใช้ Brute Force ในการทดสอบจะเหมาะกับสถานการณ์ เช่น

  • ระบบมีนโยบายรหัสผ่านอ่อนแอ
  • ต้องการทดสอบบัญชีผู้ใช้บางรายที่สำคัญ
  • ต้องการประเมินความทนทานของระบบล็อกอิน

________________________________________

รหัสผ่านที่แข็งแรงเป็นเกราะป้องกันที่ดีที่สุด

สิ่งสำคัญที่ทำให้ Brute Force ไม่สำเร็จคือ ความแข็งแรงของรหัสผ่าน หลักการสร้างรหัสผ่านที่ดีตามมาตรฐาน NIST มีดังนี้

  • ความยาว อย่างน้อย 12 ตัวอักษร (ยิ่งยาวยิ่งดี)
  • ความซับซ้อน ใช้ตัวพิมพ์ใหญ่ เล็ก ตัวเลข และสัญลักษณ์
  • ไม่ซ้ำซ้อน ใช้รหัสผ่านไม่ซ้ำกันในแต่ละบัญชี
  • ความสุ่ม ไม่ใช้คำในพจนานุกรม ชื่อ หรือข้อมูลส่วนตัว

รหัสผ่านที่ดีเหมือนล็อกที่แข็งแรง ยากต่อการถูกทำลายด้วย Brute Force

________________________________________

ข้อผิดพลาดที่พบบ่อยเกี่ยวกับรหัสผ่าน

หลายคนยังใช้รหัสผ่านที่ง่ายเกินไป เช่น

  • รหัสสั้นเกินไป เช่น น้อยกว่า 8 ตัว
  • ใช้คำจากพจนานุกรม หรือชื่อที่เดาง่าย
  • ใช้ข้อมูลส่วนตัว เช่น วันเกิด ชื่อสัตว์เลี้ยง
  • ใช้รหัสผ่านซ้ำในหลายบัญชี
  • ใช้รูปแบบง่าย เช่น “123456”, “qwerty”, หรือเปลี่ยนแค่เล็กน้อย เช่น “p@ssw0rd”

________________________________________

ความเสี่ยงจากรหัสผ่านและชื่อผู้ใช้เริ่มต้น (Default Credentials)

อุปกรณ์และซอฟต์แวร์หลายตัวมาพร้อมกับชื่อผู้ใช้และรหัสผ่านเริ่มต้นที่ง่ายและเป็นที่รู้จักกันอย่างกว้างขวาง เช่น

ถ้าเจ้าของอุปกรณ์ไม่เปลี่ยนรหัสผ่านเริ่มต้นเหล่านี้ ก็เสมือนเปิดประตูให้แฮกเกอร์เข้ามาได้ง่ายๆ ด้วย Brute Force หรือแค่ลองรหัสผ่านเริ่มต้นยอดนิยมก็พอ

________________________________________

คณิตศาสตร์เบื้องหลัง Brute Force

จำนวนชุดรหัสผ่านที่ต้องลองคำนวณตามสูตร

จำนวนชุดรหัสผ่านที่เป็นไปได้ = (ขนาดชุดตัวอักษร) ^ (ความยาวรหัสผ่าน)

เช่น รหัสผ่าน 6 ตัวที่ใช้แค่ตัวอักษรพิมพ์เล็ก (26 ตัว) จะมีชุดทั้งหมดประมาณ 300 ล้านชุด แต่ถ้าเพิ่มความยาวเป็น 8 ตัว จะเพิ่มเป็น 200 พันล้านชุด! และถ้าเพิ่มตัวพิมพ์ใหญ่ ตัวเลข และสัญลักษณ์เข้าไป จะเพิ่มขึ้นเป็นระดับพันล้านล้านชุดเลยทีเดียว

________________________________________

ตัวอย่างการโจมตี Brute Force PIN

เพื่อให้สามารถทดลองตามได้ ให้เริ่มระบบเป้าหมายจากส่วนคำถามที่ด้านล่างของหน้า

แอปพลิเคชันที่ทำงานอยู่ในระบบตัวอย่างนี้จะสร้าง PIN แบบสุ่มจำนวน 4 หลัก และเปิดเผย endpoint ที่ชื่อว่า /pin ซึ่งสามารถรับค่า PIN ผ่านพารามิเตอร์ query ได้ หาก PIN ที่ส่งเข้าไปตรงกับค่าที่ระบบสุ่มไว้ แอปพลิเคชันจะตอบกลับด้วยข้อความแสดงความสำเร็จพร้อมกับ flag แต่หากไม่ตรงกัน ระบบจะส่งข้อความแจ้งข้อผิดพลาดกลับมา

เราจะใช้สคริปต์ Python อย่างง่ายด้านล่างนี้เพื่อทำการ brute-force ไปยัง endpoint /pin ของ API โดยให้คุณคัดลอกและวางโค้ดนี้เป็นไฟล์ชื่อ BruteForce.py ลงในเครื่องของคุณ และทำการแก้ไขเพียงค่าตัวแปร IP และ port ให้ตรงกับข้อมูลของระบบเป้าหมายที่คุณกำลังทดสอบ

สคริปต์ Python นี้จะทำการวนลูปเพื่อทดสอบ PIN จำนวน 4 หลักทั้งหมดที่เป็นไปได้ (ตั้งแต่ 0000 ถึง 9999) โดยจะส่งคำขอแบบ GET ไปยัง endpoint ของ Flask พร้อมกับแต่ละ PIN ที่ทดสอบ จากนั้นจะตรวจสอบรหัสสถานะ (status code) และเนื้อหาของการตอบกลับ (response content) เพื่อระบุว่า PIN ใดถูกต้องและดึง flag ที่เกี่ยวข้องออกมา

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

________________________________________

สรุป

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

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

สำหรับผู้ดูแลระบบและนักทดสอบเจาะระบบ การเข้าใจ Brute Force อย่างลึกซึ้งช่วยให้ประเมินความเสี่ยงและเสริมความปลอดภัยของระบบได้ดียิ่งขึ้น

อย่าลืมว่าการตั้งรหัสผ่านที่ดีคือการลงทุนเพื่อความปลอดภัยในโลกออนไลน์ของคุณเองครับ!

--

--

No responses yet