Lỗi trên Python và Java cho phép hacker vượt qua tường lửa bằng cách chèn FTP

04/06/2014
37
446 bài viết
Lỗi trên Python và Java cho phép hacker vượt qua tường lửa bằng cách chèn FTP
Hai ngôn ngữ lập trình phổ biến là Java và Python đang tồn tại lỗi an ninh có nguy cơ bị khai thác để gửi các email chưa xác thực và vượt qua lớp tường lửa bảo vệ.
Cho đến giờ cả hai lỗi này đều chưa được vá, và hacker có thể lợi dụng để thực hiện tấn công mạng chống lại cơ sở hạ tầng mạng.
Thực chất lỗi này nằm trong cách ngôn ngữ lập trình Java và Python xử lý link FTP, tại đây chúng không kiểm tra tham số cú pháp người dùng, điều này dẫn đến lỗi được các nhà nghiên cứu gọi là lỗ hổng chèn giao thức.
148993995420170222.png



Theo thông tin được công bố tuần trước trên blog, nhà nghiên cứu Alexander Klink đã chỉ ra chi tiết lỗ hổng chèn giao thức FTP trong Java's XML eXternal Entity (XXE) cho phép hacker chèn lệnh độc không phải là FTP trong yêu cầu kết nối FTP.
Miêu tả lỗi này, Alexander đã chỉ ra cách gửi một email chưa được xác thực qua SMTP (Simple Mail Transfer Protocol) trong nỗ lực kết nối FTP, thậm chí dù kết nối FTP thất bại, máy chủ FTP vẫn hỗ trợ xác thực mà không kiểm tra quy trình CR hoặc LF trong tên người dùng.
Chèn Java/Python cho phép vượt qua tường lửa
Nhà nghiên cứu Timothy Morgan cũng cung cấp kịch bản khai thác mà FTP URL xử lý trong cả Java và Python có thể được dùng để vượt qua tường lửa.
Bên cạnh tấn công chèn protocol FTP, một vấn đề an ninh cũ trong giao thức FTP được gọi là kiểu FTP cổ điển – một cơ chế không an toàn trong việc tương tác giữa client và máy chủ FTP, tuy nhiên vẫn có nhiều hãng cung cấp firewall hỗ trợ mặc định này.
Khi kết nối FTP kiểu cổ điển bắt đầu, firewall sẽ tạm thời mở cổng giữa 1024 và 65535, được quy định trong lệnh PORT, điều này làm phát sinh nguy cơ an ninh.
Sử dụng việc chèn giao thức FTP trong Java và Python, hacker biết địa chỉ IP của máy chủ mục tiêu và có thể khởi động kết nối FTP kiểu cổ điển mà chúng có thể xử dụng cho các mục đích tấn công.
Morgan chỉ ra hacker có thể mở cổng của firewall mục tiêu chỉ với 3 lệnh:
  • Nhận dạng địa chỉ IP nạn nhân – việc này đòi hỏi hacker gửi một URL để biết máy nạn nhân để biết máy nạn nhân giao tiếp như thế nào, sau đó thử thêm 1 lần nữa đến khi hoàn tất tấn công
  • Xác định kết nối và đảm bảo rằng các lệnh PORT được chèn đúng lúc để thực hiện tấn công.
  • Khai thác lỗ hổng
Mỗi một lệnh thêm có thể được sử dụng để mở một cổng TCP.

Lỗi chèn giao thức rất dễ khai thác
Các nhà nghiên cứu cũng cảnh báo việc khai thác lỗi này có thể được dùng để thực hiện tấn công man-in-the-middle, giả mạo yêu cầu máy chủ (SSRF), tấn công XEE…và một khi vượt qua tường lửa thì máy chủ cũng có thể bị tấn công thậm chí cho dù nó không cài Java.
Điều hacker cần làm chỉ là thuyết phục nạn nhân truy cập vào ứng dụng Java và Python có chứa mã độc, cài vào server để vượt qua lớp tường lửa bảo vệ.
Theo Morgan, lỗi này gần như tồn tại trong cả urllib2 và thư viện orllib của Python dù việc chèn xuất hiện để hạn chế các cuộc tấn công thông qua danh bạ tên trong URL.
Lỗi chèn Protocol vẫn chưa được vá
Morgan cho biết đã báo lỗi này tới Python vào tháng 1/2016 và Oracle vào tháng 11 năm 2016. Tuy nhiên cả 2 công ty đều chưa cung cấp bản vá. Vì vậy người dùng được khuyến cáo gỡ bỏ Java trên máy tíinh và trình duyệt cũng như tắt chức năng hỗ trợ cho dạng FTP cổ điển trên tất cả các firwall.
Theo: The Hacker News
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên