กลับไปหน้าบทความ

วิธีปลดล็อครหัสผ่านไฟล์ ZIP และเอกสาร Office ที่ถูกลืม: คู่มือเชิงลึกด้าน Digital Forensics

13 January 2026 04:51 น. Digital Forensics
วิธีปลดล็อครหัสผ่านไฟล์ ZIP และเอกสาร Office ที่ถูกลืม: คู่มือเชิงลึกด้าน Digital Forensics

บทนำ


ในยุคดิจิทัลที่ข้อมูลเป็นหัวใจสำคัญ หลายครั้งที่เราต้องเผชิญกับสถานการณ์ที่น่าหงุดหงิดใจ นั่นคือการลืมรหัสผ่านสำหรับไฟล์ ZIP ที่เราบีบอัดไว้เพื่อความปลอดภัย หรือเอกสาร Office ที่สำคัญอย่าง Word, Excel, หรือ PowerPoint ซึ่งถูกป้องกันด้วยรหัสผ่าน สถานการณ์เช่นนี้อาจทำให้ไม่สามารถเข้าถึงข้อมูลที่จำเป็นได้ ก่อให้เกิดความล่าช้าหรือความเสียหายทางธุรกิจ บทความนี้มีวัตถุประสงค์เพื่อนำเสนอแนวทางเชิงเทคนิคที่ใช้ในสาขา Digital Forensics และการทดสอบเจาะระบบ เพื่อช่วยในการกู้คืนการเข้าถึงไฟล์เหล่านี้ โดยจะเน้นการใช้งานเครื่องมือและเทคนิคที่ถูกต้องตามหลักการทางจริยธรรม สำหรับผู้ดูแลระบบ, นักนิติวิทยาศาสตร์ดิจิทัล, หรือแม้แต่ผู้ใช้งานทั่วไปที่ต้องการเข้าถึงไฟล์ของตนเองที่ถูกล็อก บทความนี้จะให้ข้อมูลเชิงลึกเกี่ยวกับวิธีการปลดล็อครหัสผ่าน พร้อมคำแนะนำในการป้องกันและแนวทางปฏิบัติที่ดีที่สุดเพื่อหลีกเลี่ยงปัญหาดังกล่าวในอนาคต

เนื้อหาหลัก: วิธีปลดล็อค ZIP และไฟล์ Office ที่ลืมรหัสผ่าน


การปลดล็อครหัสผ่านสำหรับไฟล์ ZIP และเอกสาร Office ที่ถูกลืมนั้น ส่วนใหญ่เกี่ยวข้องกับการใช้เทคนิคการโจมตีแบบ Brute-Force หรือ Dictionary Attack เพื่อเดารหัสผ่านที่เป็นไปได้ โดยอาศัยการประมวลผลทางคอมพิวเตอร์ที่รวดเร็ว เพื่อทดสอบรหัสผ่านจำนวนมากจนกว่าจะพบรหัสผ่านที่ถูกต้อง ก่อนที่เราจะเริ่ม เราต้องทำความเข้าใจว่าไฟล์เหล่านี้มีการป้องกันรหัสผ่านอย่างไร และเครื่องมือที่เราจะใช้มีหลักการทำงานพื้นฐานอย่างไร

การโจมตีไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่าน


ไฟล์ ZIP สามารถถูกเข้ารหัสได้หลายวิธี แต่ที่พบบ่อยที่สุดคือการเข้ารหัสแบบ ZipCrypto และ AES-256 (WinZip Advanced Encryption). การเข้ารหัสแบบ ZipCrypto นั้นค่อนข้างอ่อนแอและสามารถถูกโจมตีได้ง่ายกว่า ในขณะที่ AES-256 มีความแข็งแกร่งมากกว่า

เครื่องมือที่ใช้:
  • fcrackzip: เป็นเครื่องมือโอเพนซอร์สที่ได้รับความนิยมสำหรับการโจมตีไฟล์ ZIP โดยเฉพาะ สามารถรองรับการโจมตีแบบ Brute-Force และ Dictionary Attack ได้

  • zip2john และ John the Ripper (JtR): zip2john เป็นสคริปต์ที่ใช้สำหรับแปลงไฟล์ ZIP ที่ป้องกันด้วยรหัสผ่านให้อยู่ในรูปแบบแฮชที่ John the Ripper สามารถนำไปประมวลผลเพื่อถอดรหัสได้ เทคนิคนี้มีประสิทธิภาพสูงกว่า fcrackzip ในบางสถานการณ์ และสามารถใช้ประโยชน์จากความสามารถของ JtR ในการถอดรหัสแฮชที่หลากหลาย


  • ขั้นตอนการทำงานด้วย fcrackzip:

    1. ติดตั้ง fcrackzip: หากยังไม่ได้ติดตั้ง สามารถติดตั้งได้ในระบบปฏิบัติการ Linux ที่ใช้ Debian/Ubuntu ดังนี้:

    h
    sudo apt-get update
    sudo apt-get install fcrackzip

    2. การโจมตีแบบ Dictionary Attack: เป็นวิธีที่เร็วที่สุดหากรหัสผ่านอยู่ใน Wordlist ที่เตรียมไว้

    h
    fcrackzip -D -p /path/to/wordlist.txt file.zip

    - -D: ระบุว่าเป็นการโจมตีแบบ Dictionary Attack
    - -p /path/to/wordlist.txt: ระบุเส้นทางไปยังไฟล์ Wordlist (เช่น rockyou.txt)
    - file.zip: ชื่อไฟล์ ZIP ที่ต้องการปลดล็อค
    3. การโจมตีแบบ Brute-Force Attack: หากรหัสผ่านไม่ได้อยู่ใน Wordlist จำเป็นต้องใช้ Brute-Force ซึ่งจะทดลองทุกความเป็นไปได้

    h
    fcrackzip -b -c "a1!" -l 1-8 file.zip

    - -b: ระบุว่าเป็นการโจมตีแบบ Brute-Force Attack
    - -c "a1!": ระบุชุดอักขระที่จะใช้ในการเดา (เช่น "a" สำหรับตัวอักษรพิมพ์เล็ก, "A" สำหรับตัวอักษรพิมพ์ใหญ่, "1" สำหรับตัวเลข, "!" สำหรับสัญลักษณ์)
    - -l 1-8: ระบุความยาวของรหัสผ่านที่ต้องการเดา (ความยาวต่ำสุด-สูงสุด) การเพิ่มความยาวหรือความซับซ้อนของชุดอักขระจะทำให้ใช้เวลานานขึ้นอย่างมาก

    ขั้นตอนการทำงานด้วย zip2john และ John the Ripper (JtR):

    1. ติดตั้ง John the Ripper:

    h
    sudo apt-get update
    sudo apt-get install john

    2. แปลงไฟล์ ZIP เป็นแฮช: ใช้ zip2john.py (มักจะอยู่ในไดเรกทอรี run ของ John the Ripper หรือสามารถค้นหาได้) เพื่อดึงแฮชจากไฟล์ ZIP

    h
    /path/to/john/run/zip2john.py file.zip > zip_hash.txt

    - คำสั่งนี้จะสร้างไฟล์ zip_hash.txt ซึ่งมีแฮชที่ดึงมาจาก file.zip
    3. ถอดรหัสแฮชด้วย John the Ripper:

    h
    john --wordlist=/path/to/wordlist.txt zip_hash.txt

    - --wordlist: ระบุไฟล์ Wordlist
    - zip_hash.txt: ไฟล์ที่มีแฮชที่ดึงออกมา
    หาก John the Ripper ถอดรหัสสำเร็จ จะแสดงรหัสผ่านที่ถูกต้องออกมา

    h
    john --show zip_hash.txt

    - คำสั่งนี้จะแสดงรหัสผ่านที่ถอดรหัสสำเร็จแล้ว

    การโจมตีเอกสาร Office ที่ป้องกันด้วยรหัสผ่าน


    เอกสาร Office (Word, Excel, PowerPoint) สามารถถูกป้องกันด้วยรหัสผ่านได้หลายระดับ และมีรูปแบบการเข้ารหัสที่แตกต่างกันไปขึ้นอยู่กับเวอร์ชันของ Office (.doc, .xls, .ppt สำหรับเวอร์ชันเก่า และ .docx, .xlsx, .pptx สำหรับเวอร์ชันใหม่) โดยทั่วไปแล้ว เอกสาร Office เวอร์ชันใหม่ (ตั้งแต่ Office 2007 ขึ้นไป) ซึ่งใช้รูปแบบไฟล์ XML (Open XML) จะมีโครงสร้างที่ช่วยให้สามารถดึงแฮชออกมาเพื่อโจมตีได้ง่ายกว่าเวอร์ชันเก่า

    เครื่องมือที่ใช้:
  • office2john.py และ John the Ripper (JtR): คล้ายกับ zip2john แต่ office2john.py ถูกออกแบบมาเพื่อดึงแฮชจากเอกสาร Office โดยเฉพาะ

  • Hashcat: เป็นเครื่องมือถอดรหัสแฮชที่ใช้ GPU ในการประมวลผล ซึ่งเร็วกว่า John the Ripper ในบางกรณี โดยเฉพาะอย่างยิ่งเมื่อมีการโจมตีแบบ Brute-Force ที่ใช้ทรัพยากรมาก


  • ขั้นตอนการทำงานด้วย office2john.py และ John the Ripper:

    1. ติดตั้ง John the Ripper: ตรวจสอบให้แน่ใจว่าติดตั้ง John the Ripper แล้ว
    2. แปลงเอกสาร Office เป็นแฮช: ใช้ office2john.py เพื่อดึงแฮชจากเอกสาร Office

    h
    /path/to/john/run/office2john.py document.docx > office_hash.txt

    - แทนที่ document.docx ด้วยชื่อไฟล์เอกสาร Office ที่ต้องการปลดล็อค (รองรับ .docx, .xlsx, .pptx)
    - คำสั่งนี้จะสร้างไฟล์ office_hash.txt ซึ่งมีแฮชที่ดึงมาจากเอกสาร
    3. ถอดรหัสแฮชด้วย John the Ripper:

    h
    john --wordlist=/path/to/wordlist.txt office_hash.txt

    หากสำเร็จ รหัสผ่านจะแสดงขึ้นมา

    h
    john --show office_hash.txt


    ขั้นตอนการทำงานด้วย office2john.py และ Hashcat (กรณีที่ต้องการความเร็วสูง):

    1. ติดตั้ง Hashcat: ติดตั้งตามคำแนะนำของระบบปฏิบัติการ (โดยทั่วไปต้องมีไดรเวอร์ GPU ที่เหมาะสม)
    2. แปลงเอกสาร Office เป็นแฮช: ใช้ office2john.py เพื่อดึงแฮชจากเอกสาร Office (เหมือนขั้นตอนข้างต้น)

    h
    /path/to/john/run/office2john.py document.xlsx > office_hash.txt

    3. ระบุรูปแบบแฮชสำหรับ Hashcat: แฮชที่ได้จาก office2john.py จะมีรูปแบบเฉพาะ ซึ่ง Hashcat สามารถระบุได้อัตโนมัติหรือต้องระบุ hash-mode ด้วยตนเอง (เช่น 9400 สำหรับ MS Office 2007, 9500 สำหรับ MS Office 2010, 9600 สำหรับ MS Office 2013, 9700 สำหรับ MS Office 2016/2019/365)
    4. ถอดรหัสแฮชด้วย Hashcat:
    - Dictionary Attack:

    h
    hashcat -m 9700 -a 0 office_hash.txt /path/to/wordlist.txt

    - -m 9700: ระบุ Hash-Mode สำหรับ MS Office 2016/2019/365 (ปรับตามเวอร์ชัน)
    - -a 0: ระบุ Attack-Mode เป็น Dictionary Attack
    - Brute-Force Attack (Mask Attack):

    h
    hashcat -m 9700 -a 3 office_hash.txt ?l?l?l?l?l?l?l?l

    - -a 3: ระบุ Attack-Mode เป็น Mask Attack
    - ?l: แทนตัวอักษรพิมพ์เล็ก
    - ?u: แทนตัวอักษรพิมพ์ใหญ่
    - ?d: แทนตัวเลข
    - ?s: แทนสัญลักษณ์
    - ตัวอย่าง ?l?l?l?l?l?l?l?l คือการเดาอักขระพิมพ์เล็ก 8 ตัว
    เมื่อ Hashcat ทำงานเสร็จสิ้น สามารถดูรหัสผ่านที่ถูกถอดรหัสได้จากไฟล์ hashcat.potfile หรือโดยการใช้ --show

    h
    hashcat -m 9700 --show office_hash.txt


    เครื่องมือและเทคนิคที่ใช้


    ในการปฏิบัติการด้าน Digital Forensics หรือการกู้คืนรหัสผ่าน เรามักจะใช้เครื่องมือและเทคนิคหลักๆ ดังต่อไปนี้:

  • John the Ripper (JtR): เป็นโปรแกรมถอดรหัสรหัสผ่านที่ทรงพลังและยืดหยุ่นสูง สามารถใช้ถอดรหัสแฮชจากระบบปฏิบัติการ, เว็บแอปพลิเคชัน, และไฟล์ประเภทต่างๆ รวมถึง ZIP และ Office JtR มีโหมดการทำงานหลายแบบ ได้แก่:

  • - Single Crack Mode: พยายามถอดรหัสโดยใช้ข้อมูลส่วนบุคคลของผู้ใช้ เช่น ชื่อผู้ใช้ ชื่อจริง
    - Wordlist Mode: พยายามถอดรหัสโดยใช้รายการคำศัพท์ที่เตรียมไว้ (Wordlist) ซึ่งเป็นวิธีที่ได้รับความนิยมมากที่สุด
    - Incremental Mode (Brute-Force): พยายามสร้างรหัสผ่านที่เป็นไปได้ทั้งหมดตามชุดอักขระและความยาวที่กำหนด เหมาะสำหรับรหัสผ่านสั้นๆ หรือรหัสผ่านที่มีชุดอักขระจำกัด
  • Wordlists: คือไฟล์ข้อความที่บรรจุรายชื่อรหัสผ่านที่พบบ่อย คำศัพท์ในพจนานุกรม หรือรหัสผ่านที่เคยรั่วไหลออกมา การใช้ Wordlist ที่มีคุณภาพ เช่น rockyou.txt ซึ่งเป็น Wordlist ขนาดใหญ่ที่รวบรวมรหัสผ่านที่รั่วไหลจำนวนมาก สามารถเพิ่มโอกาสในการถอดรหัสแบบ Dictionary Attack ได้อย่างมีนัยสำคัญ

  • Hashcat: เป็นเครื่องมือถอดรหัสรหัสผ่านอีกตัวที่มีประสิทธิภาพสูง โดยเฉพาะอย่างยิ่งเมื่อใช้ประโยชน์จากหน่วยประมวลผลกราฟิก (GPU) ซึ่งสามารถประมวลผลการคำนวณแฮชได้เร็วกว่า CPU หลายเท่า ทำให้การโจมตีแบบ Brute-Force หรือ Mask Attack รวดเร็วขึ้นมาก Hashcat รองรับแฮชประเภทต่างๆ มากกว่า 300 ประเภท

  • Python Scripts (เช่น zip2john.py, office2john.py): สคริปต์เหล่านี้ทำหน้าที่เป็น "Pre-processor" โดยการอ่านไฟล์ที่ป้องกันด้วยรหัสผ่าน ดึงข้อมูลแฮชที่เข้ารหัสออกมา และจัดรูปแบบแฮชให้เข้ากันได้กับเครื่องมือถอดรหัสแฮช เช่น John the Ripper หรือ Hashcat

  • Salt และ Iterations: ในการเข้ารหัสไฟล์ที่ทันสมัย (เช่น Office 2010+ และ ZIP ที่ใช้ AES) มักจะมีการใช้ "salt" (ค่าสุ่มที่เพิ่มเข้าไปในรหัสผ่านก่อนการแฮช) และ "iterations" (จำนวนรอบของการแฮชซ้ำๆ) เพื่อทำให้การโจมตีแบบ Brute-Force หรือการใช้ Rainbow Table ทำได้ยากขึ้น zip2john และ office2john จะดึงข้อมูลเหล่านี้ออกมาพร้อมกับแฮช เพื่อให้เครื่องมือถอดรหัสสามารถจำลองกระบวนการแฮชที่ถูกต้องได้


  • ความท้าทายและข้อจำกัด


    การปลดล็อครหัสผ่านไม่ได้ง่ายเสมอไป มีหลายปัจจัยที่ส่งผลต่อความสำเร็จและความรวดเร็ว:

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

  • ความแรงของอัลกอริทึมการเข้ารหัส: การเข้ารหัสแบบ AES-256 ที่ใช้ใน Office เวอร์ชันใหม่และ ZIP ที่ใช้ WinZip AES มีความแข็งแกร่งกว่า ZipCrypto มาก ทำให้การโจมตีใช้เวลานานขึ้นและต้องใช้ทรัพยากรการประมวลผลที่สูงกว่า

  • ทรัพยากรการประมวลผล (Computational Power): การโจมตีรหัสผ่าน โดยเฉพาะอย่างยิ่ง Brute-Force Attack ต้องใช้ CPU หรือ GPU ที่มีประสิทธิภาพสูงเป็นอย่างมาก คอมพิวเตอร์ส่วนบุคคลทั่วไปอาจไม่สามารถถอดรหัสรหัสผ่านที่ซับซ้อนได้ภายในเวลาอันสั้น

  • คุณภาพของ Wordlist: ในการโจมตีแบบ Dictionary Attack ความสำเร็จขึ้นอยู่กับคุณภาพและความครอบคลุมของ Wordlist ที่ใช้ หากรหัสผ่านไม่ได้อยู่ใน Wordlist โอกาสที่จะถอดรหัสได้ด้วยวิธีนี้ก็น้อยลง

  • เวลา: การโจมตีรหัสผ่านอาจใช้เวลานานหลายชั่วโมง หลายวัน หรือแม้กระทั่งหลายปี ขึ้นอยู่กับปัจจัยข้างต้น


  • Security Best Practices


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

  • ใช้รหัสผ่านที่แข็งแกร่งและไม่ซ้ำกัน: รหัสผ่านควรมีความยาวอย่างน้อย 12-16 ตัวอักษร และผสมผสานระหว่างตัวอักษรพิมพ์เล็ก พิมพ์ใหญ่ ตัวเลข และสัญลักษณ์ หลีกเลี่ยงการใช้ข้อมูลส่วนตัวที่คาดเดาได้ง่าย

  • ใช้โปรแกรมจัดการรหัสผ่าน (Password Manager): เครื่องมือเหล่านี้ช่วยสร้าง จัดเก็บ และจัดการรหัสผ่านที่ซับซ้อนจำนวนมากได้อย่างปลอดภัยและง่ายดาย ลดโอกาสการลืมรหัสผ่าน

  • สำรองข้อมูลอย่างสม่ำเสมอ: ควรสำรองข้อมูลสำคัญ รวมถึงรหัสผ่านหรือข้อมูลการเข้ารหัสที่จำเป็น ในสถานที่ที่ปลอดภัยและเข้าถึงได้ง่ายในกรณีฉุกเฉิน

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

  • ระมัดระวังในการแชร์ไฟล์ที่เข้ารหัส: หากจำเป็นต้องแชร์ไฟล์ที่เข้ารหัส ควรส่งรหัสผ่านผ่านช่องทางที่ปลอดภัยและแยกต่างหากจากการส่งไฟล์

  • การฝึกอบรมด้านความตระหนักรู้ด้านความปลอดภัย: ผู้ใช้งานทุกคนในองค์กรควรได้รับการฝึกอบรมเกี่ยวกับความสำคัญของการใช้รหัสผ่านที่แข็งแกร่ง การระบุฟิชชิ่ง และแนวทางปฏิบัติที่ดีที่สุดในการจัดการข้อมูล

  • การลบไฟล์อย่างปลอดภัย (Secure Deletion): หากไฟล์ที่มีข้อมูลอ่อนไหวไม่จำเป็นต้องใช้งานอีกต่อไป ควรลบไฟล์นั้นด้วยวิธีการที่ปลอดภัย เพื่อป้องกันการกู้คืนข้อมูลโดยไม่ได้รับอนุญาต


บทสรุป


การลืมรหัสผ่านสำหรับไฟล์ ZIP และเอกสาร Office อาจเป็นปัญหาที่สำคัญ แต่ด้วยเครื่องมือและเทคนิคที่เหมาะสม เช่น fcrackzip, zip2john, office2john, John the Ripper และ Hashcat เราสามารถเพิ่มโอกาสในการกู้คืนการเข้าถึงข้อมูลที่สำคัญได้ อย่างไรก็ตาม การใช้เทคนิคเหล่านี้จำเป็นต้องอาศัยความรู้ทางเทคนิคและต้องคำนึงถึงหลักจริยธรรมอย่างเคร่งครัด โดยต้องกระทำกับไฟล์ที่เรามีสิทธิ์ตามกฎหมายเท่านั้น หัวใจสำคัญที่สุดคือการป้องกันที่ดีที่สุดคือการมีแนวทางปฏิบัติด้านความปลอดภัยที่แข็งแกร่งตั้งแต่แรกเริ่ม การใช้รหัสผ่านที่ซับซ้อน การจัดการรหัสผ่านที่ดี และการสำรองข้อมูลอย่างสม่ำเสมอ จะช่วยลดความจำเป็นในการต้องใช้เทคนิคการกู้คืนรหัสผ่านเหล่านี้ และเสริมสร้างความปลอดภัยของข้อมูลในโลกดิจิทัลของเราได้อย่างยั่งยืน

พร้อมที่จะเรียนรู้แล้วหรือยัง?

สมัครเรียนคอร์สกับเราวันนี้ เพื่อยกระดับทักษะด้าน Cyber Security ของคุณ

สมัครเรียนเลย