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

Password Cracking: การวิเคราะห์และปลดล็อกเอกสาร Office อย่างมืออาชีพ

27 March 2026 01:01 น. Digital Forensics
Password Cracking: การวิเคราะห์และปลดล็อกเอกสาร Office อย่างมืออาชีพ

บทนำ


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

เนื้อหาหลัก: Password Cracking: วิธีปลดล็อก Office Document


การปลดล็อกเอกสาร Office ที่มีการป้องกันด้วยรหัสผ่าน ไม่ใช่เพียงแค่การคาดเดารหัสผ่านเท่านั้น แต่เป็นกระบวนการทางเทคนิคที่ซับซ้อน ซึ่งเกี่ยวข้องกับการทำความเข้าใจวิธีการเข้ารหัสของเอกสาร การแยกแฮชของรหัสผ่าน และการใช้เครื่องมือเฉพาะทางในการพยายามถอดรหัส แฮชคือค่าที่ได้จากการแปลงข้อมูล (ในกรณีนี้คือรหัสผ่าน) ด้วยฟังก์ชันทางคณิตศาสตร์แบบทางเดียว (one-way function) ซึ่งหมายความว่าจากแฮช ไม่สามารถย้อนกลับไปหารหัสผ่านต้นฉบับได้โดยตรง แต่เราสามารถสร้างแฮชจากคำที่เป็นไปได้แล้วนำมาเปรียบเทียบกับแฮชที่ถูกดึงออกมาได้

หลักการทำงานของการเข้ารหัสเอกสาร Office


Microsoft Office ใช้ระบบการเข้ารหัสที่แตกต่างกันไปตามเวอร์ชันของซอฟต์แวร์:
  • Office 97-2003 (.doc, .xls, .ppt): เวอร์ชันเหล่านี้มักใช้การเข้ารหัสแบบ RC4 ซึ่งเป็น Stream Cipher ที่ค่อนข้างอ่อนแอและมีช่องโหว่หลายประการ การถอดรหัสผ่านของไฟล์เหล่านี้มักจะทำได้ง่ายกว่าและใช้เวลาน้อยกว่าเมื่อเทียบกับเวอร์ชันใหม่กว่า

  • Office 2007-2010 (.docx, .xlsx, .pptx): เวอร์ชันเหล่านี้เริ่มใช้มาตรฐานการเข้ารหัสขั้นสูง (Advanced Encryption Standard - AES) ร่วมกับ SHA-1 หรือ SHA-2 เพื่อแฮชรหัสผ่าน ซึ่งเป็นการปรับปรุงความปลอดภัยอย่างมีนัยสำคัญ ทำให้การถอดรหัสผ่านยากขึ้นมาก

  • Office 2013-ปัจจุบัน (.docx, .xlsx, .pptx): มีการใช้ AES-256 เป็นมาตรฐาน และมีการปรับปรุงกระบวนการสร้าง Key Derivation Function (KDF) เช่น PBKDF2 (Password-Based Key Derivation Function 2) ที่ใช้จำนวนรอบการคำนวณที่มากขึ้น ทำให้การโจมตีแบบ Brute-Force และ Dictionary Attack ต้องใช้ทรัพยากรและเวลาที่มากขึ้นอย่างเห็นได้ชัด


  • ประเภทของการโจมตี Password Cracking


    การโจมตีเพื่อถอดรหัสผ่านหลักๆ มีอยู่หลายวิธี ซึ่งแต่ละวิธีมีประสิทธิภาพและความเหมาะสมกับสถานการณ์ที่แตกต่างกัน:

  • Dictionary Attack (การโจมตีด้วยพจนานุกรม):

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

  • Brute-Force Attack (การโจมตีแบบเดาสุ่มทั้งหมด):

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

  • Hybrid Attack (การโจมตีแบบผสม):

  • เป็นการรวมกันระหว่าง Dictionary Attack และ Brute-Force Attack โดยเริ่มจากการใช้ Wordlist ก่อน จากนั้นจึงเพิ่มตัวอักษร ตัวเลข หรือสัญลักษณ์พิเศษเข้าไปที่จุดเริ่มต้นหรือจุดสิ้นสุดของคำใน Wordlist หรือทำการเปลี่ยนแปลงเล็กน้อย (เช่น เปลี่ยน 'a' เป็น '@', 's' เป็น '$') วิธีนี้ช่วยเพิ่มโอกาสในการค้นหารหัสผ่านที่ซับซ้อนขึ้นเล็กน้อย เช่น "Password123" หรือ "MySecurePa$$word" โดยไม่ต้องใช้ทรัพยากรมากเท่า Brute-Force เต็มรูปแบบ

  • Mask Attack (การโจมตีด้วยรูปแบบ):

  • วิธีนี้ใช้เมื่อผู้โจมตีมีข้อมูลบางอย่างเกี่ยวกับโครงสร้างของรหัสผ่าน เช่น ทราบว่ารหัสผ่านขึ้นต้นด้วยตัวอักษรใหญ่ และตามด้วยตัวเลขสี่หลัก ตัวอย่างเช่น ถ้าทราบว่ารหัสผ่านเป็นรูปแบบ "ชื่อเมืองตามด้วยปีเกิด" สามารถสร้าง Mask ที่จำกัดการค้นหาให้แคบลงได้ Mask จะระบุประเภทของอักขระสำหรับแต่ละตำแหน่งของรหัสผ่าน เช่น ?l สำหรับตัวอักษรเล็ก, ?u สำหรับตัวอักษรใหญ่, ?d สำหรับตัวเลข, ?s สำหรับสัญลักษณ์พิเศษ การใช้ Mask ช่วยลดพื้นที่การค้นหาลงอย่างมากเมื่อเทียบกับ Brute-Force เต็มรูปแบบ

    เครื่องมือที่ใช้ในการ Password Cracking เอกสาร Office


    มีเครื่องมือหลายชนิดที่สามารถใช้ในการ Password Cracking เอกสาร Office ได้ ทั้งแบบ Open-Source และ Commercial โดยเราจะเน้นที่เครื่องมือ Open-Source ที่นิยมใช้ในหมู่นักวิเคราะห์และผู้เชี่ยวชาญด้านความปลอดภัย:

  • John the Ripper (JtR):

  • เป็นเครื่องมือถอดรหัสผ่านที่ได้รับความนิยมอย่างกว้างขวาง มันสามารถตรวจจับประเภทของแฮชได้หลากหลายและรองรับการโจมตีทั้งแบบ Dictionary และ Brute-Force ข้อดีของ John the Ripper คือความยืดหยุ่นและการรองรับแพลตฟอร์มที่หลากหลาย

  • Hashcat:

  • ถือเป็นหนึ่งในเครื่องมือถอดรหัสผ่านที่เร็วที่สุดในโลก โดยใช้พลังการประมวลผลของ GPU (Graphics Processing Unit) ทำให้สามารถทดสอบรหัสผ่านได้จำนวนมหาศาลต่อวินาที Hashcat รองรับการโจมตีหลายรูปแบบ เช่น Dictionary, Brute-Force, Hybrid, Mask และมีโหมดเฉพาะสำหรับแฮชของเอกสาร Office

  • office2john.py (ส่วนหนึ่งของ John the Ripper):

  • เป็นสคริปต์ Python ที่ใช้สำหรับแยกแฮชของรหัสผ่านจากไฟล์ Microsoft Office (รวมถึงไฟล์ OpenDocument) สคริปต์นี้จะอ่านไฟล์ Office ที่ป้องกันด้วยรหัสผ่าน และส่งออกแฮชในรูปแบบที่ John the Ripper หรือ Hashcat สามารถนำไปใช้ในการถอดรหัสต่อได้

    ขั้นตอนการทำงาน: การปลดล็อกเอกสาร Office ด้วย John the Ripper และ Hashcat



    ในตัวอย่างนี้ เราจะสาธิตวิธีการใช้ office2john.py เพื่อแยกแฮชและใช้ John the Ripper หรือ Hashcat ในการถอดรหัสผ่าน โดยสมมติว่าเรามีไฟล์ Office ที่ต้องการปลดล็อก (เช่น secret_document.docx) และมี Wordlist (rockyou.txt)

    #### ขั้นตอนที่ 1: การเตรียมเครื่องมือ
    ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Python, John the Ripper และ Hashcat บนระบบของคุณแล้ว คุณสามารถดาวน์โหลด John the Ripper ได้จากเว็บไซต์ Openwall และ Hashcat จากเว็บไซต์ของ Hashcat สำหรับ office2john.py มักจะมาพร้อมกับ John the Ripper ในโฟลเดอร์ run หรือ scripts

    #### ขั้นตอนที่ 2: การแยกแฮชจากเอกสาร Office
    เราจะใช้สคริปต์ office2john.py เพื่อดึงแฮชของรหัสผ่านจากไฟล์ Office ที่ถูกเข้ารหัส

  • ตัวอย่างไฟล์ Office ที่เข้ารหัส: secret_document.docx (รหัสผ่านคือ "mysecretpassword123")

  • คำสั่งเพื่อแยกแฮช:



  • h
    python office2john.py secret_document.docx > office_hash.txt

    คำสั่งนี้จะอ่านไฟล์ secret_document.docx และส่งออกแฮชที่แยกได้ไปยังไฟล์ชื่อ office_hash.txt

  • ผลลัพธ์ใน office_hash.txt (ตัวอย่าง):

  • ไฟล์ office_hash.txt จะมีลักษณะคล้ายกับ:

        secret_document.docx:$office$*2013*100000*24*16*00000000000000000000000000000000*bb0702f232b6e1b7b7a6b2a0c2e3f2g4*a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7

    (หมายเหตุ: แฮชจริงจะยาวและซับซ้อนกว่านี้ ขึ้นอยู่กับเวอร์ชัน Office และรหัสผ่าน)

    #### ขั้นตอนที่ 3: การถอดรหัสผ่านด้วย John the Ripper

    เมื่อเราได้แฮชแล้ว เราสามารถใช้ John the Ripper ในการถอดรหัสได้

  • Dictionary Attack (การโจมตีด้วยพจนานุกรม):

  • เราจะใช้ Wordlist ที่นิยม เช่น rockyou.txt (ซึ่งสามารถหาได้จากการดาวน์โหลดหรือใน Kali Linux)


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

    คำอธิบาย:
    - john: เรียกใช้โปรแกรม John the Ripper
    - --wordlist=/path/to/rockyou.txt: ระบุเส้นทางไปยังไฟล์ Wordlist ที่จะใช้ในการโจมตี
    - office_hash.txt: ระบุไฟล์ที่มีแฮชของรหัสผ่านที่ต้องการถอดรหัส

    หากรหัสผ่านอยู่ใน Wordlist, John the Ripper จะแสดงรหัสผ่านที่พบขึ้นมา

  • Brute-Force Attack (การโจมตีแบบเดาสุ่ม):

  • หาก Dictionary Attack ไม่สำเร็จ คุณอาจต้องพิจารณา Brute-Force Attack ซึ่งใช้เวลานานมาก


    h
    john --format=office --incremental office_hash.txt

    คำอธิบาย:
    - --format=office: ระบุว่าเรากำลังถอดรหัสแฮชประเภท Office (John the Ripper จะพยายามตรวจจับโดยอัตโนมัติ แต่การระบุจะช่วยให้แม่นยำขึ้น)
    - --incremental: สั่งให้ John the Ripper ทำการโจมตีแบบ Brute-Force โดยจะลองสร้างรหัสผ่านทุกชุดที่เป็นไปได้

    คำสั่งนี้อาจใช้เวลานานมากและควรใช้เฉพาะเมื่อมีความจำเป็นจริงๆ และมีทรัพยากรคอมพิวเตอร์ที่พร้อม

    #### ขั้นตอนที่ 4: การถอดรหัสผ่านด้วย Hashcat

    Hashcat เป็นทางเลือกที่รวดเร็วกว่า โดยเฉพาะอย่างยิ่งหากคุณมี GPU ที่มีประสิทธิภาพ

  • Dictionary Attack (การโจมตีด้วยพจนานุกรม):

  • ก่อนอื่น เราต้องทราบ Hash Mode สำหรับ Office hashes
    - Office 2007: Hash Mode 9400
    - Office 2010: Hash Mode 9500
    - Office 2013: Hash Mode 9600
    - Office 2016/2019: Hash Mode 9700

    สมมติว่าไฟล์ของเราเป็น Office 2013 (ซึ่ง office2john.py จะระบุในแฮช) ดังนั้น Hash Mode คือ 9600


    h
    hashcat -m 9600 -a 0 office_hash.txt /path/to/rockyou.txt

    คำอธิบาย:
    - hashcat: เรียกใช้โปรแกรม Hashcat
    - -m 9600: ระบุ Hash Mode (ในที่นี้คือ Office 2013)
    - -a 0: ระบุ Attack Mode 0 ซึ่งคือ Dictionary Attack
    - office_hash.txt: ไฟล์ที่มีแฮชของรหัสผ่าน
    - /path/to/rockyou.txt: ระบุเส้นทางไปยังไฟล์ Wordlist

  • Brute-Force Attack (การโจมตีแบบเดาสุ่ม):

  • สำหรับการโจมตีแบบ Brute-Force ด้วย Hashcat คุณจะต้องกำหนด Mask หรือ Charset ที่ชัดเจน


    h
    hashcat -m 9600 -a 3 office_hash.txt ?a?a?a?a?a?a?a?a

    คำอธิบาย:
    - -a 3: ระบุ Attack Mode 3 ซึ่งคือ Brute-Force (Mask Attack)
    - ?a: เป็น Mask ที่หมายถึง "ทุกตัวอักษร, ตัวเลข, และสัญลักษณ์" (all characters) ในที่นี้คือลองรหัสผ่านยาว 8 ตัวอักษร
    - ?l: ตัวอักษรพิมพ์เล็ก (lowercase)
    - ?u: ตัวอักษรพิมพ์ใหญ่ (uppercase)
    - ?d: ตัวเลข (digits)
    - ?s: สัญลักษณ์พิเศษ (special characters)
    - ?a: รวมทั้งหมดข้างต้น

    การโจมตีแบบ Brute-Force ด้วย Hashcat จะแสดงผลลัพธ์คล้ายกันกับ John the Ripper เมื่อพบรหัสผ่าน โดย Hashcat จะทำงานได้เร็วกว่ามากหากมี GPU ที่รองรับ

    หลังจากพบรหัสผ่านแล้ว Hashcat จะเก็บรหัสผ่านที่ถอดรหัสได้ในไฟล์ .potfile (หรือแสดงบนหน้าจอ) ซึ่งคุณสามารถตรวจสอบได้โดยใช้คำสั่ง:

    h
    hashcat -m 9600 office_hash.txt --show


    Security Best Practices



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

  • ใช้รหัสผ่านที่แข็งแกร่งและไม่ซ้ำกัน:

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

  • ใช้เครื่องมือจัดการรหัสผ่าน (Password Manager):

  • - ช่วยในการสร้าง จัดเก็บ และจัดการรหัสผ่านที่ซับซ้อนจำนวนมากได้อย่างปลอดภัยและมีประสิทธิภาพ

  • เปิดใช้งานการยืนยันตัวตนแบบหลายปัจจัย (Multi-Factor Authentication - MFA/2FA):

  • - แม้ว่าเอกสาร Office จะไม่รองรับ MFA โดยตรงในตัวไฟล์ แต่ถ้าเอกสารเหล่านั้นถูกจัดเก็บในระบบคลาวด์ เช่น OneDrive, SharePoint หรือระบบจัดการเอกสาร ควรเปิดใช้งาน MFA สำหรับการเข้าถึงบัญชีเหล่านั้น เพื่อเพิ่มชั้นความปลอดภัยอีกชั้น

  • อัปเดตซอฟต์แวร์อยู่เสมอ:

  • - ตรวจสอบให้แน่ใจว่าระบบปฏิบัติการและซอฟต์แวร์ Microsoft Office ของคุณเป็นเวอร์ชันล่าสุดเสมอ การอัปเดตมักจะรวมถึงการแก้ไขช่องโหว่และปรับปรุงอัลกอริทึมการเข้ารหัสให้แข็งแกร่งขึ้น

  • การสำรองข้อมูลอย่างสม่ำเสมอ:

  • - เพื่อให้แน่ใจว่าข้อมูลสำคัญจะไม่สูญหาย หากเอกสารไม่สามารถเข้าถึงได้จริง ๆ แม้จะพยายามกู้คืนรหัสผ่านแล้วก็ตาม

  • ระมัดระวังในการแบ่งปันไฟล์:

  • - พิจารณาอย่างรอบคอบก่อนที่จะแบ่งปันเอกสารที่ละเอียดอ่อน แม้ว่าจะมีการป้องกันด้วยรหัสผ่านก็ตาม
    - ใช้ช่องทางการส่งผ่านข้อมูลที่เข้ารหัสและปลอดภัย (เช่น SFTP, HTTPS)

  • การฝึกอบรมและสร้างความตระหนักรู้ด้านความปลอดภัย:

  • - ให้ความรู้แก่ผู้ใช้งานเกี่ยวกับการสร้างรหัสผ่านที่แข็งแกร่ง ความเสี่ยงของการ Password Cracking และแนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

  • ตรวจสอบการเข้าถึงไฟล์และระบบ:

- สำหรับองค์กร ควรมีการตรวจสอบบันทึกการเข้าถึง (Access Logs) ของไฟล์และระบบจัดเก็บข้อมูล เพื่อตรวจจับกิจกรรมที่ผิดปกติหรือพยายามเข้าถึงไฟล์ที่ป้องกันด้วยรหัสผ่านโดยไม่ได้รับอนุญาต

บทสรุป


Password Cracking ของเอกสาร Office เป็นทักษะทางเทคนิคที่มีประโยชน์ในบริบทที่ถูกต้องตามกฎหมาย เช่น การกู้คืนข้อมูลที่สำคัญทางธุรกิจ การสืบสวนทางนิติวิทยาศาสตร์ดิจิทัล หรือการประเมินความแข็งแกร่งของนโยบายรหัสผ่านขององค์กร อย่างไรก็ตาม พลังของเทคนิคเหล่านี้ยังสามารถถูกนำไปใช้ในทางที่ผิดได้ หากตกอยู่ในมือของผู้ไม่หวังดี การทำความเข้าใจเกี่ยวกับกระบวนการทำงาน ประเภทของการโจมตี และเครื่องมือที่ใช้ จึงเป็นสิ่งสำคัญสำหรับทั้งผู้ปฏิบัติงานด้านความปลอดภัยและผู้ใช้งานทั่วไป เพื่อให้สามารถป้องกันข้อมูลของตนเองได้อย่างมีประสิทธิภาพที่สุด การใช้รหัสผ่านที่แข็งแกร่ง การอัปเดตซอฟต์แวร์ และการฝึกอบรมด้านความตระหนักรู้เป็นหัวใจสำคัญในการสร้างเกราะป้องกันที่แข็งแกร่งต่อการโจมตี Password Cracking ที่อาจเกิดขึ้นได้ในอนาคต

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

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

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