Một thông báo khi máy chủ ICMP Redirect có thể được gửi từ bất kỳ bộ định tuyến trên đoạn phát sóng tương tự như các máy chủ kết thúc mà cần chuyển hướng. cơ sở hạ tầng mạng hiện đại thường sẽ có một địa chỉ router cổng duy nhất cho mỗi subnet tuy nhiên nó có thể có nhiều hơn một bộ định tuyến trong một phân đoạn làm cho các trường hợp hoạt động cho ICMP redirect.
Với sự ra đời của định tuyến miền Internet (CIDR, RFC 1518/1519 vào năm 1993), một máy chủ đầu cuối không thể dễ dàng xác định các lớp mạng và do đó ICMP loại 5, mã 0 về cơ bản là vô dụng. RFC 1812 thêm rằng một bộ định tuyến không nên tạo ra loại 5, mã 0. Trong khi làm việc trên bài viết này, tôi quan sát thấy rằng một máy chủ Windows sẽ chấp nhận mã 0 và coi nó giống như mã số 1.
Bởi vì địa chỉ IP nguồn giả mạo là bình thường, ICMP redirect lạm dụng tiềm năng tồn tại của nó. Các giới hạn cụ thể duy nhất là "mới" địa chỉ gateway đích của thông điệp chuyển hướng phải tồn tại trong cùng một mạng như các máy chủ cuối cùng chính nó.
Các trường hợp sử dụng chuyển hướng ICMP sẽ rất có thể được sử dụng trong một kịch bản thử nghiệm thâm nhập mạng theo đó tính năng lớp 2 an ninh mở rộng được kích hoạt hạn chế hiệu quả của lớp 2 cuộc tấn công như ARP cache và giả mạo sử dụng DHCP server. Mục đích chính là để đánh chặn lưu lượng cho một địa chỉ đích cụ thể.
Các máy chủ kết thúc phải được cấu hình để chấp nhận ICMP thông điệp chuyển hướng và cập nhật bảng định tuyến của nó cho phù hợp. Trong Microsoft Windows, có một khóa registry cho phép chấp nhận các thông điệp chuyển hướng ICMP. khóa registry DWORD này có một thiết lập mặc định của 0x0001, đó đang được các "kích hoạt" nhà nước.
HKLM \ System \ CurrentControlSet \ Services \ Parameters \ Tcpip \ EnableICMPRedirect
Đối với tường lửa của Windows XP, nó sẽ chặn tất cả các yêu cầu ICMP trong trạng thái cấu hình mặc định của nó. Tất nhiên, có thể có trang web chính sách nhóm rộng làm thay đổi tình hình này vì lý do hoạt động hợp pháp như nhiều gateway router hiện trong một đoạn mạng. Nếu bạn muốn thử nghiệm, và hỗ icmp chuyển hướng từ dòng lệnh "netsh' chúng ta dùng như sau:
C:\> netsh firewall show icmpsetting
Hiển thị trạng thái hiện tại của ICMP chấp nhận nếu có. Một màn hình trống chỉ ra rằng không có chính sách ICMP nào đang có hiệu lực.
C:\> netsh firewall set icmpsetting type=5 mode=enable
sẽ cho phép sự chấp nhận của ICMP chuyển hướng thông qua các bức tường lửa.
Các hạt nhân Linux có hai cài đặt điều khiển ICMP Redirect và chấp nhận. Đối với các giao diện 'eth0', các thiết lập như sau:
/proc/sys/net/ipv4/conf/eth0/accept_redirects
/proc/sys/net/ipv4/conf/eth0/secure_redirects
Nếu "secure_redirects" được kích hoạt, hệ thống Linux sẽ chỉ chấp nhận đổi hướng ICMP được chuyển hướng đến một gateway mặc định mà đã được liệt kê trong bảng định tuyến. Đây là mặc định trong hầu hết các bản phân phối Linux hiện đại và là một phòng vệ hữu hiệu chống lại nỗ lực giả mạo.
Accept_redirects được kích hoạt như mặc định. Nếu tham số hạt nhân của secure_redirects 'được thiết lập là 0 khi đó hạt nhân Linux là dễ bị một cuộc tấn công máy chủ chuyển hướng ICMP trong cùng một cách mà một hệ thống Windows bị tấn công. Một trong những điều cần lưu ý là các hạt nhân Linux sẽ không hiển thị các tuyến đường được chấp nhận trong bảng định tuyến được liệt kê qua 'lộ trình' hoặc '-nr netstat' lệnh, mặc dù con đường có hiệu lực.
kịch bản của chúng tôi dưới đây được đặt ra như sau:
Attacker IP Address: 172.16.235.99
Legitimate Router Gateway: 172.16.235.1
Victim IP Address: 172.16.235.100
Các hợp pháp địa chỉ máy chủ DNS là 10.1.1.1.
Chúng tôi có thể sử dụng ICMP chủ chuyển hướng để chèn một mục bảng lộ trình mới cho địa chỉ 10.1.1.1 như sau:
hping -I eth-dest -C 5 -K 1 -a 172.16.235.1 --icmp-ipdst 10.1.1.1 --icmp-gw 172.16.235.99 --icmp-ipsrc 172.16.235.100 172.16.235.100
theo đó:
- ETH-đích là giao diện ethernet đích trên kẻ tấn công gửi các gói dữ liệu ra của / từ.
-a là địa chỉ nguồn giả mạo của VN. gateway router
--icmp-ipdst là địa chỉ vào bảng định tuyến mới mà bạn muốn tạo
--icmp-GW là điểm đến mới tuyến đường địa chỉ / gateway mà bạn muốn tạo và phải sống trong cùng subnet với nạn nhân.
--icmp-ipsrc phải phù hợp với địa chỉ nguồn của các nạn nhân để vượt qua kiểm tra sự tỉnh táo
Nếu bạn kiểm tra bảng định tuyến trên các nạn nhân sử dụng "-nr netstat" hoặc "route print" sau khi thực hiện lệnh này từ những kẻ tấn công, bạn sẽ thấy một entry bảng định tuyến mới. Kể từ khi MS-Windows sẽ sẵn sàng chấp nhận những mục bảng định tuyến mới, nhiều lần chuyển hướng ICMP có thể được tạo ra với các tiền tố IPv4 ngẫu nhiên để thực hiện một sự từ chối dịch vụ đối với các mục tiêu.
Trong ví dụ này, chúng tôi giả định rằng những kẻ tấn công là trên cùng một subnet để nhận và đánh chặn. Nói cách khác, những kẻ tấn công cũng sẽ là một máy chủ DNS đã sẵn sàng để phục vụ một số phản ứng không có thật để các nạn nhân. Các máy chủ tấn công cũng có thể là một máy tính khác nhau trên mạng khác, nhưng "man in the middle" host hoặc "gateway router" nếu bạn thích cần giữ trên cùng một subnet để nhận được lưu lượng.
Các bài viết có liên quan tới kỹ thuật này bạn có thể tham khảo thêm
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 6: DHCP Spoofing
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 5: STP mangling
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 4: Port stealing
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 3: Session Hijacking
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - ARP Cache Poisoning (Phần 2)
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 1: DNS Spoofing
Với sự ra đời của định tuyến miền Internet (CIDR, RFC 1518/1519 vào năm 1993), một máy chủ đầu cuối không thể dễ dàng xác định các lớp mạng và do đó ICMP loại 5, mã 0 về cơ bản là vô dụng. RFC 1812 thêm rằng một bộ định tuyến không nên tạo ra loại 5, mã 0. Trong khi làm việc trên bài viết này, tôi quan sát thấy rằng một máy chủ Windows sẽ chấp nhận mã 0 và coi nó giống như mã số 1.
Bởi vì địa chỉ IP nguồn giả mạo là bình thường, ICMP redirect lạm dụng tiềm năng tồn tại của nó. Các giới hạn cụ thể duy nhất là "mới" địa chỉ gateway đích của thông điệp chuyển hướng phải tồn tại trong cùng một mạng như các máy chủ cuối cùng chính nó.
Các trường hợp sử dụng chuyển hướng ICMP sẽ rất có thể được sử dụng trong một kịch bản thử nghiệm thâm nhập mạng theo đó tính năng lớp 2 an ninh mở rộng được kích hoạt hạn chế hiệu quả của lớp 2 cuộc tấn công như ARP cache và giả mạo sử dụng DHCP server. Mục đích chính là để đánh chặn lưu lượng cho một địa chỉ đích cụ thể.
Các máy chủ kết thúc phải được cấu hình để chấp nhận ICMP thông điệp chuyển hướng và cập nhật bảng định tuyến của nó cho phù hợp. Trong Microsoft Windows, có một khóa registry cho phép chấp nhận các thông điệp chuyển hướng ICMP. khóa registry DWORD này có một thiết lập mặc định của 0x0001, đó đang được các "kích hoạt" nhà nước.
HKLM \ System \ CurrentControlSet \ Services \ Parameters \ Tcpip \ EnableICMPRedirect
Đối với tường lửa của Windows XP, nó sẽ chặn tất cả các yêu cầu ICMP trong trạng thái cấu hình mặc định của nó. Tất nhiên, có thể có trang web chính sách nhóm rộng làm thay đổi tình hình này vì lý do hoạt động hợp pháp như nhiều gateway router hiện trong một đoạn mạng. Nếu bạn muốn thử nghiệm, và hỗ icmp chuyển hướng từ dòng lệnh "netsh' chúng ta dùng như sau:
C:\> netsh firewall show icmpsetting
Hiển thị trạng thái hiện tại của ICMP chấp nhận nếu có. Một màn hình trống chỉ ra rằng không có chính sách ICMP nào đang có hiệu lực.
C:\> netsh firewall set icmpsetting type=5 mode=enable
sẽ cho phép sự chấp nhận của ICMP chuyển hướng thông qua các bức tường lửa.
Các hạt nhân Linux có hai cài đặt điều khiển ICMP Redirect và chấp nhận. Đối với các giao diện 'eth0', các thiết lập như sau:
/proc/sys/net/ipv4/conf/eth0/accept_redirects
/proc/sys/net/ipv4/conf/eth0/secure_redirects
Nếu "secure_redirects" được kích hoạt, hệ thống Linux sẽ chỉ chấp nhận đổi hướng ICMP được chuyển hướng đến một gateway mặc định mà đã được liệt kê trong bảng định tuyến. Đây là mặc định trong hầu hết các bản phân phối Linux hiện đại và là một phòng vệ hữu hiệu chống lại nỗ lực giả mạo.
Accept_redirects được kích hoạt như mặc định. Nếu tham số hạt nhân của secure_redirects 'được thiết lập là 0 khi đó hạt nhân Linux là dễ bị một cuộc tấn công máy chủ chuyển hướng ICMP trong cùng một cách mà một hệ thống Windows bị tấn công. Một trong những điều cần lưu ý là các hạt nhân Linux sẽ không hiển thị các tuyến đường được chấp nhận trong bảng định tuyến được liệt kê qua 'lộ trình' hoặc '-nr netstat' lệnh, mặc dù con đường có hiệu lực.
kịch bản của chúng tôi dưới đây được đặt ra như sau:
Attacker IP Address: 172.16.235.99
Legitimate Router Gateway: 172.16.235.1
Victim IP Address: 172.16.235.100
Các hợp pháp địa chỉ máy chủ DNS là 10.1.1.1.
Chúng tôi có thể sử dụng ICMP chủ chuyển hướng để chèn một mục bảng lộ trình mới cho địa chỉ 10.1.1.1 như sau:
hping -I eth-dest -C 5 -K 1 -a 172.16.235.1 --icmp-ipdst 10.1.1.1 --icmp-gw 172.16.235.99 --icmp-ipsrc 172.16.235.100 172.16.235.100
theo đó:
- ETH-đích là giao diện ethernet đích trên kẻ tấn công gửi các gói dữ liệu ra của / từ.
-a là địa chỉ nguồn giả mạo của VN. gateway router
--icmp-ipdst là địa chỉ vào bảng định tuyến mới mà bạn muốn tạo
--icmp-GW là điểm đến mới tuyến đường địa chỉ / gateway mà bạn muốn tạo và phải sống trong cùng subnet với nạn nhân.
--icmp-ipsrc phải phù hợp với địa chỉ nguồn của các nạn nhân để vượt qua kiểm tra sự tỉnh táo
Nếu bạn kiểm tra bảng định tuyến trên các nạn nhân sử dụng "-nr netstat" hoặc "route print" sau khi thực hiện lệnh này từ những kẻ tấn công, bạn sẽ thấy một entry bảng định tuyến mới. Kể từ khi MS-Windows sẽ sẵn sàng chấp nhận những mục bảng định tuyến mới, nhiều lần chuyển hướng ICMP có thể được tạo ra với các tiền tố IPv4 ngẫu nhiên để thực hiện một sự từ chối dịch vụ đối với các mục tiêu.
Trong ví dụ này, chúng tôi giả định rằng những kẻ tấn công là trên cùng một subnet để nhận và đánh chặn. Nói cách khác, những kẻ tấn công cũng sẽ là một máy chủ DNS đã sẵn sàng để phục vụ một số phản ứng không có thật để các nạn nhân. Các máy chủ tấn công cũng có thể là một máy tính khác nhau trên mạng khác, nhưng "man in the middle" host hoặc "gateway router" nếu bạn thích cần giữ trên cùng một subnet để nhận được lưu lượng.
Các bài viết có liên quan tới kỹ thuật này bạn có thể tham khảo thêm
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 6: DHCP Spoofing
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 5: STP mangling
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 4: Port stealing
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 3: Session Hijacking
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - ARP Cache Poisoning (Phần 2)
Hiểu Về Cuộc Tấn Công Man-In-The-Middle - Phần 1: DNS Spoofing
0 nhận xét:
Post a Comment