ตรวจพบการโจมตีผู้ใช้ไดเรกทอรี NPM เมื่อวันที่ 20 กุมภาพันธ์ มีการเพิ่มแพ็กเกจมากกว่า 15 รายการลงในที่เก็บ NPM ไฟล์ README ของแพ็กเกจเหล่านี้มีลิงก์ไปยังเว็บไซต์ฟิชชิ่งหรือลิงก์อ้างอิงที่สร้างค่าลิขสิทธิ์ การวิเคราะห์แพ็กเกจเหล่านี้พบลิงก์ฟิชชิ่งหรือลิงก์โฆษณาที่ไม่ซ้ำกัน 190 ลิงก์ ครอบคลุม 31 โดเมน
ชื่อแพ็กเกจถูกเลือกเพื่อดึงดูดความสนใจของสาธารณชนทั่วไป เช่น "free-tiktok-followers" "free-xbox-codes" "instagram-followers-free" เป็นต้น จุดประสงค์คือการเพิ่มรายการอัปเดตล่าสุดบนหน้าแรกของ NPM ด้วยแพ็กเกจสแปม คำอธิบายแพ็กเกจประกอบด้วยลิงก์ที่สัญญาว่าจะแจกของรางวัลฟรี ของขวัญ โปรแกรมโกงเกม และบริการฟรีสำหรับเพิ่มผู้ติดตามและยอดไลก์บนแพลตฟอร์มโซเชียลมีเดียอย่าง TikTok และ Instagram นี่ไม่ใช่การโจมตีครั้งแรก ในเดือนธันวาคม มีการเผยแพร่แพ็กเกจสแปม 144 รายการใน NuGet, NPM และ PyPi

เนื้อหาแพ็กเกจถูกสร้างขึ้นโดยอัตโนมัติโดยใช้สคริปต์ Python ซึ่งดูเหมือนจะถูกทิ้งไว้โดยไม่ได้ตั้งใจในแพ็กเกจ และรวมถึงข้อมูลประจำตัวที่ใช้ในการโจมตี แพ็กเกจเหล่านี้ถูกเผยแพร่ภายใต้บัญชีที่แตกต่างกันหลายบัญชีโดยใช้เทคนิคที่ทำให้ยากต่อการติดตามและระบุแพ็กเกจที่มีปัญหาได้อย่างรวดเร็ว
นอกเหนือจากกิจกรรมฉ้อโกงแล้ว ยังตรวจพบความพยายามหลายครั้งในการเผยแพร่แพ็คเกจที่เป็นอันตรายในที่เก็บ NPM และ PyPi อีกด้วย:
- พบแพ็กเกจอันตราย 451 รายการในคลัง PyPI ซึ่งปลอมตัวเป็นไลบรารียอดนิยมโดยใช้ typosquatting (การกำหนดชื่อที่คล้ายคลึงกันแต่มีอักขระต่างกัน เช่น ใช้ vper แทน vyper, ใช้ bitcoinnlib แทน bitcoinlib, ใช้ ccryptofeed แทน cryptofeed, ใช้ ccxtt แทน ccxt, ใช้ cryptocommpare แทน cryptocompare, ใช้ seleium แทน selenium, ใช้ pinstaller แทน pyinstaller เป็นต้น) แพ็กเกจเหล่านี้มีโค้ดแอบแฝงสำหรับการขโมยคริปโทเคอร์เรนซี ซึ่งตรวจพบรหัสกระเป๋าเงินคริปโทในคลิปบอร์ดและแทนที่ด้วยกระเป๋าเงินของผู้โจมตี (แนวคิดคือเหยื่อจะไม่สังเกตเห็นหมายเลขกระเป๋าเงินอื่นที่คัดลอกมาจากคลิปบอร์ดเมื่อทำการชำระเงิน) การแทนที่นี้ดำเนินการโดยส่วนเสริมของเบราว์เซอร์ที่ทำงานในบริบทของทุกหน้าเว็บที่เข้าชม
- พบไลบรารี HTTP ที่เป็นอันตรายหลายชุดในที่เก็บ PyPI พบกิจกรรมที่เป็นอันตรายในแพ็กเกจ 41 รายการ ซึ่งตั้งชื่อโดยใช้เทคนิคการ typosquatting และมีลักษณะคล้ายกับไลบรารียอดนิยม (aio5, requestt, ulrlib, urllb, libhttps, piphttps, httpxv2 เป็นต้น) เพย์โหลดได้รับการออกแบบให้คล้ายกับไลบรารี HTTP ที่ใช้งานได้จริง หรือคัดลอกโค้ดของไลบรารีที่มีอยู่แล้ว และคำอธิบายมีการกล่าวอ้างเกี่ยวกับข้อดีและการเปรียบเทียบกับไลบรารี HTTP ที่ถูกต้อง กิจกรรมที่เป็นอันตรายประกอบด้วยการดาวน์โหลดมัลแวร์เข้าสู่ระบบ หรือการรวบรวมและส่งข้อมูลลับ
- พบว่า NPM มีแพ็คเกจ JavaScript จำนวน 16 รายการ (speedte*, trova*, lagra) ซึ่งนอกจากจะมีฟังก์ชันการทำงานที่ระบุไว้ (การทดสอบแบนด์วิดท์) แล้ว ยังมีโค้ดสำหรับการขุดสกุลเงินดิจิทัลโดยที่ผู้ใช้ไม่ทราบอีกด้วย
- ตรวจพบแพ็กเกจที่เป็นอันตราย 691 รายการใน NPM แพ็กเกจที่เป็นปัญหาส่วนใหญ่แอบอ้างเป็นโปรเจกต์ของ Yandex (เช่น yandex-logger-sentry, yandex-logger-qloud, yandex-sendsms เป็นต้น) และมีโค้ดสำหรับส่งข้อมูลลับไปยังเซิร์ฟเวอร์ภายนอก серверыเชื่อกันว่าผู้ที่โพสต์แพ็กเกจเหล่านั้นพยายามแทนที่ส่วนประกอบที่จำเป็นของตนเองเมื่อสร้างโปรเจกต์ใน Yandex (ซึ่งเป็นวิธีการแทนที่ส่วนประกอบที่จำเป็นภายใน) ในคลังเก็บข้อมูล PyPI นักวิจัยกลุ่มเดียวกันนี้พบแพ็กเกจ 49 รายการ (reqsystem, httpxfaster, aio6, gorilla2, httpsos, pohttp เป็นต้น) ที่มีโค้ดที่เป็นอันตรายซึ่งถูกซ่อนไว้ ซึ่งจะดาวน์โหลดและเรียกใช้ไฟล์ปฏิบัติการจากเซิร์ฟเวอร์ภายนอก เซิร์ฟเวอร์.
ที่มา: opennet.ru
