โปรแกรมถอดรหัสรหัสผ่าน: จะถอดรหัส (แฮ็ก) รหัสผ่านได้อย่างไร
การถอดรหัสรหัสผ่านคืออะไร?
การถอดรหัสผ่านคือกระบวนการในการพยายามเข้าถึงระบบที่ถูกจำกัดโดยไม่ได้รับอนุญาตโดยใช้รหัสผ่านทั่วไปหรืออัลกอริทึมที่ใช้ในการเดารหัสผ่าน กล่าวอีกนัยหนึ่ง มันคือศิลปะในการรับรหัสผ่านที่ถูกต้องซึ่งให้การเข้าถึงระบบที่ได้รับการปกป้องโดยวิธีการตรวจสอบสิทธิ์
การแฮ็กรหัสผ่านใช้เทคนิคหลายอย่างเพื่อบรรลุเป้าหมาย กระบวนการแฮ็กอาจเกี่ยวข้องกับการเปรียบเทียบรหัสผ่านที่เก็บไว้กับรายการคำหรือใช้อัลกอริทึมเพื่อสร้างรหัสผ่านที่ตรงกัน
ในบทช่วยสอนนี้ เราจะแนะนำให้คุณรู้จักกับเทคนิคการถอดรหัสรหัสผ่านทั่วไปและมาตรการตอบโต้ที่คุณสามารถใช้เพื่อปกป้องระบบจากการโจมตีดังกล่าว
ความแข็งแกร่งของรหัสผ่านคืออะไร?
ความแรงของรหัสผ่านคือการวัดประสิทธิภาพของรหัสผ่านในการต้านทานการโจมตีด้วยการถอดรหัสรหัสผ่าน- ความเข้มแข็งของรหัสผ่านจะถูกกำหนดโดย;
- ความยาว: จำนวนอักขระที่รหัสผ่านมี
- ความซับซ้อน:ใช้การผสมผสานระหว่างตัวอักษร ตัวเลข และสัญลักษณ์ใช่ไหม?
- ความไม่แน่นอน: เป็นสิ่งที่ผู้โจมตีสามารถเดาได้ง่ายหรือเปล่า?
ตอนนี้เรามาดูตัวอย่างในทางปฏิบัติกัน เราจะใช้รหัสผ่านสามรหัสคือ
1. รหัสผ่าน
2. รหัสผ่าน1
3. #รหัสผ่าน1$
สำหรับตัวอย่างนี้ เราจะใช้ตัวบ่งชี้ความแข็งแกร่งของรหัสผ่านของ Cpanel เมื่อสร้างรหัสผ่าน รูปภาพด้านล่างแสดงความแข็งแกร่งของรหัสผ่านของรหัสผ่านแต่ละรายการข้างต้น
หมายเหตุ: รหัสผ่านที่ใช้คือรหัสผ่านความแรงคือ 1 และมันอ่อนแอมาก
หมายเหตุ: รหัสผ่านที่ใช้คือรหัสผ่าน 1 ความแรงคือ 28 และยังอ่อนแออยู่
หมายเหตุ:รหัสผ่านที่ใช้คือ #password1$ มีความแข็งแกร่งอยู่ที่ 60 และมีความแข็งแกร่งมาก
ยิ่งตัวเลขความแรงสูงเท่าไร รหัสผ่านก็จะยิ่งดีขึ้นเท่านั้น
สมมติว่าเราต้องจัดเก็บรหัสผ่านข้างต้นโดยใช้การเข้ารหัส md5 เราจะใช้ระบบออนไลน์ เครื่องกำเนิดแฮช md5 เพื่อแปลงรหัสผ่านของเราเป็นแฮช md5
ตารางด้านล่างแสดงแฮชของรหัสผ่าน
รหัสผ่าน | MD5 แฮช | ตัวบ่งชี้ความแรงของแผงควบคุม |
---|---|---|
รหัสผ่าน |
5f4dcc3b5aa765d61d8327deb882cf99 |
1 |
password1 |
7c6a180b36896a0a8c02787eeafb0e4c |
28 |
#รหัสผ่าน1$ |
29e08fb7103c327d68327f23d8d9256c |
60 |
ตอนนี้เราจะใช้ http://www.md5this.com/
เพื่อถอดรหัสแฮชข้างต้น รูปภาพด้านล่างแสดงผลการถอดรหัสรหัสผ่านสำหรับรหัสผ่านข้างต้น
จากผลลัพธ์ข้างต้น คุณจะเห็นได้ว่าเราสามารถแคร็กรหัสผ่านตัวแรกและตัวที่สองที่มีระดับความปลอดภัยต่ำกว่าได้สำเร็จ ส่วนรหัสผ่านตัวที่สามซึ่งยาวกว่า ซับซ้อน และคาดเดาไม่ได้นั้นไม่สามารถแคร็กได้ เนื่องจากมีระดับความปลอดภัยสูงกว่า
เทคนิคการถอดรหัสรหัสผ่าน
มีจำนวนเป็น เทคนิคที่สามารถใช้เพื่อถอดรหัสรหัสผ่าน- เราจะอธิบายสิ่งที่ใช้บ่อยที่สุดด้านล่างนี้
- การโจมตีพจนานุกรม– วิธีการนี้เกี่ยวข้องกับการใช้รายการคำศัพท์เพื่อเปรียบเทียบกับรหัสผ่านของผู้ใช้
- การโจมตีด้วยกำลังดุร้าย– วิธีการนี้คล้ายคลึงกับการโจมตีด้วยพจนานุกรม การโจมตีแบบบรูทฟอร์ซใช้อัลกอริทึมที่รวมอักขระและตัวเลขและสัญลักษณ์เข้าด้วยกันเพื่อสร้างรหัสผ่านสำหรับการโจมตี ตัวอย่างเช่น รหัสผ่านที่มีค่า "password" ยังสามารถลองใช้เป็น p@$$word ได้โดยใช้การโจมตีแบบบรูทฟอร์ซ
- การโจมตีโต๊ะสายรุ้ง– วิธีนี้ใช้แฮชที่คำนวณไว้ล่วงหน้า สมมติว่าเรามีฐานข้อมูลที่เก็บรหัสผ่านเป็นแฮช md5 เราสามารถสร้างฐานข้อมูลอื่นที่มีแฮช md5 ของรหัสผ่านที่ใช้กันทั่วไปได้ จากนั้นเราสามารถเปรียบเทียบแฮชรหัสผ่านที่เรามีกับแฮชที่จัดเก็บไว้ในฐานข้อมูลได้ หากพบว่าตรงกันแสดงว่าเรามีรหัสผ่าน
- เดา– ตามชื่อ วิธีนี้เกี่ยวข้องกับการคาดเดา รหัสผ่าน เช่น qwerty รหัสผ่าน ผู้ดูแลระบบ ฯลฯ มักใช้หรือตั้งเป็นรหัสผ่านเริ่มต้น หากไม่ได้มีการเปลี่ยนแปลงหรือหากผู้ใช้ไม่ระมัดระวังในการเลือกรหัสผ่าน ก็อาจถูกโจมตีได้ง่าย
- แมงมุม– องค์กรส่วนใหญ่ใช้รหัสผ่านที่มีข้อมูลบริษัท ข้อมูลนี้สามารถพบได้บนเว็บไซต์ของบริษัท โซเชียลมีเดีย เช่น Facebook, Twitter เป็นต้น Spidering รวบรวมข้อมูลจากแหล่งข้อมูลเหล่านี้เพื่อสร้างรายการคำศัพท์ จากนั้นรายการคำจะถูกนำมาใช้ในการโจมตีด้วยพจนานุกรมและการโจมตีแบบกำลังเดรัจฉาน
รายการคำศัพท์โจมตีพจนานุกรมตัวอย่าง Spidering
1976 <founder birth year> smith jones <founder name> acme <company name/initials> built|to|last <words in company vision/mission> golfing|chess|soccer <founders hobbies
เครื่องมือถอดรหัสรหัสผ่าน
เหล่านี้เป็นโปรแกรมซอฟต์แวร์ที่ใช้ในการถอดรหัสรหัสผ่านผู้ใช้- เราได้ดูเครื่องมือที่คล้ายกันในตัวอย่างข้างต้นเกี่ยวกับความแข็งแกร่งของรหัสผ่านแล้ว เว็บไซต์ http://www.md5this.com/
ใช้ตารางสีรุ้งเพื่อถอดรหัสรหัสผ่าน ตอนนี้เราจะมาดูเครื่องมือบางอย่างที่ใช้กันทั่วไป
1) John the Ripper
John the Ripper ใช้พรอมต์คำสั่งเพื่อถอดรหัสรหัสผ่าน ทำให้เหมาะสำหรับผู้ใช้ขั้นสูงที่คุ้นเคยกับคำสั่งต่างๆ ใช้ในการถอดรหัสรหัสผ่าน โปรแกรมนี้ฟรี แต่ต้องซื้อรายการคำศัพท์ มีรายการคำศัพท์ทางเลือกฟรีที่คุณสามารถใช้ได้ เยี่ยมชมเว็บไซต์ผลิตภัณฑ์ https://www.openwall.com/john/ สำหรับข้อมูลเพิ่มเติมและวิธีการใช้งาน
2) Cain & Abel
Cain & Abel ทำงานบนระบบปฏิบัติการ Windows ใช้เพื่อกู้คืนรหัสผ่านสำหรับบัญชีผู้ใช้ กู้คืน Microsoft รหัสผ่านการเข้าถึง; การดมกลิ่นเครือข่าย ฯลฯ ไม่เหมือน John the Ripper, Cain & Abel ใช้ส่วนต่อประสานผู้ใช้แบบกราฟิก เป็นเรื่องปกติมากในหมู่มือใหม่และเด็กเขียนสคริปต์เนื่องจากความเรียบง่ายในการใช้งาน เยี่ยมชมเว็บไซต์ผลิตภัณฑ์ https://sectools.org/tool/cain/ สำหรับข้อมูลเพิ่มเติมและวิธีการใช้งาน
3) โอฟแคร็ก
Ophcrack เป็นแพลตฟอร์มข้ามแพลตฟอร์ม Windows แคร็กเกอร์รหัสผ่านที่ใช้ตารางสายรุ้งเพื่อถอดรหัสรหัสผ่าน มันวิ่งต่อไป Windows, ลินุกซ์ และแมคโอเอส นอกจากนี้ยังมีโมดูลสำหรับการโจมตีแบบ bruteforce ท่ามกลางฟีเจอร์อื่น ๆ เยี่ยมชมเว็บไซต์ผลิตภัณฑ์ https://ophcrack.sourceforge.io/ สำหรับข้อมูลเพิ่มเติมและวิธีการใช้งาน
mSpy
ด้วยระบบเส้นทาง MsPyarซึ่งเป็นแอปพลิเคชันคีย์ล็อกเกอร์ คุณสามารถสังเกตคำทั้งหมดที่ใครบางคนพิมพ์ได้อย่างสุขุมรอบคอบโดยไม่จำเป็นต้องปรากฏอยู่จริง เครื่องมือนี้ช่วยให้คุณติดตามทุกการกดแป้นพิมพ์และแตะบนอุปกรณ์รวมถึงจอภาพ แอพแชทยอดนิยม เช่น WhatsApp, Instagram, Tinder, Snapchat และ Viber ดูข้อความและข้อความโต้ตอบแบบทันทีทั้งหมดได้อย่างง่ายดาย และใช้ฟังก์ชันในตัว ติดตาม GPS เพื่อค้นหาตำแหน่งของอุปกรณ์
จะป้องกันการโจมตีด้วยการถอดรหัสรหัสผ่านได้อย่างไร?
- องค์กรสามารถใช้แนวทางต่อไปนี้เพื่อลดโอกาสที่รหัสผ่านจะถูกถอดรหัสได้
- หลีกเลี่ยงรหัสผ่านที่สั้นและคาดเดาได้ง่าย
- หลีกเลี่ยงการใช้รหัสผ่านที่มีรูปแบบที่คาดเดาได้ เช่น 11552266
- รหัสผ่านที่เก็บไว้ในฐานข้อมูลจะต้องได้รับการเข้ารหัสเสมอ สำหรับการเข้ารหัส md5 จะเป็นการดีกว่าถ้าใส่แฮชรหัสผ่านก่อนจัดเก็บ การเติมเกลือเกี่ยวข้องกับการเพิ่มคำลงในรหัสผ่านที่ให้มาก่อนที่จะสร้างแฮช
- ระบบการลงทะเบียนส่วนใหญ่มีตัวบ่งชี้ความแข็งแกร่งของรหัสผ่าน องค์กรต่างๆ ต้องใช้นโยบายที่ให้ความสำคัญกับจำนวนรหัสผ่านที่แข็งแกร่งในระดับสูง
กิจกรรมการแฮ็ก: แฮ็กทันที!
ในสถานการณ์จริงนี้ เราจะไป ร้าว Windows บัญชีด้วยรหัสผ่านง่ายๆ. Windows ใช้แฮช NTLM เพื่อเข้ารหัสรหัสผ่าน- เราจะใช้เครื่องมือแครกเกอร์ NTLM ใน Cain และ Abel เพื่อทำเช่นนั้น
แครกเกอร์ Cain และ Abel สามารถใช้เพื่อถอดรหัสรหัสผ่านโดยใช้
- การโจมตีพจนานุกรม
- กำลังดุร้าย
- การเข้ารหัส
เราจะใช้การโจมตีพจนานุกรมในตัวอย่างนี้ คุณจะต้องดาวน์โหลดรายการคำโจมตีพจนานุกรมที่นี่ 10k-Most-Common.zip
สำหรับการสาธิตนี้ เราได้สร้างบัญชีชื่อบัญชีพร้อมรหัสผ่าน qwerty Windows 7.
วิธีการถอดรหัสรหัสผ่าน
ขั้นตอน 1) เปิดคาอินและอาเบล
คุณจะได้รับหน้าจอหลักดังต่อไปนี้
ขั้นตอน 2) ค้นหาปุ่มเพิ่ม
ตรวจสอบให้แน่ใจว่าได้เลือกแท็บแครกเกอร์ตามที่แสดงด้านบน และคลิกที่ปุ่มเพิ่มบนแถบเครื่องมือ
ขั้นตอน 3) กล่องโต้ตอบกาเครื่องหมาย
หน้าต่างโต้ตอบต่อไปนี้จะปรากฏขึ้น นำเข้าผู้ใช้ในพื้นที่และคลิกปุ่มถัดไป
ขั้นตอน 4) บัญชีผู้ใช้ภายในจะแสดงดังต่อไปนี้
โปรดทราบว่าผลลัพธ์ที่แสดงจะเป็นของบัญชีผู้ใช้ในเครื่องท้องถิ่นของคุณ
ขั้นตอน 5) คลิกขวาที่บัญชีที่คุณต้องการถอดรหัส
สำหรับบทช่วยสอนนี้ เราจะใช้บัญชีเป็นบัญชีผู้ใช้
ขั้นตอน 6) ตรวจสอบหน้าจอด้านล่าง
คลิกขวาที่ส่วนพจนานุกรมและเลือกเมนูเพิ่มในรายการดังที่แสดงด้านบน
ขั้นตอน 7) เรียกดูไฟล์.
เรียกดูไฟล์ 10k common.txt ที่คุณเพิ่งดาวน์โหลด
ขั้นตอน 8) ตรวจสอบผลลัพธ์
หากผู้ใช้ใช้รหัสผ่านง่าย ๆ เช่น qwerty คุณควรจะได้รับผลลัพธ์ต่อไปนี้
- หมายเหตุ:เวลาที่ใช้ในการแคร็กพาสเวิร์ดขึ้นอยู่กับความแข็งแกร่ง ความซับซ้อน และพลังการประมวลผลของเครื่องของคุณ
- หากรหัสผ่านไม่ถูกถอดรหัสโดยใช้การโจมตีด้วยพจนานุกรม คุณสามารถลองใช้การโจมตีแบบใช้กำลังดุร้ายหรือการเข้ารหัสลับได้
สรุป
- การถอดรหัสรหัสผ่านเป็นศิลปะในการกู้คืนรหัสผ่านที่จัดเก็บหรือส่งผ่าน
- ความแข็งแกร่งของรหัสผ่านจะถูกกำหนดโดยความยาว ความซับซ้อน และความไม่แน่นอนของค่ารหัสผ่าน
- เทคนิครหัสผ่านทั่วไป ได้แก่ การโจมตีด้วยพจนานุกรม การใช้กำลังดุร้าย โต๊ะสายรุ้ง การสไปเดอร์และการแคร็ก
- เครื่องมือถอดรหัสรหัสผ่าน ลดความซับซ้อนของกระบวนการถอดรหัสรหัสผ่าน