สรุปสั้น
Recovery phrase (หรือ seed phrase) คือ ชุดคำ 12–24 คำที่ใช้กู้กระเป๋าคริปโต ใครได้ไปก็คุมกระเป๋าและเหรียญทั้งหมดได้ทันที ต้นเดือนนี้บริษัท Socket เพิ่งพบเอ็กซ์เทนชัน Firefox อันตราย 16 ตัวที่ปลอมเป็น Rabby และ OKX (2026/10/054
) ล่าสุดเมื่อวันที่ 27 ตุลาคม 2569 Socket รายงานเอ็กซ์เทนชันอีก 3 ตัวบนร้าน Firefox Add-ons ที่สวมรอยกระเป๋า Phantom, Jupiter และ Bitget โดยลอกชื่อ ไอคอน และคำโฆษณาของของจริง เมื่อเหยื่อกรอกหรือวาง recovery phrase หรือ private key โค้ดจะดักจับแล้วส่งไปยังโดเมนย่อยของ bonto[.]io ซึ่งเป็นเซิร์ฟเวอร์ C2 ของผู้โจมตี
ตัวปลอม Phantom ซับซ้อนที่สุด เพราะซ่อน loader ที่ส่งคำตอบไม่อันตรายระหว่างที่ Mozilla รีวิว แล้วค่อยส่งตัวขโมยหลังผ่าน มีระบบดูดเงินไปยังกระเป๋าของผู้โจมตีบนเชน 9 สาย และปั่นรีวิวจนคะแนนขึ้นกลบรีวิวของคนที่บอกว่าเสียเงิน ทั้ง 3 ตัวถูกถอดจากร้านแล้ว แต่การลบเอ็กซ์เทนชันไม่ได้ทำให้ phrase ที่หลุดไปปลอดภัย ผู้ที่เคยกรอก phrase หรือ key ต้องสร้างกระเป๋าใหม่บนเครื่องที่สะอาดและย้ายเงินทันที
รายละเอียดข่าว
เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 28 ตุลาคม 2569 ว่าเอ็กซ์เทนชัน Firefox อันตราย 3 ตัวปลอมเป็นกระเป๋าคริปโต Phantom, Jupiter และ Bitget เพื่อขโมย recovery phrase และ private key โดยอ้างอิงผลวิจัยที่ Socket เผยแพร่เมื่อวันที่ 27 ตุลาคม ทั้ง 3 ตัวยังเปิดให้ดาวน์โหลดบนร้านระหว่างการวิจัย และถูกถอดออกแล้ว
ด้าน Socket ระบุว่าแต่ละตัวมาจากบัญชีนักพัฒนาแบบใช้แล้วทิ้งคนละบัญชี ทำให้ถอดพร้อมกันได้ช้า ตัวปลอม Phantom ใช้อักษร Unicode หน้าตาคล้ายกันในชื่อจนบนจอเห็นเป็น “Phantom” ใช้ไอคอนผีของจริง และเรียกตัวเองว่า “Official Phantom Wallet (Firefox Update)” ตัวปลอม Jupiter อ้างว่าสร้างโดย Jupiter Exchange ส่วนตัวปลอม Bitget ใช้ชื่อภายใน “TabFlow Pro” แต่แสดงแบรนด์ Bitget ทั้ง 3 ตัวไม่มีนโยบายความเป็นส่วนตัว และประกาศว่าไม่เก็บข้อมูลใด ๆ
Socket ยังพบการปั่นชื่อเสียง ภายในราว 2 วัน รีวิวของตัวปลอม Phantom เพิ่มจาก 275 เป็น 546 รีวิว และคะแนนขึ้นจาก 2.9 เป็น 3.9 ซึ่งดันรีวิว 1 ดาวของผู้ใช้ที่บอกว่าเสียเงินลงไป เอ็กซ์เทนชันมีผู้ใช้รายวันเพียง 1–3 ราย แต่เซิร์ฟเวอร์ยังทำงานอยู่ และยังมีโดเมนย่อย coinbase[.]bonto[.]io กับ exodus[.]bonto[.]io ที่ใช้งานได้ ซึ่งชี้ว่ากลุ่มนี้วางแผนปลอมเป็น Coinbase Wallet และ Exodus ด้วย แม้ยังไม่พบรายการบนร้าน
ข้อจำกัดของหลักฐาน คือ คำร้องเรียนว่าเสียเงินในรีวิวยังไม่ได้รับการยืนยัน รายงานไม่ได้ระบุมูลค่าความเสียหายรวม และ Socket เพียงประเมินว่ากลุ่มนี้คล้ายผู้กระทำซ้ำแบบแคมเปญ Offside Wallet Theft Factory ที่ Socket เคยโยงกับเอ็กซ์เทนชัน Firefox 77 ตัว ยังไม่ได้ระบุว่าเป็นกลุ่มเดียวกัน

วิธีการโจมตี
ขั้นที่ 1: หลอกให้ติดตั้ง — ผู้ใช้ที่ค้นหาชื่อกระเป๋าบนร้าน Firefox Add-ons อาจเลือกตัวปลอมเพราะชื่อ ไอคอน และคำบรรยายเหมือนของจริง และคะแนนรีวิวที่ถูกปั่นทำให้ดูน่าเชื่อถือ
ขั้นที่ 2: loader ที่เปลี่ยนพฤติกรรมหลังรีวิว (เฉพาะตัวปลอม Phantom) — สคริปต์เบื้องหลังมี loader ขนาดเล็กที่ซ่อนที่อยู่เซิร์ฟเวอร์ไว้ในรายการตัวเลข แล้วดึงไฟล์ตั้งค่าจาก phantom[.]bonto[.]io/config ไฟล์นี้สั่งว่าจะให้ทำงานหรือไม่ และพกตัวขโมยที่เข้ารหัส base64 มาด้วย เพราะผู้โจมตีคุมเซิร์ฟเวอร์เอง จึงตอบแบบไม่อันตรายระหว่างรีวิวได้ ในแพ็กเกจมีไฟล์ server-review.js ที่ตอบสถานะไม่ทำงานระหว่างรีวิว และคอมเมนต์ในโค้ดระบุว่า payload จะทำงาน “หลัง approval flip” หรือหลังผ่านการรีวิว แต่ Socket ชี้ว่าทั้ง 3 แพ็กเกจมีตัวขโมยที่ทำงานตลอดอยู่ในโค้ดที่ลงนามแล้วตั้งแต่แรก loader จึงเป็นแค่ชั้นเสริม
ขั้นที่ 3: ดักจับ phrase และ key — ตัวขโมยรันในทุกหน้าที่เหยื่อเปิด จึงอ่าน object ในหน้าของกระเป๋าได้ มันเฝ้าดู recovery phrase ขนาด 12, 15, 18 และ 24 คำ และ private key รูปแบบ Ethereum และ Solana ทั้งในช่องกรอกข้อความ เหตุการณ์วาง (paste) และตารางคำแบบมีเลขกำกับที่กระเป๋าแสดงในหน้า secret phrase แล้วส่งออกเป็น JSON ตัวปลอม Jupiter และ Bitget ส่ง phrase ตรงไปที่ jupiter[.]bonto[.]io และ bitget[.]bonto[.]io และตัวปลอม Jupiter ขอสิทธิ์เข้าถึง Trezor Connect ด้วย
ขั้นที่ 4: ดูดเงิน — แพ็กเกจ Phantom มี backend ดูดเงินของผู้โจมตีติดมาด้วยในไฟล์ Node.js ชื่อ server.js ซึ่งบันทึกข้อมูลที่ขโมยได้ลงไฟล์ ส่งเข้าบอท Telegram และโอนเงินไปยังกระเป๋าที่ฝังไว้บน Ethereum, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche, Solana และ Bitcoin เซิร์ฟเวอร์ทั้งหมดอยู่หลัง Cloudflare จึงซ่อนโฮสต์จริงไว้
ร่องรอยการใช้ AI — แพ็กเกจ Phantom และ Jupiter มีไฟล์ CLAUDE.md ซึ่งเป็น prompt สำหรับ jailbreak AI ที่ไม่เคยถูกโหลด Socket ตีความว่าชี้ถึงการใช้ AI ช่วยเขียนมัลแวร์ และอาจเป็นความพยายามหลอกระบบรีวิวที่ใช้ AI
ผลกระทบ
กลุ่มที่โดน คือ ผู้ใช้ Firefox ที่ติดตั้งกระเป๋าคริปโตจากการค้นหาในร้าน แม้จำนวนผู้ใช้ที่ติดตั้งดูน้อย แต่การเสีย recovery phrase ครั้งเดียวเท่ากับเสียเงินทั้งกระเป๋าบนทุกเชนที่ผูกกับ phrase นั้น และธุรกรรมบนบล็อกเชนย้อนคืนไม่ได้
ในภาพรวม นี่เป็นระลอกที่สองในเดือนเดียวที่ Socket พบเอ็กซ์เทนชันกระเป๋าปลอมบนร้าน Firefox เทคนิคที่ส่งคำตอบไม่อันตรายระหว่างรีวิวและการใช้บัญชีนักพัฒนาแบบทิ้งแสดงว่าผู้โจมตีออกแบบมาเพื่อหลบการตรวจของร้านโดยเฉพาะ การรีวิวของร้านค้าจึงไม่ใช่หลักประกันว่าเอ็กซ์เทนชันปลอดภัย
คำแนะนำ
- ถ้าเคยกรอก recovery phrase หรือ private key ในเอ็กซ์เทนชันเหล่านี้ ให้สร้างกระเป๋าใหม่บนเครื่องที่สะอาดและย้ายเงินทั้งหมดทันที อย่าใช้ phrase เดิมต่อ แม้ลบเอ็กซ์เทนชันไปแล้ว
- ติดตั้งเอ็กซ์เทนชันกระเป๋าจากลิงก์บนเว็บไซต์ทางการของผู้ผลิตกระเป๋าเท่านั้น ไม่ใช่จากการค้นหาในร้าน และตรวจชื่อผู้พัฒนาก่อนติดตั้ง
- จำไว้ว่ากระเป๋าจริงไม่ขอ recovery phrase บนหน้าเว็บ ยกเว้นตอนกู้กระเป๋าที่ผู้ใช้เริ่มเองในแอปทางการ
- ฝ่ายความปลอดภัยควรบล็อก
bonto[.]ioและโดเมนย่อยทั้งหมด ที่ DNS และ proxy แล้วค้นล็อกย้อนหลังหาการเชื่อมต่อ - ตรวจเอ็กซ์เทนชันในเครื่ององค์กร ด้วย Add-on ID ใน IoCs และกำหนด allowlist ผ่าน Enterprise Policy ของ Firefox (
ExtensionSettings) เพื่อห้ามติดตั้งเอ็กซ์เทนชันนอกรายการ - ล่าหาเอ็กซ์เทนชันที่ดึงไฟล์ตั้งค่าจากเซิร์ฟเวอร์แล้วรันผลลัพธ์เป็นโค้ด ซึ่งเป็นรูปแบบที่ใช้หลบการรีวิว
Indicators of Compromise (IoCs)
โดเมนและ IP ทั้งหมด defang แล้ว (เช่น [.]) เพื่อป้องกันการคลิกหรือ resolve โดยไม่ตั้งใจ
| ประเภท | Indicator | รายละเอียด |
|---|---|---|
| Domain | bonto[.]io | โดเมนหลักของ C2 |
| Subdomain | phantom[.]bonto[.]io | ส่ง payload ขั้นที่สองและรับข้อมูลที่ขโมย |
| Subdomain | jupiter[.]bonto[.]io | รับข้อมูลที่ขโมย |
| Subdomain | bitget[.]bonto[.]io | รับข้อมูลที่ขโมย |
| Subdomain | coinbase[.]bonto[.]io | โฮสต์ที่เตรียมไว้ |
| Subdomain | exodus[.]bonto[.]io | โฮสต์ที่เตรียมไว้ |
| IP address | 104[.]21[.]34[.]69 | ตัวบ่งชี้เครือข่าย |
| IP address | 172[.]67[.]155[.]198 | ตัวบ่งชี้เครือข่าย |
| C2 endpoint | hxxps://phantom[.]bonto[.]io/config | ไฟล์ตั้งค่า payload |
| C2 endpoint | hxxps://phantom[.]bonto[.]io/ | C2 ของตัวปลอม Phantom |
| C2 endpoint | hxxps://jupiter[.]bonto[.]io/ | C2 ของตัวปลอม Jupiter |
| C2 endpoint | hxxps://bitget[.]bonto[.]io/ | C2 ของตัวปลอม Bitget |
| EVM wallet | 0x93ce11fAA9FC83741e8b392879b383bcc5f7f3Ad | ETH, BSC, Polygon, Arbitrum, Optimism, Base, Avalanche |
| Solana wallet | GCo8tAh5WjAuH51bnRZtkmKDRuoXHFDNz9MZY25Zuvsr | กระเป๋ารับเงินที่ฝังในโค้ด |
| Bitcoin wallet | bc1qrsfyjrsel924nny9q0qak5cfyf7pahmsydwnrq | กระเป๋ารับเงินที่ฝังในโค้ด |
| Telegram bot token | 8834114695:AAGC99–r8KFikBpDw5JCkAteIc4cRi2VTU | ช่องทางส่งข้อมูลออก |
| Telegram chat ID | -5433023573 | ช่องทางส่งข้อมูลออก |
| AMO developer account | anonymous-30b17a249a34fdf5d2be64b3dfcc8494 (user id 20229996) | ผู้สวมรอย Phantom |
| AMO developer account | anonymous-3efb89873d4c425c012cd1cb1736629a (user id 20231205) | ผู้สวมรอย Jupiter |
| AMO developer account | anonymous-ca2bf8b1ba371a1426c1049d9dad8168 (user id 20229610) | ผู้สวมรอย Bitget |
| Add-on | ID 3092199, v25.6.0, gecko ID a8f3k2m9x1fefb7q4n6p0r5t@j2w8c4fefy6v1d3z9 | ตัวปลอม Phantom |
| Add-on | ID 3092666, v1.19.2, gecko ID {48392751-9302-4817-5621-703829164830} | ตัวปลอม Jupiter |
| Add-on | ID 3092059, v2.21.8, gecko ID {c31e7a95-2f64-4b18-a0d3-6e92f5c7481b} | ตัวปลอม Bitget (TabFlow Pro) |
| SHA-256 | 311c49974f28d33947b8b74d78b48f51855eacac182d519a4fe1daa6af7f30e9 | XPI ตัวปลอม Phantom (ha-25.6.0.xpi) |
| SHA-256 | 999bccd41188a238a50d05b5aca8e35af45d107f32d7443389313816f0cb226a | payload ขั้นที่สองของ Phantom (2026-10-21) |
| SHA-256 | fd7b138f4fba003db332a4eee833e84491bf7ffec5a3d91f7451d7b95aabcf6a | XPI ตัวปลอม Jupiter (j_i-1.19.2.xpi) |
| SHA-256 | e688bff5df32f209b4ebb882985e3ad19ddee68666405c39ff523307068a8611 | XPI ตัวปลอม Bitget (3092059-2.21.8.xpi) |
