BPFDoor malware ใช้ช่องโหว่เก่าของ Solaris เพื่อรับสิทธิ์ Root 

BPFDoor malware เพิ่งถูกค้นพบและรายงานครั้งแรก

BPFDoor malware เป็นแบ็คดอร์แบบกำหนดเอง โดยอุปกรณ์รักษาความปลอดภัยไม่สามารถตรวจพบเป็นเวลาอย่างน้อยห้าปี สำหรับระบบ Linux และ Solaris โดยเป้าหมายการโจมตีไปยังองค์กรโทรคมนาคม รัฐบาล การศึกษา และระบบโลจิสติกส์ ซึ่งการทำงานเผยให้เห็นว่าผู้ไม่ประสงค์ดีใช้ประโยชน์จากช่องโหว่เก่า เพื่อให้เกิดการคงอยู่ในระบบของเป้าหมาย   

BPFDoor malware เพิ่งถูกค้นพบและรายงานครั้งแรกโดยนักวิจัยจาก PricewaterhouseCoopers (PwC) ซึ่งอ้างว่าเป็นภัยคุกคามที่มาจากจีนชื่อ Red Menshen มีสามารถในการ Bypasses Firewall ที่ช่วยให้ผู้ไม่ประสงค์ดีสามารถใช้การโจมตีแบบ Remote Code Execution ไปที่ระบบ โดยไม่ต้องทำการเปิดใช้งาน Port ใหม่ บนเครือข่ายหรือ Firewall Rules 

โดยบริษัทรักษาความปลอดภัยทางไซเบอร์ CrowdStrike สังเกตเห็นผู้ไม่ประสงค์ดีที่เน้นไปที่ระบบ Linux และ Solaris เป็นหลัก โดยใช้ BPFDoor malware ที่สร้างขึ้นเองบนผู้ให้บริการโทรคมนาคม เพื่อขโมยข้อมูลส่วนบุคคลของผู้ใช้ (เช่น บันทึกรายละเอียดการโทร ข้อมูลเกี่ยวกับหมายเลขโทรศัพท์เฉพาะ) เมื่อ DecisiveArchitect เข้าถึงระบบ Solaris ได้ ก็จะได้รับสิทธิ์ระดับ Root โดยใช้ประโยชน์จาก CVE-2019-3010 ซึ่งเป็นช่องโหว่เก่าในองค์ประกอบ XScreenSaver ของระบบปฏิบัติการ Solaris (เวอร์ชัน 11.x) 

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

การตรวจจับมัลแวร์ BPFDoor/JustForFun บนระบบ Linux โดยผู้ไม่ประสงค์ดีจะแก้ไขสคริปต์ SysVinit ที่มีอยู่บนโฮสต์ เพื่อให้คงอยู่ของมัลแวร์ต่อไปได้ ดังนั้นการตรวจสอบบรรทัดของโค้ดในสคริปต์ SysVinit ควรมีการวิเคราะห์การอ้างอิงไฟล์ทั้งหมด เกี่ยวกับชื่อไฟล์ Path สำหรับ Root และ Script ที่เกี่ยวข้องกับการคงอยู่ จะแตกต่างจากระบบหนึ่งไปอีกระบบหนึ่ง 

CrowdStrike จัดเตรียมชุดคำสั่งที่สามารถช่วยตรวจสอบว่า BPFDoor มีอยู่ในเครือข่ายหรือไม่ โดยใช้คำสั่งต่อไปนี้ 

Linux: 

lsof -RPnl | grep SOCK_RAW | grep IP 

Solaris: 

for _PIDno in /proc/*; do line=$(pfiles “${_PIDno}”); echo $_PIDno $line | grep bpf; done 

for _PIDno in /proc/*; do line=$(pmap “${_PIDno}”); echo $_PIDno $line | grep libpcap; done 

for _PIDno in /proc/*; do line=$(pldd “${_PIDno}”); echo $_PIDno $line | grep libpcap; done 

  • คำสั่ง lsof ในระบบ Linux จะรายงานบรรทัดคำสั่งที่ปลอมแปลง และยังช่วยให้วิเคราะห์รายการไฟล์ที่เปิด ที่เกี่ยวข้องกับ Process ID. 
  • คำสั่งสำหรับระบบ Solaris จะวนซ้ำทุกกระบวนการ เพื่อค้นหาสตริงที่ระบุกระบวนการที่ทำงานด้วยตัวกรองPacket และค้นหากระบวนการที่โหลดไลบรารี libpcap 

IOCs 

Process names 
“/sbin/udevd -d”, 
“/sbin/mingetty /dev/tty7”, 
“/usr/sbin/console-kit-daemon –no-daemon”, 
“hald-addon-acpi: listening on acpi kernel interface /proc/acpi/event”, 
“dbus-daemon –system”, 
“hald-runner”, 
“pickup -l -t fifo -u”, 
“avahi-daemon: chroot helper”, 
“/sbin/auditd -n”, 
“/usr/lib/systemd/systemd-journald” 
“‘/usr/libexec/postfix/master” 
“qmgr -l -t fifo -u” 
Filenames    
/dev/shm/kdmtmpflush 
/dev/shm/kdumpflush 
/dev/shm/kdumpdb 
 /var/run/xinetd.lock 
/var/run/kdevrund.pid 
/var/run/haldrund.pid 
/var/run/syslogd.reboot 
MD5 
4574b9a820d22c411d53aa2f1b56b045 
SHA1 
e6fc57807585331b85cc957cb5c4767b9f5faf5b 
SHA256 
07ecb1f2d9ffbd20a46cd36cd06b022db3cc8e45b1ecab62cd11f9ca7a26ab6d 
144526d30ae747982079d5d340d1ff116a7963aba2e3ed589e7ebc297ba0c1b3 
1925e3cd8a1b0bba0d297830636cdb9ebf002698c8fa71e0063581204f4e8345 
4c5cf8f977fc7c368a8e095700a44be36c8332462c0b1e41bff03238b2bf2a2d 
591198c234416c6ccbcea6967963ca2ca0f17050be7eed1602198308d9127c78 
599ae527f10ddb4625687748b7d3734ee51673b664f2e5d0346e64f85e185683 
5b2a079690efb5f4e0944353dd883303ffd6bab4aad1f0c88b49a76ddcb28ee9 
5faab159397964e630c4156f8852bcc6ee46df1cdd8be2a8d3f3d8e5980f3bb3 
76bf736b25d5c9aaf6a84edd4e615796fffc338a893b49c120c0b4941ce37925 
93f4262fce8c6b4f8e239c35a0679fbbbb722141b95a5f2af53a2bcafe4edd1c 
96e906128095dead57fdc9ce8688bb889166b67c9a1b8fdb93d7cff7f3836bb9 
97a546c7d08ad34dfab74c9c8a96986c54768c592a8dae521ddcf612a84fb8cc 
c796fc66b655f6107eacbe78a37f0e8a2926f01fecebd9e68a66f0e261f91276 
c80bd1c4a796b4d3944a097e96f384c85687daeedcdcf05cc885c8c9b279b09c 
dc8346bf443b7b453f062740d8ae8d8d7ce879672810f4296158f90359dcae3a 
f47de978da1dbfc5e0f195745e3368d3ceef034e964817c66ba01396a1953d72 
f8a5e735d6e79eb587954a371515a82a15883cf2eda9d7ddb8938b86e714ea27 
fa0defdabd9fd43fe2ef1ec33574ea1af1290bd3d763fdb2bed443f2bd996d73 
fd1b20ee5bd429046d3c04e9c675c41e9095bea70e0329bd32d7edd17ebaf68a 
96e906128095dead57fdc9ce8688bb889166b67c9a1b8fdb93d7cff7f3836bb9 

คำแนะนำ  

  • ควรใช้ Web Application Firewall  
  • ควรปิดการใช้ High Port   
  • ควรติดตั้ง Endpoint Security และทำการ Full-Scan  
  • ควรตระหนักถึงภัยคุกคามทางไซเบอร์  

Ref: https://www.bleepingcomputer.com/news/security/bpfdoor-malware-uses-solaris-vulnerability-to-get-root-privileges/ 

IOCs 1: https://www.countercraftsec.com/blog/a-step-by-step-bpfdoor-compromise/ 

IOCs 2: https://g-soft.info/security/2370/bpfdoor-backdoor-iocs/ 

 

Share