macOS ระวังมัลแวร์ตัวใหม่ AmnesiaStealer

macOS ระวังมัลแวร์ตัวใหม่ AmnesiaStealer สามารถเข้าควบคุมเว็บเบราว์เซอร์แบบเรียลไทม์ได้

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

ในด้านการทำงานนั้นตัวมัลแวร์ 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) เท่านั้น

#ติดเทรนด์ #lemon8ไดอารี่ #macos #amnesiastealer #freedomhack

9/12 แก้ไขแล้ว

... อ่านเพิ่มเติมจากประสบการณ์การใช้งาน macOS และการติดตามข่าวสารความปลอดภัยไซเบอร์ ผมพบว่าในช่วงหลังมัลแวร์ประเภทขโมยข้อมูล (Infostealer) ได้ถูกพัฒนาขึ้นอย่างล้ำหน้าและซับซ้อนมากขึ้น โดยเฉพาะ AmnesiaStealer ที่ใช้เทคนิค ClickFix ด้วยการหลอกผ่านหน้าเพจปลอมของ GitHub และให้เหยื่อเปิด Terminal เพื่อติดตั้งโค้ดมัลแวร์ ซึ่งดูเหมือนว่าจะเหมาะกับผู้ที่มีความรู้ขั้นสูงหรือมีความระมัดระวังน้อยในการรันโค้ด ในส่วนของมัลแวร์ที่เขียนด้วยภาษา Rust ตัวนี้ นอกจากจะขโมยข้อมูลเช่นรหัสผ่าน, cookies คุกกี้, ประวัติท่องเว็บ และเนื้อหาภายใน Apple Notes แล้วยังสามารถควบคุมเว็บเบราว์เซอร์ของเราได้แบบเรียลไทม์โดยใช้โมดูล stream_module ที่ซ่อนไว้ ทำให้ผู้ใช้ไม่รู้ตัวเลยว่าเบราว์เซอร์ของตนถูกใช้งานโดยแฮกเกอร์อยู่เบื้องหลัง สิ่งที่ผมคิดว่าน่ากลัวที่สุดคือการที่มัลแวร์ตัวนี้สามารถลบกุญแจ Safe Storage Key เดิมของ Chrome บน macOS และแทนที่ด้วยกุญแจของตัวเอง ทำให้มันสามารถถอดรหัสข้อมูลใหม่ ๆ ที่ถูกเก็บในเบราว์เซอร์ได้ทั้งหมด ถึงแม้จะทำให้ข้อมูลเก่าที่บันทึกไว้เข้าถึงไม่ได้ก็ตาม เทคนิคนี้นับว่าล้ำและสร้างความยากในการตรวจจับมาก สำหรับผู้ใช้งาน macOS ทุกคน ผมแนะนำอย่างยิ่งให้ระมัดระวังไม่รันคำสั่งไหนใน Terminal ที่ไม่ได้มาจากแหล่งที่เชื่อถือได้ รวมทั้งหลีกเลี่ยงการดาวน์โหลดแอปจากแหล่งที่ไม่เป็นทางการ และควรติดตั้งซอฟต์แวร์แอนตี้มัลแวร์ที่รองรับ macOS เพื่อสแกนและป้องกันมัลแวร์เหล่านี้ สุดท้ายนี้ การตั้งรหัสผ่านที่แข็งแรงและเปลี่ยนรหัสอย่างสม่ำเสมอ รวมถึงใช้ฟีเจอร์ความปลอดภัยของ macOS เช่น FileVault และระบบยืนยันตัวตนหลายชั้น จะช่วยลดความเสี่ยงในการถูกโจมตีจากมัลแวร์ชนิดนี้ได้มากขึ้น การติดตามข่าวสารและความรู้เรื่องความปลอดภัยไซเบอร์อยู่เสมอจึงเป็นสิ่งจำเป็นสำหรับผู้ใช้ macOS ในยุคนี้ เพราะมัลแวร์ที่พัฒนาอย่าง AmnesiaStealer นั้นพร้อมจะก่อภัยอย่างร้ายแรงได้ในทุกเมื่อ