NEED HELP?
Get the help you need on our official LINE
qrcode
@incognitolab
Add Line Friends via QR Code
Go to LINE’s Add Friends menu Use Search by ID or QR Code to register!
156161381_4616112865119782_7949348037250711659_o (1)
ARTICLES 02 Mar 2021

Multiple Ways to Attack MetaMask

IncognitoLab Incognito Lab

MetaMask เป็น Crypto Wallet ประเภทหนึ่ง จัดเป็น hot wallet ในลักษณะของ software ไว้เชื่อมต่อกับ BlockChain Network โดยสิ่งสำคัญที่สุดของ MetaMask ก็คือ mnemonic phrase หรือ seed phrase ซึ่งหากเราทำหายไปหรือถูก Hacker ขโมยไปได้ก็เกมโอเวอร์ บทความนี้เขียนขึ้นเพื่อให้ผู้อ่านทุกท่านได้เห็นแนวความคิดและเทคนิคของ attacker ว่าถ้าจะโจมตี MetaMask จะมีวิธีไหนกันบ้าง

1. Vault Access ผ่าน browser extension
ในที่นี้ลองทดสอบกับ chrome ให้เปิด console จากนั้นให้ดึงค่า vault data ออกมา ด้วย

chrome.storage.local.get(‘data’, result => {
var vault = result.data.KeyringController.vault
console.log(vault)
})

Image for post

ดึงข้อมูล Vault ผ่าน DevTools

จากนั้นให้ copy output ทั้งหมดไป decrypt ด้วย MetaMask Vault Decryptor ดังรูป
*วิธีการนี้ต้องใช้ password

Image for post

2. Vault Access ผ่าน local file

ไปยัง path ของ MetaMask โดยเครื่องที่ใช้ในการทดสอบอยู่ที่ C:\Users\[username]\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn จากนั้นให้ไปที่ file .ldb (Microsoft Access Lock Information File)

Image for post

ให้เปิด file .ldb ให้ได้ โดยอาจจะใช้ HxD หา text string คำว่า “Keyring” ก็จะพบชุดข้อมูลของ Vault data ที่เราจะต้องไป decrypt ต่อ
*วิธีการนี้ต้องใช้ password

Image for post

3. โจมตีด้วย Man-in-the-browser
MitB attack จะทำการ intercept input/output ทุกอย่างบน browser ทำให้ attacker สามารถเปลี่ยนแปลงการแสดงผล หรือดักจับข้อมูลทุกอย่างบน browser ได้ หาก attacker เอามาใช้ดัก password หรือ seed phrase ก็ย่อมทำได้ซึ่งวิธีการนี้เป็นที่นิยมใช้โจมตี application พวก Internet Banking มาเกินกว่า 10 ปีแล้ว
https://www.fireeye.com/blog/threat-research/2010/02/man-in-the-browser.html

4. โจมตีด้วย malware
การใช้ malware สามารถพลิกแพลงได้หลากหลาย เช่นใช้ keylogger ดักจับการกด keystroke logging เพื่อขโมย password เอาไป decrypt ข้อมูล vault ต่อหรือจะทำ memory scraping attack ที่จะ dump ข้อมูลใน memory โดยได้ลองทดสอบ idea การโจมตีดังกล่าวในรายการ Incognito Mode Ep1 นาทีที่ 15

Image for post

ใช้ processhacker dump ข้อมูล string จาก memory ของ chrome process

สำหรับ memory scraping attack ไม่ใช่ท่าใหม่แต่อย่างใด attacker ชอบนำมาใช้กับการโจมตีระบบ PoS อยู่แล้ว สามารถดูรายละเอียดเพิ่มเติมได้จาก https://www.wired.com/wp-content/uploads/2014/09/wp-pos-ram-scraper-malware.pdf

5. ทำ extension ปลอม หลอกล่อให้คนติดตั้ง https://ciphertrace.com/alert-malicious-crypto-browser-extension-masked-metamask/

6. โจมตีด้วย phishing หลอกล่อขโมย password หรือ private key

แล้วจะป้องกันอย่างไร

ให้ระมัดระวังการโจมตีที่กล่าวถึง และใช้งาน MetaMask จากเครื่องของเราเท่านั้นอย่าไปซี้ซั้วใช้งานที่เครื่องที่เราไม่ได้เป็นเจ้าของ สำหรับวิธีการที่น่าจะเป็นทางเลือกที่ดีที่สุดในตอนนี้ก็คือหันไปใช้ hardware wallet แทน

UP NEXT