Phát hiện lỗ hổng RCE nghiêm trọng 17 năm tuổi ảnh hưởng các máy chủ DNS Windows

30/07/2014
79
711 bài viết
Phát hiện lỗ hổng RCE nghiêm trọng 17 năm tuổi ảnh hưởng các máy chủ DNS Windows
Các nhà nghiên cứu an ninh mạng vừa tiết lộ thông tin chi tiết về lỗ hổng wormable (có thể bị khai thác bởi các phần mềm độc hại và lây lan từ máy tính này sang máy tính khác) nghiêm trọng, ảnh hưởng đến các máy chủ Windows phiên bản từ 2003 đến 2019. Lỗ hổng có điểm CVSS là 10/10.
DNS_1.JPG
Đây là một lỗ hổng thực thi mã từ xa tồn tại 17 năm (CVE-2020-1350), được Check Point đặt tên là SigRed. Lỗ hổng có thể tạo điều kiện cho một kẻ tấn công từ xa không xác thực chiếm được đặc quyền quản trị tên miền từ các máy chủ mục tiêu và giành quyền kiểm soát hoàn toàn nền tảng IT của tổ chức.

Kẻ tấn công có thể khai thác SigRed bằng cách gửi các truy vấn DNS độc hại được tạo đặc biệt đến máy chủ DNS Windows và thực thi mã tùy ý, cho phép tin tặc chặn và kiểm soát các email và lưu lượng truy cập mạng của người dùng, làm cho dịch vụ không khả dụng, thu thập thông tin của người dùng và hơn thế nữa.

Trong một báo cáo chi tiết, nhà nghiên cứu Sagi Tzadik của Check Point xác nhận lỗ hổng SigRed có thể bị khai thác bởi các phần mềm độc hại, cho phép hacker khởi phát một cuộc tấn công có khả năng lây lan từ máy tính này sang máy tính khác mà không cần sự tương tác của con người.

"Điều này có nghĩa là một thiết bị bị chiếm quyền điều kiển có thể trở thành “một nguồn siêu lây nhiễm”, khiến cuộc tấn công lan rộng khắp hệ thống mạng của một tổ chức chỉ trong vòng vài phút ", nhà nghiên cứu cho hay.

Thông tin về SigRed đã được Check Point báo cáo đến Microsoft và đã được Microsoft phát hành bản vá trong gói Bản vá tháng 7 của hãng cùng các bản cập nhật cho 122 lỗ hổng khác.

Microsoft khẳng định lỗ hổng chưa bị khai thác trong thực tế đồng thời khuyến cáo người dùng cần cài đặt các bản vá càng sớm càng tốt.

Tạo phản hồi DNS độc hại

Theo các nhà nghiên cứu của Check Point, mục tiêu của nhóm là tìm ra một lỗ hổng cho phép kẻ tấn công không xác thực xâm nhập được vào môi trường Windows Domain. Do đó, nhóm tập trung vào Windows DNS, cụ thể là tìm hiểu cách thức máy chủ DNS phân tích một truy vấn đến hay phản hồi truy vấn chuyển tiếp.

Truy vấn chuyển tiếp tồn tại khi máy chủ DNS không thể phân giải địa chỉ IP cho một tên miền nhất định (ví dụ: www.google.com), dẫn đến truy vấn được chuyển tiếp đến máy chủ tên DNS có thẩm quyền (NS).


Để khai thác cấu trúc này với SigRed, các nhà nghiên cứu cấu hình các bản ghi tài nguyên NS của tên miền ("deadbeef.fun") rồi trỏ đến một máy chủ tên miền độc hại ("ns1.41414141. club") và truy vấn tên miền trên máy chủ DNS mục tiêu để lấy được các kết quả phân tích dữ liệu trả về từ máy chủ đó cho tất cả các truy vấn tiếp theo liên quan đến tên miền hoặc tên miền phụ.

Với cách thức này, kẻ tấn công có thể kích hoạt lỗ hổng tràn số nguyên trong chức năng phản hồi phân tích cho các truy vấn được chuyển tiếp ("dns.exe! SigWireRead") để gửi phản hồi DNS chứa bản ghi tài nguyên SIG lớn hơn 64KB và tạo ra một "lỗi tràn bộ đệm trong vùng nhớ khoảng 64KB được kiểm soát trên một bộ đệm phân bổ nhỏ".

Lỗ hổng nhắm tới chức năng phân bổ bộ nhớ cho bản ghi tài nguyên ("RR_AllocateEx") cho ra một kết quả lớn hơn 65.535 byte gây lỗi tràn số nguyên dẫn đến sự phân bổ nhỏ hơn dự kiến.

Các nhà nghiên cứu nhận thấy đối với một thông báo DNS giới hạn ở 512 byte trong UDP (hoặc 4.096 byte nếu máy chủ hỗ trợ các cơ chế mở rộng) và 65.535 byte trong TCP thì một phản hồi SIG kèm chữ ký dài không đủ để kích hoạt lỗ hổng.

Để kích hoạt, cuộc tấn công cần nén tên DNS trong các phản hồi DNS để tạo ra lỗi tràn bộ đệm sử dụng kỹ thuật nói trên để tăng kích thước phân bổ đáng kể.

Khai thác lỗ hổng từ xa

SigRed có thể được kích hoạt từ xa thông qua trình duyệt trong các trường hợp hạn chế (ví dụ: trình duyệt Microsoft Edge và trình duyệt Microsoft Edge không dựa trên Chromium), cho phép kẻ tấn công tận dụng sự hỗ trợ từ máy chủ DNS để tái sử dụng các tính năng gối đầu truy vấn, nhằm "đánh cắp" truy vấn DNS bên trong gói tin truy vấn HTTP đến máy chủ DNS mục tiêu khi truy cập trang web dưới sự kiểm soát của chúng.

SigRed cũng có thể bị khai thác sâu hơn gây rò rỉ địa chỉ bộ nhớ bằng cách phá hủy siêu dữ liệu của bản ghi tài nguyên DNS và thậm chí là chức năng ghi cái gì và vào đâu, cho phép tấn công chiếm quyền điều khiển luồng thực thi và thực thi các lệnh tùy ý.
DNS_2.JPG

Trong khi đó, các máy khách DNS ("dnsapi.dll") không dễ gặp lỗi tương tự khiến các nhà nghiên cứu nghi ngờ việc "Microsoft quản lý hai cơ sở mã hoàn toàn khác nhau cho máy chủ DNS và máy khách DNS và không đồng bộ hóa các bản vá lỗi giữa chúng".

Do mức độ nghiêm trọng của lỗ hổng và khả năng khai thác cao, người dùng được khuyến cáo vá các máy chủ DNS bị ảnh hưởng để giảm thiểu rủi ro.

Giải pháp tạm thời đó là cài đặt độ dài tối đa cho thông báo DNS (qua TCP) ở mức "0xFF00" để loại trừ khả năng tràn bộ đệm:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters" /v "TcpReceivePacketSize" /t REG_DWORD /d 0xFF00 /f
net stop DNS && net start DNS

Theo Check Point: “Mọi tổ chức đang sử dụng cơ sở hạ tầng của Microsoft, quy mô dù lớn hay nhỏ, đều gặp rủi ro lớn về an ninh mạng, nếu các hệ thống không được cập nhật bản vá. Rủi ro sẽ dẫn đến việc toàn bộ hệ thống bị tấn công”.

Nguồn: 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
Làm sao để kiểm tra máy chủ DNS đang dùng sử dụng Windows hay Linux Server? Ví dụ DNS của VNPT: 123.23.23.23.
 
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
Comment
Bên trên