สรุปสั้น

ทีม Threat Hunting ของบริษัท Zscaler ตรวจพบแคมเปญที่กระจายมัลแวร์ตระกูลใหม่ชื่อ ArmorSteal ตั้งแต่เดือนกันยายน 2569 และเผยแพร่รายละเอียดเมื่อวันที่ 22 ตุลาคม 2569 ArmorSteal เขียนด้วย Python รวมความสามารถควบคุมเครื่องระยะไกล สอดแนม และขโมยข้อมูลไว้ในตัวเดียว เล็งรหัสผ่าน คุกกี้เบราว์เซอร์ โทเคนยืนยันตัวตน และกระเป๋าคริปโต ช่องทางแพร่คือเว็บไซต์ปลอมของ Chocolatey ตัวจัดการแพ็กเกจบน Windows และของโครงการ Microsoft Activation Scripts ที่ถูกดันขึ้นผลการค้นหาด้วยเทคนิค SEO poisoning เพื่อดักผู้ใช้ที่ค้นหาคำสั่งติดตั้ง

จุดที่ทำให้แคมเปญนี้แนบเนียนคือคำสั่ง PowerShell บนเว็บปลอมติดตั้ง ArmorSteal พร้อมรันตัวติดตั้ง Chocolatey ของจริงไปด้วย ผู้ใช้จึงได้โปรแกรมที่ต้องการและไม่เห็นสิ่งผิดปกติ มัลแวร์คงอยู่ในระบบด้วย scheduled task สองตัว รันคำสั่งจากเซิร์ฟเวอร์สั่งการเฉพาะที่ลงนามด้วยกุญแจ RSA-2048 หลบสภาพแวดล้อมวิเคราะห์บนคลาวด์ ดักคีย์บอร์ดและสลับที่อยู่กระเป๋าคริปโตในคลิปบอร์ด หลังเว็บล่อทั้งสองถูกปิด ผู้โจมตีย้ายโครงสร้างไปยังโดเมนใหม่และยังทำงานต่อ

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

เว็บไซต์ GBHackers รายงานเมื่อวันที่ 24 ตุลาคม 2569 ตามรายงานของ Zscaler ว่าโดเมน typosquatting choclatey[.]org (สะกดผิดจาก chocolatey) แสดงคำสั่งติดตั้งผ่าน PowerShell ที่เป็นอันตราย ส่วนโดเมนที่สอง massgravel[.]net ปลอมเป็นโครงการ Microsoft Activation Scripts ทั้งสองช่องทางใช้ส่วนประกอบมัลแวร์ร่วมกันและใช้กุญแจลงนามคำสั่ง RSA-2048 ชุดเดียวกัน จึงเชื่อมโยงได้ว่าเป็นปฏิบัติการเดียวกัน

ตัวติดตั้งทั้งสองขอสิทธิ์ผู้ดูแลระบบ ซ่อนหน้าต่าง PowerShell แล้วดาวน์โหลดไฟล์บีบอัดลงในโฟลเดอร์ C:\Windows\SystemHealth\Update ซึ่งตั้งชื่อให้ดูเป็นส่วนหนึ่งของ Windows ภายในมี Python 3.11, ไฟล์ runtime ของ Pyarmor และสคริปต์อันตรายที่ถูกป้องกันด้วย Pyarmor 9.1.7 เพื่อให้วิเคราะห์ยากขึ้น

แม้เว็บล่อทั้งสองจะออฟไลน์ไปแล้ว ผู้โจมตีได้ย้ายโครงสร้างพื้นฐานไปยัง pymons[.]is และ datamons[.]org และยังมีโดเมนสำรองอีกหลายชื่อในตาราง IoCs แคมเปญจึงยังไม่จบ

Fake Chocolatey and Microsoft Activation Scripts sites spread ArmorSteal malware

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

ArmorSteal คงอยู่ในระบบด้วย scheduled task สองตัว SysCheck2 รันโมดูลควบคุมระยะไกลตอนผู้ใช้ล็อกอินด้วยสิทธิ์สูงสุดที่มี ส่วน SysCheckX รันโมดูลเดียวกันในสิทธิ์ SYSTEM หลังเปิดเครื่อง 45 วินาที โมดูลควบคุมระยะไกล SysMon.py เก็บข้อมูลเครื่อง สร้างรหัสประจำเครื่องจากหมายเลขซีเรียลของเมนบอร์ด และถามเซิร์ฟเวอร์สั่งการทุก 60 วินาที เพื่อรับงาน Python ทั้งแบบเฉพาะเหยื่อและแบบสั่งทั้งแคมเปญ ก่อนรันงานในหน่วยความจำ โมดูลจะตรวจลายเซ็น RSA-2048 และเทียบหมายเลขเวอร์ชันกับค่าที่เก็บไว้ในเครื่อง เพื่อกันการรันคำสั่งเก่าหรือคำสั่งซ้ำ ซึ่งหมายความว่าคนอื่นที่ยึดเซิร์ฟเวอร์สั่งการไปได้ก็สั่งมัลแวร์ไม่ได้

มัลแวร์ยังเรียก ipinfo[.]io เพื่อดูว่า IP สาธารณะเป็นของใคร ถ้าชื่อองค์กรตรงกับผู้ให้บริการคลาวด์ที่กำหนดไว้ จะแสดงข้อความหน่วยความจำผิดพลาดปลอมแล้วปิดตัวเอง เพื่อหลบ sandbox วิเคราะห์มัลแวร์ที่รันบนคลาวด์

โมดูลสอดแนม basrq.py บันทึกการกดแป้นพิมพ์และชื่อหน้าต่าง ตรวจคลิปบอร์ดทุกครึ่งวินาทีและสลับที่อยู่กระเป๋าคริปโตเป็นของผู้โจมตี ถ่ายภาพหน้าจอเมื่อพบคำที่กำหนด และแสดงการแจ้งเตือนธุรกรรมปลอมของ Exodus, MetaMask และ Phantom ส่วนโมดูลขโมยข้อมูล got.py เล็งรหัสผ่านและข้อมูลกรอกอัตโนมัติในเบราว์เซอร์ ข้อมูลเมตาของบัตรเครดิต กุญแจ SSH เซสชัน Steam และข้อมูลจากตัวจัดการรหัสผ่าน ตรวจโทเคนของ Discord client 22 รุ่น และเก็บข้อมูลจากส่วนขยายและแอปกระเป๋าคริปโต 21 ตัว คุกกี้เบราว์เซอร์ถูกดึงผ่าน Chrome DevTools Protocol บนพอร์ต 9222 และมีรูทีนค้นทุกไดรฟ์หา recovery phrase แบบ BIP39

ผลกระทบ

กลุ่มเป้าหมายของแคมเปญนี้คือผู้ใช้ที่มีความรู้ด้านเทคนิคระดับหนึ่ง ทั้งนักพัฒนาและผู้ดูแลระบบที่ค้นหาคำสั่งติดตั้ง Chocolatey และผู้ที่หาเครื่องมือเปิดใช้งาน Windows/Office แบบไม่มีลิขสิทธิ์ คนกลุ่มแรกมักมีสิทธิ์ผู้ดูแลบนเครื่อง และเก็บกุญแจ SSH กับโทเคนของระบบงานไว้ ความเสียหายจึงลามจากเครื่องส่วนตัวไปถึงระบบองค์กรได้ ขณะที่การติดตั้ง Chocolatey จริงควบคู่ไปด้วยทำให้เหยื่อแทบไม่มีเหตุให้สงสัย

การรวม RAT ที่รับคำสั่ง Python ได้ไม่จำกัด เข้ากับตัวดักคีย์บอร์ดและตัวขโมยข้อมูล ทำให้ผู้โจมตีทั้งขโมยข้อมูลครั้งเดียวและกลับมาสั่งงานเพิ่มได้ตลอด การที่คำสั่งต้องลงนามด้วยกุญแจของผู้โจมตีและการหลบ sandbox บนคลาวด์ยังบ่งชี้ว่าผู้พัฒนาคำนึงถึงการถูกยึดโครงสร้างและการถูกวิเคราะห์ตั้งแต่ต้น

คำแนะนำ

  • ติดตั้ง Chocolatey จาก chocolatey.org โดยพิมพ์ URL เองหรือใช้ bookmark อย่าคัดลอกคำสั่ง PowerShell จากผลค้นหาหรือโฆษณา และห้ามใช้เครื่องมือเปิดใช้งาน Windows/Office ที่ไม่มีลิขสิทธิ์บนเครื่ององค์กร
  • ตรวจหา scheduled task ชื่อ SysCheck2 และ SysCheckX และโฟลเดอร์ C:\Windows\SystemHealth\Update ที่มี Python และไฟล์ Pyarmor
  • เฝ้าระวังการเปิด remote debugging ของเบราว์เซอร์ (พอร์ต 9222) และโปรเซส Python ที่ไม่ได้ติดตั้งผ่านช่องทางขององค์กร
  • ตรวจล็อก PowerShell หาการดาวน์โหลดแบบซ่อนหน้าต่าง และลบ exclusion ของ Microsoft Defender ที่ไม่ได้รับอนุญาต
  • บล็อกโดเมนและ IP ในตาราง IoCs และค้นย้อนหลังในล็อก DNS/proxy
  • เมื่อพบเครื่องติดเชื้อ ให้เปลี่ยนรหัสผ่าน เพิกถอนเซสชัน กุญแจ SSH และโทเคนทั้งหมดจากเครื่องที่สะอาด และย้ายเงินคริปโตไปยังกระเป๋าใหม่ที่สร้างบนอุปกรณ์อื่น

Indicators of Compromise (IoCs)

โดเมนและ IP defang แล้ว ([.]) ก่อนใช้ต้องแปลงกลับ

ประเภทIndicatorชื่อไฟล์คำอธิบาย
SHA-256f3846ec2a6ff0a27d9ef2b9bf7908743b81d295ef29344acfb96ff83fff994f9install.ps1ตัวติดตั้งจากเว็บ MAS ปลอม
SHA-256fb1181160e9f10ce1eb5e5dc9bc23e1498a39110ee9ea361fd150454cb01b292install.ps1ตัวติดตั้งจากเว็บ Chocolatey ปลอม
SHA-2563e3b62a9836697d978cbb620dc8af8f6eefdf8cb73fc30d16bb394d1c58f4c97Update.zip/Updatef.zipโมดูลควบคุมระยะไกล
SHA-256237ba698d7dc8936c43e0e78e7644002375e51e8baf9b3a7d4e18683f871ee31nig20084.zipโมดูลสอดแนม
SHA-256be0329d0795dd62ae587faf97e704bb36413e5c98ddd8fe575f5077db3c84e5fgetthem20084.zipโมดูลขโมยข้อมูล
SHA-25604d2828155ed2a276cfd3c97d4f966d328391dd818e04e773212cd601e49fa74nig20083.zipโมดูลขโมยข้อมูลรุ่นเก่า
SHA-25656f05c4fb1c25c04e0dde60e2e5e41ac164a6dc53688d0f9eb52a55f82106389getthem20083.zipโมดูลขโมยข้อมูลรุ่นเก่า
SHA-2560ea99fbbe29af6f797e3866ed5f822c7a5d3e9cdb990a8c382a715069f156499SysMon.pyโมดูลควบคุมระยะไกล
SHA-2568fb7aaf2b9270b8b75f6844aaefd5242b4f926fb89cba10fff3d9b908a769788basrq.pyโมดูลสอดแนม
SHA-2565410c2f239c3649928383c4478dea182f90b21f5b258081fec07e9d297ae4b1cgot.pyโมดูลขโมยข้อมูล
โดเมนchoclatey[.]org—เว็บ Chocolatey ปลอม
โดเมนmassgravel[.]net—เว็บ MAS ปลอม
โดเมนworkerstats[.]net—C2
โดเมนpymons[.]is—C2
โดเมนdatamons[.]org—C2 สำรองที่ถูกใช้งานภายหลัง
โดเมนniceer[.]net—C2 สำรอง
โดเมนsupertrap[.]net—C2 สำรอง
IP82.153.135[.]80—โฮสต์ payload
IP186.2.175[.]183—C2
IP186.2.163[.]185—C2
IP190.115.31[.]69—C2
IP209.99.186[.]187—โฮสต์ payload

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