1 คะแนน โดย GN⁺ 2024-11-06 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ระหว่างทดสอบใน "integration" ซึ่งเป็นสภาพแวดล้อมพัฒนาของ EA ผู้วิจัยได้รับ access token ที่มีสิทธิ์ผ่านข้อมูลรับรองที่ถูก hardcode อยู่ในไฟล์ executable ของเกมหนึ่ง

เอกสารการยืนยันตัวตน

  • มีการสแกนหลาย endpoint เพื่อตรวจสอบว่ามีการเปิดเผยเอกสาร API หรือไม่
  • พบไฟล์ Swagger JSON ที่ /connect/api-docs/index.json และสามารถดูการติดตั้งใช้งาน Swagger ทั้งหมดของ Nexus Connect API ได้
  • อัปเดตไฟล์ Swagger ให้เป็นสเปก OpenAPI 3.0 และรันบนเซิร์ฟเวอร์ Swagger UI ในเครื่อง

เพื่อค้นหาเพิ่มเติม

  • EA Desktop ใช้ "Service Aggregation Layer" ซึ่งเป็น GraphQL API ที่รวมหลาย backend service เข้าด้วยกัน
  • พบ service endpoint มากกว่า 80 จุดที่ gateway.int.ea.com

พบทองคำ

  • มีการเรียกทุก endpoint และแปลงเป็นสเปก OpenAPI เพื่อตรวจสอบข้อมูลหลากหลายประเภท
  • พบข้อมูลที่น่าสนใจ เช่น ข้อมูลเกี่ยวกับทีมของเกมบางเกม

ช่วงเวลาโปรดักชัน

  • สำรวจ endpoint ที่เข้าถึงได้ด้วย production OAuth client
  • ตรวจสอบข้อมูลบัญชีและรายการ "persona" ผ่าน endpoint /identity/pids/me และ /identity/pids/me/personas

การค้นพบครั้งใหญ่

  • พบว่าสามารถอัปเดต persona ได้ผ่าน endpoint /identity/pids/{pidId}/personas/{personaId}
  • สามารถทำได้ทั้งการเปลี่ยนชื่อผู้ใช้ เปลี่ยนสถานะ persona และย้าย persona ไปยังบัญชีอื่น

การตระหนักรู้อีกครั้ง

  • สามารถค้นหาได้แม้แต่บัญชีที่ซ่อนไว้ผ่าน endpoint /identity/namespaces/{namespace}/personas
  • สามารถย้าย persona ของบัญชีอื่นมายังบัญชีของตนเองเพื่อควบคุมข้อมูลบัญชีได้

ความพยายามครั้งที่สาม

  • พบว่าสามารถใช้โทเค็น Xbox/PSN เพื่อข้าม 2FA และเข้าสู่ระบบบัญชีได้
  • สามารถล็อกอินเข้าเกมบน Xbox และเข้าถึงบัญชีของเหยื่อได้

ผลกระทบ

  • ผู้โจมตีสามารถย้ายข้อมูล persona เพื่อขโมยชื่อผู้ใช้และข้อมูลเกมได้
  • สามารถล็อกอินเข้าบัญชีผ่าน Xbox และเข้าถึงบัญชีของเหยื่อได้
  • สามารถแบน persona หรือเปลี่ยนชื่อผู้ใช้ได้

ความเห็นบางประการ

  • น่าเสียดายที่ EA ใช้เวลานานในการแก้ปัญหา และไม่มีโปรแกรม bug bounty
  • การประสานงานกับ EA เป็นไปในทางบวก

ไทม์ไลน์

  • 16 มิถุนายน 2024 - รายงานช่องโหว่ต่อ EA
  • 8 กรกฎาคม 2024 - ปล่อยแพตช์ 1 (ตรวจสอบความเป็นเจ้าของ persona)
  • 10 กันยายน 2024 - ปล่อยแพตช์ 4 (ลบเอกสาร)

1 ความคิดเห็น

 
GN⁺ 2024-11-06
ความคิดเห็นจาก Hacker News
  • EA ชอบใช้ระบบร่วมกันสำหรับทุกเกม พบแบ็กเอนด์ส่วนกลางชื่อ blaze ใน Madden ซึ่งมีทั้งเว็บและ TCP endpoint เคยทำเครื่องมือสำหรับเรียก endpoint แต่กลับทำให้เซิร์ฟเวอร์ล่มทีละตัว จากนั้นจึงพยายามสร้าง API เพื่อป้องกันการสำรวจ

  • ติดตั้ง Battlefield 2042 ผ่าน Xbox และเชื่อมต่อได้สำเร็จ ชอบเหล่าแฮ็กเกอร์

  • น่าจะน่าสนใจถ้ามีบันทึกที่แสดงให้เห็นว่าต้องใช้เวลาและความพยายามมากแค่ไหนในการโจมตี

  • คนที่ชอบบทความนี้สามารถไปอ่านเพิ่มเติมได้ในแพลตฟอร์ม bug bounty อย่าง "Hacktivity" ของ HackerOne

  • บทความนี้ทำให้ไปตรวจสอบเซิร์ฟเวอร์ API ฝั่งพัฒนาและปฏิบัติการ เพื่อยืนยันว่าไม่ได้เปิดเผยเส้นทาง OpenAPI UI/JSON descriptor

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

  • EA อ้างว่าการเปลี่ยนบัญชี Xbox เป็นบัญชีใหม่ "เป็นไปไม่ได้ในทางเทคนิค" แต่จริง ๆ แล้วทำได้ เพียงแต่ไม่สามารถเชื่อมบัญชี Xbox เก่าได้ จึงเล่นเกม EA บน Xbox ไม่ได้

  • คงจะตลกดีถ้าพวกเขาบล็อกทุกบัญชีแล้วหวังว่าไม่มีแบ็กอัปฐานข้อมูล

  • สงสัยว่าการทำงานเป็นวิศวกรในบริษัทใหญ่จะรู้สึกอย่างไร หลายทีมเป็นเจ้าของคนละส่วนกัน จึงมีโอกาสสูงที่จะมีช่องโหว่หลงเหลืออยู่

  • น่าผิดหวังที่ EA ยังไม่เริ่มโปรแกรม bug bounty เพราะไม่มีแรงจูงใจให้รายงาน จึงมีคนที่เลือกปกปิดช่องโหว่ด้วย หวังว่า EA จะทำตามแนวทางของอุตสาหกรรม และก็สงสัยว่าไม่มีการให้รางวัลสำหรับการรายงานจริงหรือไม่