OnePlus Nord 2 มีช่องโหว่ที่ให้สิทธิ์การเข้าถึงรูทเชลล์ภายในไม่กี่นาทีบน bootloader ที่ล็อคไว้ โดยไม่ต้องล้างข้อมูล

click fraud protection

OnePlus Nord 2 มีช่องโหว่ที่ทำให้ผู้โจมตีสามารถเข้าถึงรูทเชลล์ได้ไม่จำกัด อ่านต่อเพื่อทราบข้อมูลเพิ่มเติม!

พวกเราหลายคนที่ XDA-Developers เริ่มค้นหาฟอรั่มเป็นครั้งแรกเมื่อเราต้องการ รูทอุปกรณ์ Android ของเรา. ย้อนกลับไปในสมัยนั้น ผู้คนมักจะพึ่งพาวิธีการ "รูทเพียงคลิกเดียว": แอพหรือสคริปต์ที่มี เพย์โหลดที่กำหนดเป้าหมายช่องโหว่การยกระดับสิทธิ์ที่ทราบของเฟิร์มแวร์ที่มีอยู่เพื่อรับรูท เข้าถึง. ด้วยการปรับปรุงและการเปลี่ยนแปลงการเข้ารหัส การอนุญาต และการจัดการที่เกี่ยวข้องกับความเป็นส่วนตัว อุปกรณ์ Android สมัยใหม่จึงค่อนข้างปลอดภัยจากการโจมตีดังกล่าว แต่จะยังคงมีขอบเขตสำหรับ การหาประโยชน์ และ ช่องโหว่.

OnePlus อาจประสานชื่อของตนในหมู่ Android OEM รายใหญ่ แต่โทรศัพท์ของมันก็เป็นเช่นนั้น ไม่มีคนแปลกหน้า ถึง ข้อบกพร่องด้านความปลอดภัย. ในครั้งนี้ บริษัทได้ทิ้งช่องโหว่ที่ค่อนข้างน่าสนใจ (อ่าน: กังวล) ที่ยังไม่ได้แพตช์ไว้บน โอเปิ้ล นอร์ด 2 นับตั้งแต่เปิดตัว แม้ว่าการใช้ประโยชน์จากช่องโหว่นั้นจำเป็นต้องมีการเข้าถึงอุปกรณ์ทางกายภาพ แต่ผู้โจมตีก็สามารถทำได้อย่างมีประสิทธิภาพ รับรูทเชลล์ที่ไม่จำกัดก่อนที่ผู้ใช้จะสามารถป้อนข้อมูลรับรองได้

. โดยเฉพาะอย่างยิ่งที่เพิ่งออกใหม่ Nord 2 รุ่น Pac-Man ก็ได้รับผลกระทบเช่นกัน

พื้นหลัง

ทุกวันนี้เมื่อเราพูดถึงการเข้าถึงรูทบนสมาร์ทโฟน Android ผู้คนมักจะนึกถึง การแพตช์อิมเมจบูตสต็อกด้วย Magisk ก่อนแล้วจึงทำการแฟลชอิมเมจที่แพตช์ไปยังอุปกรณ์เป้าหมายหลังจากปลดล็อค bootloader ด้วยวิธีนี้ ผู้ใช้ปลายทางจะสามารถควบคุมการเข้าถึงไบนารี "su" ผ่านทางแอปตัวจัดการได้ อีกสองสามอย่าง แนวทางการทดลอง มีอยู่จริง แต่ไม่ค่อยรวบรวมการใช้งานกระแสหลักได้มากนัก

เมื่อพูดถึงก่อนการผลิต สถานการณ์จะแตกต่างไปจากเดิมอย่างสิ้นเชิง ในขณะที่เตรียมเฟิร์มแวร์ของอุปกรณ์ วิศวกรจำเป็นต้องเปิดพารามิเตอร์การบันทึกต่างๆ รวมถึงการเข้าถึงรูทด้วย แม้กระทั่งบน การแก้ไขข้อบกพร่องของผู้ใช้ สร้าง, Android Debug Bridge Daemon (adbd) ทำงานในฐานะรูท เพื่อให้สามารถเข้าถึงเชลล์ที่มีสิทธิพิเศษเพื่อวัตถุประสงค์ในการแก้ไขข้อบกพร่อง เมื่อเฟิร์มแวร์พร้อมสำหรับการจัดส่ง จะต้องปิดพารามิเตอร์การแก้ไขข้อบกพร่องเหล่านี้ทั้งหมดก่อนที่จะเปิดตัว

แต่จะเกิดอะไรขึ้นถ้าคุณลืมทำ? เราจะเห็นได้ว่าเมื่อ OxygenOS เปิดตัวอย่างเป็นทางการสำหรับ OnePlus Nord 2 มาพร้อมกับข้อบกพร่องดังกล่าว

OnePlus Nord 2 - ช่องโหว่รูทเชลล์

OEM บางรายเช่น Samsung เสนอความสามารถในการโหลดแพ็คเกจอัปเดตในการกู้คืนสต็อกบนอุปกรณ์ขายปลีก ในกรณีนั้น adbd ไบนารี่ทำงานด้วยสิทธิ์ที่สูงอย่างมากในขณะที่ไซด์โหลด แต่จะปิดตัวเองลงทันทีที่กระบวนการอัปเดตเสร็จสิ้น นอกเหนือจากนั้น ไม่อนุญาตให้เข้าถึง ADB ในสภาพแวดล้อมการกู้คืนที่ OEM มอบให้

OnePlus ไม่อนุญาตให้ผู้ใช้แฟลชแพ็คเกจ ZIP ที่อัปเดตอีกต่อไปผ่านการกู้คืนสต็อกผ่าน ADB sideload สมมติว่าทุกอย่างได้รับการกำหนดค่าตามที่ควรจะเป็น สภาพแวดล้อมการกู้คืนของอุปกรณ์ OnePlus ปกติควรจะปลอดภัยจากผู้โจมตีที่ส่งน้ำหนักบรรทุกทุกประเภทโดยใช้ ADB น่าเสียดายที่ทุกอย่างไม่เป็นไปตามแผนในกรณีของ OnePlus Nord 2

ปรากฎว่า ใครๆ ก็สามารถสร้างเชลล์การดีบัก Android ได้ด้วยสิทธิ์รูทภายในสภาพแวดล้อมการกู้คืนของ OnePlus Nord 2. เห็นได้ชัดว่าการตั้งค่าการแก้ไขจุดบกพร่องที่สำคัญประการหนึ่งได้มาถึงขั้นตอนการผลิตแล้ว ซึ่งนำไปสู่ข้อผิดพลาดนี้

การใช้ประโยชน์จากข้อบกพร่องของ OnePlus Nord 2

สิ่งที่คุณต้องทำคือรีบูท OnePlus Nord 2 ไปที่โหมดการกู้คืน ผู้โจมตีสามารถนำอุปกรณ์และใช้ปุ่มคำสั่งผสมฮาร์ดแวร์ง่ายๆ เพื่อบังคับให้อุปกรณ์เข้าสู่โหมดการกู้คืน ที่จริงแล้ว ไม่จำเป็นต้องเข้าถึงเมนูการกู้คืนจริง เนื่องจากส่วนที่มีความเสี่ยงจะอยู่ก่อนหน้านั้น เครดิตไปที่ XDA Senior Member แอนโดรพลัส สำหรับ ชี้ให้เห็น การมีอยู่ของความผิดพลาดนี้ในเดือนตุลาคม 2021

  1. ขณะที่โทรศัพท์ปิดอยู่ ให้กดปุ่มลดระดับเสียงและปุ่มเปิด/ปิดพร้อมกันจนกระทั่งคุณ เห็นโลโก้ OnePlus พร้อมแบนเนอร์ "RECOVERY MODE" ขนาดจิ๋วที่มุมซ้ายล่างของหน้าจอ
  2. ถัดไปคุณจะเห็นหน้าจอการเลือกภาษา ไม่จำเป็นต้องก้าวไปข้างหน้า เนื่องจากเราสามารถเริ่มการเข้าถึง ADB ได้จากที่นี่
  3. ตอนนี้เชื่อมต่อโทรศัพท์กับพีซี (หรือ Mac) โดยใช้สาย USB ในกรณีที่คุณใช้ Windows คุณจะเห็นอินเทอร์เฟซการแก้ไขจุดบกพร่อง Android USB ใหม่ปรากฏขึ้นในตัวจัดการอุปกรณ์ คุณอาจต้องติดตั้งอุปกรณ์ที่เหมาะสมด้วย ไดรเวอร์ USB ของ Android ก่อนที่ Windows จะจดจำอุปกรณ์ใหม่ได้ ในทางกลับกัน ผู้ใช้ Linux และ macOS สามารถใช้ไฟล์ lsusb คำสั่งเพื่อตรวจจับการมีอยู่ของอินเทอร์เฟซฮาร์ดแวร์ใหม่
  4. เมื่อพิจารณาว่าคุณมีเวอร์ชันล่าสุดอยู่แล้ว ADB และ Fastboot ยูทิลิตี้ที่ติดตั้งบนพีซี/Mac ของคุณ เปิดอินสแตนซ์ Command Prompt/PowerShell/Terminal และดำเนินการคำสั่งต่อไปนี้:
    adb devices
    ควรแสดงรายการ Nord 2 ในโหมดการกู้คืน นี่เป็นสิ่งที่น่าสนใจเป็นพิเศษ เนื่องจากไม่จำเป็นต้องใช้พรอมต์การอนุญาต ADB มาตรฐานที่นี่ คุณอาจได้รับข้อผิดพลาด "อุปกรณ์ไม่ได้รับอนุญาต" แต่การล้างฐานข้อมูลคีย์ ADB RSA ที่มีอยู่ของโฮสต์พีซีและรีสตาร์ทเซิร์ฟเวอร์ ADB จะทำให้คุณได้รับอนุญาตในที่สุด
  5. ตอนนี้สั่งสอน adbd เพื่อทำงานในฐานะรูท:
    adb root
    คำสั่งนี้อาจใช้เวลานานและคุณอาจได้รับข้อผิดพลาดการหมดเวลา อย่างไรก็ตามตอนนี้ adbd ควรจะทำงานเป็นรูท
  6. สุดท้าย ตรวจสอบระดับสิทธิ์ของเชลล์โดยใช้คำสั่งต่อไปนี้:
    adb shell whoami

ขอบเขตของข้อบกพร่อง

การละเมิดช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้นนี้เป็นสิ่งที่น่ากลัว เมื่อโจมตี OnePlus Nord 2 ได้สำเร็จ ผู้โจมตีสามารถถ่ายโอนข้อมูลทุกพาร์ติชันของอุปกรณ์ได้ ด้วยเหตุนี้ ผู้โจมตีจึงสามารถเข้าถึงพาร์ติชันข้อมูลทั้งหมด รวมถึงไฟล์ที่จัดเก็บไว้ในไดเร็กทอรีข้อมูลส่วนตัวของแอปพลิเคชันซึ่งโดยทั่วไปไม่สามารถเข้าถึงได้ ในกรณีที่พาร์ติชันข้อมูลปรากฏว่ามีการเข้ารหัส (เนื่องจากผู้ใช้ตั้งค่า PIN หรือรหัสผ่าน) ดัมพ์อาจยังคงมีประโยชน์สำหรับการวิเคราะห์ทางนิติเวช

ไม่เพียงเท่านั้น คุณยังสามารถผลักดันปฏิบัติการไปที่ /data/local/tmp และเรียกใช้จากที่นั่น นี่คือเวกเตอร์การโจมตีแบบคลาสสิก ซึ่งมีประโยชน์สำหรับการโหลดช่องโหว่อื่นแบบต่อเนื่อง ยิ่งไปกว่านั้น เนื่องจากตอนนี้คุณสามารถโทรไปที่ setprop เป็น root เพื่อแก้ไขค่า prop ต่างๆ คุณสามารถแย่งชิงตัวแปรเฉพาะของ OEM ที่ได้รับสิทธิ์ได้ในทางเทคนิค สุดท้ายแต่ไม่ท้ายสุด แม้ว่าคุณจะไม่ได้ปลดล็อคตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ไว้ก็ตาม โทรศัพท์จะแจ้งให้เข้าถึงการแก้ไขจุดบกพร่อง USB โดยอัตโนมัติหลังจากที่คุณเรียกใช้ ADB ในการกู้คืนและรีบูตสู่สภาพแวดล้อม Android ปกติ ซึ่งหมายความว่าขอบเขตของช่องโหว่ไม่ได้จำกัดอยู่เพียงส่วนการกู้คืนเท่านั้น เท่านั้น.

โปรดทราบว่าคุณไม่สามารถติดตั้งไฟล์ APK โดยใช้ ADB ในสภาพแวดล้อมการกู้คืนได้ เนื่องจากไม่สามารถเข้าถึงยูทิลิตี้ Package Manager ได้จากที่นั่น

จะตรวจสอบว่า OnePlus Nord 2 ของคุณได้รับผลกระทบได้อย่างไร? (คำแนะนำ: มันคือ)

ดังที่ได้กล่าวไว้ก่อนหน้านี้ คุณสามารถใช้ประโยชน์จากช่องโหว่นี้ได้ทั้งบน OnePlus Nord 2 รุ่นปกติและรุ่นพิเศษ โดยสรุป หากคุณป้อนรูทเชลล์ (คุณจะรู้เมื่อสัญลักษณ์เชลล์เปลี่ยนจาก $ ถึง #) แล้วคุณจะรู้ว่ามีข้อบกพร่องอยู่

เราประสบความสำเร็จในการเข้าถึงรูทเชลล์บน เฟิร์มแวร์ OxygenOS สาธารณะล่าสุดของอินเดียและยุโรปสำหรับอุปกรณ์, ซึ่งหมายความว่า เครื่อง OnePlus Nord 2 ทุกเครื่องมีความเสี่ยง ในขณะที่เขียนบทความนี้


อะไรต่อไป?

เราจะติดตามเรื่องนี้เมื่อมีข้อมูลเพิ่มเติม OnePlus ได้ออกแถลงการณ์เกี่ยวกับปัญหานี้ดังนี้:

เราปฏิบัติต่อความเป็นส่วนตัวและความปลอดภัยอย่างจริงจัง เรากำลังจัดลำดับความสำคัญของเรื่องนี้และเราจะแชร์ข้อมูลอัปเดตทันทีที่เรามีข้อมูลเพิ่มเติม

แม้ว่าทั้งหมดนี้ดูน่ากลัว แต่โปรดจำไว้ว่าผู้โจมตียังคงจำเป็นต้องเข้าถึงโทรศัพท์เพื่อเข้าถึงรูทเชลล์ จนกว่า OnePlus จะเปิดตัวการอัปเดตเพื่อแก้ไขช่องโหว่ ให้พยายามรักษา OnePlus Nord 2 ของคุณให้ห่างจากคนแปลกหน้า แม้ว่าเราจะไม่พบกรณีการใช้งานที่เป็นอันตรายใดๆ แต่ก็ไม่มีใครสามารถปฏิเสธความเป็นไปได้ดังกล่าวได้ เนื่องจากช่องโหว่นี้อยู่ในวงกว้างเป็นเวลาอย่างน้อย 2 เดือนแล้ว