1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn học phần an toàn Ứng dụng web và cơ sở dữ liệu mã học phần int14105 Đề tài tìm hiểu về lỗ hổng iis remote code execution

41 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu về lỗ hổng iis remote code execution
Tác giả Hồ Thị Kiều Trinh, Nguyễn Đức Anh, Bùi Thanh Hiếu
Người hướng dẫn ThS. Vũ Minh Mạnh
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành An Toàn Ứng Dụng Web Và Cơ Sở Dữ Liệu
Thể loại Báo cáo
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 41
Dung lượng 2,39 MB

Nội dung

DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Thuật ngữ tiếng Anh/Giải thích Thuật ngữ tiếng Việt/Giải thích IIS Internet Information Services Dịch vụ thông tin Internet giống như một Web Serv

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

KHOA AN TOÀN THÔNG TIN

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN: AN TOÀN ỨNG DỤNG WEB VÀ CƠ SỞ DỮ LIỆU

MÃ HỌC PHẦN: INT14105

ĐỀ TÀI: Tìm hiểu về lỗ hổng IIS Remote Code Execution

Các sinh viên thực hiện:

B21DCAT188 Hồ Thị Kiều Trinh B21DCAT033 Nguyễn Đức Anh B21DCAT085 Bùi Thanh Hiếu

Tên nhóm: 08 Tên lớp: 04

Giảng viên hướng dẫn: ThS Vũ Minh Mạnh

HÀ NỘI 2024

Trang 2

PHÂN CÔNG NHIỆM VỤ NHÓM THỰC HIỆN

hoàn thành

1 Tìm hiểu khái quát IIS, DEMO Phòng

Thủ, cách khắc phục, tìm thông tin tài liệu

liên quan

Nguyễn Đức Anh 15/11/2024

2 Tìm hiểu CVE-2021-31166,Tìm POC ,

Tấn Công, làm slide ,báo cáo

Hồ Thị Kiều Trinh 15/11/2024

3 Tìm hiểu cách khai thác lỗ hổng, viết báo

cáo, làm slide Tìm hiểu

Mức hoàn thành CV

Kỹ năng giao tiếp

Kỹ năng hợp tác

Kỹ năng lãnh đạo

Trang 3

MỤC LỤC

MỤC LỤC 3

DANH MỤC CÁC HÌNH VẼ 5

MỞ ĐẦU 7

CHƯƠNG 1 GIỚI THIỆU VỀ IIS VÀ LỖ HỔNG REMOTE CODE EXECUTION 8

1.1 Tổng quan về IIS 8

1.2 Kiến trúc và thành phần của IIS 7

1.3 Lỗ hổng Remote Code Execution 13

1.4 Tầm quan trọng của IIS và nguy cơ từ lỗ hổng RCE 15

1.5 Mục tiêu của báo cáo 16

CHƯƠNG 2 PHÂN TÍCH LỖ HỔNG RCE 17

2.1 Cơ chế hoạt động 17

2.2 Các loại tấn công phổ biến 17

2.2.1 Injection (SQL, Command Injection): 17

2.2.2 Deserialization Attack 21

2.2.3 File upload vulnerabilities 23

2.3 Tác động 25

2.4 Nguyên nhân gây ra lỗ hổng 26

2.4.1 Thiếu kiểm tra và xác thực đầu vào: 27

2.4.2 Lỗ hổng trong cấu hình máy chủ: 27

2.4.3 Lỗi trong việc xử lý yêu cầu từ người dung 27

2.4.4 Lỗ hổng trong các thành phần bên ngoài và thư viện 27

2.4.5 Quản lý và bảo mật phiên làm việc kém 28

2.5 Phát hiện lỗ hổng 28

2.5.1 Kiểm tra cấu hình IIS 28

2.5.2 Quét lỗ hổng bằng công cụ tự động 28

2.5.3 Kiểm tra thủ công (Manual Testing) 29

2.5.4 Phân tích nhật ký (Logs) 30

2.5.5 So sánh phiên bản IIS với danh sách CVE 30

2.5.6 Kiểm tra các lỗ hổng của tệp tải lên 31

2.5.7 Phân tích bằng kỹ thuật fuzzing 31

2.5.8 Tấn công thử nghiệm (Penetration Testing) 31

2.6 Các biện pháp ngăn ngừa và khắc phục 32

2.6.1 Cập nhật và vá lỗi thường xuyên 32

Trang 4

2.6.2 Cấu hình IIS an toàn 32

2.6.3 Bảo vệ đầu vào người dung 33

2.6.4 Quản lý tệp tải lên 34

2.6.5 Giám sát và phân tích nhật ký IIS 34

2.7 Kết chương 35

CHƯƠNG 3 THỬ NGHIỆM VÀ DEMO CVE-2021-31166 36

3.1 Tổng quan về CVE-2021-31166 3

3.2 Chuẩn bị môi trường 34

3.3 Proof of Concept 36

3.4 Cách diễn ra lỗi 37

KẾT LUẬN 39

Tài liệu kham khảo

Trang 5

DANH MỤC CÁC HÌNH VẼ

Hình 1 – Các chức năng của IIS 18

Hình 2 – Các phiên bản Microsoft IIS và phiên bản Windows Server tương ứng 19

Hình 3 – Dịch vụ WWW trên IIS Error! Bookmark not defined. Hình 4 – Màn hình Application Pools của IIS 23

Hình 5 – Xử lý dữ liệu ASP của IIS 26

Hình 6 – Cách thức hoạt động của IIS 34

Hình 7 – Quá trình kẻ tấn công khai thác lỗ hổng và thực hiện RCE 36

Hình 8 – Tiến trình của giao thức SSL trên IIS 36

Hình 9 – Dịch vụ Logging trong IIS 37

Hình 10 – Mã độc lợi dụng lỗ hổng web server IIS tấn công vào trang web 37

Hình 11 – Mô tả tấn công SQL injection 37

Hình 12 – Tấn công Command Injection 37

Hình 13 – Tấn công RCE thông qua lỗ hổng Deserialization 37

Hình 14 – Lỗ hổng file upload 31

Hình 15 – Tấn công từ chối dịch vụ 32

Hình 16 – Danh sách các cve mới liên quan đến web server IIS 33

Hình 17 – Chỉnh sửa tệp web.config để chặn các loại file cụ thể 34

Hình 18 – Chỉnh sửa tệp web.config 35

Hình 19 – Tông quan về CVE 37

Hình 20 – POC của CVE-2021-31166 37

Hình 21 – Server bị crash 38

Hình 22 – Thực hiện cấu hình cài đặt IDS và add rule 39

Trang 6

DANH MỤC CÁC TỪ VIẾT TẮT

Từ

viết tắt Thuật ngữ tiếng Anh/Giải thích Thuật ngữ tiếng Việt/Giải thích

IIS Internet Information Services

Dịch vụ thông tin Internet giống như một Web Server đa năng dành cho Microsoft có nhiệm vụ tiếp nhận và phản hồi các yêu cầu của máy khách

RCE Remote Code Execution

Loại lỗ hổng nguy hiểm nhất, cho phép hacker chiếm quyền điều khiển máy chủ ứng dụng

POC Proof Of Concept

Được sử dụng để chứng minh rằng một ý tưởng, giải pháp, hoặc công nghệ có thể thực hiện được và có tiềm năng hoạt động trong thực tế

W3SVC World Wide Web Publishing Service

Một dịch vụ trong Internet Information Services (IIS) của Windows, đóng vai trò quan trọng trong việc quản lý các chức năng liên quan đến web server

CVE Common Vulnerabilities and Exposures

Một hệ thống tiêu chuẩn hóa để nhận dạng và theo dõi các lỗ hổng bảo mật trong phần mềm hoặc phần cứng Mỗi

lỗ hổng hoặc điểm yếu được phát hiện

sẽ được gán một CVE ID duy nhất,

giúp các tổ chức, nhà phát triển, và chuyên gia bảo mật có thể theo dõi và

xử lý các vấn đề bảo mật một cách hiệu quả và có hệ thống

NTFS New Technology File System

Một hệ thống tập tin (file system) được Microsoft phát triển, được sử dụng chủ yếu trên các hệ điều hành Windows để tổ chức, lưu trữ và quản

lý dữ liệu trên ổ đĩa

Trang 7

MỞ ĐẦU

Trong thời đại số hóa hiện nay, Internet Information Services (IIS) đóng vai trò vô cùng quan trọng trong việc cung cấp dịch vụ web Ước tính có hàng triệu website trên toàn cầu đang sử dụng IIS để phục vụ người dùng Tuy nhiên, bên cạnh những ưu điểm vượt trội, IIS cũng tiềm ẩn nhiều rủi ro bảo mật, đặc biệt là lỗ hổng Remote Code Execution (RCE) Lỗ hổng này cho phép kẻ tấn công thực thi mã độc hại trên máy chủ, từ đó chiếm quyền điều khiển hệ thống, đánh cắp dữ liệu nhạy cảm hoặc thậm chí là phá hủy hoàn toàn hệ thống Báo cáo này tập trung tìm hiểu về lỗ hổng IIS Remote Code Execution thông qua ví dụ

vê CVE-2021-31166, cách thức tin tặc khai thác, tấn công và trình bày một số giải pháp khắc phục lỗ hổng này Bằng cách đó, chúng ta có thể nâng cao nhận thức về tầm quan trọng của bảo mật thông tin và bảo vệ Web Server IIS khỏi các cuộc tấn công mạng

Báo cáo bài tập lớn gồm 3 chương với nội dung chính như sau:

- Chương 1: Nghiên cứu tổng quan giới thiệu về web server IIS các thành phần kiến trúc và một số tính năng bảo mật trên IIS và lỗ hổng remote code execution

- Chương 2: Phân tích lỗ hổng RCE chi tiết và các biến thể để có thể thực hiện tấn công

và khai thác lỗ hổng

- Chương 3: Thực hiện việc thử nghiệm tấn công phòng thủ cve-2021-31166 đưa ra biện pháp phòng ngừa

Trang 8

CHƯƠNG 1 GIỚI THIỆU VỀ IIS VÀ LỖ HỔNG REMOTE CODE EXECUTION 1.1 Tổng quan về Web Server IIS

Internet Information Services (IIS) là một nền tảng máy chủ web được phát triển bởi Microsoft, cho phép lưu trữ và phân phối các nội dung web như trang HTML, ứng dụng web ASP.NET, và API RESTful Là một thành phần của hệ điều hành Windows Server, IIS cung cấp môi trường tích hợp để quản lý các dịch vụ web hiệu quả, với khả năng hỗ trợ các giao thức phổ biến như HTTP, HTTPS, FTP và SMTP

IIS được sử dụng phổ biến nhất bởi các doanh nghiệp IT vì nó có thể được quản lý tập trung và mở rộng quy mô để tạo ra các web server lớn, đáp ứng nhu cầu cho các trang web

có lưu lượng truy cập cao IIS lưu trữ ứng dụng, trang web và các dịch vụ tiêu chuẩn khác

mà người dùng cần và cho phép các nhà phát triển tạo trang web, ứng dụng và thư mục ảo

để chia sẻ với người dùng của họ

Đặc điểm nổi bật của IIS:

Tích hợp sâu với hệ điều hành Windows: IIS tận dụng các tính năng bảo mật và

quản lý của Windows, như Active Directory và Windows Authentication, để đảm bảo tính an toàn và hiệu suất cao

Hỗ trợ đa dạng công nghệ: Ngoài ASP.NET, IIS còn hỗ trợ PHP, Node.js, và các

ứng dụng khác thông qua các module mở rộng

Khả năng quản lý nâng cao: IIS Manager cung cấp giao diện đồ họa và dòng lệnh

để quản trị các dịch vụ web, đi kèm với khả năng theo dõi hiệu năng và ghi nhật ký (logging)

Khả năng mở rộng và tích hợp đám mây: IIS dễ dàng tích hợp với các dịch vụ đám

mây của Microsoft như Azure, giúp doanh nghiệp triển khai ứng dụng một cách linh hoạt

Hình 1: các chức năng của IIS

Trang 9

Lịch sử phát triển:

IIS được ra mắt lần đầu vào năm 1995 cùng với Windows NT 3.51 Qua nhiều phiên bản, IIS đã phát triển thành một trong những nền tảng web phổ biến nhất, với phiên bản mới nhất (IIS 10) tích hợp sẵn trong Windows Server 2016 và 2019, hỗ trợ các giao thức hiện đại như HTTP/2 và khả năng lưu trữ container

Hình 2: Các phiên bản Microsoft IIS và phiên bản Windows Server tương ứng

Ứng dụng thực tế:

IIS thường được sử dụng để:

 Lưu trữ các ứng dụng web nội bộ của doanh nghiệp

Phân phối nội dung tĩnh và động trên Internet

Cung cấp các dịch vụ API cho hệ thống lớn

Với khả năng tích hợp mạnh mẽ và tính năng phong phú, IIS đã trở thành lựa chọn phổ biến trong các tổ chức sử dụng nền tảng Microsoft

1.2 Kiến trúc, thành phần cơ chế hoạt động của IIS

IIS bao gồm nhiều thành phần để quản lý và triển khai các dịch vụ web: [1]

World Wide Web Publishing Service (W3SVC)

Dịch vụ W3SVC trong IIS chịu trách nhiệm quản lý và điều phối các website và ứng dụng web Dịch vụ này xử lý yêu cầu từ các máy khách, định tuyến chúng đến các

Trang 10

ứng dụng web trên máy chủ và trả về kết quả dưới dạng các trang web Cụ thể hơn, W3SVC đảm bảo rằng các ứng dụng web được triển khai đúng cách, quản lý các yêu cầu HTTP và HTTPS, theo dõi các kết nối, và duy trì nhật ký hoạt động của các ứng dụng Nếu W3SVC ngừng hoạt động, các trang web và ứng dụng web chạy trên máy chủ sẽ không thể truy cập được

Hình 3: Dịch vụ WWW trên IIS

Application Pools

Application Pools trong IIS là các môi trường độc lập mà trong đó các ứng dụng web chạy Mỗi Application Pool có thể chứa một hoặc nhiều ứng dụng web, và chúng được tách biệt với nhau nhằm đảm bảo rằng lỗi hoặc sự cố trong một ứng dụng không ảnh hưởng đến các ứng dụng khác Ngoài ra, Application Pools giúp cải thiện hiệu suất và bảo mật:

- Hiệu suất: Các ứng dụng có thể được phân chia trên nhiều Application Pool khác nhau để tận dụng tối đa tài nguyên hệ thống

- Bảo mật: Các ứng dụng có thể chạy dưới các tài khoản người dùng khác nhau hoặc cấu hình bảo mật riêng, đảm bảo rằng một ứng dụng bị xâm phạm sẽ không ảnh hưởng đến toàn bộ hệ thống

Trang 11

Hình 4: Màn hình Application Pools của IIS

ISAPI Extensions & Filters

Cung cấp cách mở rộng chức năng của IIS, cho phép thực hiện các tác vụ như nén dữ liệu hoặc xác thực người dùng

- ISAPI Extensions: Đây là các thành phần có thể thực thi trong IIS để mở rộng tính năng cho các ứng dụng web Ví dụ, các ứng dụng như ASP.NET sử dụng ISAPI Extensions để xử lý các yêu cầu cụ thể Khi trình duyệt gửi một yêu cầu đến máy chủ web, IIS sẽ gọi ISAPI Extension tương ứng để xử lý và trả về kết quả cho người dùng

- ISAPI Filters: ISAPI Filters được sử dụng để theo dõi và xử lý các yêu cầu HTTP đến và đi từ IIS Chúng có thể thực hiện các tác vụ như nén dữ liệu để giảm băng thông, thay đổi thông tin tiêu đề của HTTP, hoặc xác thực người dùng trước khi yêu cầu được chuyển đến ứng dụng web Các filter này hoạt động ở mức hệ thống, có thể tương tác với tất cả các yêu cầu vào và ra

Trang 12

Hình 5: Xử lý dữ liệu ASP của IIS

ASP.NET

ASP.NET [4] là phần mở rộng của nền tảng NET Framework, cho phép các nhà phát triển tạo ra các ứng dụng web và dịch vụ web một cách dễ dàng ASP.NET cung cấp một mô hình lập trình mạnh mẽ, hướng đối tượng, và hỗ trợ nhiều ngôn ngữ lập trình phổ biến như C#, VB.NET, và F# ASP.NET giúp xây dựng các ứng dụng

từ cơ bản đến phức tạp, có thể xử lý lượng lớn dữ liệu và hỗ trợ đồng thời lượng lớn người dùng Các thành phần chính của ASP.NET bao gồm:

- ASP.NET Web Forms: Là mô hình lập trình ban đầu của ASP.NET, cung cấp giao diện trực quan để xây dựng các trang web có khả năng tương tác mạnh

mẽ Web Forms sử dụng event-driven model (mô hình điều khiển sự kiện), giúp nhà phát triển tạo các trang web với các thành phần giao diện người dùng phong phú mà không cần phải sử dụng nhiều mã JavaScript hay HTML

- ASP.NET MVC (Model-View-Controller): ASP.NET MVC chia ứng dụng thành ba phần chính: Model, View, và Controller Mô hình MVC giúp quản lý

mã dễ dàng hơn, tách biệt các khía cạnh logic và giao diện, và làm cho các ứng dụng dễ bảo trì, mở rộng

- ASP.NET Web API: ASP.NET Web API giúp phát triển dịch vụ web RESTful, cho phép các ứng dụng trao đổi dữ liệu thông qua giao thức HTTP Web API

là một phần quan trọng trong việc xây dựng các dịch vụ cho các ứng dụng di động, ứng dụng web hoặc hệ thống liên kết khác nhau

Cơ chế hoạt động của web server IIS

Trang 13

IIS hoạt động dựa trên 2 giao thức mạng chính là HTTP và FPT Nhờ đó, IIS đóng vai trò tiếp nhận các yêu cầu và truyền tải những thông tin trên Internet đi kèm với nhiều định dạng khác nhau

Hình 6: cách thức hoạt động của IIS

Trong số các dịch vụ của IIS, dịch vụ World Wide Web (WWW) là dịch vụ phổ biến nhất dùng Để tiếp nhận các yêu cầu từ trình duyệt, dịch vụ Web sử dụng giao thức mạng HTTP với thông tin có dạng địa chỉ URL Sau đó, IIS sẽ gửi nội dung của website tương ứng về Web Browser để phản hồi lại những yêu cầu ban đầu

1.3 Lỗ hổng Remote Code Execution

Lỗ hổng Remote Code Execution (RCE) [2] là một loại lỗ hổng bảo mật nghiêm trọng cho phép kẻ tấn công thực thi mã độc hại từ xa trên một hệ thống máy tính Khi một hệ thống có lỗ hổng RCE, kẻ tấn công có thể gửi một yêu cầu đặc biệt đến hệ thống đó, và hệ thống sẽ thực thi đoạn mã độc hại mà kẻ tấn công gửi đi, giống như thể đoạn mã đó là một phần của hệ thống hợp pháp

Các lỗ hổng RCE có thể xuất hiện trong bất kỳ loại phần mềm máy tính nào, trong hầu hết mọi ngôn ngữ lập trình và trên mọi nền tảng Có các lỗ hổng RCE, ví dụ, trong các ứng dụng Windows độc lập được viết bằng C#, các ứng dụng web và API được viết bằng PHP, các ứng dụng di động được viết bằng Java và ngay cả trong chính các hệ điều hành

Trang 14

Hình 7: quá trình kẻ tấn công khai thác lỗ hổng và thực hiện RCE

Các lỗ hổng khác có thể dẫn đến thực thi mã tùy ý từ xa Ví dụ, các lỗ hổng tràn bộ đệm (buffer overflow) trong các ngôn ngữ như C/C ++ có thể cho phép kẻ tấn công thực thi mã tùy ý trong ứng dụng Lỗ hổng Deserialization cũng có thể cho phép những kẻ tấn công cung cấp một payload mà khi được giải mã, kẻ tấn công có thể chèn thêm vào cho ứng dụng thực thi Thậm chí có những trường hợp được biết đến là sử dụng lỗ hổng SQL Injection và Cross-site Scripting (XSS) dẫn đến thực thi mã từ xa trong một ứng dụng dễ bị tổn thương

Tính năng bảo mật của IIS

Trang 15

Hình 8: Tiến trình của giao thức SSL trên IIS

Logging và Monitoring

IIS cung cấp các tính năng ghi nhật ký và giám sát hoạt động của máy chủ, giúp phát hiện các hoạt động bất thường

Hình 9 Dịch vụ Logging trong IIS

1.4 Tầm quan trọng của IIS và nguy cơ từ lỗ hổng RCE

Với vai trò quan trọng trong việc cung cấp dịch vụ web, IIS trở thành mục tiêu hấp dẫn của các cuộc tấn công mạng Hệ thống IIS bị khai thác lỗ hổng RCE, kẻ tấn công có thể:

Trang 16

 Chiếm quyền điều khiển hệ thống: Kẻ tấn công có thể thực thi mã độc hại để chiếm quyền kiểm soát hoàn toàn máy chủ, từ đó thực hiện các hoạt động độc hại khác

 Đánh cắp dữ liệu: Kẻ tấn công có thể truy cập và đánh cắp các dữ liệu nhạy cảm lưu trữ trên máy chủ, chẳng hạn như thông tin khách hàng, thông tin tài chính, v.v

 Phá hủy dữ liệu: Kẻ tấn công có thể xóa hoặc làm hỏng dữ liệu trên máy chủ, gây ra thiệt hại lớn cho tổ chức

 Sử dụng máy chủ làm điểm trung chuyển: Kẻ tấn công có thể sử dụng máy chủ bị xâm nhập để thực hiện các cuộc tấn công khác, chẳng hạn như tấn công từ chối dịch

vụ (DoS), tấn công vào các hệ thống khác

Hình 10 Mã độc lợi dụng lỗ hổng web server IIS tấn công vào trang web

1.5 Mục tiêu của báo cáo

Báo cáo này nhằm mục tiêu phân tích sâu về lỗ hổng RCE trên IIS, bao gồm:

 Cơ chế hoạt động: Giải thích chi tiết cách thức kẻ tấn công khai thác lỗ hổng

 Các loại tấn công phổ biến: Trình bày các hình thức tấn công thường gặp liên quan đến lỗ hổng RCE

Nguyên nhân gây ra lỗ hổng: Phân tích các yếu tố dẫn đến sự xuất hiện của lỗ hổng

 Các yếu tố rủi ro: Xác định các yếu tố làm tăng nguy cơ bị tấn công

 Phát hiện lỗ hổng: Hướng dẫn cách phát hiện lỗ hổng

 Các biện pháp phòng ngừa và khắc phục: Đề xuất các giải pháp để bảo vệ hệ thống khỏi lỗ hổng RCE

Trang 17

CHƯƠNG 2 PHÂN TÍCH LỖ HỔNG RCE 2.1 Cơ chế hoạt động

Lỗ hổng thực thi mã từ xa (Remote Code Execution - RCE) là một trong những loại lỗ hổng bảo mật nghiêm trọng nhất, cho phép kẻ tấn công chạy mã tùy ý trên hệ thống mục

tiêu từ xa Điều này dẫn đến việc mất kiểm soát hoàn toàn hệ thống bị khai thác

Cơ chế hoạt động cơ bản của RCE bao gồm:

 Xác định lỗ hổng: Kẻ tấn công tìm kiếm các điểm yếu trong phần mềm, chẳng hạn như lỗi logic, lỗ hổng tràn bộ đệm, hoặc các module không được vá lỗi

 Chèn mã độc: Mã độc được truyền qua giao diện đầu vào không an toàn, chẳng hạn như form nhập liệu, HTTP request, hoặc file upload

 Thực thi mã độc: Mã độc được xử lý bởi ứng dụng mục tiêu và thực thi trực tiếp trên hệ thống

 Kiểm soát hệ thống: Sau khi thực thi mã độc, kẻ tấn công có thể:

- Tải xuống các payload bổ sung

- Chiếm quyền điều khiển hệ thống

- Tấn công mạng lưới nội bộ

2.2 Các loại tấn công phổ biến

2.2.1 Injection (SQL, Command Injection):

Kẻ tấn công chèn mã độc vào đầu vào không được kiểm soát Phổ biến là tấn công SQL Injection Ngoài ra còn có một số kiểu tấn công chèn mã khác như Command Injection, CRLF Injection hay NoSQL Injection

2.2.1.1 SQL Injection (SQLi)

SQL injection (SQLi) là một lỗ hổng bảo mật web cho phép kẻ tấn công can thiệp vào các truy vấn mà ứng dụng thực hiện đối với cơ sở dữ liệu của ứng dụng Điều này có thể cho phép kẻ tấn công xem dữ liệu mà thông thường chúng không thể truy xuất được Dữ liệu này có thể bao gồm dữ liệu thuộc về người dùng khác hoặc bất kỳ dữ liệu nào khác mà ứng dụng có thể truy cập

Trong nhiều trường hợp, kẻ tấn công có thể sửa đổi hoặc xóa dữ liệu này, gây ra những thay đổi liên tục đối với nội dung hoặc hành vi của ứng dụng Ngoài ra, kẻ tấn công có thể leo thang tấn công SQL injection để xâm phạm máy chủ cơ sở hoặc cơ sở hạ tầng phụ trợ khác Nó cũng có thể cho phép chúng thực hiện các cuộc tấn công từ chối dịch vụ

Trang 18

Hình 11 Mô tả tấn công SQL injection

Có 2 nguyên nhân của lỗ hổng trong ứng dụng cho phép thực hiện tấn công chèn mã SQL:

 Dữ liệu đầu vào từ người dùng hoặc từ các nguồn khác không được kiểm tra hoặc kiểm tra không kỹ lưỡng

 Sử dụng các câu lệnh SQL động trong ứng dụng, trong đó có thao tác nối dữ liệu người dùng với mã lệnh SQL gốc

Một cuộc tấn công tiêm SQL thành công có thể dẫn đến truy cập trái phép vào dữ liệu nhạy cảm, chẳng hạn như:

- Mật khẩu

- Chi tiết thẻ tín dụng

- Thông tin cá nhân của người dùng

Tấn công SQL Injection (SQLi) có thể dẫn đến Remote Code Execution (RCE) trong các trường hợp cụ thể, đặc biệt khi cơ sở dữ liệu có khả năng thực thi mã hệ thống hoặc giao tiếp trực tiếp với hệ thống máy chủ Dưới đây là một số ví dụ chi tiết về cách SQLi có thể

bị lợi dụng để thực hiện RCE

 Lợi dụng hàm xp_cmdshell trong SQL Server: Trong Microsoft SQL Server, hàm xp_cmdshell cho phép thực thi lệnh hệ thống từ cơ sở dữ liệu Nếu tính năng này được kích hoạt và kẻ tấn công có quyền truy cập SQL thông qua SQLi, họ có thể thực thi mã tùy ý trên máy chủ

Trang 19

 Chèn mã độc qua LOAD_FILE và INTO OUTFILE: Trong MySQL, các hàm như LOAD_FILE và INTO OUTFILE có thể được sử dụng để đọc hoặc ghi tệp trên máy chủ, dẫn đến thực thi mã độc

2.2.1.2 Command Injection

OS command injection còn được gọi là shell injection Nó cho phép kẻ tấn công thực thi các lệnh hệ điều hành (OS) trên máy chủ đang chạy ứng dụng và thường xâm phạm hoàn toàn ứng dụng và dữ liệu của ứng dụng

Kẻ tấn công thường có thể lợi dụng lỗ hổng tiêm lệnh hệ điều hành để xâm phạm các phần khác của cơ sở hạ tầng lưu trữ và khai thác các mối quan hệ tin cậy để chuyển hướng cuộc tấn công sang các hệ thống khác trong tổ chức

Hình 12 – Tấn công Command Injection

OS Command Injection (Tấn công chèn lệnh hệ điều hành) xảy ra do các nguyên nhân liên quan đến lỗi lập trình, thiết kế hệ thống hoặc kiểm soát an ninh không chặt chẽ trong việc xử lý đầu vào từ người dùng Dưới đây là các nguyên nhân phổ biến dẫn đến loại lỗ hổng này:

 Xử lý đầu vào không an toàn: Ứng dụng không kiểm tra và lọc dữ liệu đầu vào từ người dùng, dẫn đến việc các ký tự hoặc chuỗi nguy hiểm có thể được truyền vào các hàm thực thi lệnh hệ điều hành

 Sử dụng trực tiếp hàm thực thi lệnh: Các hàm như system(), exec(), shell_exec() (PHP), Runtime.exec() (Java), hoặc os.system() (Python) cho phép chạy lệnh hệ điều hành từ ứng dụng

Trang 20

 Lạm dụng dữ liệu từ bên thứ ba: Ứng dụng sử dụng dữ liệu từ các nguồn không đáng tin cậy (như API, tệp nhật ký, hoặc thông tin từ cơ sở dữ liệu) để thực thi lệnh mà không xác minh độ an toàn

Tấn công OS Command Injection có thể gây ra những hậu quả nghiêm trọng đối với hệ thống, dữ liệu, và thậm chí cả uy tín của tổ chức:

 Chiếm quyền điều khiển hệ thống: Kẻ tấn công có thể chiếm toàn bộ quyền kiểm soát hệ thống, bao gồm khả năng

- Tạo, sửa đổi, hoặc xóa tệp hệ thống

- Cấp quyền truy cập cho tài khoản mới để duy trì sự xâm nhập

- Chạy mã độc hại hoặc triển khai các công cụ tấn công khác

 Rò rỉ dữ liệu nhạy cảm: Lỗ hổng có thể bị khai thác để truy cập và đánh cắp dữ liệu quan trọng

 Phá hủy dữ liệu: Kẻ tấn công có thể xóa toàn bộ dữ liệu trên máy chủ hoặc làm hỏng

- Lệnh ping sẽ được thực thi và kết quả trả về cho người dùng

- Tuy nhiên, lệnh rm -rf / sẽ xóa toàn bộ dữ liệu trên máy chủ (hoặc hủy hoại hệ

thống)

 Tấn công Command Injection thông qua form nhập liệu: Ứng dụng cho phép người dùng nhập thông tin tên và gửi đến máy chủ để hiển thị thông tin trên giao diện người dùng

- Ứng dụng web thực hiện lệnh để in thông tin người dùng:

echo $username

- Tấn công: Kẻ tấn công có thể nhập vào trường "tên" như sau:

Ngày đăng: 15/02/2025, 11:34

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Microsoft, “Introduction to IIS,” [Online]. Available: https://learn.microsoft.com Sách, tạp chí
Tiêu đề: Introduction to IIS
Tác giả: Microsoft
[2] OWASP, “OWASP Top 10:2021,” [Online]. Available: https://owasp.org/Top10/ Sách, tạp chí
Tiêu đề: OWASP Top 10:2021
Tác giả: OWASP
Năm: 2021
[3] V. D. Thành, “Phân tích lỗ hổng IIS của Microsoft (CVE-2021-31166),” [Online]. Available: https://cyradar.com/2021/06/02/phan-tich-lo-hong-iis-cua-microsoft-cve-2021-31166-co-the-anh-huong-toi-hon-20k-may-chu-tai-viet-nam/ Sách, tạp chí
Tiêu đề: Phân tích lỗ hổng IIS của Microsoft (CVE-2021-31166)
Tác giả: V. D. Thành
Nhà XB: CyRadar
Năm: 2021
[4] Microsoft, "What is ASP.NET?," [Online]. Available: https://dotnet.microsoft.com/en-us/learn/aspnet/what-is-aspnet Sách, tạp chí
Tiêu đề: What is ASP.NET
Tác giả: Microsoft
[5] Invicti, "Remote Code Execution - RCE," Invicti, [Online]. Available: https://www.invicti.com/learn/remote-code-execution-rce/ Sách, tạp chí
Tiêu đề: Remote Code Execution - RCE
Tác giả: Invicti
Nhà XB: Invicti
[6] Portswigger, "Lab: Remote code execution via web shell upload," [Online]. Available: https://portswigger.net/web-security/file-upload/lab-file-upload-remote-code-execution-via-web-shell-upload Sách, tạp chí
Tiêu đề: Lab: Remote code execution via web shell upload
Tác giả: Portswigger
[7] N. Nemani, "thehackerforum," [Online]. Available: https://www.thehackerforum.com/post/what-is-buffer-overflow Sách, tạp chí
Tiêu đề: thehackerforum
Tác giả: N. Nemani
[8] Hacktricks, "Exploiting __viewstate parameter," [Online]. Available: https://book.hacktricks.xyz/pentesting-web/deserialization/exploiting-__viewstate-parameter Sách, tạp chí
Tiêu đề: Exploiting __viewstate parameter
[9] NotSoSecure, "Exploiting Viewstate Deserialization Using blacklist3r and ysoserial," [Online]. Available: https://notsosecure.com/exploiting-viewstate-deserialization-using-blacklist3r-and-ysoserial-net Sách, tạp chí
Tiêu đề: Exploiting Viewstate Deserialization Using blacklist3r and ysoserial
Tác giả: NotSoSecure
[10] Hacktricks, "PUT method Webdav," [Online]. Available: https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/put-method-webdav Sách, tạp chí
Tiêu đề: PUT method Webdav
[11] OWASP, "OWASP: "Remote Code Execution Prevention" -," OWASP, [Online]. Available: https://owasp.org Sách, tạp chí
Tiêu đề: OWASP: "Remote Code Execution Prevention" -
Tác giả: OWASP
Nhà XB: OWASP

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w