จากข่าวเกี่ยวกับมัลแวร์ที่มุ่งเน้นการโจมตีไปยังระบบปฏิบัติการ macOS มีมากมายขึ้นทุกวัน ทำให้เราอาจกล่าวได้ว่า เป็นการจบตำนาน ใช้งาน macOS แล้วไม่เจอมัลแวร์ลงอย่างสมบูรณ์ไปแล้ว และข่าวนี้ก็เรียกได้ว่า มีมัลแวร์มาใหม่อีกหนึ่งตัวแล้ว

จากรายงานโดยเว็บไซต์ Security Affairs ได้กล่าวถึงการตรวจพบมัลแวร์ประเภทขโมยข้อมูลจากเครื่องของเหยื่อ หรือ Infostealer ที่มีชื่อว่า AmnesiaStealer ด้วยการใช้หน้าเพจที่ทำเลียนแบบหน้าเพจของคลังดิจิทัล (Repo หรือ Repository) ชื่อดัง GitHub แต่แทนที่จะใช้ปุ่มดาวน์โหลดเพื่อหลอกให้เหยื่อดาวน์โหลดไปติดตั้งมัลแวร์ตามปกติ หน้าเพจปลอมนั้นกลับใช้คำสั่ง สั่งให้เหยื่อทำการเปิดแอป Terminal แล้วทำการแปะโค้ดที่ให้มาโดยอ้างว่าเป็นการทำเพื่อติดตั้งแอปพลิเคชัน แต่แท้จริงแล้วเป็นการติดตั้งมัลแวร์ โดยวิธีการนี้นั้นเป็นวิธีที่เรียกว่าการทำ ClickFix ซึ่งคล้ายคลึงกับแคมเปญของมัลแวร์ตัวอื่น ๆ เช่น Atomic Stealer และ MacSync เป็นต้น

ชาว macOS ระวังมัลแวร์ตัวใหม่ AmnesiaStealer สามารถเข้าควบคุมเว็บเบราว์เซอร์แบบเรียลไทม์ได้
ภาพจาก : https://securityaffairs.com/197190/malware/amnesiastealer-gives-attackers-live-control-of-victims-macos-browsers.html

ในด้านการทำงานนั้นตัวมัลแวร์ Amnesia Stealer จะถูกแบ่งการทำงานออกเป็น 3 ขั้นตอน นั่นคือ

  • ขั้นแรกจะเป็นการรันสคริปท์ Shell เพื่อดาวน์โหลดและติดตั้งมัลแวร์
  • ขั้นที่สองจะเป็นตัวมัลแวร์ซึ่งถูกเขียนขึ้นด้วยภาษา Rust ที่จะทำหน้าที่ในการขโมยข้อมูลสำคัญต่าง ๆ ที่อยู่ภายใน Apple Keychain, เว็บเบราว์เซอร์, Apple Notes และ Telegram
  • ขั้นที่สามมัลแวร์จะดาวน์โหลดโมดูล (Module) ที่มีชื่อว่า stream_module ลงมาเพื่อใช้ในการเข้าควบคุมเว็บเบราว์เซอร์ของเหยื่ออย่างเงียบเชียบ

ซึ่งขั้นสามนี้คือจุดเด่นที่ทำให้มัลแวร์ตัวนี้เหนือกว่ามัลแวร์ประเภทเดียวกันโดยทั่วไป เนื่องจากมีการใข้งานคำสั่ง remote_stream ผ่านโมดูลดังกล่าวช่วยให้แฮกเกอร์สามารถควบคุมเว็บเบราว์เซอร์แบบสด (Live) ได้ทั้งในส่วนของการป้อนข้อมูลผ่านคีย์บอร์ด, การคลิ๊กเมาส์, การจัดการแท็บ, และการท่องเว็บไซต์ ด้วยการคัดลอกโปรไฟล์ (Profile) เว็บเบราว์เซอร์ของเหยื่อมาใช้งานแบบซ่อนหน้าต่าง ทำให้หน้าต่างเว็บเบราว์เซอร์ที่เหยื่อใช้อยู่นั้นไม่ได้รับผลกระทบ และไม่รู้ตัวว่ากำลังถูกแฮกเกอร์ลักลอบใช้งานอยู่ นอกจากนั้นตัวของ stream_module นั้นยังใช้วิธีการขโมยไฟล์ Cookies ด้วยการใช้งานเครื่องมือที่มีชื่อว่า Chrome DevTools Protocol เพื่อส่งคำสั่ง Network.getAllCookies ไปยังเซสชันเบราว์เซอร์แบบซ่อนหน้าต่าง (Headless Browser) เพื่อคืนค่า Cookies ที่เคยถูกถอดรหัส (Decrypted) อยู่ภายในหน่วยความจำแรม (RAM) ออกมาเป็นข้อความธรรมดา (Plaintext) ไม่เพียงเท่านั้นตัวโมดูลนี้ยังมีการใช้งานสคริปท์ล่องหนด้วยการส่งคำสั่ง Page.addScriptToEvaluateOnNewDocument เพื่อปรับแต่งกุญแจ API ที่ใช้ในการตรวจสอบอัตลักษณ์ (Fingerprint) เพื่อซ่อน Headless Browser ดังกล่าวจากการถูกตรวจจับ นอกจากนั้นยังมีการสร้างความคงทนบนระบบ (Persistence) ด้วยการติดตั้งตัวเองเป็น LaunchDaemon ในระดับ Root ที่ปลอมตัวเองเป็นเครื่องมือสำหรับรายงานอาการค้างของเครื่อง (Crash Report) ภายใต้ชื่อว่า com.apple.ReportCrash.agent ต่อด้วยค่าตัวเลขแบบสุ่ม ทำให้ตัวมัลแวร์สามารถรันขึ้นมาใหม่ได้เรื่อย ๆ แม้เครื่องจะถูกรีบูทก็ตาม

สำหรับในส่วนของมัลแวร์หลักที่อยู่ในขั้นที่สองนั้น จะใช้วิธีการขโมยรหัสผ่านเข้าสู่ระบบด้วยการใช้งานหน้าต่างข้อความที่อ้างว่าเป็นการป้อนรหัสผ่านเพื่อติดตั้งแอปพลิเคชันใหม่ (Installer) โดยหลังจากที่ได้รหัสมาแล้วตัวมัลแวร์จะทำการยืนยันความถูกต้องของรหัส (Validation) บนเครื่องของเหยื่อ (Local) กับบริการไดเรกทอรี (Directory Service) ของตัวระบบด้วยการใช้งานคำสั่ง dscl ซึ่งถ้ารหัสนั้นไม่ถูกต้องก็จะแสดงผลว่า “Incorrect password. Please try again” เพื่อให้เหยื่อทำการกรอกรหัสผ่านใหม่ไปเรื่อย ๆ จนกว่าจะกรอกตัวที่ถูกต้อง ซึ่งหลังจากที่ได้รับรหัสผ่านที่ถูกต้องมา ตัวรหัสก็จะถูกนำเอาไปใช้เพื่อทำการหลาย ๆ อย่างบนระบบ เช่น นำไปใช้กับ sudo -S เพื่อรับสิทธิ์ในการอ่านข้อมูลในระดับสูง (Privileged Reads) แล้วนำมาใช้กับคำสั่ง security unlock-keychain -p เพื่อขโมยข้อมูลภายใน Keychain และทำการบันทึกรหัสผ่านที่ขโมยมาได้ในรูปแบบข้อมูลที่ไม่ถูกเข้ารหัส (Cleartext) ทั้งบนโฟลเดอร์สำหรับการพักข้อมูล (Staging Directory) ภายใต้ชื่อไฟล์ว่า pwd และโฟลเดอร์หลักของเหยื่อ (Home) ในชื่อไฟล์ว่า ~/.pwd

ไม่เพียงเท่านั้น ด้วยรหัสผ่านเข้าระบบที่ได้รับมา มัลแวร์ยังนำเอาไปใช้แอบอ่านข้อความภายใน Apple Notes ด้วยการใช้งานคำสั่ง sudo cat, เข้าค้นหาโฟลเดอร์ Desktop, Documents, และ Downloads เพื่อหาข้อมูลเอกสารและข้อมูลอื่น ๆ ที่เชื่อมโยงกับกระเป๋าเงินคริปโตเคอร์เรนซี (Crypto Wallet) ของเหยื่อ, และเข้าขโมยข้อมูลภายในเว็บเบราว์เซอร์ เช่น รหัสผ่านที่ถูกบันทึกไว้, ไฟล์ Cookies, ประวัติการเข้าเยี่ยมชมเว็บไซต์, และข้อมูลของส่วนเสริม (Extensions) โดยมัลแวร์ตัวนี้สามารถเข้าถึงเว็บเบราว์เซอร์ในตระกูล Chromium ได้มากถึง 16 แบรนด์เลยทีเดียว นอกจากนั้นมัลแวร์ตัวนี้ยังมีวิธีการจัดการกับกุญแจ Safe Storage Key ของเว็บเบราว์เซอร์ Chrome บน macOS 26 ได้อย่างน่าสนใจ ซึ่งถ้ามัลแวร์ไม่ได้สามารถดึงกุญแจดังกล่าวออกมาได้ตามปกติ มัลแวร์จะทำการลบกุญแจดังกล่าวออกเพื่อทดแทนด้วยกุญแจที่มัลแวร์มีอยู่แล้ว ด้วยวิธีนี้จะช่วยให้มัลแวร์สามารถถอดรหัสไฟล์ Cookies และรหัสผ่านชุดใหม่ที่ขโมยมาได้ทั้งหมดถึงแม้จะทำให้ข้อมูลที่ถูกบันทึกไว้ก่อนหน้าไม่สามารถเข้าถึงได้ แต่จุดนี้ก็เป็นจุดอ่อนในเชิงพฤติกรรมให้สามารถตรวจจับได้เช่นเดียวกัน เพราะโดยทั่วไปเบราว์เซอร์ Chrome จะไม่ทำการลบกุญแจ Safe Storage Key แล้วสร้างใหม่ผ่านคำสั่ง security อย่างเด็ดขาด

ในส่วนระบบหลังบ้านอย่างส่วนของเซิร์ฟเวอร์ควบคุม หรือ C2 (Command and Control) ก็เรียกได้ว่าร้ายกาจไม่แพ้กัน ซึ่งตัวระบบควบคุมนั้นจะมีชื่อว่า Amnesia Panel ที่มีการฝังตัวอยู่ในระดับ Root ภายในโดเมนที่ใช้ส่งมัลแวร์ (Delivery Domain) ที่จะมีการส่งข้อความแจ้งกลับเป็นภาษารัสเซียถ้ามีการล็อกอินที่ผิดพลาด ซึ่งเมื่อวิเคราะห์เจาะลึกลงไปแล้วก็พบว่า URL ที่เกี่ยวข้องกับมัลแวร์นั้นจะมีโครงสร้าง URL ในรูปแบบเดียวกันนั่นคือ /d/command?t=token&b=build โดยกระจายตัวไปยังโดเมนต่าง ๆ ที่เกี่ยวข้องแต่ทุกโดเมนนั้นมีการชี้เป้ากลับไปยังหมายเลข IP เดียวกันทั้งหมด ซึ่งชี้ชัดว่าเป็นการทำงานของตัวสร้างมัลแวร์ (Builder) ที่ทำหน้าที่เพียงแค่ตั้งค่าแคมเปญและฝังไฟล์มัลแวร์ (Payload) เท่านั้น

ต้นฉบับ :
ที่มา :