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