Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)Nghiên Cứu Lỗ Hổng Tiềm Tàng Trong Hệ Thống Xác Thực Remote Desktop (tt)
1 LỜI NÓI ĐẦU Trong năm gần đây, vấn đề bảo mật trở thành đề tài nóng, đặc biệt doanh nghiệp ứng dụng Công nghệ thông tin (CNTT) nhằm hỗ trợ hoạt động kinh doanh vấn đề an tồn an ninh thơng tin trở nên quan trọng Đối với nhiều doanh nghiệp vấn đề mang tính sống lĩnh vực ngân hàng, thương mại điện tử Một cố an ninh thơng tin gây thiệt hại nặng nề tài uy tín doanh nghiệp Chính thế, việc nghiên cứu kỹ thuật, công cụ công vấn đề nóng, nhiều tổ chức, cá nhân quan tâm Luận văn nghiên cứu kỹ thuật công nghe vào công cụ quản trị viên hệ thống sử dụng nhiều, cơng cụ Remote Desktop (RD) với Remote Desktop Protocol (RDP) 2 Chương - TỔNG QUAN VỀ REMOTE DESKTOP 1.1 Giới thiệu Remote Desktop Protocol Remote Desktop Protocol (RDP) giao thức phát triển Microsoft, giúp truy cập từ xa tới máy tính qua mạng cách dễ dàng thuận tiện Khi RDP-Client kết nối tới server hoàn thành việc chứng thực, client lúc có quyền điều khiển server thơng qua giao diện Desktop 1.2 Các phương thức chứng thực RDP Bao gồm RDP Security (Basic) sử dụng mã hóa RDP có sẵn với mức mã hóa, SSL (TLS 1.0) cuối Network Authentication Level với Credential Security Support Provider (CredSSP) Protocol 1.3 Network Authentication Level (NLA) NLA đòi hỏi client phải thực chứng thực trước kết nối thiết lập phiên kết nối, q trình có tên gọi “front authentication” Ngay sau đó, server phải chứng thực với client để tạo phiên kết nối 1.4 Giao thức chứng thực NT LAN Manager (NTLM) sử dụng client DC NTLM giao thức chứng thực theo kiểu challenge-response Hình thể trình tương tác NTLM client NTLM server môi trường chứng thực tập trung 3 Hình 1.1: Chứng thực NTLM Active Directory/ Pass-through authentication Noninteractive authentication, xảy người dùng sau đăng nhập cần cấp quyền để truy cập tới tài nguyên ứng dụng server thường bao gồm thành phần: client, server domain controller thực việc chứng thực thay cho server 1.5 Tổng quan Credential Security Support Provider (CredSSP) CredSSP sử dụng để ngăn chặn việc người dùng gửi thơng tin chứng thực tới unauthorized server Hình thể truyền thông CredSSP client CredSSP server 4 Hình 1.2: Truyền thơng CredSSP client CredSSP server Để MITM client server, attacker cần phải có server SSL certificate phải có password người muốn remote Dẫn đến với NLA, công MITM gần bất khả thi chưa có nghiên cứu đưa phương pháp công MITM với NLA 1.6 Giới thiệu Simple and Protected Generic Security Service Application Program Interface Negotiation Mechanism (SPNEGO) SPNEGO cung cấp khung chung cho hai bên tham gia việc chứng thực để xác định chế chứng thực chung, để làm cho giao thức bảo mật trở nên suốt với giao thức ứng dụng sử dụng SPNEGO 5 1.7 NTLM dùng SPNEGO Mặc dù CredSSP dùng SPNEGO với hai giao thức chứng thực Kerberos NTLM Nhưng Windows CredSSP client không sử dụng Kerberos Điều nhắc tới tài liệu MSCSSP, phần 1.4: Relationship to Other Protocols Như vậy, tất phiên CredSSP sử dụng NTLM 1.8 Các phiên Remote Desktop lỗ hổng Hiện với số điều kiện định, thực việc cơng MITM với Remote Desktop Protocol Portcullis Labs phát triển công cụ nghe đóng vai trò RDP proxy để thực việc relay qua lại client server phiên RDP Khi người dùng bỏ qua cảnh báo kiểm tra chứng thực server không MITM tiến hành 6 Chương - ĐỀ XUẤT PHƯƠNG PHÁP TẤN CÔNG MITM VỚI NLA 2.1 Lý thuyết hóa tốn xác thực Remote Desktop RD sử dụng NLA kết hợp SSL SPNEGO Vì nói đến tốn xác thực RD nói đến chế chứng thực sử dụng mã hóa bất đối xứng SPNEGO Hình 2.1: Mơ hình lý thuyết thuật tốn mã hóa bất đối xứng Ở phần bên trái, bên gửi sử dụng hàm chiều bên nhận B (với thuật tốn mã hóa E khóa cơng khai B kB) cho tin nhắn plaintext m gửi ciphertext cho bên nhận B Ở phía bên phải, B với khóa private kB-1 thực việc giải mã tin nhắn Sau thiết lập phiên TLS/SSL, việc chứng thực NTLM NLA mô tả sau: Client thực thuật toán mã hóa E với mã hash mật người dùng kClientHash tạo ciphertext C1 gửi tới cho server Server thực thuật tốn mã hóa E với mã hash mật người dùng lấy từ SAM database tạo ciphertext C2 Server sau nhận C1 từ client tiến hành so sánh với C2 Nếu C1 C2 giống nhau, việc chứng thực xem thành cơng Khi attacker làm cho admin thay kết nối tới RDP server lại kết nối tới SSL relay proxy mà kiểm sốt(DNS Poisoning, ARP Spoof ) việc cơng MITM theo hình Hình 2.2: Kiểu cơng MITM cũ 8 Nếu việc chứng thực client server lúc sử dụng NLA, cho dù admin có bỏ qua cảnh báo sai certificate, "font authentication" bị fail certificate MITM không giống certificate RDP server dẫn đến bước kiểm tra certificate CredSSP thất bại Bài toán đặt ra: Giả sử attacker chiếm máy domain, gọi máy A1 máy A2 Một máy Windows server mục tiêu mà attacker muốn chiếm có cung cấp dịch vụ RDP Admin sử dụng RDP client để quản trị server Server lúc cho phép sử dụng RDP với NLA Mục tiêu để nghe phiên kết nối RDP Admin Server từ lấy thơng tin quan trọng 2.2 TLS/SSL proxy công MITM với RDP Kết nối The Transport Layer Security (TLS)/Secure Sockets Layer (SSL) thực việc chứng thực server dựa X.509 certificates mã hóa tất liệu truyền thơng client server ver theo mơ hình end-to-end TLS/SSL proxy đóng vai trò vừa client vừa server, gọi Proxy-Client Proxy-Server Proxy-Server gửi/nhận liệu từ phía client Proxy-Client gửi/nhận liệu từ phía Server 2.3 Tấn cơng Man-In-The-Middle Khái niệm cơng MITM đơn giản không giới hạn lĩnh vực bảo mật máy tính hay giới online Ở mức đơn giản nhất, người công cần đứng hai người giao tiếp với người cơng đọc thơng điệp truyền hai người mức cao giả mạo hai người 2.4 Cách tạo RDP NLA/CredSSP server giả mạo để user kết nối tới Tấn công MITM với NLA thực cách sử dụng máy để thực thay việc chứng thực với Domain Controller (DC) Như vậy, khơng cần có server CA hay username/password người dùng, phiên kết nối client MITM thiết lập Mơ hình cơng MITM theo hình sau Hình 2.3: Kiểu công MITM với RDP NLA Bước 1: Admin sử dụng RDP client để kết nối tới RDP server Bước 2: Thiết lập TLS/SSL proxy relay máy A1 với public/private key lấy từ A2 Bước 3: MITM lúc có nhiệm vụ thiết lập TLS session với A2, sau relay truyền thơng RDP client A2 10 Bước 4: A2 sau nhận yêu cầu chứng thực thực NTLM noninteractive authentication tới DC để kiểm tra user từ MITM có hợp lệ Sau hồn tất “font authentication”, MITM lúc thực hiện: Ngắt kết nối ngưng giả mạo RDP server, người dùng lúc thử kết nối lại kết nối tới RDP server thật Hoặc dùng username/password lấy từ phiên RDP relay, tạo session với RDP thật relay lại cho RDP client 2.4 Tóm tắt phương pháp cơng Phương pháp cơng MITM trình bày dựa vào chế chứng thực NTLM Noninteractive môi trường Active Directory Chứng thực NTLM lúc xảy RDP client DC qua trung gian RDP server Lúc việc kiểm tra diễn Domain Controller thay diễn RDP Server: ClientHash’ tạo từ mật người dùng sở liệu DC Domain Controller lưu giữ tất mật người dùng Domain Điều dẫn tới, cần người dùng cung cấp mật (tạo ClientHash), pha chứng thực hoàn thành (C1 = C2) cho dù RDP 11 server khơng có lưu trữ thông tin người dùng (chứng thực tập trung) Việc cơng MITM với RDP NLA thực có đủ điều kiện sau: Được thực môi trường chứng thực tập trung Active Directory Client thay kết nối tới server thật phải kết nối tới TLS/SSL proxy Người dùng bỏ qua cảnh báo sai server certificate bắt đầu phiên kết nối 12 Chương - THỰC NGHIỆM VÀ BIỆN PHÁP PHÒNG CHỐNG 3.1 Thực nghiệm phương pháp công 3.1.1 Hệ thống thực nghiệm Những máy tham gia vào mơ hình cơng có cấu sau: Bảng 3.1: Những máy tham gia vào mơ hình cơng PC Hệ điều hành IP Address RDP Client Windows 192.168.146.129 TLS/SSL Proxy Windows 192.168.146.133 RDP server giả mạo Windows 192.168.146.131 DC Windows 2008 R2 192.168.146.128 RDP client phiên 6.1 sử dụng RDP client đượng dùng cấu hình mặc định Hình 3.1: Cấu hình mặc định RDO client Mơ hình cơng thực nghiệm sau: 13 Hình 3.2: Mơ hình cơng Trong mơ hình trên, TLS/SSL Proxy Fake RDP server máy mà attacker kiểm soát Mọi liệu qua máy theo dõi 3.1.2 Thực nghiệm kết Người dùng/Người quản trị dùng Remote Desktop Client để kết nối tới RDP server Hình 3.3: Giao diện RDP client bắt đầu kết nối Giả sử trường hợp này, địa RDP server giả mạo thành 192.168.146.133 Khi client kết nối tới TLS/SSL proxy, có cảnh báo sau: 14 Hình 3.4: Cảnh báo client kết nối tới TLS/SSL proxy Tại đây, client chọn “No”, phiên RDP ngắt kết nối, công MITM thực Nếu người dùng chọn “Yes”, công MITM lúc chắn thành công, TLS/SSL proxy, nơi chạy công cụ công thông báo hình 3.8: Hình 3.5: Kết xuất công cụ công MITM 15 Sau q trình chứng thực client server cơng, công cụ MITM ghi lại 15 gói tin gửi client server, nội dung 15 gói tin chắn có chứa mật người dùng Sau đạt mục đích, cơng cụ tiến hành ngắt kết nối client server Công cụ mô công dừng lại việc ghi lại 15 gói tin đầu tiên, với thông tin chứng thực lấy được, hồn tồn tạo thêm kết nối tới RDP server thật tiến hành relay gữa client với server thật 3.2 Các phương pháp hạn chế Điều quan trọng để MITM với RDP thành cơng người dùng bỏ qua cảnh báo sai server certificate Cách tốt cấu hình chọn “Do not connect” kiểm tra server certificate kết nối bị ngắt Hình 3.6: Kết nối bị ngắt kiểm tra server certificate không 16 Khi tạo kết nối với client, q trình relay khơng thể thực được, dẫn đến công MITM lúc thất bại Ngồi ra, phòng tránh việc kết nối tới MITM Proxy thay kết nối tới server thật theo số cách sau: Người quản trị nên ý bảo vệ DNS server có hệ thống Tiến hành sử dụng The Domain Name System Security Extensions (DNSSEC) để tránh bị công DNS poisoning dẫn đến server bị giả mạo DNSSEC tạo ký riêng cho DNS record để đảm bảo record gửi từ server tới client không bị chỉnh sửa Sử dụng địa MAC tĩnh để giảm bớt khả bị công ARP poisoning Như thế, attacker giả mạo địa RDP server để người dùng kết nối tới server giả mạo Việc công MITM trường hợp chắn thất bại 17 KẾT LUẬN Luận văn nghiên cứu Remote Desktop Protocol phương thức chứng thực nó: Network Authentication Level Hay gọi chế chứng thực “front authentication” Trong đó, server client phải chứng thực với trước phiên kết nối thiết lập Bằng việc gắn hai chế chứng thực TLS/SSL SPNEGO, RDP giúp đảm bảo cho client server định danh lẫn phiên chứng thực Có thể nói, RDP với NLA chế hiệu để bảo vệ phiên khỏi phương thức công MITM thông thường, người dùng chọn bỏ qua cảnh báo sai server certificate phiên TLS/SSL Tuy nhiên, môi trường chứng thực tập trung Active Directory, chế chứng thực Noninteractive NTLM sử dụng NLA, dẫn đến việc attacker tạo TLS/SSL proxy RDP server giả mạo để thực công MITM Phương pháp công MITM đưa chứng minh thực cách tạo công cụ công MITM chạy mô thành công Luận văn đưa cách khai thác lỗ hổng với NLA + Passthrough Authentication (mà cụ thể môi trường Active Directory) Tất cách công trước theo hướng hạ xuống mức bảo mật thấp Nhưng cấu hình server cho phép sử dụng NLA chưa có cách cơng khác làm 18 Từ phương pháp công mới, luận văn đưa số phương pháp giúp hạn chế kiểu cơng như: cấu hình kiểm tra ngắt kết nối server khơng có trust CA, phòng tránh bị cơng DNS poisoning, ARP poisoning ... 1.8 Các phiên Remote Desktop lỗ hổng Hiện với số điều kiện định, thực việc công MITM với Remote Desktop Protocol Portcullis Labs phát triển công cụ nghe đóng vai trò RDP proxy để thực việc relay... Luận văn nghiên cứu Remote Desktop Protocol phương thức chứng thực nó: Network Authentication Level Hay gọi chế chứng thực “front authentication” Trong đó, server client phải chứng thực với trước... chứng thực server khơng MITM tiến hành 6 Chương - ĐỀ XUẤT PHƯƠNG PHÁP TẤN CÔNG MITM VỚI NLA 2.1 Lý thuyết hóa tốn xác thực Remote Desktop RD sử dụng NLA kết hợp SSL SPNEGO Vì nói đến tốn xác thực