สรุปสั้น

นักวิจัยพบแพ็กเกจ NuGet ประสงค์ร้ายชื่อ “Sicoob.Sdk” ที่ปลอมเป็น SDK ทางการของธนาคาร Sicoob ในบราซิล แพ็กเกจนี้พุ่งเป้านักพัฒนาที่สร้างระบบเชื่อมต่อกับ API ธนาคาร Sicoob และลอบเก็บ credential ระหว่างการรันแอปปกติ สิ่งที่ถูกขโมยคือไฟล์ใบรับรอง PFX พร้อมรหัสผ่านแบบ plaintext และ client ID ซึ่งใช้ปลอมเป็นระบบเชื่อมต่อธนาคารที่ถูกต้องได้ จุดอันตรายคือใช้ Sentry แพลตฟอร์มมอนิเตอร์ error ที่น่าเชื่อถือ เป็นช่องทางส่งข้อมูลออก แทน C2 แบบเดิม เพื่อกลมกลืนกับ telemetry ปกติ แพ็กเกจปรากฏบน NuGet ช่วงต้นพฤษภาคม 2569 ปล่อยหลายเวอร์ชัน 2.0.0–2.0.4 มียอดดาวน์โหลด 484 ครั้งก่อนถูกถอด repo GitHub ที่ลิงก์ไว้ดูสะอาด ไม่มีโค้ดร้าย แต่ binary ใน NuGet ถูกฝังไว้ บ่งชี้การโจมตี supply chain ที่จงใจ

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

เว็บไซต์ Cyber Security News รายงานเมื่อวันที่ 29 พฤษภาคม 2569 ว่า มีการค้นพบแพ็กเกจ NuGet ประสงค์ร้ายที่ปลอมเป็น SDK ทางการของ Sicoob ซึ่งลอบส่งออก credential ธนาคารที่อ่อนไหวอย่างยิ่ง สร้างความกังวลต่อความปลอดภัยของ software supply chain ในระบบนิเวศการเงิน แพ็กเกจนี้เผยแพร่ภายใต้ชื่อ “Sicoob.Sdk” พุ่งเป้านักพัฒนาที่สร้างระบบเชื่อมต่อกับ API ธนาคาร Sicoob ของบราซิล และลอบเก็บ credential การยืนยันตัวตนระหว่างการทำงานปกติของแอป แพ็กเกจปรากฏบน NuGet ในช่วงต้นเดือนพฤษภาคม 2569 และปล่อยหลายเวอร์ชันตั้งแต่ 2.0.0 ถึง 2.0.4 อย่างรวดเร็วก่อนถูกถอดออก มันอ้างว่าให้บริการ SDK บน .NET 8 สำหรับจัดการการยืนยันตัวตน mutual TLS (mTLS) และการสื่อสารกับระบบ Sicoob เนื่องจาก Sicoob มีผู้ใช้หลายล้านคนทั่วบราซิล แพ็กเกจจึงดึงดูดนักพัฒนาที่ทำแอปการเงินเป็นอย่างมาก อย่างไรก็ตาม การวิเคราะห์เชิงลึกพบว่า SDK มีฟังก์ชันลอบส่งข้อมูลซ่อนอยู่ โดยจากข้อมูลของ Socket แพ็กเกจ Sicoob.Sdk มียอดดาวน์โหลดรวม 484 ครั้งจากหลายเวอร์ชันที่ถูกฝังโค้ดร้าย นักวิจัยได้แจ้งเหตุไปยัง NuGet, Sentry และ Sicoob ทำให้มีการแก้ไขอย่างรวดเร็ว รวมถึงการถอดแพ็กเกจออก

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

เมื่อนักพัฒนาสร้าง client ที่ SDK ให้มาด้วย client ID ไฟล์ใบรับรอง PFX และรหัสผ่าน แพ็กเกจจะลอบอ่านใบรับรองจากดิสก์แล้วเข้ารหัส จากนั้นส่งใบรับรองพร้อมรหัสผ่านแบบ plaintext และ client ID ออกไปยัง endpoint ของ Sentry ที่เป็นบุคคลที่สาม ไฟล์ PFX โดยปกติบรรจุทั้งใบรับรองและ private key ที่เกี่ยวข้อง จึงสำคัญต่อการยืนยันตัวตนแบบปลอดภัย การขโมยทั้งไฟล์ใบรับรองและรหัสผ่านทำให้ผู้โจมตีปลอมเป็นระบบเชื่อมต่อธนาคารที่ถูกต้องและเข้าถึง API การเงินที่อ่อนไหวได้ สิ่งที่ทำให้การโจมตีนี้อันตรายเป็นพิเศษคือการใช้โครงสร้าง telemetry ที่ถูกต้องตามกฎหมาย แทนการใช้ C2 แบบดั้งเดิม มัลแวร์ใช้ Sentry ซึ่งเป็นแพลตฟอร์มมอนิเตอร์ error ที่ได้รับความเชื่อถืออย่างกว้างขวาง ทำให้การส่งข้อมูลออกกลมกลืนกับ telemetry ปกติและหลบการตรวจจับ ในบางกรณี แม้แต่ข้อมูลธุรกรรมการเงิน เช่น การตอบกลับการจ่าย boleto ก็อาจถูกรวมไปด้วย เปิดเผยรายละเอียดธุรกรรม ข้อมูลผู้จ่าย และสถานะการชำระเงิน ที่สำคัญ repo GitHub สาธารณะที่ลิงก์กับ SDK กลับดูสะอาด ไม่มีโค้ดร้ายที่พบใน binary ของ NuGet ความไม่ตรงกันนี้บ่งชี้การโจมตี supply chain ที่จงใจ โดยใช้โค้ดเบสที่ดูไม่มีพิษภัยเป็นฉากบังหน้าขณะแจกจ่าย binary ที่ถูกดัดแปลง

Malicious Sicoob.Sdk NuGet package download stats and Sentry exfiltration

ผลกระทบต่อไทย

แม้เป้าหมายตรงคือธนาคาร Sicoob ในบราซิล แต่เทคนิคนี้เป็นภัยโดยตรงต่อภาคการเงินและนักพัฒนาไทย เพราะ .NET/NuGet ถูกใช้แพร่หลายในระบบธนาคารและองค์กรไทย บทเรียนสำคัญคือ ผู้โจมตีปลอมเป็น “SDK ทางการ” ของสถาบันการเงิน ซึ่งเป็นรูปแบบที่ทำซ้ำกับธนาคารหรือ fintech ไทยได้ทันที นักพัฒนาไทยที่รีบหา SDK เชื่อมต่อ API ธนาคารจึงเสี่ยงโหลดของปลอม การใช้ Sentry เป็นช่องทางลอบส่งข้อมูล แสดงว่าการเฝ้าระวังเฉพาะ C2 แบบเดิมไม่พอ ทีมไทยต้องเฝ้าดู traffic ออกไปยังบริการ telemetry/SaaS ที่ดูน่าเชื่อถือด้วย ที่อันตรายคือ การที่ repo GitHub สะอาดแต่ binary ถูกฝังโค้ด ทำให้การตรวจแค่ซอร์สโค้ดไม่เพียงพอ — องค์กรไทยควรตรวจสอบ binary และพฤติกรรม runtime จริง

คำแนะนำ

ตรวจสอบที่มาของแพ็กเกจ NuGet/SDK ทางการเงินอย่างเข้มงวด ยืนยันว่าเป็นบัญชีผู้เผยแพร่ทางการจริง ไม่เชื่อแค่ชื่อแพ็กเกจ ระวังแพ็กเกจที่ไม่มีตัวบ่งชี้ความน่าเชื่อถือ เช่น ไม่มี star ไม่มีประวัติ release หรือไม่มี contributor ที่ตรวจสอบได้ อย่าเชื่อแค่ว่า repo GitHub สะอาด เพราะ binary ที่แจกจริงอาจถูกฝังโค้ดร้ายแยกต่างหาก ให้ตรวจ binary และพฤติกรรม runtime เฝ้าระวัง traffic ขาออกไปยังบริการ telemetry/SaaS ภายนอก (เช่น Sentry) ที่ไม่ได้ตั้งใจใช้ ซึ่งอาจเป็นช่องลอบส่งข้อมูล หากเคยใช้แพ็กเกจที่น่าสงสัย ให้หมุน (rotate) credential เพิกถอน (revoke) ใบรับรอง และตรวจสอบกิจกรรม API ย้อนหลัง ปกป้อง CI/CD pipeline และ production เป็นพิเศษ เพราะมักถือ credential จริงและเป็นเป้าหมายมูลค่าสูง

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