แจ้งเตือนช่องโหว่ระดับวิกฤติใน F5 BIG-IP รันโค้ดอันตรายจากระยะไกล

F5 Networks ซึ่งเป็นหนึ่งในผู้ให้บริการเครือข่ายระดับองค์กรที่ใหญ่ที่สุดในโลกได้เผยแพร่คำแนะนำด้านความปลอดภัยเพื่อเตือนลูกค้าให้ทำการอัพเดตเเพตซ์แก้ไขข้อบกพร่องด้านความปลอดภัยที่เป็นอันตรายซึ่งมีแนวโน้มว่าจะถูกนำไปใช้ประโยชน์ เพื่อโจมตีองค์กรต่างๆ โดยช่องโหว่ดังกล่าวถูกติดตามด้วยรหัส CVE-2020-5902 ช่องโหว่ที่เกิดขึ้นนั้นส่งผลกระทบต่อผลิตภัณฑ์ BIG-IP ซึ่งอยู่ในอุปกรณ์เน็ตเวิร์คเช่น Web Traffic Shaping Systems, Load balance, Firewall, Access Gateway ตลอดจนไปถึง SSL Middleware เป็นต้น

ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จาก บริษัทไอ-ซีเคียว จำกัด จะมาติดตามรายละเอียดของช่องโหว่นี้ พร้อมทั้งอธิบายที่มาการตรวจจับและการป้องกันการโจมตีช่องโหว่นี้ โดยในบล็อกนี้นั้นเราจะทำการติดตามและอัปเดตข้อมูลรายวันเพื่อให้ผู้ใช้บริการได้รับข้อมูลที่ทันสมัยที่สุด

รายละเอียดช่องโหว่โดยย่อ

ช่องโหว่ CVE-2020-5902 เป็นช่องโหว่ Remote Code Execution (RCE) ที่เกิดขึ้นจากข้อผิดพลาดใน BIG-IP Management Interface หรือที่เรียกว่า TMUI (Traffic Management User Interface) โดยช่องโหว่นี้ถูกประเมินด้วยคะแนน CVSSv3 แบบ Base Score อยู่ที่ 10/10 ซึ่งถือว่าเป็นช่องโหว่ที่มีความรุนเเรงและอัตรายอย่างมาก

ผู้ประสงค์ร้ายสามารถใช้ประโยน์จากช่องโหว่นี้ผ่านทางอินเตอร์เน็ตเพื่อเข้าถึง TMUI Component ซึ่งทำงานบน Tomcat เซิร์ฟเวอร์บนระบบปฏิบัติการ Linux ของ BIG-IP ซึ่งช่องโหว่นี้ทำให้ผู้บุกรุกสามารถรันคำสั่งบนระบบได้ โดยการรันคำสั่งสามารถสร้างหรือลบไฟล์, Disable Service และยังสามารถรันคำสั่งโค้ด Java บนอุปกรณ์ที่ใช้ BIG-IP ได้

ช่องโหว่นี้ถูกค้นพบและรายงานโดย Mikhail Klyuchnikov นักวิจัยด้านความปลอดภัยจาก Positive Technologies นักวิจัยได้ทำการค้นหาอุปกรณ์ BIG-IP ที่สามารถเข้าได้ผ่านอินเตอร์เน็ต โดยการใช้ Shodan Search พบว่ายังมีอุปกรณ์ BIG-IP ประมาณ 8,400 ที่สามารถเข้าได้ผ่านอินเตอร์เน็ตซึ่ง 40% อยู่ในประเทศสหรัฐอเมริกา

รูปที่ 1 จำนวนอุปกรณ์ BIG-IP ที่สามารถเข้าได้ผ่านอินเตอร์เน็ต

รายละเอียดของช่องโหว่เชิงเทคนิค

ช่องโหว่ CVE-2020-5902 เป็นช่องโหว่ Directory Traversal ใน /tmui/locallb/workspace/tmshCmd.jsp? ซึ่งผู้โจมตีสามารถทำการใช้ Command Injection ทำการเขียนไฟล์ที่สามารถรันคำสั่งได้ใน /tmp จากนั้นจะเรียกไฟล์ที่บรรจุคำสั่งลงไป ซึ่งจะถูกรันกลายเป็นช่องโหว่ Remote Code Execution

อีกช่องโหว่หนึ่งของ CVE-2020-5902 คือการอ่านไฟล์ ผู้โจมตีสามารถใช้คำสั่ง Command Injection เรียกดูไฟล์ใน /etc/passwd ของเครื่องได้ซึ่งการที่สามารถอ่านไฟล์นี้ได้ถือว่าป็นอัตรายอย่างมาก

การโจมตีช่องโหว่

Rich Warren นักวิจัยด้านความปลอดภัยจาก NCC Group ได้ทวีตข้อความกล่าวว่าขณะนี้พบ IP จำนวน 5 เเห่งที่ใช้ประโยน์จากช่องโหว่ CVE-2020-5902 ทำการโจมตี Honeypots BIG-IP ที่เขาได้ทำการเพื่อตรวจสอบการใช้ประโยชน์การโจมตี

รูปที่ 2 IP ที่พบในการโจมตี

Warren กล่าวว่าหลังจากการติดตั้ง Honeypots เพื่อดูความพยายามของผู้ไม่ประสงค์ดีใช้ประโยชน์พบว่ามีความพยายามนำ PoC ของช่องโหว่มาพัฒนาเพื่อให้สามารถใช้งานและทำการโจมตีด้วย DDoS หรือวาง Backdoor, Coinminer, Web Shell และ Botnet Malware นอกจากนี้ยังมีผู้ทำ Metasploit Module ของช่องโหว่ CVE-2020-5902 เพื่อใช้ในการโจมตีช่องโหว่อีกช่องทางหนึ่ง

รูปที่ 3 Metasploit Module

ทีมตอบสนองการโจมตีและภัยคุกคามได้ทำการติดตามข้อมูลเพิ่มเติมพบว่าขณะนี้มีผู้ทำการทดสอบช่องโหว่โดยการใช้คำสั่งเพื่อเรียกดูข้อมูลการตั้งค่าของอุปกรณ์ BIG-IP ที่สามารถเข้าผ่านจากอินเตอร์เน็ตและยังพบ PoC ของช่องโหว่บน GitHub ที่เปิดให้เข้าได้สาธารณะที่สำคัญทางทีมของเรายังได้พบข้อมูลการใช้ IoCs ในการวาง Backdoor โดยมีรายละเอียดดังนี้

Attempt source: 96[.]45[.]187[.]52
Backdoor URL: http://104[.]238[.]140[.]239:8080/123
C2: web[.]vpnkerio.com, 152[.]32.180.34:443

The backdoor binary hash:
90ce1320bd999c17abdf8975c92b08f7 (MD5)
a8acda5ddfc25e09e77bb6da87bfa157f204d38cf403e890d9608535c29870a0 (SHA256)

ผู้ที่สนใจสามารถดูข้อมูล IoCs เพิ่มเติมได้ที่นี้:

ระบบที่ได้รับผลกระทบ

ระบบที่ได้รับผลกระทบนั้นคืออุกรณ์ BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) ซึ่งอยู่ในเวอร์ชั่น 11.6.1 - 11.6.5, 12.1.0 - 12.1.5, 13.1.0 - 13.1.3, 14.1.0 - 14.1.2, 15.0.0 - 15.1.0 ส่วนเวอร์ชั่น 16.x ไม่มีผลกระทบกับช่องโหว่นี้ ทั้งนี้ผู้ดูแลระบบควรทำการอัพเกรดเวอร์ชั่น BIG-IP ให้เป็นเวอร์ชั่น 11.6.5.2, 12.1.5.2, 13.1.3.4, 14.1.2.6 และ 15.1.0.4 เพื่อป้องกันการใช้ปรโยชน์จากช่องโหว่ทำการโจมตีระบบ

รูปที่ 4 ระบบที่ได้รับผลกระทบ

การตรวจจับและป้องกันการโจมตี

ทีมตอบสนองการโจมตีและภัยคุกคามได้ทำการติดตามรายละเอียดของการตรวจจับพบว่าขณะนี้มีข้อมูล Rule และ Snort signature ในการตรวจจับการป้องกัน โดย

Rule: จะมีการตรวจจับการ Selection Base ที่ Path '/tmui/' และ '/hsqldb' ส่วนการตรวจจับ Selection Traversal นั้นจะมีการตรวจจับที่ '..;/' และ '.jsp/..' เพื่อป้องกันการ Directory Traversal

Snort signature: จะมีการตรวจจับการเรียก URL ที่ต่อท้ายด้วย "/tmui/login.jsp/..|3b|/";

ผู้ที่สนใจรายละเอียดสามารถดูรายละเอียดได้ที่นี้:

Root Cause ของช่องโหว่

โดยเทคนิคแล้ว Big-IP จะใช้ Apache httpd ในการเชื่อมต่อด้วย Module mod_proxy กับ Apache Tomcat การเรียกใช้ URL มีลักษณะดังนี้

ProxyPassMatch ^/tmui/(.*\.jsp.*)$ ajp://localhost:8009/tmui/$1 retry=5
ProxyPassMatch ^/hsqldb(.*)$ ajp://localhost:8009/tmui/hsqldb$1 retry=5

จาก Configuration ดังกล่าวทำให้เราสามารถเข้าถึง /tmui/login.jsp ได้โดยไม่ต้องทำการตรวจสอบสิทธิ์ ด้วย PAM Module และจุดที่สำคัญที่สุดคือ mod_ajp สามารถใช้ regex wildcards ได้
แต่ Apache httpd configurations ห้ามใช้ regex wildcards จึงทำให้เกิดการไม่สมดุลกันระหว่างการทำงานของทั้ง 2 Module

รูปที่ 5 โค้ดการร้องขอ URL ซึ่งไม่ได้ทำการตรวจสอบสิทธิ์

การบรรเทาผลกระทบ

F5 ได้แนะนำให้ผู้ใช้ทำการอัพเกรดซอฟต์แวร์เป็นเวอร์ชันล่าสุด หากไม่สามารถทำการอัพเกรดซอฟต์แวร์ได้ในเวลานี้ทาง F5 มีวิธีการป้องกันเพื่อลดความเสี่ยงชั่วคราวโดยมีวิธีการดังนี้

  • จำกัดการเข้าถึงอินเตอร์เฟสและการจัดการทั้งหมดหากเป็นไปได้ให้ปิดการเข้าถึงผ่านทางอินเตอร์เน็ต
  • ทำการบล๊อก IP ที่เข้าถึงอินเตอร์เฟสและการจัดการและทำการกำหนด IP ของผู้ใช้
  • ใช้เครือข่ายที่ปลอดภัยเท่านั้นในการเข้าใช้งานอินเตอร์เฟสและการจัดการ เช่นการใช้งาน VPN ในการเข้าส่วนการจัดการ
  • ทำการเปลี่ยนการตั้งค่า LocationMatch ในเซอร์วิส httpd เพื่อป้องกันผู้โจมตีทำการสำรวจจาก Directory traversal (/../) โดยให้เข้าไปเเก้ไขใน ใน /sys > httpd all-properties ซึ่งเมื่อเข้ามาแล้วให้ทำค้นหาคำว่า include จากนั้นให้เเก้ไขตามโค้ดดังต่อไปนี้:
include '
<LocationMatch ";">
Redirect 404 /
</LocationMatch>
<LocationMatch "hsqldb">
Redirect 404 /
</LocationMatch>

จากการบรรเทาผลกระทบเบื้องต้นนั้น Chase Dardaman และ Rich Mirch จากทีม TeamAres ที่บริษัท CriticalStart ได้เปิดเผยว่าพวกเขาได้ทำการ Bypass การบรรเทาผลกระทบของช่องโหว่ที่ได้รับคำเเนะนำให้ทำการบรรเทาผลกระทบจาก F5 ซึ่งพวกเขาได้เเนะนำให้ทำการอัพเกรดซอฟต์แวร์เป็นเวอร์ชันล่าสุดเพื่อป้องกันผู้ไม่ประสงค์ดีใช้ประโยชน์จากช่องโหว่นี้

อ้างอิง