การโจมตี DNS Rebinding

Feb 08 2023
DNS Rebinding เป็นวิธีการเลี่ยงผ่าน Same Origin Policy โดยจัดการการแก้ไข DNS การโจมตีแบบข้ามต้นทางทั่วไปถูกบล็อกโดยเบราว์เซอร์ได้อย่างไร ? ที่นี่ เบราว์เซอร์เข้าใจว่าหน้าตอบกลับจากต้นทางของผู้โจมตีกำลังร้องขอหน้าจากต้นทางอื่น (เช่น

DNS Rebindingเป็นวิธีการข้ามนโยบาย Same Origin โดยจัดการการแก้ไข DNS

การโจมตีข้ามต้นทางทั่วไปถูกบล็อกโดยเบราว์เซอร์ได้อย่างไร

เบราว์เซอร์บล็อกคำขอข้ามต้นทาง

ที่นี่ เบราว์เซอร์เข้าใจว่าหน้าตอบกลับจากต้นทางของผู้โจมตีกำลังร้องขอหน้าจากต้นทางอื่น (เช่น จาก localhost ) ³ เนื่องจากเป็น 'คำขอที่ไม่ง่าย' และ 'ข้ามต้นทาง' เบราว์เซอร์จึงบล็อกคำขอตามค่าเริ่มต้น

ในการเข้าถึงเซิร์ฟเวอร์ภายใน เราจำเป็นต้องข้ามSOP

มาแล้ว DNS Rebinding เพื่อช่วยเหลือเรา……

สถานการณ์การโจมตี

การโจมตี DNS rebinding ข้ามนโยบาย Same Origin

ที่การแก้ไข DNS เริ่ม ต้นโปรแกรมโจมตีจะแก้ไขเป็น 6.6.6.6 ² ดังนั้น เบราว์เซอร์จึงส่งคำขอไปที่ 6.6.6.6 และได้รับการตอบกลับจากผู้โจมตี การตอบสนองของผู้โจมตีอาจมีการดึงคำขออีกครั้งไปที่ attacker.com ที่นี่ เนื่องจากหน้าเว็บจากต้นทางของผู้โจมตีกำลังร้องขอทรัพยากรจากต้นทางของผู้โจมตี ดังนั้น ต้นทางเดียวกัน ⁵

ขณะกำหนดค่าเซิร์ฟเวอร์ DNS ผู้โจมตีจะตั้งค่า TTL (Time-To-Live) เป็นค่าเล็กน้อย (เช่น: 2 วินาที) ²

ดังนั้น เบราว์เซอร์ในขณะที่ดำเนินการร้องขอการดึงข้อมูลไปยัง attacker.com เบราว์เซอร์จะถามเซิร์ฟเวอร์ DNS อีกครั้งสำหรับการแก้ไขของ attacker.com ⁵ซึ่งตอนนี้แก้ไขเป็น 127.0.0.1⁶ (ผู้โจมตีจะตั้งค่าระเบียน A สองรายการในการกำหนดค่าเซิร์ฟเวอร์ DNS)

จากนั้นเบราว์เซอร์จะดำเนินการตามคำขอถัดไปในหน้า ผู้โจมตีซึ่งเป็นคำขอลบทรัพยากรไปยัง 127.0.0.1 ⁸ เนื่องจากเป็นคำขอไปยังโลคัลโฮสต์ซึ่งมีต้นกำเนิดเดียวกันกับ 127.0.0.1 เบราว์เซอร์จึงดำเนินการโดยไม่ปิดกั้น
ทรัพยากรถูกลบ⁹

ฉันจะหมุนเซิร์ฟเวอร์ DNS อย่างรวดเร็วได้อย่างไร

คุณสามารถใช้แอปพลิเคชันhttp://lock.cmpxchg8b.com/rebinder.html(ซอร์สโค้ดยังมีอยู่)

สถานการณ์การโจมตีอื่น ๆ ?

  1. โครงสร้างพื้นฐานฝั่งเซิร์ฟเวอร์ที่สับสน

ข้อ จำกัด ในการโจมตี / การลดผลกระทบสำหรับนักพัฒนา

1. หากจำเป็นต้องมีการรับรองความถูกต้อง

2. หากมีใบรับรอง SSL

3. หากเซิร์ฟเวอร์ตรวจสอบส่วนหัวของโฮสต์

4. หากมีการกำหนดและใช้งานตัวจัดการโปรโตคอลแบบกำหนดเอง (เช่น: chrome:// ) เพื่อเข้าถึงแอปพลิเคชันในเครื่อง

อ้างอิง:

  • DEF CON 25 — ลุค ยัง
  • เว็บแอปพลิเคชันสำหรับ URI การโจมตีหรือการแก้ไข DNS โดย Tavis Ormandy
  • ค่าหัวแมลง | $ 2,000 สำหรับการบายพาส SSRF โดยใช้ DNS rebinding โดย Leet Cipher
  • การบรรยายการโจมตีแบบเชื่อมโยงข้อมูลโดย Feross
  • Gerald Doussot — สถานะของ DNS Rebinding Attacks & Singularity of Origin — การประชุม DEF CON 27
  • SSRF ผ่าน DNS Rebinding (CVE-2022–4096) โดย Basavaraj
  • เครื่องมือเอกพจน์