Cyble Global Sensors ตรวจพบการโจมตีช่องโหว่ของ Ivanti Connect Secure อย่างต่อเนื่อง
Cyble Global Sensor Intelligence (CGSI) ตรวจพบการโจมตีอย่างต่อเนื่องของช่องโหว่ที่ถูกเปิดเผยออกมาเมื่อเร็ว ๆ นี้ใน Ivanti Connect Secure (ICS) ซึ่งก่อนหน้านี้รู้จักกันในชื่อ Pulse Connect Secure และ Ivanti Policy Secure gateways
Ivanti ได้ออกมาแจ้งเตือนช่องโหว่ด้านความปลอดภัยเมื่อวันที่ 10 มกราคม 2024 เกี่ยวกับช่องโหว่ที่พบใน Ivanti Connect Secure (ICS) ซึ่งแต่เดิมชื่อ Pulse Connect Secure และ Ivanti Policy Secure gateways โดยการแจ้งเตือนระบุถึงช่องโหว่สองรายการ คือ CVE-2023-46805 และ CVE-2024-21887 ซึ่งเมื่อรวมช่องโหว่ทั้งสองรายการเข้าด้วยกัน จะทำให้ผู้ไม่หวังดีที่ไม่ต้องผ่านการยืนยันตัวตน สามารถสร้าง requests ที่เป็นอันตราย ซึ่งนำไปสู่การดำเนินการคำสั่งต่าง ๆ บนระบบได้
โดยในคำแนะนำล่าสุดจาก Cybersecurity and Infrastructure Security Agency (CISA) ก็ออกมาแจ้งเตือนเกี่ยวกับช่องโหว่เหล่านี้
ในวันเดียวกัน Volexity ได้เปิดเผยกรณีที่มีการใช้ช่องโหว่ทั้งสองรายการในการโจมตี ที่ทำให้สามารถเรียกใช้โค้ดที่เป็นอันตรายได้จากระยะไกล (Remote code execution) บนอุปกรณ์ Ivanti Connect Secure VPN โดยผู้โจมตีใช้ exploits เหล่านี้เพื่อนำข้อมูลการกำหนดค่าออก, แก้ไขไฟล์ที่มีอยู่, ดึงข้อมูลจากระยะไกล, และสร้าง reverse tunnel จาก ICS VPN appliance
นอกจากนี้ยังพบฟอรัมเกี่ยวกับการโจมตีทางไซเบอร์ที่เสนอขาย exploit ระยะเวลา 1 วัน ซึ่งมีราคาการขายอยู่ที่ 30,000 ดอลลาร์สหรัฐ โดยวันที่โพสต์คือ 16 พฤศจิกายน 2023 ซึ่งชี้ให้เห็นถึงความเป็นไปได้ที่ผู้ไม่หวังดีสามารถโจมตีช่องโหว่ได้ก่อนที่ exploit จะถูกเปิดเผยออกสู่สาธารณะ
โดยข้อความล่าสุดบนฟอรัมระบุว่า "ถึงแม้จะมี Proof-of-Concept (PoC) ถูกปล่อยออกมาแล้ว แต่ก็ยังไม่ได้ถูกทดสอบว่าสามารถใช้งานได้จริง" อย่างไรก็ตามปัจจุบันเจ้าของโพสน์ดังกล่าวได้ยกเลิกการขาย exploit แล้ว โดยระบุว่าปัจจุบัน Ivanti ได้ดำเนินการแก้ไขเพื่อลดความเสี่ยงจากช่องโหว่นี้แล้ว
รายละเอียดของช่องโหว่
ช่องโหว่ Ivanti Connect Secure และ Policy Secure Authentication Bypass
- CVE-2023-46805 (CVSS : 8.2 ความรุนแรงระดับสูง) ช่องโหว่ในการ bypass การพิสูจน์ตัวตนใน web component ของ Ivanti ICS 9.x, 22.x, และ Ivanti Policy Secure ทำให้ผู้โจมตีจากภายนอกสามารถเข้าถึงระบบโดยสามารถหลีกเลี่ยงการตรวจจับได้
- เวอร์ชันที่มีช่องโหว่ : Ivanti ICS 9.x, 22.x
ช่องโหว่ Ivanti Connect Secure และ Policy Secure Command Injection
- CVE-2024-21887 (CVSS : 9.1 ระดับความรุนแรง Critical) ช่องโหว่ command injection ใน web component ของ Ivanti Connect Secure (9.x, 22.x) และ Ivanti Policy Secure (9.x, 22.x) ทำให้ผู้ที่ผ่านการพิสูจน์ตัวตนในสิทธิ์ administrator สามารถส่ง requests ที่ถูกสร้างขึ้นเป็นพิเศษ และดำเนินคำสั่งได้ตามที่ต้องการบนอุปกรณ์ได้
- เวอร์ชันที่มีช่องโหว่ : Ivanti ICS 9.x, 22.x
การเปิดเผยข้อมูลของระบบ Ivanti Pulse Secure ที่เกิดขึ้น
ตามรายงานจาก Cyble ODIN scanner พบว่ามี Pulse Secure มากกว่า 10,000 รายการที่เข้าถึงได้จากอินเทอร์เน็ต โดยส่วนใหญ่ตั้งอยู่ในสหรัฐอเมริกา และญี่ปุ่น
ข้อมูลทางเทคนิคที่เกี่ยวข้อง
Cyble Global Sensor Intelligence (CGSI) ได้บันทึกความพยายามในการสแกนจำนวนมากที่เกี่ยวข้องกับการใช้ช่องโหว่ที่เพิ่งถูกเปิดเผย และมีผลต่อ Ivanti Pulse Connect Secure โดยช่องโหว่ที่พบเหล่านี้คือ CVE-2023-46805 Authentication Bypass และ CVE-2024-21887 ที่ทำให้สามารถเรียกใช้โค้ดที่เป็นอันตรายได้จากระยะไกล (Remote Command Execution) ได้
CVE-2023-46805 – ช่องโหว่ Authentication Bypass
ตามเอกสารเกี่ยวกับการลดความเสี่ยงของ Ivanti ช่องโหว่มีผลกระทบต่อระบบอัตโนมัติที่มีการใช้ REST APIs สำหรับการกำหนดค่า และการตรวจสอบ นักวิจัยได้เริ่มต้นการสำรวจจากจุดนี้เพื่อทำความเข้าใจช่องโหว่บนระบบ
กระบวนการเริ่มต้นด้วยการค้นหาแพ็กเกจ "restservice" และค้นพบ API endpoints หลายแห่ง ต่อมานักวิจัยใช้ Burp Intruder เพื่อประเมินการเข้าถึงอุปกรณ์ endpoint โดยไม่ต้องมีการพิสูจน์ตัวตน อย่างไรก็ตามพวกเขาสามารถระบุได้เพียงสอง endpoint ที่สามารถเข้าถึงได้โดยไม่ต้องการการพิสูจน์ตัวตน
เพื่อยืนยันการค้นพบนี้ นักวิจัยได้พยายามเข้าถึงผ่าน "/api/v1/totp/user-backup-code" โดยใช้วิธี path traversal ซึ่งทำให้ผู้ไม่หวังดีสามารถไปยังโครงสร้างไดเรกทอรี และเข้าถึงไฟล์ หรือไดเรกทอรีที่ไม่ควรสามารถเข้าถึงได้
โดยผู้ไม่หวังดีจะสามารถเข้าถึงทรัพยากรอื่น ๆ ที่ endpoint และสามารถเริ่มต้นการค้นหาช่องโหว่ command injection ที่เกี่ยวข้องได้ ซึ่งจะทำให้ผู้ไม่หวังดีสามารถเรียกใช้โค้ดที่เป็นอันตรายได้จากระยะไกล (Remote Code Execution) โดยไม่ต้องผ่านการพิสูจน์ตัวตนได้
CVE-2024-21887 ช่องโหว่ Command Injection
เมื่อสามารถเข้าถึงที่ endpoint ได้ ผู้ไม่หวังดีจะสามารถเริ่มต้นการค้นหาช่องโหว่ command injection ที่เกี่ยวข้องได้
ถัดมาคือการระบุฟังก์ชันซึ่งอนุญาตให้สร้าง child process ด้วย arguments ที่ต้องการ ฟังก์ชันที่มีการเรียกใช้แบบนี้มักจะเป็นที่มาของช่องโหว่ command injection
เพื่อทำให้บรรลุเป้าหมาย นักวิจัยระบุว่าใช้วิธี "get" ในไฟล์ "restservice/api/resources/license.