Cảnh Báo lỗ Hổng cho phép thực thi mã từ xa (RCE) CVE-2024-48074 Trên Router DrayTek Vigor2960

CVE-2024-48074 là một lỗ hổng bảo mật nghiêm trọng cho phép thực thi mã từ xa (RCE) trên router DrayTek Vigor2960, một thiết bị được sử dụng phổ biến trong các doanh nghiệp.

Với điểm số CVSS 8.0, lỗ hổng này có mức nguy hiểm cao, đặc biệt đối với các thiết bị chạy firmware phiên bản 1.4.4. Thông qua lỗ hổng này, kẻ tấn công có thể thực thi các lệnh tùy ý trên router với quyền tương tự như máy chủ web, dẫn đến việc chiếm quyền điều khiển hoàn toàn thiết bị.

Chi Tiết Kỹ Thuật

Lỗ hổng này xuất hiện trong script /www/cgi-bin/mainfunction.cgi, cụ thể là ở hàm doPPPoE. Hàm này xử lý đầu vào từ người dùng qua tham số table khi tham số option được đặt là “terminate”. Kẻ tấn công có thể xây dựng yêu cầu độc hại chèn mã lệnh vào tham số table, và mã lệnh này sẽ được thực thi thông qua hàm system, từ đó có thể thực thi các lệnh tùy ý trên router.

Quá Trình Khai Thác Lỗ Hổng

Mã khai thác hoạt động theo các bước sau:

  • Kết Nối và Lấy Public Key: Đầu tiên, mã khai thác kết nối đến router và yêu cầu RSA Public Key bằng cách gửi một yêu cầu POST đến script mainfunction.cgi với action là get_RSA_Key. Router sẽ phản hồi với giá trị modulus của khóa RSA, được dùng để mã hóa thông tin đăng nhập.

  • Mã Hóa Thông Tin Đăng Nhập: Kẻ tấn công mã hóa username và password bằng cách sử dụng modulus nhận được từ router. Hàm EncryptAlgo sẽ mã hóa thông tin đăng nhập này, đảm bảo chúng hợp lệ khi gửi đến router: loginUser = EncryptAlgo(USERNAME.encode(), Modulus) loginPwd = EncryptAlgo(PASSWORD.encode(), Modulus)

  • Đăng Nhập và Thiết Lập Phiên: Mã khai thác gửi thông tin đăng nhập đã mã hóa trở lại router. Nếu thông tin xác thực chính xác, router sẽ trả về một session cookie chứa SESSION_ID_VIGOR, giúp duy trì trạng thái đăng nhập cho các yêu cầu sau này. Session ID này được thêm vào headers để tiếp tục sử dụng trong phiên làm việc.

  • Chèn Mã Lệnh và Thực Thi: Sau khi đăng nhập thành công, kẻ tấn công có thể thực thi lệnh tùy ý trên router bằng cách đưa lệnh đó vào tham số table trong yêu cầu POST. Lệnh được bao bọc bởi dấu và được mã hóa URL để đảm bảo tính tương thích khi gửi đến router:

cmd = '%s' % cmd # bao bọc lệnh để thực thi

cmd = urllib.parse.quote(cmd)

data = 'action=doPPPoE&table=%s&option=terminate' % (cmd)

Router sẽ xử lý lệnh này và thực thi lệnh trong shell hệ thống.

Tác động

  • Rò rỉ dữ liệu: Kẻ tấn công có thể truy cập vào thông tin nhạy cảm qua router, bao gồm thông tin đăng nhập, mật khẩu và dữ liệu tài chính.
  • Gián đoạn dịch vụ mạng: Các dịch vụ mạng có thể bị ngắt quãng, ảnh hưởng đến hoạt động kinh doanh.
  • Lan truyền mã độc: Router bị chiếm quyền có thể phát tán mã độc đến các thiết bị khác trong mạng.
  • Tham gia vào botnet: Router có thể bị sử dụng để thực hiện các cuộc tấn công DDoS hoặc phát tán thư rác.

Khuyến nghị

  • Cập nhật firmware: Kiểm tra và cập nhật firmware mới nhất cho router DrayTek Vigor2960 nhằm vá các lỗ hổng đã phát hiện.
  • Vô hiệu hóa truy cập từ xa nếu không cần thiết.
  • Áp dụng kiểm soát truy cập nghiêm ngặt và chỉ cho phép truy cập quản trị từ các IP tin cậy.

Nguồn: VNCERT/CC


Công ty CP Dịch vụ an toàn thông tin TP.HCM (HISSC) chuyên cung cấp các dịch vụ về an ninh mạng gồm:

  • Điện toán đám mây.

  • Mạng phân phối nội dung

  • Giám sát an toàn thông tin mạng.

  • Bảo vệ an toàn thông tin đầu cuối.

  • Sao lưu, phục hồi dữ liệu.

  • Diễn tập phòng chống tấn công mạng.

  • Kiểm tra, đánh giá an toàn thông tin mạng.

  • Đào tạo an toàn thông tin.

  • Dịch vụ khác:

    • Triển khai tích hợp giải pháp công nghệ an toàn thông tin theo yêu cầu.
    • Cho thuê thiết bị an toàn thông tin, công nghệ thông tin

Liên hệ dịch vụ: