วิกฤตเศรษฐกิจช่วงคริสต์มาส: การวิเคราะห์การแฮ็ก Trust Wallet Extended Wallet
- 核心观点:Trust Wallet扩展程序遭恶意代码植入,用户资产被盗。
- 关键要素:
- 2.68版本代码被植入窃取助记词的恶意函数。
- 攻击者利用被控域名接收窃取的助记词数据。
- 已造成约600万美元的跨链资产损失。
- 市场影响:引发对主流钱包安全性的信任危机。
- 时效性标注:短期影响
พื้นหลัง
เมื่อเช้าตรู่ตามเวลาปักกิ่ง @zachxbt ได้โพสต์ข้อความในช่องของเขาว่า "ผู้ใช้ Trust Wallet บางรายรายงานว่าเงินถูกขโมยไปจากที่อยู่กระเป๋าเงินของพวกเขาในช่วงไม่กี่ชั่วโมงที่ผ่านมา" ต่อมา บัญชีทางการของ Trust Wallet ก็ได้ออกแถลงการณ์อย่างเป็นทางการยืนยันว่าส่วนขยายเบราว์เซอร์ Trust Wallet เวอร์ชัน 2.68 มีความเสี่ยงด้านความปลอดภัย และแนะนำให้ผู้ใช้เวอร์ชัน 2.68 ทุกคนปิดใช้งานทันทีและอัปเกรดเป็นเวอร์ชัน 2.69

กลยุทธ์และเทคนิค
เมื่อได้รับข้อมูลข่าวกรอง ทีมรักษาความปลอดภัยของ SlowMist ก็เริ่มวิเคราะห์ตัวอย่างที่เกี่ยวข้องทันที มาดูการเปรียบเทียบโค้ดหลักของเวอร์ชัน 2.67 และ 2.68 ที่เผยแพร่ก่อนหน้านี้กันก่อน:


จากการเปรียบเทียบความแตกต่างของโค้ดทั้งสองเวอร์ชัน ทำให้พบโค้ดที่เป็นอันตรายซึ่งแฮ็กเกอร์ได้เพิ่มเข้าไป ดังต่อไปนี้:

โค้ดที่เป็นอันตรายจะวนลูปผ่านกระเป๋าเงินทั้งหมดในปลั๊กอินและส่งคำขอ "รับวลีช่วยจำ" ไปยังกระเป๋าเงินของผู้ใช้แต่ละรายเพื่อรับวลีช่วยจำที่เข้ารหัสของผู้ใช้ สุดท้าย มันจะถอดรหัสวลีช่วยจำโดยใช้รหัสผ่านหรือ passkeyPassword ที่ผู้ใช้ป้อนเมื่อปลดล็อกกระเป๋าเงิน หากการถอดรหัสสำเร็จ วลีช่วยจำของผู้ใช้จะถูกส่งไปยังโดเมนของผู้โจมตี `api.metrics-trustwallet[.]com`

นอกจากนี้ เรายังวิเคราะห์ข้อมูลโดเมนของผู้โจมตีด้วย ผู้โจมตีใช้โดเมน: metrics-trustwallet.com

จากการตรวจสอบพบว่า ชื่อโดเมนที่เป็นอันตรายดังกล่าวจดทะเบียนเมื่อวันที่ 8 ธันวาคม 2025 เวลา 02:28:18 และผู้ให้บริการชื่อโดเมนคือ NICENIC INTERNATIONA
คำขอแรกไปยัง api.metrics-trustwallet[.]com ถูกบันทึกไว้เมื่อวันที่ 21 ธันวาคม 2025

ช่วงเวลานี้ตรงกับช่วงเวลาที่ฝังช่องโหว่ในโค้ดเวอร์ชัน 12.22 เกือบจะพอดี
เราดำเนินการจำลองกระบวนการโจมตีทั้งหมดอีกครั้งโดยใช้การติดตามและวิเคราะห์โค้ด:
การวิเคราะห์แบบไดนามิกเผยให้เห็นว่า หลังจากปลดล็อกกระเป๋าเงินแล้ว ผู้โจมตีสามารถกรอกข้อมูลวลีช่วยจำลงในช่องข้อผิดพลาดใน R1 ได้

แหล่งที่มาของข้อมูลข้อผิดพลาดนี้ได้มาจากการเรียกใช้ฟังก์ชัน GET_SEED_PHRASE ปัจจุบัน Trust Wallet รองรับวิธีการปลดล็อกสองวิธี ได้แก่ รหัสผ่านและ passkeyPassword เมื่อทำการปลดล็อก ผู้โจมตีจะได้รับรหัสผ่านหรือ passkeyPassword จากนั้นเรียกใช้ GET_SEED_PHRASE เพื่อรับวลีช่วยจำของกระเป๋าเงิน (คล้ายกับคีย์ส่วนตัว) แล้วนำวลีช่วยจำนั้นไปใส่ใน "errorMessage"

ต่อไปนี้คือโค้ดที่ใช้ emit เพื่อเรียก GetSeedPhrase เพื่อดึงข้อมูลวลีช่วยจำและใส่ลงในส่วนข้อผิดพลาด

การวิเคราะห์การรับส่งข้อมูลโดยใช้ BurpSuite แสดงให้เห็นว่า หลังจากได้รับวลีช่วยจำแล้ว วลีดังกล่าวจะถูกห่อหุ้มไว้ในฟิลด์ errorMessage ของเนื้อหาคำขอและส่งไปยังเซิร์ฟเวอร์ที่เป็นอันตราย (https://api.metrics-trustwallet.com) ซึ่งสอดคล้องกับการวิเคราะห์ก่อนหน้านี้

กระบวนการข้างต้นเป็นการโจมตีเพื่อขโมยวลีช่วยจำ/รหัสส่วนตัวเสร็จสมบูรณ์ นอกจากนี้ ผู้โจมตีน่าจะคุ้นเคยกับซอร์สโค้ดที่ขยายออกไป เนื่องจากพวกเขาใช้แพลตฟอร์มวิเคราะห์ผลิตภัณฑ์แบบครบวงจรโอเพนซอร์ส PostHogJS เพื่อรวบรวมข้อมูลกระเป๋าเงินของผู้ใช้
การวิเคราะห์ทรัพย์สินที่ถูกขโมย
(https://t.me/investigations/296)
จากข้อมูลที่อยู่ของแฮ็กเกอร์ที่เปิดเผยโดย ZachXBT สถิติของเราแสดงให้เห็นว่า ณ เวลาที่เขียนบทความนี้ มีสินทรัพย์ประมาณ 33 BTC (มูลค่าประมาณ 3 ล้านดอลลาร์สหรัฐ) ถูกขโมยไปจากบล็อกเชน Bitcoin ประมาณ 431 ดอลลาร์สหรัฐจากบล็อกเชน Solana และประมาณ 3 ล้านดอลลาร์สหรัฐจากบล็อกเชนต่างๆ รวมถึง Ethereum mainnet และ Layer 2 หลังจากขโมยแล้ว แฮ็กเกอร์ได้โอนและแลกเปลี่ยนสินทรัพย์บางส่วนโดยใช้ตลาดแลกเปลี่ยนแบบรวมศูนย์และสะพานเชื่อมข้ามบล็อกเชนต่างๆ


สรุป
เหตุการณ์ช่องโหว่นี้เกิดจากการแก้ไขซอร์สโค้ดภายในของ Trust Wallet (ส่วนตรรกะของบริการวิเคราะห์) อย่างเป็นอันตราย มากกว่าการนำแพ็กเกจบุคคลที่สามทั่วไปที่ถูกดัดแปลงมาใช้ (เช่น แพ็กเกจ npm ที่เป็นอันตราย) ผู้โจมตีได้แก้ไขโค้ดของแอปพลิเคชันโดยตรง โดยใช้ไลบรารี PostHog ที่ถูกต้องเพื่อเปลี่ยนเส้นทางข้อมูลการวิเคราะห์ไปยังเซิร์ฟเวอร์ที่เป็นอันตราย ดังนั้น เราจึงมีเหตุผลที่จะเชื่อว่านี่เป็นการโจมตี APT ระดับมืออาชีพ และผู้โจมตีอาจควบคุมอุปกรณ์หรือสิทธิ์การใช้งานของนักพัฒนา Trust Wallet ได้ก่อนวันที่ 8 ธันวาคม
คำแนะนำ:
1. หากคุณได้ติดตั้งส่วนขยายกระเป๋าเงิน Trust Wallet แล้ว คุณควรตัดการเชื่อมต่อจากอินเทอร์เน็ตทันทีเพื่อเป็นขั้นตอนเบื้องต้นในการแก้ไขปัญหาและดำเนินการใดๆ
2. ส่งออกรหัสส่วนตัว/วลีช่วยจำของคุณทันที และถอนการติดตั้งส่วนขยายกระเป๋าเงิน Trust Wallet
3. หลังจากสำรองข้อมูลรหัสส่วนตัว/วลีช่วยจำแล้ว ให้โอนเงินของคุณไปยังกระเป๋าเงินอื่นโดยเร็วที่สุด


