Amit Serper ผู้เชี่ยวชาญจาก Guardicore ได้ออกมาเปิดเผยถึงความผิดพลาดในระดับการออกแบบของฟีเจอร์ Autodiscover บน Microsoft Exchange ที่การทดลองของ Serper สามารถเก็บ Credentials ของผู้ใช้มาได้นับแสนรายการ
รู้จักกับวิธีการทำงานของ Autodiscover บน Microsoft Exchange
Autodiscover เป็นฟีเจอร์ที่ถูกใช้สำหรับคอนฟิคค่าอัตโนมัติใน Mail Client เช่น Microsoft Outlook ที่องค์กรมักมีการกำหนดการตั้งค่าเริ่มต้นให้ Mail Client

ในระหว่างการทำงานเมื่อผู้ใช้กรอกอีเมลและรหัสผ่านไปแล้ว ตัว Mail Client จะพยายามพิสูจน์ตัวตนกับหลายๆ URLs ที่เป็นของ Exchange Discover ซึ่งมีการส่งชื่อล็อกอินและรหัสผ่านไปยัง URLs โดยอัตโนมัติ ทั้งนี้ตัว URLs ก็สืบทอดมาจากที่อยู่อีเมลที่ตั้งค่าไว้ใน Mail Client เช่นนักวิจัยได้ตั้งค่าทดลองว่าเป็น ‘amit@example.com’ ตัวเขาก็พบว่า URLs ที่พยายามเชื่อมต่อออกไปก็คือ
- https://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- http://Autodiscover.example.com/Autodiscover/Autodiscover.xml
- https://example.com/Autodiscover/Autodiscover.xml
- http://example.com/Autodiscover/Autodiscover.xml
โดยโปรแกรม Client จะพยายามพิสูจน์ตัวตนกับ Microsoft Exchange จนประสบความสำเร็จและนำค่าคอนฟิคกลับมายัง Client แล้วหากพิสูจน์ตัวตนไม่สำเร็จหล่ะ?
สิ่งที่ Serper พบหากกระบวนการนี้ไม่ประสบความสำเร็จคือโปรแกรมจะพยายามสร้าง URL เช่น autodiscover.[tld] ซึ่ง TLD ก็นำมาจากมาจากที่อยู่อีเมลนั่นเอง โดยตัวอย่างของนักวิจัยที่พบคือ ‘ http://Autodiscover.com/Autodiscover/Autodiscover.xml’ ทั้งหมดของไอเดียก็คือ Mail Client ได้ทำการพิสูจน์ตัวตนกับโดเมนที่ไม่น่าเชื่อถือ เป็นโอกาสให้ปลายทางสามารถเก็บเกี่ยว Credentails เหล่านั้นได้

ขั้นต่อไป Serper จึงได้ไปลงทะเบียนโดเมนต่างๆ ทิ้งไว้และรอดูผลตอบรับ เช่น Autodiscover.com.br, Autodiscover.com.cn, Autodiscover.com.co, Autodiscover.com.sg, Autodiscover.com.uk, Autodiscover.online และอีกหลายประเทศ ผลลัพธ์คือช่วงระหว่าง 20 เมษายนถึง 25 สิงหาคมที่ผ่านมา เซิร์ฟเวอร์เหล่านี้ได้รับ Credentials มาจากหลากหลายอุตสาหกรรม โดยข้อมูลสรุปได้ดังนี้
- 648,976 HTTP requests ที่เจาะจงมายังโดเมน Autodiscover
- 372,072 Basic authentication requests
- 96,671 unique pre-authenticated requests
สำหรับ Basic Authentication ก็คือ email client ได้ส่ง Credentials เข้ามาในรูปแบบที่ดูได้ง่าย แต่สำหรับวิธีการแบบ NTLM และ Oauth ทางผู้เชี่ยวชาญก็มีวิธีการ downgrade request เป็น Basic Authentication หรือ Cleartext ได้เช่นกัน (ตามภาพประกอบ)

การป้องกัน
- ในระดับองค์กรควรใช้ Firewall หรือ DNS Server ช่วยบล็อกโดเมน Autodiscover.[tld] ที่อาจเกิดขึ้น โดย Serper ได้ทำลิสต์โดเมนขึ้นตามไฟล์นี้ https://github.com/guardicore/labs_campaigns/tree/master/Autodiscover
- ในมุมของนักพัฒนาควรจะป้องกัน Mail Client ไม่ให้เกิดการสร้างโดเมนส่งออกไปในลักษณะนี้
เบื้องต้น Microsoft ทราบเรื่องแล้วและกำลังสืบหาอยู่ แต่ชี้ว่าตนไม่ได้รับการติดต่อเรื่องช่องโหว่ก่อนมีรายงานออกมา