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
- ควรตระหนักถึงภัยคุกคามทางไซเบอร์
IOCs 1: https://www.countercraftsec.com/blog/a-step-by-step-bpfdoor-compromise/
IOCs 2: https://g-soft.info/security/2370/bpfdoor-backdoor-iocs/