แพ็กเกจ npm อันตราย ถูกใช้เพื่อขโมยข้อมูลบัญชี และข้อความของ WhatsApp

แพ็กเกจอันตรายใน Registry ของ Node Package Manager (NPM) โดยแอบอ้างว่าเป็นไลบรารี WhatsApp Web API ของจริง เพื่อขโมยข้อความของ WhatsApp, รวบรวมรายชื่อผู้ติดต่อ และเข้าถึงบัญชีของผู้ใช้งาน

แพ็กเกจอันตรายนี้เป็นการ Fork (แยกส่วนมาพัฒนาต่อ) จากโปรเจกต์ยอดนิยมที่ชื่อว่า WhiskeySockets Baileys โดยตัวแพ็กเกจยังคงฟังก์ชันการทำงานที่ใช้งานได้จริงเอาไว้เพื่อให้แนบเนียน มันถูกเผยแพร่บน npm ภายใต้ชื่อ lotusbail มาเป็นเวลาอย่างน้อย 6 เดือนแล้ว และมียอดดาวน์โหลดสะสมไปแล้วกว่า 56,000 ครั้ง

นักวิจัยจากบริษัทด้านความปลอดภัยด้านซัพพลายเชน Koi Security ได้ค้นพบแพ็กเกจอันตรายดังกล่าว และพบว่ามันสามารถขโมย Token สำหรับการยืนยันตัวตน และ Session keys ของ WhatsApp ได้ รวมถึงสามารถดักจับ และบันทึกข้อความทั้งหมด (ทั้งที่ส่งออก และได้รับมา) ตลอดจนลักลอบส่งข้อมูลรายชื่อผู้ติดต่อ, ไฟล์มีเดีย และเอกสารต่าง ๆ ออกไป

นักวิจัยอธิบายว่า "แพ็กเกจนี้จะทำหน้าที่ Wrap ตัว WebSocket client ของจริงที่ใช้สื่อสารกับ WhatsApp เอาไว้ ดังนั้น ทุกข้อความที่ผ่านแอปพลิเคชัน จะต้องผ่านตัว Socket wrapper ของมัลแวร์นี้ก่อนเป็นลำดับแรก"

"เมื่อทำการยืนยันตัวตน ตัว Wrapper นี้จะดักจับข้อมูล Credentials เมื่อมีข้อความเข้ามา มันก็จะดักจับข้อความเหล่านั้น และเมื่อส่งข้อความออกไป มันก็จะบันทึกข้อความไว้เช่นกัน"

ข้อมูลที่ถูกดักจับได้จะถูกเข้ารหัสด้วย RSA algorithm ที่ปรับแต่งขึ้นมาเอง รวมไปถึงมีการใช้เทคนิค Obfuscation หลายชั้น เช่น การใช้ลูกเล่นเกี่ยวกับ Unicode, การบีบอัดไฟล์แบบ LZString และการเข้ารหัสแบบ AES ก่อนที่จะลักลอบส่งข้อมูลเหล่านั้นออกไปภายนอก

นอกเหนือจากการขโมยข้อมูลแล้ว แพ็กเกจอันตรายนี้ยังมีโค้ดที่ใช้เชื่อมต่ออุปกรณ์ของผู้โจมตีเข้ากับบัญชี WhatsApp ของเหยื่อ ผ่านกระบวนการจับคู่อุปกรณ์ (Device pairing)

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

Koi Security รายงานว่า lotusbail ใช้เทคนิคการวางกับดักแบบ Infinite loop จำนวน 27 จุด เพื่อทำให้กระบวนการ Debugging และการวิเคราะห์โค้ดทำได้ยากลำบากยิ่งขึ้น ซึ่งน่าจะเป็นสาเหตุหลักที่ทำให้มันสามารถหลุดรอดการตรวจสอบมาได้เป็นเวลานาน

ข้อแนะนำสำหรับนักพัฒนาที่เคยใช้งานแพ็กเกจนี้คือ ให้ดำเนินการลบแพ็กเกจออกจากระบบทันที และตรวจสอบบัญชี WhatsApp ของตนเองเพื่อค้นหาอุปกรณ์เชื่อมต่อที่แปลกปลอมหรือไม่ได้รับอนุญาต

ทาง Koi Security ยังเน้นย้ำอีกว่า การตรวจสอบเพียงแค่ Source code เพื่อหาบรรทัดคำสั่งที่เป็นอันตรายนั้น ยังไม่เพียงพอ นักพัฒนาควรเฝ้าระวังพฤติกรรมการทำงานขณะโปรแกรมกำลังทำงานด้วย โดยให้สังเกตการเชื่อมต่อเครือข่ายขาออกที่ผิดปกติ หรือกิจกรรมที่น่าสงสัยระหว่างขั้นตอนการยืนยันตัวตนเมื่อมีการนำ Dependencies ใหม่ ๆ มาใช้งาน เพื่อเป็นการยืนยันความปลอดภัย

ที่มา : bleepingcomputer