Malicious PyPI Package เปิด backdoor ให้แฮ็กเกอร์เข้าถึงเครื่องบน Windows, Linux และ Macs ได้

เมื่อวันที่ 17 พฤษภาคม พ.ศ. 2565 มีผู้ไม่หวังดีได้อัปโหลดไฟล์อันตรายชื่อ 'pymafka' ไปยัง PyPI ที่เป็นคลังโปรแกรม และไลบรารีเสริมของ Python โดยไฟล์อันตรายนี้ได้มีชื่อคล้ายกับ PyKafka ซึ่งเป็น Client ของ Apache Kafka ที่ใช้กันอย่างแพร่หลาย โดยต่างกันเพียงเปลี่ยนจาก 'K' เป็น 'M'

Sonatype ซึ่งเป็นผู้ค้นพบ pymafka ได้รายงานไปยัง PyPI ทำให้ไฟล์ดังกล่าวถูกลบออกไปจากระบบเรียบร้อย นอกจากนี้ยังมีการแจ้งไปยังนักพัฒนาที่ดาวน์โหลดไฟล์มาให้ทำการลบไฟล์ทิ้ง และตรวจสอบระบบของพวกเขาทั้งหมดที่อาจถูกฝัง Cobalt Strike Beacon และ Linux Backdoors ไว้ อย่างไรก็ตามพบว่ามีผู้ดาวโหลดไฟล์นี้กว่า 325 ครั้ง ทำให้อาจจะยังมีผู้ได้รับผลกระทบ เนื่องจากไฟล์ดังกล่าวมีการขออนุญาตเข้าถึงข้อมูลภายในของผู้พัฒนาระบบจำนวนมาก

ลักษณะการทำงาน
ผู้เชี่ยวชาญของ Bleeping Computer อธิบายว่า การโจมตีเริ่มต้นจากการรันสคริปต์ 'setup.py' ที่อยู่ในไฟล์ PyMafka ที่โหลดมา หลังจากติดตั้งมันจะทำการตรวจสอบ OS ว่าเป็น Windows, Linux หรือ macOS เพื่อที่จะดึงข้อมูลเพย์โหลดที่ตรงกับ OS นั้นๆมาติดตั้ง

  • สำหรับระบบ Linux หลังจากรันสคริปต์ จะพบว่ามีเชื่อมต่อกับ IP : 39.107.154.72 และสร้างเอาต์พุตไปยัง Bash Shell แต่ขณะที่ทีมผู้เชี่ยวชาญของ Bleeping Computer ได้ทำการทดสอบ Host ที่เชื่อมต่อเกิดหยุดทำงานก่อน ทำให้ไม่ทราบแน่ชัดว่ามีการกระทำใดๆต่อจากนั้น แต่คาดว่าจะมีการเปิดใช้ Reverse Shell ตามมา
  • สำหรับ Windows จะเป็นสคริปต์ติดตั้ง Cobalt Strike ไปยัง 'C:\Users\Public\iexplorer.exe ซึ่งเป็นชื่อไฟล์ที่คล้ายกับ "iexplore.exe" ของ Internet Explorer มาก ต่างกันเพียง (ไม่มี 'r' ต่อท้าย) และไฟล์จริงไม่มีอยู่ในไดเรกทอรี C:\Users\Public"
  • ในส่วนของ macOS ยังไม่มีรายงานแน่ชัด แต่มีการพบว่าหลังจากติดตั้งแล้ว ไฟล์ 'win.exe'ของ Windows และ 'macOS' ของ macOS จะมีการเชื่อมต่อไปยัง IP ปลายทางที่เป็นของจีน
    โดยเมื่อนำไฟล์อัพโหลดไปยัง VirusTotal พบว่ามีการตรวจพบจากผู้ให้บริการต่างๆ 20 จาก 61 ราย

แนวทางการป้องกัน

  • ทำการตรวจสอบไฟล์ให้แน่ชัดก่อนทำการดาวโหลด ทั้ง File Name, File Type และแหล่งที่มา
  • หากพบไฟล์ต้องสงสัยบนเครื่อง ควรทำการประสานงานผู้ดูแลระบบทำการตรวจสอบทันที
  • Update AntiVirus หรือ EndPoint ให้เป็น Version ล่าสุดอยู่เสมอ
  • ทำการ Blacklist IOC ดังนี้

IOC

39[.]107[.]154[.]72

ที่มา : bleepingcomputer.