วิเคราะห์การโจมตีซัพพลายเชนของ Notepad++
(securelist.com)- เกิดการโจมตีแบบซัพพลายเชนจากการถูกเจาะโครงสร้างพื้นฐานอัปเดตของ Notepad++ จนมีการแจกจ่ายอัปเดตอันตราย ต่อเนื่องตั้งแต่กลางปี 2025 ถึงเดือนตุลาคม
- ผู้โจมตีใช้ Cobalt Strike Beacon และ ตัวดาวน์โหลดของ Metasploit เพื่อดำเนิน ห่วงโซ่การติดเชื้อที่แตกต่างกัน 3 แบบ
- ยืนยันเป้าหมายการติดเชื้อ ได้แก่ ผู้ใช้บุคคลทั่วไปในเวียดนาม เอลซัลวาดอร์ และออสเตรเลีย, หน่วยงานรัฐบาลฟิลิปปินส์, สถาบันการเงินในเอลซัลวาดอร์, บริษัทบริการ IT ในเวียดนาม เป็นต้น
- วิธีโจมตีมีการเปลี่ยนแปลงหลากหลาย เช่น การนำ NSIS installer ไปใช้ในทางที่ผิด, การใช้ช่องโหว่ของ ProShow, การรันสคริปต์ Lua, DLL sideloading
- Kaspersky ระบุว่าตรวจพบการโจมตีนี้ด้วย Kaspersky Next EDR Expert และเสนอ การสื่อสารกับ temp.sh, ร่องรอยการรันคำสั่ง, การลงทะเบียน autorun ในรีจิสทรี เป็นตัวชี้วัดหลักในการตรวจจับ
ภาพรวมเหตุการณ์
- วันที่ 2 กุมภาพันธ์ 2026 ทีมพัฒนา Notepad++ ประกาศว่า เซิร์ฟเวอร์อัปเดตถูกเจาะในระดับผู้ให้บริการโฮสติ้ง
- ช่วงเวลาที่ถูกเจาะคือมิถุนายน~กันยายน 2025 และการเข้าถึงบริการภายในดำเนินต่อถึงเดือนธันวาคม
- Kaspersky ยืนยันว่าในช่วงกรกฎาคม~ตุลาคม 2025 ผู้โจมตี สลับเปลี่ยนที่อยู่เซิร์ฟเวอร์ C2, ตัวดาวน์โหลด และเพย์โหลดอย่างต่อเนื่อง เพื่อคงการโจมตีเอาไว้
- เหยื่อเป็นระบบเป้าหมายจำนวนไม่มาก โดยวิเคราะห์ว่ามี คอมพิวเตอร์ติดเชื้อรวมราว 10 เครื่อง
ห่วงโซ่การติดเชื้อ #1 (ปลายกรกฎาคม~ต้นสิงหาคม 2025)
- ไฟล์อัปเดตอันตราย:
http://45.76.155[.]202/update/update.exe- SHA1: 8e6e505438c21f3d281e1cc257abdbf7223b7f5a
- โปรเซสที่ถูกต้องตามปกติ
GUP.exeถูกใช้รัน และ เก็บข้อมูลระบบก่อนอัปโหลดไปยัง temp.sh- ส่งผลลัพธ์คำสั่ง
whoami,tasklistผ่านcurl
- ส่งผลลัพธ์คำสั่ง
- จากนั้นดรอปหลายไฟล์ลงในโฟลเดอร์
%appdata%\ProShowและรันProShow.exe- ใช้ประโยชน์จาก ช่องโหว่เก่าของ ProShow ในยุคปี 2010s เพื่อรัน ตัวดาวน์โหลด Metasploit ในไฟล์
load - ตัวดาวน์โหลดจะดึง Cobalt Strike Beacon จาก
https://45.77.31[.]210/users/adminมารัน
- ใช้ประโยชน์จาก ช่องโหว่เก่าของ ProShow ในยุคปี 2010s เพื่อรัน ตัวดาวน์โหลด Metasploit ในไฟล์
- ต้นเดือนสิงหาคมยังพบสายพันธุ์ย่อยที่ใช้โดเมน
cdncheck.it[.]comบนห่วงโซ่เดียวกัน
ห่วงโซ่การติดเชื้อ #2 (กลาง~ปลายกันยายน 2025)
update.exeที่แจกจ่ายจาก URL เดิม (SHA1: 573549869e84544e3ef253bdba79851dcde4963a)- ใช้โฟลเดอร์
%APPDATA%\Adobe\Scripts - เก็บ ข้อมูลระบบอย่างละเอียด ด้วยคำสั่ง
whoami,tasklist,systeminfo,netstat -ano
- ใช้โฟลเดอร์
- ไฟล์ที่ถูกดรอป:
alien.dll,lua5.1.dll,script.exe,alien.ini- ใช้ตัวแปลภาษา Lua เพื่อรัน shellcode ภายใน
alien.ini - ตัวดาวน์โหลด Metasploit ดาวน์โหลด Cobalt Strike Beacon จาก
cdncheck.it[.]com/users/admin
- ใช้ตัวแปลภาษา Lua เพื่อรัน shellcode ภายใน
- ปลายเดือนกันยายนปรากฏสายพันธุ์ย่อยที่เปลี่ยน URL สำหรับอัปโหลดเป็น
https://self-dns.it[.]com/listและเปลี่ยนเซิร์ฟเวอร์ C2 เป็นsafe-dns.it[.]com
ห่วงโซ่การติดเชื้อ #3 (ตุลาคม 2025)
- เซิร์ฟเวอร์อัปเดตใหม่:
http://45.32.144[.]255/update/update.exe- SHA1: d7ffd7b588880cf61b603346a3557e7cce648c93
- ดรอปไฟล์ลงในโฟลเดอร์
%appdata%\Bluetooth\BluetoothService.exe(ปกติ),log.dll(อันตราย),BluetoothService(shellcode ที่เข้ารหัส)
log.dllใช้ DLL sideloading เพื่อรัน shellcode ของBluetoothService- โครงสร้างคล้ายกับ แบ็กดอร์ Chrysalis และจากการวิเคราะห์ของ Rapid7 พบกรณีที่มีการแจกจ่าย Cobalt Strike Beacon ร่วมด้วย
การกลับมาของห่วงโซ่ #2 และการเปลี่ยน URL (กลาง~ปลายตุลาคม 2025)
- URL ใหม่:
http://95.179.213[.]0/update/update.exe- นำโดเมน
self-dns.it[.]com,safe-dns.it[.]comเดิมกลับมาใช้
- นำโดเมน
- ช่วงปลายตุลาคมมีการเปลี่ยนชื่อไฟล์เป็น
install.exe,AutoUpdater.exeเป็นต้น- ไม่พบการติดเชื้อเพิ่มเติมหลังเดือนพฤศจิกายน
บทสรุปและคำแนะนำด้านการตรวจจับ
- ผู้โจมตี ยึดเซิร์ฟเวอร์อัปเดตของ Notepad++ เพื่อพยายามแทรกซึมองค์กรที่มีความเสี่ยงสูง
- มีการเปลี่ยนห่วงโซ่การติดเชื้อเป็นรายเดือนเพื่อรักษาการเข้าถึงอย่างต่อเนื่อง
- คำแนะนำด้านการตรวจจับและตอบสนอง
- ตรวจสอบ ล็อกการสร้าง NSIS installer (
%localappdata%\Temp\ns.tmp) - ตรวจจับ การสื่อสารกับโดเมน temp.sh และคำขอที่มี URL อยู่ใน User-Agent
- ตรวจสอบร่องรอยการรันคำสั่ง whoami, tasklist, systeminfo, netstat -ano
- ค้นหาโดเมนอันตรายและแฮชไฟล์ตาม รายการ IoC
- ตรวจสอบ ล็อกการสร้าง NSIS installer (
การตรวจจับของ Kaspersky
- Kaspersky Next EDR Expert ตรวจพบพฤติกรรมการโจมตี
- ตรวจจับการสื่อสารกับ temp.sh ด้วยกฎ lolc2_connection_activity_network
- ตรวจจับคำสั่ง reconnaissance ภายในเครื่องด้วยกฎ system_owner_user_discovery, system_information_discovery_win เป็นต้น
- ตรวจจับ การลงทะเบียน autorun ในรีจิสทรี ด้วยกฎ temporary_folder_in_registry_autorun
สรุป IoC สำคัญ
- URL อัปเดตอันตราย:
- URL ที่เกี่ยวข้องกับ Cobalt Strike:
- พาธไฟล์อันตราย:
%appdata%\ProShow\load,%appdata%\Adobe\Scripts\alien.ini,%appdata%\Bluetooth\BluetoothService
- แฮชสำคัญ:
8e6e505438c21f3d281e1cc257abdbf7223b7f5a,573549869e84544e3ef253bdba79851dcde4963a,d7ffd7b588880cf61b603346a3557e7cce648c93เป็นต้น
เหตุการณ์นี้แสดงให้เห็นถึง ความซับซ้อนที่เพิ่มขึ้นของการโจมตีแบบซัพพลายเชนและวิวัฒนาการของห่วงโซ่การติดเชื้อหลายขั้น พร้อมตอกย้ำถึง ความจำเป็นในการเสริมความเข้มงวดของการตรวจสอบความถูกต้องสมบูรณ์ของระบบอัปเดต สำหรับนักพัฒนาและผู้ดูแลโครงสร้างพื้นฐาน IT
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
กรณีที่โปรแกรมอัปเดต WinGUp ถูกนำไปใช้ในการโจมตีเป็นตัวอย่าง典型ของ การโจมตีซัพพลายเชน
ผู้โจมตีได้สิทธิ์รันโค้ดบนระบบที่เชื่อถือช่องทางอัปเดต
สิ่งที่น่ากังวลเป็นพิเศษคือมันไม่ถูกตรวจพบอยู่นานถึง 6 เดือน
องค์กรควรพิจารณาการทยอยปล่อยอัปเดตและการทำ มอนิเตอร์ทราฟฟิกเครือข่ายที่ผิดปกติ ส่วนผู้ใช้ทั่วไปควรพิจารณาใช้ package manager ที่มีการตรวจสอบทางคริปโตกราฟี
โปรแกรมจำนวนมากยังต้องดาวน์โหลดจากเว็บไซต์ที่เต็มไปด้วยโฆษณา และแต่ละตัวก็อัปเดตกันคนละแบบ
Microsoft Store เคยมีโอกาสเปลี่ยนเรื่องนี้ แต่ล้มเหลวทั้งในด้านการออกแบบและชื่อเสียง
WinGet ดีกว่ามาก แต่ตอนนี้ยังเป็นเครื่องมือที่เน้นนักพัฒนาเป็นหลัก
ฉันใช้ Notepad++ แทน Notepad แบบค่าเริ่มต้นอยู่
เลยไม่เข้าใจว่าทำไมมันถึงเปิดการเชื่อมต่อเครือข่ายมาเป็นค่าปริยาย
อย่างแรกที่ฉันทำคือปิดมัน และตอนนี้ก็ยังใช้เวอร์ชันปี 2020 อย่างพอใจ
ถ้าวันหนึ่งจำเป็นก็คง อัปเดตเองแบบแมนนวล
Notepad++ เคยเป็นหนึ่งในเอดิเตอร์ที่ฉันชอบที่สุด แต่หลังการโจมตีครั้งนี้ แผนก IT ก็ห้ามใช้แล้ว
ตอนตรวจความปลอดภัยยังเช็กด้วยว่าติดตั้งอยู่หรือไม่
การตอบสนองบนบล็อกทางการก็ดูน่ากังวล และคงต้องใช้เวลา อีกนานกว่าจะกู้ความเชื่อมั่นกลับมาได้
ฟีเจอร์หลักมีแค่แท็บกับ ตัวตรวจสะกดคำ แต่ตอนนี้ Notepad พื้นฐานก็รองรับแล้ว
แม้จะมีปุ่ม CoPilot เพิ่มมา แต่ก็ปิดได้ในตั้งค่า
ด้วยเหตุผลนี้ ฉันจึงรันเครื่องมือหลายตัวใน สภาพแวดล้อม sandbox
แบบนี้ความเสียหายจะถูกจำกัดอยู่ในไดเรกทอรีนั้น
ไม่มีเหตุผลที่เครื่องมือควรเข้าถึง cloud drive หรือคุกกี้เบราว์เซอร์ของฉัน
ชุมชน Linux ต่อต้านแนวทางนี้ แต่สุดท้ายแอป sandbox แบบสไตล์ iOS คืออนาคต
เพราะผู้ใช้ต้องการควบคุมพฤติกรรมของแอป
ถ้าฝั่ง FOSS เมินเรื่องนี้ สุดท้ายก็จะถูกดึงไปสู่การรวมศูนย์รอบบริษัทยักษ์ใหญ่ด้านเทคโนโลยี
แอปไม่ควรออกไปนอก root ของตัวเองได้ และการเข้าถึงภายนอกต้องอนุญาตอย่างชัดเจน
คำขอสิทธิ์ของ MacOS มีเยอะก็จริง แต่ฉันคิดว่ายังต้องมี การควบคุมสิทธิ์ที่ละเอียดกว่านี้
โปรแกรมแก้ไขข้อความไม่จำเป็นต้องใช้เครือข่าย และอาจส่งข้อความที่กำลังแก้ออกไปภายนอกได้
ผู้โจมตีสามารถส่งข้อมูลระบบ อัปโหลดไฟล์ผ่านบริการอย่าง temp.sh แล้วสื่อสารกับเซิร์ฟเวอร์ C2
มีตัวอย่างโค้ดที่ Cobalt Strike Beacon สื่อสารกับ cdncheck.it[.]com
การโจมตีครั้งนี้แสดงให้เห็นว่าทั้งนักพัฒนาและผู้ใช้กำลังเชื่อถือ โค้ดที่ไม่ได้ตรวจสอบด้วยตนเอง มากขึ้นเรื่อยๆ
ปัญหาเดียวกันนี้เกิดซ้ำใน npm/pip package, โค้ดที่ AI สร้าง และกระแส ‘vibe coding’
กรณีของ Notepad++ ยังถือว่าดีกว่าเพราะเป็นไบนารีเดี่ยว แต่สภาพแวดล้อมการพัฒนาสมัยใหม่เต็มไปด้วย dependency หลายร้อยตัวและโค้ดจาก AI ที่พันกันอยู่
sandbox สำคัญก็จริง แต่ปัญหาที่แท้จริงคือช่องว่างระหว่างสิ่งที่โค้ด ทำได้ กับสิ่งที่เราคาดหวังให้มันทำ
เราต้องการเครื่องมือที่จะช่วยให้เข้าใจโค้ดที่กำลังรันอยู่ได้ดีขึ้น
เมื่อ 15 ปีก่อนยังไม่มีใครกังวลเรื่องซัพพลายเชน และผู้ใช้ Unix ก็ build tarball กันโดยไม่ตรวจสอบ
sandbox ช่วยได้ แต่ไม่ใช่คำตอบที่สมบูรณ์
ยูทิลิตีอย่าง Notepad++ ที่มีสิทธิ์แก้ไขไฟล์ระบบก็ยังอันตรายอยู่ดี
สงสัยว่ามี เครื่องมือทางการ สำหรับตรวจจับและล้างการติดเชื้อหรือไม่
มัลแวร์สามารถซ่อนอยู่ได้ทั่วระบบ และแค่คำเตือน UAC ก็หยุดมันไม่ได้
ถ้าตอนนี้ติดเชื้ออยู่ สงสัยว่า Malwarebytes จะตรวจเจอได้ไหม
ใน บทวิเคราะห์ของ Rapid7 ก็มีเนื้อหาเดียวกัน
แปลกที่ประกาศต้นฉบับไม่ได้ใส่ลิงก์นี้ไว้
สงสัยว่าเขาเลี่ยง ลายเซ็นดิจิทัล ของ Notepad++ ได้อย่างไร
พอลองดาวน์โหลดเองก็พบว่ามี code signing ที่ใช้ได้อยู่
ตอนนี้กลายเป็นสถานการณ์ย้อนแย้งที่ต้อง อัปเดตบ่อยเพื่อปิดช่องโหว่ความปลอดภัย แต่ถ้าอยากเลี่ยงการโจมตีซัพพลายเชนก็ต้อง หลีกเลี่ยงการอัปเดต
ไม่รู้จะหาสมดุลอย่างไรดี
ช่วงหลังอัปเดตของ Microsoft ก็เชื่อถือได้น้อยลง และปัญหาอย่างบูตไม่ขึ้นทำให้คนปิดอัปเดตอัตโนมัติกันมากขึ้น
เอกสารที่เกี่ยวข้อง: ตัวเลือกของ GitHub Dependabot
แอปที่เชื่อมต่ออินเทอร์เน็ตมากก็ควรอัปเดตบ่อย ส่วนเครื่องมือโลคัลเรียบง่ายก็ปิดอัปเดตอัตโนมัติได้ไม่เสียหาย
ถ้าจัดการคอนเทนต์จากอินเทอร์เน็ตก็ต้องอัปเดต แต่ถ้าใช้เฉพาะในเครื่องก็อัปเดตเมื่อจำเป็นก็พอ
คนส่วนใหญ่มักอยู่ตรงกลางระหว่างสองแบบนี้
มีการแชร์ บทวิเคราะห์ของ Rapid7 ไว้เป็นข้อมูลอ้างอิง