มัลแวร์ BPFDoor เป็น Linux/Unix Backdoor ที่ช่วยโจมตี
พบ !! มัลแวร์ BPFDoor เป็น Linux/Unix Backdoor ที่ช่วยให้ผู้ไม่ประสงค์ดีสามารถใช้การโจมตี
แบบ Remote Code Execution ไปที่ระบบ โดยไม่ต้องทำการเปิดใช้งาน Port ใหม่ บนเครือข่าย
หรือ Firewall Rules
Parsing “Magic” Packets
- มัลแวร์ BPFdoor เป็น Passive Backdoor ซึ่งหมายความว่ามันสามารถใช้ Port ใด Port หนึ่งหรือมากกว่าสำหรับ Packets ขาเข้าจาก Host หนึ่งหรือมากกว่า ซึ่งผู้ไม่ประสงค์ดีสามารถเรียกใช้คำสั่ง
ที่เป็นอันตรายไปยังเครือข่ายที่ถูกโจมตี - มัลแวร์จะใช้ Berkeley Packet Filter (BPF ในชื่อ Backdoor) ซึ่งทำงานที่ Network Layer Interface เพื่อดูการรับส่ง Network Traffic ทั้งหมด และ ส่ง Packets ไปยังปลายทาง
- มัลแวร์ BPFdoor จะใช้รหัสผ่าน “Magic Password” เพื่อควบคุม Implant Actions
- มัลแวร์ BPFdoor จะ Parses เฉพาะ ICMP, UDP และ TCP Packets ตรวจสอบค่าข้อมูลเฉพาะ และ รหัสผ่านสำหรับ Packets มีความสามารถที่โดดเด่นคือมันสามารถตรวจสอบ Port ใด ๆ ก็ได้
ของ Magic Packet แม้ว่า Port เหล่านั้นจะถูกใช้งาน เช่น Webservers, FTP หรือ SSH หาก TCP และ
UDP Packet มีข้อมูล “Magic” ที่รหัสผ่านถูกต้อง Backdoor จะทำงานตามคำสั่ง เช่น การตั้งค่า Bind
หรือ Reverse Shell
Bypassing the local Firewall
มัลแวร์ BPFdoor มีเทคนิคการหลีกเลี่ยงระบบความรักษาความปลอดภัย ดังนี้ :
- อยู่ในหน่วยความจำระบบและปรับใช้ Anti-Forensics Action (Wipes The Process Environment,
Albeit Unsuccessfully as It Leaves It Empty) - โหลด Berkeley Packet Filter (BPF) เพื่อให้ทำงานได้เมื่ออยู่ต่อหน้า Firewall ที่กำลังทำงานอยู่ในเครื่อง
เพื่อดู Packets - Modifies “iptables” Rules เมื่อได้รับ Packets ที่เกี่ยวข้องเพื่อให้ผู้ไม่ประสงค์ดีสามารถสื่อสาร
ผ่าน Local Firewall - ปลอมแปลง binary ภายใต้ชื่อที่คล้ายกับ Linux system daemon
- เปลี่ยนชื่อและเรียกใช้ตัวเองเป็น /dev/shm/kdmtmpflush
- เปลี่ยนวันที่ของเลขฐานสอง (timestomping) เป็น 30 ตุลาคม 2008 ก่อนลบออก
นักวิจัยเชื่อว่า ที่ผู้ไม่ประสงค์ดีปรับใช้เทคนิค Anti-Forensics Action ในกรณีนี้ เพื่อปกป้อง Binary และวัตถุประสงค์ของการปลอมวันที่ คือ เพื่อซ่อนมัลแวร์จากการค้นหาไฟล์ในระบบ
การเปลี่ยน Firewall Rules มีความสำคัญเป็นพิเศษ ช่วยให้ผู้ไม่ประสงค์ดีสามารถสื่อสารกับ Backdoor ผ่านการรับส่ง Traffic ที่ Firewall ไม่สามารถตั้งค่าสถานะว่าน่าสงสัยได้
นักวิจัยยังอธิบายว่าเมื่อ Host ที่ติดไวรัสได้รับ Special BPFdoor Packets มัลแวร์จะ Spawn Instance ขึ้นมาใหม่ และ เปลี่ยน Local Iptables Rules ในเครื่อง เพื่อทำการเปลี่ยนเส้นทางจาก Host ที่ Request ไปยัง Shell Port ตัวอย่าง เช่น Implant สามารถ Redirect การรับส่ง traffic ทั้งหมดจากผู้ไม่ประสงค์ดี โดยใช้ Port TCP 443 (Encrypted Web)
ไปยัง Shell ภายนอก การรับส่ง Traffic จะดูเหมือนการรับส่ง TLS/SSL Traffic แต่แท้จริงแล้วผู้ไม่ประสงค์ดี
กำลังทำการ Remote Root บนระบบ
สำหรับ Local Shell มัลแวร์จะแก้ไขการกำหนดค่า “Iptables” เพื่อเปลี่ยนเส้นทางการรับส่ง Traffic ทั้งหมดที่มาจากผู้ไม่ประสงค์ดีผ่าน Port ที่ถูกต้องไปยัง Port ที่กำหนดไว้ในมัลแวร์ ด้วยวิธีนี้ ผู้ไม่ประสงค์ดีสามารถเลือก
การเชื่อมต่อผ่าน Port ใดก็ได้ เพราะมันจะถูกส่งไปยัง Root ที่อยู่ด้านหลัง Firewall
Commands and Detection
มัลแวร์ BPFdoor มาพร้อมกับชื่อ Hardcode ที่ตรงกับ Command Strings ภายใน Packets ที่เกี่ยวข้อง ดังนี้:
- justtryit, justrobot และ justforfun เพื่อสร้าง Bind Shell บน Port 42391 ถึง 42491
- socket หรือ sockettcp เพื่อตั้งค่า Reverse Shell เป็น IP ที่มีอยู่ใน Packets
ส่วนหนึ่งของเทคนิคที่ BPFdoor ใช้ในการหลีกเลี่ยงการตรวจจับคือการเปลี่ยนชื่อ Binary เพื่อให้แสดง
เป็น Normal Linux Daemon โดยใช้ตัวเลือกด้านล่าง :
คำแนะนำ
- ควรใช้ Web Application Firewall
- ควรปิดการใช้ High Port
- ควรติดตั้ง Endpoint Security และทำการ Full-Scan
- ควรตระหนักถึงภัยคุกคามทางไซเบอร์
Ref : https://www.bleepingcomputer.com/news/security/bpfdoor-stealthy-linux-malware-bypasses-firewalls-for-remote-access/ https://www.sandflysecurity.com/blog/bpfdoor-an-evasive-linux-backdoor-technical-analysis/
Ref IOCs : https://doublepulsar.com/bpfdoor-an-active-chinese-global-surveillance-tool-54b078f1a896