นักวิจัยด้านความมั่นคงปลอดภัยจาก Aqua Security ได้คิดค้นแนวทางในการโจมตีแบบใหม่และนำไปสาธิตในงาน Black Hat โดยอาศัย Docker API เพื่อซ่อน Malware ภายในระบบเป้าหมาย และทำ Remote Code Execution ได้
การโจมตีนี้เกิดขึ้นได้บนเครื่องที่ติดตั้ง Docker เอาไว้ และเปิด Docker API ให้เชื่อมต่อได้ผ่านทาง TCP ซึ่งมักจะพบได้ในเครื่อง PC ที่ติดตั้ง Docker for Windows สำหรับเอาไว้พัฒนาและทดสอบ Containerized Application โดยการโจมตีนี้จะเริ่มขึ้นด้วยการหลอกให้นักพัฒนาทำการใช้ Docker for Windows เพื่อเชื่อมต่อไปยังเว็บไซต์ที่มี JavaScript พิเศษสำหรับทำการโจมตีโดยเฉพาะฝังเอาไว้ ซึ่ง JavaScript นี้มีคุณสมบัติในการ Bypass การทำ Same Origin Prolicy เพื่อการรักษาความมั่นคงปลอดภัยของ Browser ได้ และผู้โจมตีก็จะทำการเข้าถึง Docker API และใช้ทำสิ่งต่างๆ ได้มากมาย แม้กระทั่งการสร้าง Docker Container ใหม่ขึ้นมาทำการโจมตีก็ได้เช่นกัน นอกจากนี้ ผู้โจมตียังอาจสร้าง Container ใหม่ขึ้นมาบนเครื่องและพยายามเพิ่มระดับสิทธิ์ในการเข้าถึงเครื่อง Host ได้อีกด้วย
อย่างไรก็ดี ในการโจมตีนี้ยังต้องอาศัยเทคนิคการโจมตีที่มีชื่อเรียกว่า Host Rebinding Attack ซึ่งเป็นวิธีการที่คล้ายคลึงกับการทำ DNS Rebinding Attack โดยการโจมตี Name Resolution Protocol ของ Microsoft เพื่อมุ่งเป้าไปยัง Virtual Interface ทำให้การโจมตีเหล่านี้ไม่สามารถถูกตรวจจับได้ผ่านระบบเครือข่าย
ผลลัพธ์ที่เกิดขึ้นนี้ก็คือการที่ผู้โจมตีสามารถมี Container ทำงานอยู่ใน Hyper-V VM ของผู้ถูกโจมตี และใช้ระบบเครือข่ายร่วมกันเครื่องนั้นๆ รวมถึงสั่งให้เรียกใช้งานคำสั่งต่างๆ ได้ตามต้องการ และสามารถส่งคำสั่งไปยัง Docker Daemon REST API ได้แล้ว อีกทั้งยังสามารถเข้าถึง Root Access ของ Moby Linux VM ได้อย่างสมบูรณ์ ซึ่งขั้นตอนถัดไปก็คือการสร้าง Shadow Container ขึ้นมาเพื่อให้การเจาะระบบครั้งนี้ยังคงใช้งานได้อยู่แม้ว่า Virtual Machine หรือ Host จะถูก Reboot ไปก็ตาม ด้วยการพัฒนา Container Shutdown Script ให้ยังคงเก็บ Script และ State ที่ใช้ในการโจมตีได้
ความน่าสนใจของการโจมตีด้วยวิธีนี้ คือการที่แทบจะยังไม่มีโซลูชันทางด้านการรักษาความมั่นคงปลอดภัยในตลาดตรวจพบการโจมตีเหล่านี้ได้เลย และยังทำให้ผู้โจมตีสามารถเข้าถึงระบบเครือข่ายขององค์กรได้อย่างต่อเนื่องตลอดเวลาอีกด้วย โดยทาง Aqua Security ก็ได้รายงานปัญหานี้ไปยัง Docker แล้ว ทำให้ Docker ออกมาโต้ตอบด้วยการเปลี่ยน Default Configuration ให้ปิด HTTP Port เอาไว้ เพื่อลดความเสี่ยงที่อาจจะถูกโจมตีในลักษณะนี้ได้
สำหรับผู้ใช้งาน Docker for Windows ควรอัปเดตให้เป็นรุ่นล่าสุด, เปิดให้เฉพาะผู้ใช้งานที่มีการยืนยันตัวตนด้วย Certificate เข้าถึง Port ที่เปิดเอาไว้ได้, ปิด Port 2375 บน Moby Linux VM ทาง Firewall และปิด LLMNR และ NetBIOS บน Endpoint ทั้งหมด
ที่มา: https://threatpost.com/attack-uses-docker-containers-to-hide-persist-plant-malware/126992/