กลับไปหน้าข่าวสาร

NullReceiver: เทคนิคใหม่ของแฮกเกอร์เกาหลีเหนือ ซ่อน C2 Server ไว้ในธุรกรรม Ethereum มูลค่าศูนย์

แชร์:

นักวิจัยด้านความปลอดภัยเปิดเผยเทคนิคใหม่ที่เชื่อมโยงกับกลุ่มแฮกเกอร์ที่ได้รับการสนับสนุนจาก เกาหลีเหนือ (DPRK) ในแคมเปญ Contagious Interview ซึ่งใช้เทคนิคที่เรียกว่า "NullReceiver" เพื่อซ่อนที่อยู่ Command and Control (C2) Server ไว้ใน ธุรกรรม Ethereum มูลค่าศูนย์ (Zero-Value Transaction) พบฝังอยู่ใน npm Package อันตราย 2 ตัวที่แอบอ้างเป็นปลั๊กอิน Tailwind CSS


npm Package ที่พบมัลแวร์


พบ NullReceiver ฝังอยู่ใน npm Package 2 ตัวที่แอบอ้างเป็นปลั๊กอินของ Tailwind CSS ได้แก่:


  • bianira-ui เวอร์ชัน 1.27.0
  • fluid-type-ui เวอร์ชัน 2.0.8


Package ทั้งสองถูกออกแบบให้ดูเหมือนเครื่องมือพัฒนา UI ทั่วไป เพื่อหลอกให้นักพัฒนาติดตั้งโดยไม่สงสัย


กลไกการซ่อน C2: เรียนรู้จากจุดอ่อนของ EtherHiding


NullReceiver เป็นวิวัฒนาการของเทคนิค EtherHiding ที่กลุ่มแฮกเกอร์ DPRK เคยใช้มาก่อน แต่ครั้งนี้ได้ตัดจุดที่เคยเป็นช่องทางให้นักวิจัยตรวจจับได้ออกไปทั้งหมด กลไกการทำงานมีดังนี้:


  1. มัลแวร์ใช้ Wallet Address ที่ถูกฝังไว้แบบ Hardcode คือ 0xa322e5f3d311d3080e6f0121063e9adc2490ef1a
  2. สืบค้นธุรกรรมล่าสุดของ Wallet นี้บน Ethereum Blockchain โดยมองหาธุรกรรมที่มีลักษณะเฉพาะ คือ มูลค่าเป็นศูนย์ (Zero-Value) และ ไม่มีข้อมูล Transaction Input (Zero-Data)
  3. ถอดรหัสที่อยู่ C2 Server จาก Bytes ของ Recipient Address ในธุรกรรมนั้น โดยส่วนหนึ่งของ Address ถูกออกแบบมาให้แปลงกลับเป็น IP Address ของ C2 Server ได้โดยตรง
  4. จากการวิเคราะห์พบว่าเทคนิคนี้ถอดรหัสได้ที่อยู่ 166.88.134.62 พร้อม Port ที่เกี่ยวข้องคือ 443 และ 80


จุดที่ทำให้ NullReceiver ตรวจจับได้ยากกว่าเทคนิคเดิมคือ ธุรกรรมที่ใช้ไม่มีการเรียก Smart Contract ใดๆ ไม่มี Payload หรือ Script ที่ซ่อนอยู่ และไม่มี Transaction Input Data ให้เครื่องมือรักษาความปลอดภัยตรวจสอบ ทำให้มองผ่านๆ แล้วแทบไม่ต่างจากธุรกรรม Ethereum ปกติทั่วไปที่เกิดขึ้นนับล้านรายการต่อวัน


ระบบที่ได้รับผลกระทบ


  • นักพัฒนาที่ติดตั้ง npm Package [email protected] หรือ [email protected] โดยเข้าใจผิดว่าเป็นปลั๊กอิน Tailwind CSS ที่ถูกต้อง
  • ระบบ CI/CD Pipeline ที่ดึง Dependency จาก npm โดยอัตโนมัติ มีความเสี่ยงติดมัลแวร์ไปพร้อมกับกระบวนการ Build


ผลกระทบที่อาจเกิดขึ้น


  1. เครื่อง Developer ที่ติดตั้ง Package อันตรายเสี่ยงถูกเชื่อมต่อกับ C2 Server ที่เปลี่ยนแปลงได้ตลอดเวลา เนื่องจากผู้โจมตีสามารถส่งธุรกรรม Ethereum ใหม่เพื่อเปลี่ยนที่อยู่ C2 ได้ตลอด โดยไม่ต้องแก้ไขโค้ดมัลแวร์เลย
  2. ตรวจจับได้ยากกว่าเทคนิค C2 แบบเดิมอย่างมาก เนื่องจากไม่มี Indicator ทางเทคนิคที่ชัดเจนอย่าง Smart Contract Call หรือ Transaction Payload ให้เครื่องมือ Threat Intelligence ใช้อ้างอิง
  3. ความเสี่ยงต่อการรั่วไหลของ Source Code, Credential และข้อมูลสำคัญ บนเครื่อง Developer ที่ติดมัลแวร์
  4. สะท้อนแนวโน้มการใช้ Blockchain เป็นโครงสร้างพื้นฐาน C2 ที่ยากต่อการ Takedown เนื่องจาก Ethereum เป็นเครือข่ายกระจายศูนย์ ไม่มีจุดเดียวที่หน่วยงานสามารถปิดกั้นได้เหมือน Domain หรือ IP ทั่วไป


สิ่งที่องค์กรควรทำ


  1. ตรวจสอบ package.json และ Lock File ของโปรเจกต์ทันทีว่ามีการเรียกใช้ bianira-ui หรือ fluid-type-ui หรือไม่ หากพบให้ถอดถอนและตรวจสอบเครื่องที่เกี่ยวข้องทันที
  2. ตรวจสอบทราฟฟิกเครือข่ายขาออกที่เชื่อมต่อไปยัง 166.88.134.62 หรือ Port 443/80 ที่ผิดปกติ จากเครื่อง Developer และ CI/CD Server
  3. ใช้เครื่องมือ Software Composition Analysis (SCA) สแกน Dependency Tree ก่อน Build ทุกครั้ง โดยเฉพาะ Package ที่แอบอ้างเป็นปลั๊กอินของเครื่องมือยอดนิยมอย่าง Tailwind CSS
  4. ตรวจสอบ Wallet Address 0xa322e5f3d311d3080e6f0121063e9adc2490ef1a ผ่าน Blockchain Explorer เพื่อติดตามธุรกรรมล่าสุดและประเมินว่ามี C2 Address ใหม่ที่ต้องเฝ้าระวังหรือไม่


แนวทางลดความเสี่ยงระยะยาว


1. ใช้ Lockfile และ Dependency Pinning อย่างเคร่งครัดในทุกโปรเจกต์

เพื่อป้องกันการติดตั้ง Package เวอร์ชันใหม่ที่อาจถูกแทรกโค้ดอันตรายโดยไม่ได้ตรวจสอบก่อน


2. ตรวจสอบ Dependency ใหม่ทุกตัวก่อนเพิ่มเข้าโปรเจกต์ โดยเฉพาะ Package ที่มีประวัติผู้เผยแพร่สั้นหรือไม่มีประวัติการใช้งานมาก่อน

Package ที่เพิ่งสร้างบัญชีใหม่หรือมี Download Count ต่ำควรได้รับการตรวจสอบเป็นพิเศษก่อนนำไปใช้


3. เพิ่ม Network Monitoring ที่ครอบคลุมถึงทราฟฟิกที่เชื่อมต่อกับ Blockchain Node หรือ RPC Endpoint จากเครื่อง Developer

เนื่องจากเทคนิค C2 แบบใหม่นี้อาศัยการสื่อสารกับ Blockchain Infrastructure ซึ่งเครื่องมือตรวจจับแบบเดิมอาจมองข้ามว่าเป็นทราฟฟิกปกติ


4. ติดตามรายงานภัยคุกคามจากกลุ่ม DPRK อย่างต่อเนื่อง โดยเฉพาะแคมเปญ Contagious Interview

เนื่องจากกลุ่มนี้มีประวัติพัฒนาเทคนิคการโจมตี Supply Chain ผ่าน npm อย่างต่อเนื่องและรวดเร็ว


วิเคราะห์ในมุมมองจาก TXEC


NullReceiver เป็นตัวอย่างที่ชัดเจนว่าผู้โจมตีที่มีทรัพยากรระดับรัฐ (Nation-State) อย่างกลุ่ม DPRK กำลังพัฒนาเทคนิคหลบเลี่ยงการตรวจจับอย่างต่อเนื่อง โดยเรียนรู้จากจุดอ่อนของเทคนิคเดิมของตัวเอง (EtherHiding) แล้วปรับปรุงให้ตรวจจับได้ยากขึ้นไปอีกขั้น การใช้ธุรกรรม Blockchain มูลค่าศูนย์ที่ไม่มี Payload ใดๆ เป็นช่องทาง C2 สะท้อนว่าเครื่องมือตรวจจับที่พึ่งพา Indicator แบบดั้งเดิม เช่น Domain Reputation หรือ Smart Contract Analysis เพียงอย่างเดียว อาจไม่เพียงพอต่อไปอีกแล้ว


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


รู้ก่อน ตรวจพบเร็ว ลดความเสียหายได้มากกว่า


[ แหล่งอ้างอิง: Cyberpress, CyberSecurityNews, GBHackers ]