สรุปสั้น

ผู้โจมตีที่เชื่อมโยงกับเกาหลีเหนือกำลังใช้วิธีใหม่ในการซ่อนเซิร์ฟเวอร์ที่ควบคุมมัลแวร์ โดยนำที่อยู่ของเซิร์ฟเวอร์สั่งการไปฝังไว้ในธุรกรรม Ethereum ที่ไม่มีการโอนมูลค่าใด ๆ ทำให้กิจกรรมทั้งหมดดูเหมือนการโอนคริปโตธรรมดามากกว่าจะเป็นสัญญาณของมัลแวร์ เทคนิคนี้ถูกพบในแพ็กเกจ npm ประสงค์ร้ายสองตัวคือ bianira-ui เวอร์ชัน 1.27.0 และ fluid-type-ui เวอร์ชัน 2.0.8 ซึ่งทั้งคู่ปลอมตัวเป็นปลั๊กอินของ Tailwind CSS ที่ถูกต้อง จึงสร้างความเสี่ยงต่อห่วงโซ่อุปทานสำหรับนักพัฒนาที่ติดตั้ง dependency โดยไม่ตรวจซอร์สโค้ดอย่างละเอียด

นักวิเคราะห์จาก OpenSource Malware เป็นผู้ค้นพบกิจกรรมนี้และตั้งชื่อเทคนิคว่า NullReceiver โดยระบุในรายงานที่แบ่งปันกับ Cyber Security News ว่าแคมเปญนี้ดูจะเชื่อมโยงกับปฏิบัติการ Contagious Interview ที่มีเกาหลีเหนือหนุนหลัง ซึ่งเล่นงานนักพัฒนาผ่านโครงการและแพ็กเกจที่ดูน่าเชื่อถือมาแล้วหลายครั้ง (เราเคยรายงานการปรับกลยุทธ์ล่าสุดของกลุ่มนี้ไว้ใน Contagious Interview เปลี่ยนเหยื่อล่อเป็นโฆษณาค้นหา ) สิ่งที่การค้นพบครั้งนี้สะท้อนคือภัยคุกคามในห่วงโซ่อุปทานซอฟต์แวร์กำลังตรวจจับได้ยากขึ้นเรื่อย ๆ เพราะแทนที่จะพึ่งโดเมนเว็บที่มองเห็นได้หรือที่อยู่เซิร์ฟเวอร์ตายตัว มัลแวร์สามารถดึงคำสั่งชุดใหม่จากบล็อกเชนสาธารณะที่ฝ่ายป้องกันไม่สามารถสั่งปิดหรือแก้ไขได้โดยง่าย

ข้อจำกัดสำคัญที่ต้องระบุคือนักวิจัยไม่ได้รันแพ็กเกจเหล่านี้จริง ข้อค้นพบทั้งหมดมาจากการวิเคราะห์แบบสถิตและการตรวจสอบบล็อกเชนแบบอ่านอย่างเดียว

รายละเอียดข่าว

เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 4 สิงหาคม พ.ศ. 2569 ว่า NullReceiver ทำงานด้วยการอ่านที่อยู่ผู้รับจากธุรกรรมขาออกล่าสุดของกระเป๋าเงิน Ethereum ที่ผู้โจมตีควบคุมอยู่ ที่อยู่ผู้รับนั้นไม่ใช่ปลายทางของการชำระเงินจริง แต่ถูกเลือกไบต์มาอย่างจงใจ เพื่อให้ค่าบางส่วนของมันแปลงกลับออกมาเป็นหมายเลข IP ของเซิร์ฟเวอร์สั่งการและควบคุม (command-and-control หรือ C2) ของมัลแวร์

ธุรกรรมที่ใช้ไม่มีมูลค่าการชำระเงินและไม่มีข้อมูล input ใด ๆ แนบมา จุดนี้เองที่ทำให้มันกลมกลืนไปกับกิจกรรมทั่วไปบนบล็อกเชน เพราะไม่มีการเรียกใช้สัญญาอัจฉริยะ ไม่มีสคริปต์ซ่อนอยู่ และไม่มีฟิลด์เพย์โหลดให้เครื่องมือด้านความปลอดภัยเข้าไปตรวจสอบ เมื่อถอดรหัสที่อยู่ผู้รับออกมาได้แล้ว เซิร์ฟเวอร์สั่งการก็จะชี้ระบบที่ติดเชื้อไปยังขั้นตอนถัดไปของปฏิบัติการ

การออกแบบนี้ต่างจาก EtherHiding ที่ผู้โจมตีเก็บข้อมูลคำสั่งไว้ใน calldata ของธุรกรรมหรือในสัญญาอัจฉริยะ (เราเคยรายงานการใช้เทคนิค EtherHiding ซ่อน C2 บนบล็อกเชนไว้ใน ช็อตคัต Windows อันตรายใช้ PowerShell และ Node.js เปิดทางรันโค้ดระยะไกล ) รายงานก่อนหน้านี้เกี่ยวกับมัลแวร์ EtherRAT และ EtherHiding แสดงให้เห็นว่าโครงสร้างพื้นฐานที่อิงบล็อกเชนช่วยให้ผู้โจมตีเปลี่ยนเส้นทางเครื่องที่ถูกยึดไปยังปลายทางใหม่ได้อย่างทนทาน แม้เซิร์ฟเวอร์แบบเดิมจะถูกบล็อกไปแล้ว

NullReceiver มีข้อจำกัดมากกว่าตรงที่บรรจุข้อมูลได้เพียงเล็กน้อย เช่น หมายเลข IP เท่านั้น แต่แลกมาด้วยต้นทุนการดำเนินการที่ถูกกว่า สังเกตเห็นบนเชนได้ยากกว่า และหลีกเลี่ยงจุดอ่อนของ EtherHiding ที่ใช้ที่อยู่ปลายทางซึ่งคาดเดาได้ ทำให้ฝ่ายป้องกันเฝ้าติดตามได้ตั้งแต่ต้น

วิธีการโจมตี

แพ็กเกจที่ได้รับผลกระทบใช้โค้ด Node.js ในการสอบถามบริการ remote procedure call (RPC) ของ Ethereum แบบสาธารณะ ตรวจดูธุรกรรมโอนล่าสุดของกระเป๋าเงินที่ผู้โจมตีควบคุม ถอดรหัสที่อยู่ผู้รับออกมา แล้วติดต่อไปยังเซิร์ฟเวอร์ที่ได้จากการถอดรหัสนั้น

สายโซ่การโจมตีทั้งหมดจึงเริ่มจากการที่นักพัฒนาติดตั้งแพ็กเกจปลอมที่ตั้งชื่อและวางตัวให้ดูเหมือนปลั๊กอินของ Tailwind CSS ซึ่งเป็นเครื่องมือที่ใช้กันแพร่หลายในงานพัฒนาส่วนหน้า ความน่ากังวลอยู่ที่ dependency ประสงค์ร้ายสามารถเข้าสู่เครื่องทำงานของนักพัฒนา ระบบสร้างซอฟต์แวร์ และตัวโครงการซอฟต์แวร์เองได้ผ่านคำสั่งติดตั้งที่ใช้กันเป็นกิจวัตร

ในเชิงการป้องกัน จุดที่มีประโยชน์คือเมื่อรู้แล้วว่ากระเป๋าเงินใดเป็นของผู้โจมตี ฝ่ายป้องกันสามารถติดตามธุรกรรมโอนของกระเป๋านั้น และระบุโครงสร้างพื้นฐานชุดใหม่ที่ถูกเข้ารหัสไว้ได้ก่อนที่ระบบซึ่งติดเชื้อจะเชื่อมต่อไปถึง

ผลกระทบ

สิ่งที่เทคนิคนี้เปลี่ยนไปไม่ใช่ความสามารถของมัลแวร์ แต่เป็นความทนทานของโครงสร้างพื้นฐานฝั่งผู้โจมตี การนำที่อยู่ C2 ไปฝากไว้บนบล็อกเชนสาธารณะทำให้การถอดถอนโดเมนหรือการแจ้งผู้ให้บริการโฮสต์ ซึ่งเป็นวิธีมาตรฐานในการตัดวงจร ใช้ไม่ได้อีกต่อไป ผู้โจมตีเพียงส่งธุรกรรมใหม่หนึ่งรายการก็เปลี่ยนปลายทางของเครื่องที่ติดเชื้อทั้งหมดได้ทันที

ในมุมการตรวจจับ ธุรกรรมที่ไม่มีมูลค่าและไม่มีข้อมูลแนบเป็นสิ่งที่แทบไม่มีใครมองว่าน่าสงสัย เครื่องมือวิเคราะห์บล็อกเชนส่วนใหญ่ให้ความสำคัญกับการไหลของเงินและการเรียกใช้สัญญาอัจฉริยะ ธุรกรรมเปล่าที่มีแต่ที่อยู่ผู้รับแปลก ๆ จึงหลุดจากตะแกรงไปได้ง่าย สัญญาณที่ใช้ได้จริงจึงย้ายไปอยู่ฝั่งเครือข่ายขององค์กรแทน นั่นคือการที่แอปพลิเคชันซึ่งไม่ควรยุ่งกับคริปโตกลับส่งทราฟฟิกไปยังผู้ให้บริการ RPC ของ Ethereum

สำหรับองค์กรที่ทำงานด้านพัฒนาซอฟต์แวร์ ความเสี่ยงตรงที่สุดคือเครื่องของนักพัฒนาและระบบ CI ซึ่งมักถือข้อมูลรับรองที่มีสิทธิ์สูง และการที่ผู้ก่อภัยที่มีรัฐหนุนหลังเลือกใช้ช่องทางนี้แทนการหาช่องโหว่ ยืนยันว่าการหลอกให้ติดตั้งของปลอมยังคงเป็นเส้นทางที่ได้ผลคุ้มค่ากว่าสำหรับพวกเขา

คำแนะนำ

  • ตรวจสอบการอัปเดต dependency ก่อนนำขึ้นใช้งานจริง โดยเฉพาะแพ็กเกจที่อ้างตัวเป็นปลั๊กอินของเฟรมเวิร์กยอดนิยมแต่ไม่ได้มาจากผู้ดูแลตัวจริง
  • สอบสวนทราฟฟิกขาออกที่วิ่งไปยังบริการ RPC ของบล็อกเชนโดยไม่มีเหตุผลรองรับ และเฝ้าระวังแอปพลิเคชันที่ตรวจดูที่อยู่ผู้รับของธุรกรรม
  • แยกเครื่องที่เคยติดตั้งแพ็กเกจตามรายการ IoC ออกจากเครือข่าย และหมุนข้อมูลรับรองของนักพัฒนาที่อาจหลุดออกไป
  • จำกัดการเข้าถึงผู้ให้บริการ RPC ของคริปโตเคอร์เรนซีที่ไม่จำเป็นออกจากเครือข่ายองค์กรและระบบสร้างซอฟต์แวร์
  • เมื่อทราบกระเป๋าเงินของผู้โจมตีแล้ว ให้ติดตามธุรกรรมของกระเป๋านั้นเพื่อดักโครงสร้างพื้นฐานชุดใหม่ล่วงหน้า แทนการไล่บล็อกหมายเลข IP ทีละตัวหลังเกิดเหตุ

Indicators of Compromise (IoCs)

ประเภทตัวบ่งชี้คำอธิบาย
แพ็กเกจ npm ประสงค์ร้ายbianira-ui@1.27.0แพ็กเกจ npm ที่ถูกฝังโทรจันและใช้เทคนิค NullReceiver
แพ็กเกจ npm ประสงค์ร้ายfluid-type-ui@2.0.8แพ็กเกจ npm ที่ถูกฝังโทรจันและใช้เทคนิค NullReceiver
กระเป๋าเงิน Ethereum0xa322e5f3d311d3080e6f0121063e9adc2490ef1aกระเป๋าเงินที่ผู้โจมตีควบคุม ซึ่งมัลแวร์เข้าไปสอบถามข้อมูล
ที่อยู่ผู้รับที่ถูกเข้ารหัส0xa658863ea658863e68656c6c6f6970626f742121ที่อยู่ผู้รับที่ใช้เข้ารหัสหมายเลข IP ของ C2 พร้อมเครื่องหมาย helloipbot!!
หมายเลข IP ของ C2166.88.134[.]62โครงสร้างพื้นฐานสั่งการและควบคุมที่ถอดรหัสได้
ปลายทาง C2166.88.134[.]62:443ปลายทางสั่งการและควบคุมผ่าน HTTPS
ปลายทาง C2166.88.134[.]62:80ปลายทางสั่งการและควบคุมผ่าน HTTP
Blockchain RPC URLhxxps://1rpc[.]io/ethบริการ RPC ของ Ethereum ที่มัลแวร์เรียกใช้
Blockchain RPC URLhxxps://eth[.]drpc[.]orgบริการ RPC ของ Ethereum ที่มัลแวร์เรียกใช้

หมายเหตุ: หมายเลข IP และโดเมนถูกทำให้ปลอดภัย (defang) ด้วยการใส่วงเล็บเหลี่ยมโดยเจตนา เพื่อป้องกันการเปิดลิงก์หรือเชื่อมต่อโดยไม่ตั้งใจ ให้แปลงกลับเป็นรูปแบบปกติเฉพาะภายในระบบข่าวกรองภัยคุกคามที่ควบคุมได้ เช่น MISP, VirusTotal หรือ SIEM ขององค์กรเท่านั้น

แหล่งอ้างอิง