Skip to content

nuPacaChi/-CVE-2021-44790

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

CVE-2021-44790

Mô tả CVE-2021-44790

  • CVE-2021-44790 mô tả một lỗi bảo mật cấp độ hệ thống nằm trong mod_lua của Apache HTTP Server, đặc biệt là trong phiên bản 2.4.51 và các phiên bản trước đó. Lỗ hổng này được kích hoạt khi hàm r:parsebody() xử lý các yêu cầu HTTP multipart/form-data không đúng cách, thường là do việc gửi dữ liệu form không chuẩn mực.
  • Sự cố này không chỉ làm tăng khả năng xảy ra sự cố từ chối dịch vụ mà còn mở ra cơ hội cho việc thực thi mã độc từ xa qua các yêu cầu được cấu trúc kỹ lưỡng.

Thực nghiệm CVE-2023-25690

  • Sử dụng máy Ubuntu 22.04 làm máy tấn công
  • Sử dụng Windows 10 64bit làm server
    • Cài đặt phần mềm apache server VC11 2.4.38

Mô tả hình thực nghiệm

image

  • Máy tấn công: Ubuntu 22.04 - IP: 10.6.10.130
  • Máy nạn nhân: Windows 10 64bit -IP: 10.6.10.131

Yêu cầu hệ thống

  • Máy tấn công:
    • Hệ điều hành Ubuntu 22.04
    • Cài đặt python, Curl.
  • Yêu cầu máy nạn nhân:
    • Hệ điều hành Windows 10 64bit
    • Cài đặt Apache 2.4.38
    • Cấu hình httpd.conf để có thể sử dụng modul Lua ( xem phần phụ lục)

Mục tiêu khai thác: Lợi dụng lỗ hổng BufferOver flow để tiến hành DOS mục tiêu.

Triển khai thực nghiệm

  • B1: Ở phía máy nạn nhân:

    • Tải apache 2.4.38 về máy.
    • Tiến hành cấu hình httpd.conf ( phụ lục I ).
    • Tạo file test.lua ở trong thư mục htdocs ( phụ lục I).
    • Trước khi sử dụng máy tấn công, ta cần tắt tường lửa của máy nạn nhân.
    • Sử dụng cmd di chuyển đến thư mục :
    **Apache24/bin**  để tiến hành chạy **httpd.exe.**
  • B2: Ở máy tấn công:

    • Thử kết nối tới trang web của nạn nhân ( Vì ở thực nghiệm là mạng local ⇒ kết nối tới IP của máy nạn nhân: 10.6.10.131 ).

    image

    • Khi thấy có thể kết nối được, tìm vị trí của file Lua ( Ở thực nghiệm sẽ là : 10.6.10.131/test.lua ).

    image

    • Tiến hành gửi request khai thác đến vị trí đó và quan sát kết quả:
      1. Lỗi thiết lập lại kết nối ban đầu:

        • Phần đầu tiên của nhật ký cho thấy ConnectionResetError104

          đã xảy ra sự cố với số lỗi cụ thể

          , có nghĩa là "Thiết lập lại kết nối ngang hàng". Điều này thường xảy ra khi máy chủ từ xa ("ngang hàng") nhận được yêu cầu kết nối của bạn nhưng sau đó đột ngột đóng kết nối.

      2. Thư viện Urllib3 và yêu cầu:

        • Tập lệnh dường như đang sử dụng requestsurllib3

          thư viện, do đó dựa vào đó

          để tạo kết nối HTTP.

        • Thư urllib3

          viện đang cố gắng mở kết nối và đưa ra yêu cầu nhưng không thành công do đã đặt lại kết nối.

      3. Xử lý ngoại lệ trong thư viện:

        • Cả hai urllib3requestsurllib3

          đều

          đang nắm bắt và nêu lại các ngoại lệ. Thư

          viện đang cố gắng tăng số lần thử lại cho yêu cầu, cho biết nó có thể được thiết lập để thử lại khi không thành công, nhưng cuối cùng lại bỏ cuộc sau khi hết số lần thử lại.

      4. Lỗi kết nối cuối cùng trong yêu cầu:

        • Ngoại lệ cuối cùng được requestsConnectionError

          thư viện đưa ra, đó là tệp

          . Đây là một ngoại lệ chung được đưa ra khi không thể thực hiện kết nối đến máy chủ, điều này có thể xảy ra nếu máy chủ đặt lại kết nối.

image

image

  • B3: Ở máy nạn nhân:

    • Kiểm tra log:
    • [Wed Nov 29 15:11:58.320403 2023] [mpm_winnt:notice] [pid 6224:tid 732] AH00428: Parent: child process 7220 exited with status 3221225477 -- Restarting.
    • Quá trình con 7220 đã thoát với mã lỗi 3221225477. Đây có thể là lỗi do truy cập vùng nhớ không hợp lệ hoặc lỗi tương tự. Apache sau đó cố gắng khởi động lại quá trình.

    image

    • Kiểm tra service:
      • Chi tiết lỗi đề cập rằng tên ứng dụng bị lỗi là httpd.exe, là tệp thực thi của máy chủ HTTP Apache. Tên mô-đun bị lỗi là **MSVCR110.dll11.0.51106.1**Mã ngoại lệ là 0xc0000005, thường chỉ ra lỗi vi phạm quyền truy cập. Điều này có nghĩa là chương trình đã cố đọc hoặc ghi vào một vị trí bộ nhớ mà lẽ ra nó không nên làm, đây là nguyên nhân phổ biến gây ra sự cố ứng dụng.

    image

Phụ lục I

  • Cấu hình httpd.conf :

    • Sửa lại đường dẫn

      image

    • Khởi chạy module Lua

      image

    • Thêm Handler cho module Lua

      image

  • Nội dung test.lua và đường dẫn:

    image

About

Thực nghiệm CVE-2021-44790

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published