
การโจมตีแบบ supply chain attack ครั้งนี้ เกิดขึ้นจากการที่แฮ็กเกอร์ใช้วิธีการฟิชชิ่งเพื่อเข้าถึงบัญชีของผู้ดูแลแพ็กเกจ ก่อนจะฝังมัลแวร์ลงในแพ็กเกจ NPM ซึ่งมียอดดาวน์โหลดรวมสูงถึง 2.6 พันล้านครั้งต่อสัปดาห์
Josh Junon (qix) ผู้ดูแลแพ็กเกจที่ตกเป็นเป้าหมายในการโจมตีแบบ supply chain attack ครั้งนี้ ได้ออกมายืนยันเมื่อวันที่ 8 กันยายน 2025 ว่า บัญชีของเขาถูกเข้าถึง โดยเปิดเผยว่า แฮ็กเกอร์ส่งอีเมลฟิชชิงมาจากที่อยู่อีเมล support [at] npmjs [dot] help ซึ่งเป็นโดเมนของเว็บไซต์ที่ปลอมเป็น npmjs.com
ในอีเมลดังกล่าว ผู้โจมตีใช้วิธีการข่มขู่โดยระบุในอีเมลว่า บัญชีของผู้ดูแลแพ็กเกจจะถูกระงับการใช้งานในวันที่ 10 กันยายน 2025 เพื่อเร่งให้เหยื่อคลิกลิงก์ที่นำไปยังเว็บไซต์ฟิชชิง
อีเมลฟิชชิงฉบับนี้ระบุว่า "เพื่อแสดงถึงความมุ่งมั่นในการรักษาความปลอดภัยของบัญชีอย่างต่อเนื่อง ขอให้ผู้ใช้งานทุกคนดำเนินการอัปเดตข้อมูลการยืนยันตัวตนแบบสองขั้นตอน (2FA) โดยจากข้อมูลพบว่าท่านไม่ได้อัปเดต 2FA มานานกว่า 12 เดือนแล้ว"
"เพื่อรักษาความปลอดภัย และความสมบูรณ์ของบัญชี ขอความกรุณาให้ท่านดำเนินการอัปเดตโดยเร็วที่สุด และโปรดทราบว่าบัญชีที่ยังใช้ข้อมูล 2FA เก่า จะถูกล็อกชั่วคราวตั้งแต่วันที่ 10 กันยายน 2025 เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต"

จากรายงานของผู้ที่ได้รับข้อความฟิชชิงพบว่า ผู้โจมตีได้ใช้อีเมลเดียวกันนี้ในการโจมตีเป้าหมายอื่น ๆ ด้วย ซึ่งรวมถึงผู้ดูแลแพ็กเกจ และนักพัฒนาคนอื่น ๆ
BleepingComputer พบว่าเว็บไซต์ npmjs[.]help ยังมีแบบฟอร์มเข้าสู่ระบบ ซึ่งจะขโมย credentials ที่กรอกไปยัง URL :
ทีมงาน NPM ได้ดำเนินการลบแพ็กเกจเวอร์ชันที่เป็นอันตรายที่แฮ็กเกอร์เป็นผู้เผยแพร่ออกไปแล้ว รวมถึงแพ็กเกจ debug ที่มียอดดาวน์โหลดสูงถึง 357.6 ล้านครั้งต่อสัปดาห์ด้วย หลังจากที่ตรวจพบเหตุการณ์ดังกล่าว

The supply chain attack
Aikido Security ผู้วิเคราะห์การโจมตีครั้งนี้ระบุว่า หลังจากที่กลุ่มผู้ไม่หวังดีเข้าควบคุมแพ็กเกจได้ พวกเขาได้อัปเดตแพ็กเกจเหล่านั้นโดยฝังโค้ดอันตรายลงในไฟล์ index.js ซึ่งจะทำหน้าที่ในการดักจับข้อมูลผ่านเบราว์เซอร์ โดยสามารถแทรกแซงการรับส่งข้อมูลเครือข่าย และ API ของแอปพลิเคชันได้
โค้ดนี้ส่งผลกระทบเฉพาะผู้ใช้งานที่เข้าถึงแอปพลิเคชันที่ถูกบุกรุกผ่านทางเว็บเท่านั้น โดยจะทำการตรวจสอบธุรกรรมที่เกี่ยวข้องกับคริปโต และเปลี่ยนแปลง addresses ปลายทางไปยังกระเป๋าเงินที่แฮ็กเกอร์ควบคุมอยู่ ส่งผลให้เงินถูกยึดโดยผู้โจมตี
มัลแวร์ดังกล่าวจะฝังตัวอยู่ในเว็บเบราว์เซอร์เพื่อติดตาม wallet addresses และการโอนเงินคริปโตยอดนิยม เช่น Ethereum, Bitcoin, Solana, Tron, Litecoin และ Bitcoin Cash เมื่อตรวจพบธุรกรรมคริปโตผ่านเครือข่าย มัลแวร์จะเปลี่ยน addresses ปลายทางเป็นของผู้โจมตี
ตามรายงานของ Aikido โค้ดอันตรายนี้ทำงานโดยการแทรกแซงฟังก์ชัน JavaScript ได้แก่ fetch, XMLHttpRequest รวมถึง wallet APIs อย่าง window.ethereum และ Solana เป็นต้น
แพ็กเกจที่ถูกแฮ็กจนถึงขณะนี้มียอดดาวน์โหลดรวมมากกว่า 2.6 พันล้านครั้งต่อสัปดาห์ (สามารถตรวจสอบเวอร์ชันของแพ็กเกจที่ได้รับผลกระทบได้ที่นี่):
- backslash (ดาวน์โหลด 0.26 ล้านครั้งต่อสัปดาห์)
- chalk-template (ดาวน์โหลด 3.9 ล้านครั้งต่อสัปดาห์)
- supports-hyperlinks ( ดาวน์โหลด 19.2ล้านครั้งต่อสัปดาห์)
- has-ansi (ดาวน์โหลด 12.1 ล้านครั้งต่อสัปดาห์)
- simple-swizzle (ดาวน์โหลด 26.26 ล้านครั้งต่อสัปดาห์)
- color-string (ดาวน์โหลด 27.48 ล้านครั้งต่อสัปดาห์)
- error-ex (ดาวน์โหลด 47.17 ล้านครั้งต่อสัปดาห์)
- color-name (ดาวน์โหลด 191.71 ล้านครั้งต่อสัปดาห์)
- is-arrayish (ดาวน์โหลด 73.8 ล้านครั้งต่อสัปดาห์)
- slice-ansi (ดาวน์โหลด 59.8 ล้านครั้งต่อสัปดาห์)
- color-convert (ดาวน์โหลด 193.5 ล้านครั้งต่อสัปดาห์)
- wrap-ansi (ดาวน์โหลด 197.99 ล้านครั้งต่อสัปดาห์)
- ansi-regex (ดาวน์โหลด 243.64 ล้านครั้งต่อสัปดาห์)
- supports-color (ดาวน์โหลด 287.1 ล้านครั้งต่อสัปดาห์)
- strip-ansi (ดาวน์โหลด 261.17 ล้านครั้งต่อสัปดาห์)
- chalk (ดาวน์โหลด 299.99 ล้านครั้งต่อสัปดาห์)
- debug (ดาวน์โหลด 357.6 ล้านครั้งต่อสัปดาห์)
- ansi-styles (ดาวน์โหลด 371.41 ล้านครั้งต่อสัปดาห์)
Charlie Eriksen นักวิจัยจาก Aikido Security อธิบายว่า แพ็กเกจเหล่านี้ถูกอัปเดตให้มีโค้ดที่ทำงานบนฝั่งผู้ใช้เว็บไซต์อย่างลับ ๆ โดยโค้ดนี้จะดักจับกิจกรรมที่เกี่ยวข้องกับคริปโต และ web3 ในเบราว์เซอร์ ปรับเปลี่ยน wallet interactions และเปลี่ยนปลายทางการชำระเงิน ทำให้เงินถูกส่งไปยังบัญชีที่ผู้โจมตีควบคุม โดยที่ผู้ใช้ไม่รู้ตัว
สิ่งที่ทำให้โค้ดนี้น่ากลัว คือมันทำงานในหลายระดับ ทั้งการแก้ไขเนื้อหาที่แสดงบนเว็บไซต์, แทรกแซง API calls และควบคุมข้อมูลที่แอปพลิเคชันของผู้ใช้คิดว่ากำลัง signing อย่างถูกต้องอยู่
แม้ว่าการโจมตีครั้งนี้จะเป็นการโจมตีแบบ supply chain attack แต่ Andrew MacPherson วิศวกรความปลอดภัยอาวุโสจาก Privy บอกกับ BleepingComputer ว่า ยังมีเกณฑ์เฉพาะบางอย่างที่แอปต้องตรงตามเงื่อนไขจึงจะได้รับผลกระทบ ซึ่งช่วยลดความรุนแรงของเหตุการณ์ลงอย่างมาก โดยเกณฑ์เหล่านี้ได้แก่:
- การติดตั้งแอปใหม่ในช่วงเวลาประมาณ 9:00 น. ถึง 11:30 น. ตามเวลาโซนตะวันออก (ET) ซึ่งเป็นช่วงที่แพ็กเกจถูกแทรกแซง
- ไฟล์ package-lock.json ถูกสร้างขึ้นในช่วงเวลานั้น
- Vulnerable packages อยู่ใน dependencies ทั้งแบบโดยตรง และแบบแฝง (transient dependencies)
การโจมตีแบบ supply chain attack ครั้งนี้ เป็นเหตุการณ์ต่อเนื่องจากการโจมตีที่คล้ายกันซึ่งเกิดขึ้นบ่อยครั้งในช่วงหลายเดือนที่ผ่านมา โดยมุ่งเป้าไปที่นักพัฒนาไลบรารี JavaScript ที่ได้รับความนิยม ตัวอย่างเช่น ในเดือนกรกฎาคม แฮ็กเกอร์ได้เข้ายึดแพ็กเกจ eslint-config-prettier ซึ่งมียอดดาวน์โหลดมากกว่า 30 ล้านครั้งต่อสัปดาห์
นอกจากนี้ในเดือนมีนาคม ไลบรารี npm ที่ใช้กันอย่างแพร่หลายอีกสิบรายการก็ถูกยึด และเปลี่ยนเป็นมัลแวร์ขโมยข้อมูล
ทั้งการโจมตีแบบฟิชชิง และมัลแวร์ที่ฝังอยู่ แสดงให้เห็นว่าเว็บเบราว์เซอร์ได้กลายเป็นเป้าหมายหลักในการโจรกรรมข้อมูลระบุตัวตน, การปรับเปลี่ยนข้อมูลการรับส่ง และการเจาะระบบเครือข่าย
ที่มา: bleepingcomputer.com

You must be logged in to post a comment.