
พบการโจมตี Supply Chain รูปแบบใหม่ภายใต้ชื่อ “mini Shai Hulud” ซึ่งได้แพร่ระบาดไปยังแพ็กเกจ npm ที่เกี่ยวข้องกับ SAP จำนวน 4 รายการ โดยการแทรกสคริปต์อันตรายไว้ในส่วนของ preinstall ที่จะทำงานโดยอัตโนมัติขณะที่มีการติดตั้งแพ็กเกจ
การโจมตีนี้มุ่งเป้าไปที่สภาพแวดล้อมการทำงานของนักพัฒนา และระบบ CI/CD เพื่อขโมยข้อมูล Credentials จาก GitHub, npm และผู้ให้บริการคลาวด์รายใหญ่
นักวิจัยด้านความปลอดภัยจาก StepSecurity, Aikido Security, SafeDep, Socket และ Wiz พบว่า เวอร์ชันที่เป็นอันตรายของแพ็กเกจ SAP Cloud Application Programming Model (CAP) ที่ถูกต้องตามปกติ รวมถึง @cap-js/sqlite, @cap-js/postgres, @cap-js/db-service และ mbt ถูกเผยแพร่พร้อมกับเครื่องมือที่เป็นอันตรายภายใน package.json
สิ่งที่ทำให้การโจมตีนี้แตกต่างจากแคมเปญก่อนหน้านี้คือ การใช้เทคนิคการหลบเลี่ยงรูปแบบใหม่ โดยแทนที่จะใช้ Node.js ในการเรียกใช้ชุดคำสั่งอันตราย ตัว Dropper script (setup.mjs) จะทำการดาวน์โหลด Bun JavaScript runtime ในระหว่างการติดตั้ง และใช้มันเพื่อเรียกใช้ payload ขั้นที่สองขนาด 11 MB ที่ถูกเข้ารหัสอย่างซับซ้อน (execution.js)
การเลือกใช้สถาปัตยกรรมเช่นนี้ถือเป็นความตั้งใจ เนื่องจากรูปแบบการทำงานของ Bun ส่วนใหญ่จะอยู่นอกเหนือขอบเขตการตรวจจับของเครื่องมือ Static analysis และเครื่องมือรักษาความปลอดภัยส่วนใหญ่ที่มุ่งเน้นไปที่การตรวจสอบ Node.js เป็นหลัก
การโจมตีแบบหลายขั้นตอน และการขโมยข้อมูล Credential
เมื่อ setup.mjs ถูกเรียกใช้งาน มันจะไปดึง และเปิดใช้งาน execution.js ซึ่งเป็นเฟรมเวิร์กขโมยข้อมูล Credential และแพร่กระจายอัตโนมัติที่มีคุณสมบัติครบถ้วน โดยหลังจากถอดรหัสแล้ว พบว่าชุดคำสั่งขั้นตอนที่สองนี้จะทำการเก็บรวบรวมข้อมูลอย่างเป็นระบบ เช่น
- GitHub tokens และข้อมูล Credential npm จากเครื่องทำงานของนักพัฒนา
- Cloud secrets ของ provider - AWS, Azure และ GCP environment variables
- Kubernetes tokens และข้อมูล Credential ของ service account
- GitHub Actions secrets รวมถึง runtime secrets ที่ถูกดึงออกมาจากหน่วยความจำของ Runner โดยตรง
ข้อมูลที่ถูกขโมยจะถูกเข้ารหัส และส่งออก ผ่าน GitHub repositories ที่ผู้โจมตีควบคุมอยู่ ซึ่งเป็นรูปแบบการส่งข้อมูลออกชุดเดียวกับในแคมเปญ Shai-Hulud ดั้งเดิม
มัลแวร์ยังมีความสามารถในการแพร่กระจายตัว โดยใช้ npm tokens ที่ขโมยมาเพื่อระบุแพ็กเกจอื่น ๆ ภายใต้บัญชีของผู้ดูแลระบบที่ถูกบุกรุก จากนั้นจะแทรกโค้ดอันตราย และเผยแพร่ซ้ำ ทำให้เกิดการแพร่กระจายแบบทวีคูณในระบบของ npm ได้โดยอัตโนมัติโดยที่ผู้โจมตีไม่ต้องลงมือเอง
ในช่วงเริ่มต้นการทำงาน มัลแวร์จะทำการตรวจสอบขอบเขตทางภูมิศาสตร์แบบเจาะจง โดยจะตรวจสอบการตั้งค่าวันที่/เวลา และตัวแปรภาษาของระบบ เพื่อหาค่าที่ขึ้นต้นด้วย 'ru'
หากระบบถูกกำหนดค่าเป็นภาษารัสเซีย มัลแวร์จะยุติการทำงานทันที เพื่อให้มั่นใจว่าจะไม่มีข้อมูลถูกขโมยออกไปจากสภาพแวดล้อมที่ใช้ภาษารัสเซีย ซึ่งการยกเว้นอย่างจงใจนี้เป็นเอกลักษณ์ที่ปรากฏให้เห็นซ้ำ ๆ ในแคมเปญของกลุ่ม TeamPCP
นักวิจัยระบุด้วยความมั่นใจว่า แคมเปญนี้เป็นฝีมือของกลุ่ม TeamPCP โดยสังเกตจาก technical signatures หลายประการที่ตรงกับการปฏิบัติการของ TeamPCP ที่เคยมุ่งเป้าไปที่แพ็กเกจอย่าง Trivy, LiteLLM และ Checkmarx KICS ตัวบ่งชี้สำคัญในการระบุผู้กระทำผิด ประกอบด้วย:
- การใช้ __decodeScrambled cipher ชุดเดียวกัน ในการเข้ารหัสข้อมูล ก่อนจะส่งไปยัง repositories
- ขั้นตอนการยุติการทำงานล่วงหน้าเมื่อพบภาษารัสเซีย
- ไฟล์ dropper ที่ใช้ร่วมกัน (setup.mjs — SHA256: 4066781fa830224c8bbcc3aa005a396657f9c8f9016f9a64ad44a9d7f5f45e34) ซึ่งปรากฏอยู่ในแพ็กเกจทั้ง 4 รายการ
- รูปแบบการบุกรุกโครงสร้างพื้นฐานที่สอดคล้องกัน ได้แก่ การรันคำสั่งขณะติดตั้ง, การส่งข้อมูลออกไปยังโฮสต์ภายนอก และการแพร่กระจายตัวเองโดยใช้บัญชีที่ถูกยึดครอง
แพ็กเกจ และ IOC ที่ได้รับผลกระทบ

ไฟล์ setup.mjs ที่ใช้ร่วมกัน (SHA1: 307d0fa7407d40e67d14e9d5a4c61ac5b4f20431) ปรากฏอยู่ในแพ็กเกจทั้ง 4 รายการ
ไฟล์ execution.js สำหรับแพ็กเกจ @cap-js/postgres และ @cap-js/db-service ยังเป็นตัวเดียวกันทุกประการ (SHA256: eb6eb4154b03ec73218727dc643d26f4e14dfda2438112926bb5daf37ae8bcdb)
องค์กรที่ใช้งานเครื่องมือ SAP CAP ควรตรวจสอบการใช้ CI/CD pipeline ทันที พร้อมทั้งทำการเปลี่ยน ข้อมูล secrets ทั้งหมดที่อยู่ในสภาพแวดล้อมที่ได้รับผลกระทบ และบล็อกเวอร์ชันของแพ็กเกจที่เป็นอันตรายตามที่ระบุไว้ข้างต้น
ทีมรักษาความปลอดภัยควรเฝ้าระวังการดาวน์โหลด Bun runtime ที่ผิดปกติในระหว่างการดำเนินการติดตั้ง npm ด้วย เนื่องจากพฤติกรรมนี้เป็นตัวบ่งชี้ใหม่ที่เฉพาะเจาะจงกับแคมเปญการโจมตีนี้ ทั้งนี้ได้มีการแจ้งข้อมูลอย่างเป็นทางการไปยังผู้ดูแลแพ็กเกจทั้งหมดที่ได้รับผลกระทบเป็นที่เรียบร้อยแล้ว
ที่มา : Cybersecuritynews

You must be logged in to post a comment.