- แพ็กเกจ npm สองรายการคือ 'colortoolsv2' และ 'mimelib2' กำหนดเส้นทาง C2 ผ่านสัญญาอัจฉริยะ Ethereum เพื่อหลีกเลี่ยงการตรวจจับ
- คลังข้อมูลบอทซื้อขาย GitHub ปลอมสร้างความน่าเชื่อถือเกินจริงด้วยการยืนยันและบัญชีแบบจัดเตรียมไว้ก่อนจะเพิ่มการอ้างอิงที่เป็นอันตราย
- สัญญาแบบออนเชนเดียวกัน (0x1f171a1b07c108eae05a5bccbe86922d66227e2b) จัดเตรียม URL ขั้นที่สอง
- IoC ประกอบด้วยเวอร์ชันแพ็คเกจเฉพาะและแฮช SHA1 ทีมงานควรตรวจสอบการเรียกบล็อคเชนที่ไม่คาดคิดในสคริปต์การติดตั้ง
ReversingLabs ได้ทำเครื่องหมายแพ็คเกจ npm สองรายการ ที่ส่งต่อตรรกะการติดตั้งอย่างเงียบ ๆ ผ่านสัญญาอัจฉริยะของ Ethereum เปลี่ยนบล็อกเชนสาธารณะให้กลายเป็นไดเรกทอรีลับสำหรับโครงสร้างพื้นฐานแบบสั่งการและควบคุม (C2) แพ็กเกจ 'colortoolsv2' และ 'mimelib2' มีลักษณะเป็นยูทิลิตี้ง่าย ๆ พร้อมกับเปิดใช้งานการดึงข้อมูลเพย์โหลดขั้นที่สอง
โดยการเอาท์ซอร์สที่อยู่ C2 ให้กับสัญญาแบบออนเชน ผู้ประกอบการได้รวมการรับส่งข้อมูลของตนไว้ในสิ่งที่ดูเหมือนกิจกรรมบล็อคเชนทั่วไป ซึ่งเป็นการเคลื่อนไหวที่ ทำให้การตรวจจับแบบคงที่และตามชื่อเสียงมีความซับซ้อนสัญญาที่ 0x1f171a1b07c108eae05a5bccbe86922d66227e2b เปิดเผยฟังก์ชันการอ่านที่ส่งคืน URL ที่โปรแกรมติดตั้งจะติดต่อในภายหลัง
จากตัวโหลด npm ไปจนถึง C2 บนเชน

ภายใน 'colortoolsv2' มีบางอย่าง ตัวโหลด index.js เรียกใช้คำสั่งภายนอกซึ่งตำแหน่งไม่ได้ถูกฮาร์ดโค้ดไว้ในเครื่อง แต่กลับสอบถามข้อมูลจากสัญญาอัจฉริยะของ Ethereum สำหรับปลายทางที่จะนำทางโฮสต์ไปยังคำสั่งและการควบคุม
นักสำรวจสาธารณะชอบ Etherscan แสดงสัญญา เปิดเผยฟังก์ชันการอ่านแบบง่ายที่ส่งคืน URL โดยใช้เชนเป็นตัวชี้ที่ยืดหยุ่นไปยังโครงสร้างพื้นฐานของผู้โจมตีได้อย่างมีประสิทธิภาพ เนื่องจากฮอปสุดท้ายมาจากการเรียกบล็อกเชน ผู้ป้องกันจึงไม่เห็นโดเมนแบบคงที่ที่ฝังอยู่ในแพ็กเกจ npm
หลังจากการค้นพบ 'colortoolsv2' ได้ถูก ถูกบล็อคใน npm เมื่อวันที่ 7 กรกฎาคมไม่นานหลังจากนั้น ผู้ดำเนินการได้เผยแพร่ 'mimelib2' ซึ่งนำตรรกะที่แทบจะเหมือนกันมาใช้ซ้ำและสัญญาอัจฉริยะชุดเดียวกันเพื่อส่งมอบขั้นตอนที่สอง ตามการวิเคราะห์
เมื่อดำเนินการแล้ว ตัวโหลดจะดึงข้อมูล ส่วนประกอบขั้นที่สอง ซึ่งแฮชดังกล่าวได้รับการเผยแพร่โดยนักวิจัย (SHA1: 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21) การดำเนินการทางอ้อมนี้ทำให้ผู้โจมตีสามารถหมุนเวียนจุดหมายปลายทางได้ตามต้องการโดยการแก้ไขข้อมูลบนเชน แทนที่จะต้องบรรจุโค้ดใหม่
การเล่นเพื่อความน่าเชื่อถือของ GitHub เพื่อปกปิดการอ้างอิงที่เป็นอันตราย

ReversingLabs ยังติดตามเว็บของโครงการ GitHub ปลอมที่นำเสนอเป็น บอทซื้อขาย crypto, ประกอบไปด้วยการคอมมิตนับพันรายการ ผู้ดูแลระบบหลายราย สตาร์และผู้เฝ้าดูหลายราย คลังข้อมูลอย่างเช่น 'solana-trading-bot-v2' ดูมีชีวิตชีวา แต่กิจกรรมส่วนใหญ่เป็นเพียงระบบอัตโนมัติที่รก
การกระทำหลายครั้งทำให้เกิดไฟล์เล็กๆ น้อยๆ (เช่น การแก้ไข LICENSE ซ้ำๆ) ในขณะที่คลัสเตอร์ของ บัญชีที่คล้ายกันสร้างขึ้นประมาณวันที่ 10 กรกฎาคม แทบไม่มีเนื้อหาที่แท้จริงเลย — ไฟล์ README บางไฟล์เขียนแค่คำว่า 'Hello' เท่านั้น ชื่อผู้ใช้ต่างๆ เช่น 'slunfuedrac', 'cnaovalles' และ 'pasttimerles' ปรากฏขึ้นบ่อยครั้ง ทำให้เกิดสัญญาณที่เกินจริงเกี่ยวกับความถูกต้อง
ความแตกต่างของโค้ดแสดงให้เห็นถึงการอ้างอิงที่เป็นอันตรายที่ถูกเพิ่มเข้าไปในโค้ดบอทซื้อขาย (ตัวอย่างเช่น ใน bot.ts และนำเข้าใน src/index.ts) ครั้งแรกผ่าน 'colortoolsv2' และต่อมาผ่าน 'mimelib2' ความสัมพันธ์นี้กลายเป็นสิ่งที่ผู้ตรวจสอบทั่วไปมองเห็นได้น้อยลงมาก ท่ามกลางประวัติการคอมมิทที่วุ่นวาย
โดยการรวม npm และ GitHub เข้าด้วยกัน ผู้แสดง สัญญาณความไว้วางใจแบบดั้งเดิมที่พร่ามัวโดยทำให้ความสัมพันธ์ที่ซ่อนเร้นกลมกลืนเข้ากับโครงการที่ดูเหมือนว่าจะมีการใช้งานอยู่ ได้รับการดูแลเป็นอย่างดี และได้รับการรับรองจากชุมชน
IOC ขอบเขต และสิ่งที่ผู้ป้องกันควรระวัง

ReversingLabs เผยแพร่สิ่งต่อไปนี้ ตัวบ่งชี้การประนีประนอม (IoCs) ผูกติดกับแคมเปญนี้:
- แพ็กเกจ npm: คัลเลอร์ทูลส์v2 1.0.0 (SHA1 678c20775ff86b014ae8d9869ce5c41ee06b6215), 1.0.1 (1bb7b23f45ed80bce33a6b6e6bc4f99750d5a34b), 1.0.2 (db86351f938a55756061e9b1f4469ff2699e9e27)
- แพ็กเกจ npm: ไมเมลิบ2 1.0.0 (bda31e9022f5994385c26bd8a451acf0cd0b36da), 1.0.1 (c5488b605cf3e9e9ef35da407ea848cf0326fdea)
- ระยะที่ 1: SHAXNUMX 021d0eef8f457eb2a9f9fb2260dd2e39ff009a21
- สัญญาอัจฉริยะ: 0x1f171a1b07c108eae05a5bccbe86922d66227e2b
แนวทางนี้สะท้อนถึงการใช้โฮสติ้งที่เชื่อถือได้เช่น Gists หรือระบบจัดเก็บข้อมูลบนคลาวด์ในทางที่ผิดก่อนหน้านี้ แต่ การบิดแบบออนเชนทำให้รายการบล็อกแบบคงที่เสียหาย และการตรวจสอบแหล่งที่มาอย่างง่าย ตำแหน่ง C2 สามารถเปลี่ยนแปลงได้ในสัญญาโดยไม่ต้องเปลี่ยนแปลงแพ็คเกจ และการรับส่งข้อมูลบล็อกเชนอาจถูกตีความผิดว่าเป็นข้อมูลปกติในสภาพแวดล้อมที่เชื่อมโยงกับคริปโต
ขั้นตอนปฏิบัติ ได้แก่ การตรวจสอบแหล่งที่มาของการอ้างอิงนอกเหนือจากดาวและการยืนยัน การตรวจสอบการเรียก RPC ของบล็อคเชนที่ไม่คาดคิด ในระหว่างขั้นตอนการติดตั้ง/สร้าง ให้ตรวจสอบ URL ที่แก้ไขได้ผ่านรันไทม์ และตรึงเวอร์ชันที่ทราบว่าใช้งานได้ด้วยการตรวจสอบความสมบูรณ์ ทีมรักษาความปลอดภัยควรค้นหาที่เก็บที่มีกิจกรรมเพิ่มขึ้นอย่างไม่เป็นธรรมชาติจากการคอมมิตอัตโนมัติเล็กน้อย
กรณีนี้แสดงให้เห็นว่า สัญญาอัจฉริยะ Ethereum สามารถนำมาใช้ซ้ำได้ ในฐานะตัวชี้วัดที่ยืดหยุ่นสำหรับการกระจายมัลแวร์ในระบบนิเวศ npm ในขณะที่กิจกรรม GitHub แบบจัดฉากปกปิดการอ้างอิงที่เป็นอันตรายให้เห็นชัดเจน การรับรู้ถึงการทับซ้อนเหล่านี้ระหว่างโอเพ่นซอร์สและโครงสร้างพื้นฐานแบบออนเชนนั้นมีความจำเป็นสำหรับการป้องกันของนักพัฒนาและองค์กรในปัจจุบัน
