Một nghiên cứu mới đây đã mô tả chi tiết một kỹ thuật cho phép tin tặc vượt qua bảo vệ tường lửa, và truy cập từ xa vào bất kỳ dịch vụ TCP/UDP nào trên máy nạn nhân.
Kỹ thuật này được gọi là NAT Slipstreaming. Nó bao gồm việc gửi nạn nhân một đường link dẫn đến một trang web độc hại (hoặc một trang web hợp pháp có chứa các quảng cáo độc hại). Khi nạn nhân click vào, nó sẽ kích hoạt gateway mở bất kỳ cổng TCP/UDP nào trên máy nạn nhân, và phá vỡ các hạn chế truy cập port dựa trên trình duyệt.
“NAT Slipstreaming khai thác trình duyệt của người dùng kết hợp với cơ chế theo dõi kết nối Cổng ứng dụng (ALG) được tích hợp trong NAT, bộ định tuyến, và tường lửa bằng chuỗi trích xuất IP nội bộ thông qua tấn công timing hoặc WebRTC, phát hiện phân mảnh IP và MTU từ xa tự động, kích thước gói tin qua TCP, lạm dụng xác thực TURN, kiểm soát gói tin, và kỹ thuật xáo trộn giao thức thông qua lạm dụng trình duyệt,” Kamkar cho biết trong một bài phân tích.
Kỹ thuật này được thực hiện bằng cách sử dụng bộ định tuyến NetGear Nighthawk R7000 chạy phiên bản hạt nhân Linux 2.6.36.4.
Xác định ranh giới gói tin
NAT Slipstreaming hoạt động bằng cách lợi dụng việc phân đoạn gói tin TCP và IP để điều chỉnh từ xa ranh giới gói tin (packet boundary), và sử dụng nó để tạo gói tin TCP/UDP bắt đầu bằng giao thức SIP như REGISTER hoặc INVITE.
SIP (viết tắt của Session Initiation Protocol) là một giao thức truyền thông được dùng để khởi tạo, duy trì, và kết thúc các phiên đa phương tiện trong thời gian thực cho các ứng dụng thoại, video, và nhắn tin.
Một HTTP POST request được gửi cùng với một ID và một biểu mẫu web ẩn dẫn tới một máy chủ tấn công đang chạy packet sniffer. Công cụ này được sử dụng để thu thập kích thước MTU, kích thước gói dữ liệu, kích thước TCP và IP header. Sau đó, nó sẽ truyền dữ liệu kích thước trở lại máy khách của nạn nhân qua một thông báo POST riêng biệt.
Bên cạnh đó, nó cũng lợi dụng chức năng xác thực trong TURN để gây ra lỗi tràn gói tin (packet overflow) và khiến các gói tin IP bị phân mảnh (TURN là một giao thức được sử dụng kết hợp với NAT để chuyển tiếp phương tiện từ bất kỳ máy ngang hàng nào đến máy khách khác trong mạng).
Về cơ bản, ý tưởng ở đây là làm tràn một gói tin TCP hoặc UDP bằng cách đệm các ký tự như “^”, và buộc nó phải tách thành hai gói tin, để gói dữ liệu SIP ở ngay đầu ranh giới gói tin thứ hai.
Kết nối với TCP/UDP qua Packet Alteration
Ở giai đoạn tiếp theo, địa chỉ IP nội bộ của nạn nhân được trích xuất bằng cách sử dụng WebRTC ICE trên các trình duyệt như Chrome, Firefox, hoặc bằng cách thực hiện tấn công timing vào các gateway thông thường (192.168. *. 1, 10.0.0.1, và mạng cục bộ).
“Sau khi máy khách nhận được kích thước gói và địa chỉ IP nội bộ, nó sẽ xây dựng một biểu mẫu web được tạo đặc biệt để đệm dữ liệu POST cho đến khi gói tin bị phân mảnh. Lúc này SIP REGISTER chứa địa chỉ IP nội bộ của kẻ tấn công được thêm vào,” Kamkar cho biết. “Biểu mẫu sẽ được gửi qua Javascript mà không có sự đồng ý của nạn nhân.”
Ngay khi các gói tin đến được máy chủ tấn công, và xác định gói tin SIP không được viết lại bằng địa chỉ IP public, một thông báo tự động sẽ được gửi lại cho máy khách, yêu cầu nó điều chỉnh kích thước gói tin sang một ranh giới mới dựa trên dữ liệu trước đó thu thập được từ snipper.
Khi được trang bị với ranh giới gói tin đúng, NAT bị đánh lừa rằng, “đây là đăng ký SIP hợp pháp, và từ một máy khách SIP trên máy của nạn nhân.” Cuối cùng khiến NAT mở port trong gói tin ban đầu mà nạn nhân gửi.
“Và bây giờ bộ định tuyến sẽ chuyển tiếp bất kỳ port nào mà kẻ tấn công chọn, đơn giản bằng việc truy cập một trang web,” Kamkar cho biết.
Source: Securitydaily
Fanpage: Trí Việt JSC