พบช่องโหว่ FTP Protocol Injection บน Python และ Java ใช้บายพาส Firewall ได้

Alexander Klink และ Timothy Morgan นักวิจัยด้านความมั่นคงปลอดภัยออกมาเปิดเผยถึงช่องโหว่บนภาษา Java และ Python ซึ่งช่วยให้แฮ็คเกอร์สามารถบายพาส Firewall ไม่ว่าจะเป็น Cisco หรือ Palo Alto Networks ได้ผ่านทางการแทรกคำสั่งแปลกปลอมเข้าไปยังคำร้องขอเชื่อมต่อ FTP ได้

Credit: Smit/ShutterStock

ช่องโหว่ Protocol Injection บน FTP URL

ช่องโหว่นี้มีสาเหตุมาจากการจัดการลิงค์ FTP ของ Python (ผ่านทางไลบรารี่ urllib2 บน Python 2 และไลบรารี่ urllib บน Python 3) และ Java (ผ่านทาง XML eXternal Entity: XXE) ซึ่งไม่มีการตรวจสอบ Syntax ของพารามิเตอร์ Username ที่ดีพอ เมื่อแฮ็คเกอร์แทรกตัวอักษรสำหรับขึ้นบรรทัดใหม่ (CR และ LF) เข้าไปยังส่วน Username บน FTP URL จะทำให้โค้ด Java และ Python นึกว่าบางส่วนของ URL เป็นคำสั่งใหม่ แล้วดำเนินการตามคำสั่งนั้น Klink เรียกช่องโหว่ที่เกิดขึ้นนี้ว่า “Protocol Injection”

สัปดาห์ที่ผ่านมา Klink ได้สาธิตการโจมตีด้วยการส่งอีเมล (อย่างไม่มีสิทธิ์) โดยใช้โปรโตคอล SMTP ผ่านทางการเชื่อมต่อ FTP ถึงแม้ว่าการเชื่อมต่อ FTP จะล้มเหลว แต่อีเมลยังคงสามารถส่งออกไปได้เนื่องจาก FTP Server ไม่ได้ทำการตรวจสอบ Carriage Return (CR) และ Line Feed (LF) บนพารามิเตอร์ Username ดังที่แสดงให้เห็นในรูปด้านล่าง

ดูรายละเอียดการสาธิตได้ที่: https://shiftordie.de/blog/2017/02/18/smtp-over-xxe/

ใช้บายพาสอุปกรณ์ Firewall ได้

อย่างไรก็ตาม 2 วันหลังจากนั้น Timothy Morgan นักวิจัยด้านความมั่นคงปลอดภัยอีกท่านจาก Blindspot Security ก็ออกมาให้ข้อมูลเพิ่มเติมเกี่ยวกับช่องโหว่ดังกล่าว โดยแสดงให้เห็นว่า ช่องโหว่การจัดการ FTP URL นี้สามารถนำไปใช้บายพาสอุปกรณ์ Firewall ได้

Morgan ระบุว่าช่องโหว่ FTP Protocol Injection สามารถนำไปใช้ร่วมกับ Classic Mode FTP เพื่อหลอก Firewall ให้ยอมรับการเชื่อมต่อ TCP จากเว็บ ไปยังระบบที่มีช่องโหว่โดยใช้พอร์ตหมายเลขสูงๆ ตั้งแต่ 1024 – 65535 ได้

Classic Mode FTP เป็นกลไกการปฏิสัมพันธ์ระหว่าง FTP Client และ FTP Server แบบเก่าซึ่งถูกพิสูจน์แล้วว่าไม่มีความมั่นคงปลอดภัย ปัจจุบันนี้การเชื่อม FTP จะใช้ Passive Mode FTP ที่มีความมั่นคงปลอดภัยสูงกว่า อย่างไรก็ตาม Firewall ส่วนใหญ่ที่ใช้งานกันอยู่ในขณะนี้ยังคงรองรับการเชื่อมต่อแบบ Classic Mode FTP ส่งผลให้แฮ็คเกอร์สามารถใช้ประโยชน์จากช่องโหว่ FTP Protocol Injection เพื่อเริ่มการเชื่อมต่อแบบ Classic Mode FTP แล้วบายพาส Firewall ไปยังเป้าหมายที่อยู่ด้านหลังได้ทันที

Firewall จาก Cisco และ Palo Alto Networks ก็ไม่รอด

Morgan ระบุว่า เขาประสบความสำเร็จในการทดสอบโจมตีอุปกรณ์ Firewall ที่ใช้ระบบปฏิบัติการ Linux รวมไปถึง Firewall ชื่อดังอย่าง Cisco ASA และ Palo Alto Networks ด้วย และเขาเชื่อว่า Firewall ยี่ห้ออื่นๆ ในตลาดส่วนใหญ่ก็น่าจะถูกบายพาสโดยใช้ช่องโหว่นี้ได้ด้วยเช่นกัน

Morgan เคยรายงานเรื่องช่องโหว่ FTP Protocol Injection นี้ไปยังทีม Python เมื่อเดือนมกราคม 2016 และ Oracle เดือนพฤศจิกายน 2016 แต่ทั้งสองบริษัทกลับไม่ได้ออกแพทช์เพื่อแก้ไขช่องโหว่แต่อย่างใด ถึงแม้ว่า Morgan จะพร้อม PoC การบายพาส Firewall แต่เขาจะยังไม่เปิดเผยออกสู่สาธารณะจนกว่าทางทีม Python และ Oracle จะทำการอัปเดตแพทช์

ระหว่างนี้ Morgan แนะนำให้ผู้ใช้ยกเลิกการใช้ Java ทั้งบนเครื่องและบนเบราเซอร์ รวมไปถึงยกเลิกการใช้ Classic Mode FTP บนอุปกรณ์​ Firewall และหันไปใช้ Passive Mode FTP แทน

ที่มา: http://thehackernews.com/2017/02/python-java-ftp-protocol-injection.html และ https://www.bleepingcomputer.com/news/security/java-and-python-contain-security-flaws-that-allow-attackers-to-bypass-firewalls/


About techtalkthai

ทีมงาน TechTalkThai เป็นกลุ่มบุคคลที่ทำงานในสาย Enterprise IT ที่มีความเชี่ยวชาญทางด้าน Network, Security, Server, Storage, Operating System และ Virtualization มารวมตัวกันเพื่ออัพเดตข่าวสารทางด้าน Enterprise IT ให้แก่ชาว IT ในไทยโดยเฉพาะ

Check Also

6 เทรนด์ Cybersecurity ปี 2024 โดย Gartner

ในโลกที่ Generative AI เฟื่องฟู การเตรียมความพร้อมด้านความปลอดภัยย่อมต้องพัฒนาอย่างต่อเนื่องเพื่อรับมือความซับซ้อนที่เพิ่มมากขึ้นด้วย Gartner ได้สรุป 6 เทรนด์ด้าน Cybersecurity สำหรับปี 2024 และอนาคตอันใกล้ ติดตามอ่านกันได้ในบทความนี้

Tenable ออกโซลูชันใหม่ Tenable One for OT/IoT

IT ไม่ใช่ช่องทางเดียวที่จะถูกโจมตีได้ แต่ยังมีธุรกิจอีกจำนวนมากที่ต้องพึ่งพาระบบ OT และ IoT ในการปฏิบัติการ ด้วยเหตุนี้เองการรู้จักช่องโหว่ที่เป็นความเสี่ยงจึงเป็นเรื่องสำคัญไม่น้อยไปกว่าระบบ IT ล่าสุด Tenable ผู้เชี่ยวชาญด้านการบริหารจัดการช่องโหว่ได้ขยายความสามารถใหม่ให้แพลตฟอร์ม Tenable One รองรับการบริหารจัดการช่องโหว่สำหรับ …