การถอดรหัส HTTPS (Man-in-the-Middle Attack, MitM)

Chute สามารถถอดรหัสทราฟฟิก HTTPS โดย MitM โปรดดูบทความ Wikipedia สำหรับข้อมูลเพิ่มเติม

ตัวสร้างใบรับรองสามารถช่วยคุณสร้างใบรับรอง CA ใหม่สำหรับการดีบักและทำให้ใบรับรองเชื่อถือโดยระบบ มันมีให้ใน Chute Mac และ Chute iOS Chute Editor ใบรับรองนี้ถูกสร้างขึ้นในเครื่องและบันทึกเฉพาะในไฟล์โปรไฟล์ของคุณและ Keychain ของระบบ คีย์ของใบรับรองใหม่ถูกสร้างขึ้นแบบสุ่มโดยใช้ OpenSSL

คุณยังสามารถใช้ใบรับรอง CA ที่มีอยู่ได้ ส่งออกใบรับรองเป็นรูปแบบ PKCS#12 (.p12) พร้อมข้อความรหัสผ่าน โปรดทราบว่าข้อความรหัสผ่านต้องไม่ว่างเปล่าเนื่องจากข้อจำกัดของระบบ ใช้คำสั่ง "base64" เพื่อเข้ารหัสเป็นสตริง base64 และเพิ่มการตั้งค่าเหล่านี้ด้านล่างไปยังไฟล์การกำหนดค่าของคุณ

[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
hostname = *google.com

Chute ถอดรหัสเฉพาะทราฟฟิกไปยังโฮสต์ที่ประกาศที่นี่

รองรับอักขระ wildcard และ ? โปรดทราบว่า ? จะทำหน้าที่เป็น wildcard ก็ต่อเมื่อกฎนั้นมี `อยู่ด้วย ส่วนกฎที่มีเพียง?` จะถูกเปรียบเทียบแบบตรงตัวอักษร

  • ใช้คำนำหน้า - เพื่อยกเว้นชื่อโฮสต์
  • โดยค่าเริ่มต้น เฉพาะคำขอไปยังพอร์ต 443 เท่านั้นที่ถูกถอดรหัส
    • ใช้ส่วนต่อท้าย :port เพื่ออนุญาตพอร์ตอื่น
    • ใช้ส่วนต่อท้าย :0 เพื่ออนุญาตทุกพอร์ต

ตัวอย่าง:

  • -*.apple.com: ยกเว้นคำขอทั้งหมดที่ส่งไปยัง *.apple.com บนพอร์ต 443
  • www.google.com: อนุญาต MitM สำหรับ www.google.com บนพอร์ต 443
  • www.google.com:8080: อนุญาต MitM สำหรับ www.google.com บนพอร์ต 8080
  • www.google.com:0: อนุญาต MitM สำหรับ www.google.com บนทุกพอร์ต
  • *: อนุญาต MitM สำหรับชื่อโฮสต์ทั้งหมดบนพอร์ต 443 (ไม่แนะนำ)
  • *:0: อนุญาต MitM สำหรับชื่อโฮสต์ทั้งหมดบนทุกพอร์ต (ไม่แนะนำ)

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

  • example.com/api/*: อนุญาต MitM สำหรับ example.com บนพอร์ต 443 เฉพาะคำขอที่พาธตรงกับ /api/*

การกำหนดค่าทั่วไปอาจเป็นดังนี้:

hostname = -*.apple.com, -*.icloud.com, *

Chute จะใช้กฎ URL Rewrite, Header Rewrite, Body Rewrite และ Mock (Map Local) รวมถึงสคริปต์กับคำขอ MitM ทั้งหมด

MitM รองรับ HTTP/2: Chute เสนอทั้ง h2 และ http/1.1 ให้กับไคลเอนต์ผ่าน ALPN ส่วนคีย์ h2 และ tcp-connection ของ [MITM] ใน Surge นั้นรับค่าได้ในไฟล์กำหนดค่าแต่จะถูกละเว้น

บางแอปพลิเคชันมีนโยบายความปลอดภัยที่เข้มงวดในการใช้ใบรับรองหรือ CA แบบปักหมุด การเปิดใช้งานการถอดรหัสสำหรับโฮสต์เหล่านี้อาจทำให้เกิดปัญหา

การติดตั้งและเชื่อถือใบรับรอง CA

การสร้าง (หรือนำเข้า) CA เป็นเพียงครึ่งเดียวของการตั้งค่า — ระบบปฏิบัติการต้องเชื่อถือมันด้วย จนกว่าทั้งสองขั้นตอนจะเสร็จสิ้น ทุกเว็บไซต์ที่ถูกถอดรหัสจะล้มเหลวพร้อมคำเตือนใบรับรอง หน้าใบรับรองในแอปแสดงสถานะปัจจุบัน ("ใบรับรอง CA ที่เชื่อถือ" / "ใบรับรอง CA ที่ไม่เชื่อถือ")

Chute iOS — ในตัวแก้ไขการกำหนดค่า เปิด MITM → กำหนดค่า CA:

  1. สร้างใบรับรอง CA ใหม่ (หรือ นำเข้าใบรับรอง P12 สำหรับใบรับรองที่มีอยู่แล้ว)
  2. แตะ ติดตั้งใบรับรอง CA ลงในระบบ หน้า Safari จะเปิดขึ้น — แตะ Install Certificate และอนุญาตการดาวน์โหลด จากนั้นติดตั้งโปรไฟล์ที่ดาวน์โหลดมาใน การตั้งค่า → ทั่วไป → VPN และการจัดการอุปกรณ์
  3. เชื่อถือมัน: การตั้งค่า → ทั่วไป → เกี่ยวกับ → การตั้งค่าความน่าเชื่อถือของใบรับรอง และเปิดการเชื่อถือแบบเต็มสำหรับ CA ของ Chute ขั้นตอนนี้คือขั้นที่คนส่วนใหญ่พลาด — หากไม่ทำ ใบรับรองจะถูกติดตั้งแต่ไม่ถูกเชื่อถือ และการถอดรหัสจะล้มเหลวต่อไป

Chute Mac — ในหน้าต่างการกำหนดค่า เปิด MitM:

  1. Generate New Certificate (หรือ Import Certificate from PKCS#12 File)
  2. คลิก Install the Certificate to System macOS จะขอรหัสผ่านผู้ดูแลระบบและเพิ่มใบรับรองลงใน System keychain เป็น root ที่เชื่อถือ — ไม่ต้องทำขั้นตอนใน Keychain Access ด้วยตนเอง
  3. Export the Certificate บันทึกสำเนา .pem สำหรับติดตั้งบนอุปกรณ์อื่น

หากแอปใดยังคงล้มเหลวทั้งที่ใบรับรองถูกเชื่อถือแล้ว มันมักปักหมุด (pin) ใบรับรองของตัวเอง — ยกเว้นโฮสต์ของมันจาก hostname ด้วยคำนำหน้า - แทนที่จะฝืนสู้

ตัวเลือก

skip-server-cert-verify

skip-server-cert-verify = true

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

[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
skip-server-cert-verify = true
hostname = *google.com

หมายเหตุด้านความปลอดภัย: การเปิดใช้งาน skip-server-cert-verify ทำให้การเชื่อมต่อ MitM เสี่ยงต่อการโจมตีแบบ man-in-the-middle ระหว่าง Chute และเซิร์ฟเวอร์อัปสตรีม เปิดใช้งานเฉพาะสำหรับเครือข่ายที่เชื่อถือได้หรือเพื่อการพัฒนาเท่านั้น

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 12:06:42

หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก

results matching ""

    No results matching ""