1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát hiện, khai thác lỗ hỏng bảo mật trên hệ thống burp suite

56 15 0

Đ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 đề Phát Hiện, Khai Thác Lỗ Hỏng Bảo Mật Trên Hệ Thống Burp Suite
Người hướng dẫn TS. Phan Đình Vấn, Lê Tự Việt Thắng
Trường học Trường Đại Học Kinh Tế
Chuyên ngành Hệ Thống Thông Tin Quản Lý
Thể loại Báo Cáo Thực Tập Nghề Nghiệp
Thành phố Đà Nẵng
Định dạng
Số trang 56
Dung lượng 3,31 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ PENETRATION TESTING & TRUNG TÂM PHÁT TRIỂN HẠ TẦNG CNTT ĐÀ NẴNG (15)
    • 1.1 Trung tâm phát triển hạ tầng CNTT Đà Nẵng (15)
      • 1.1.1 Về trung tâm phát triển hạ tầng CNTT Đà nẵng (15)
      • 1.1.2 Chức năng và nhiệm vụ (16)
      • 1.1.3 Lĩnh vực, ngành nghề hoạt động (16)
      • 1.1.4 Sơ đồ và bộ máy tổ chức (16)
    • 1.2 Tổng quan về nghề Penetration Testing (17)
      • 1.2.1 Nghề Penetration Testing là gì? (17)
      • 1.2.2 Mục tiêu của Penetration testing (17)
      • 1.2.3 Quá trình làm việc của Penetration Testing (17)
    • 1.3 Cơ hội việc làm của Penetration Testing (18)
      • 1.3.1 Lĩnh vực ứng dụng Penetration Testing (18)
      • 1.3.2 Thách thức và cơ hội cho Penetration Testing (19)
      • 1.3.3 Các kỹ năng cần có của một Penetration Testing (20)
      • 1.3.4 Con đường phát triển sự nghiệp (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VỀ TỔNG QUAN VỀ BẢO MẬT WEBSITE (22)
    • 2.1 Khái niệm cơ bản về Website (22)
      • 2.1.1 Web Client (22)
      • 2.1.2 Web Server (22)
      • 2.1.3 Mô hình Client – Server (23)
      • 2.1.4 Giao thức HTTP (23)
    • 2.2 Tầm quan trọng của bảo mật Web (24)
    • 2.3 Các nguy cơ trong bảo mật ứng dụng Web (25)
    • 2.4 Các phương pháp Pentest và đặc điểm Pentest Black box (28)
      • 2.4.1 Các phương pháp Pentest (28)
      • 2.4.2 Đặc điểm Pentest Black box (29)
    • 2.5 Nguyên tắc khi xây dựng hệ thống bảo mật Web (30)
  • CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG PHÁT HIỆN LỖ HỔNG BẢO MẬT TRÊN BURP SUITE (31)
    • 3.1 Mô hình thực nghiệm (31)
      • 3.1.1 Máy chủ Web (31)
      • 3.1.2 Máy kiểm thử (31)
    • 3.2 Tổng quan công cụ Penetration Testing Burp Suite và giới thiệu lỗ hổng trên (31)
      • 3.2.1 Tổng quan công cụ Penetration Testing Burp Suite (31)
      • 3.2.2 Giới thiệu lỗ hỏng trên Burp Suite (32)
        • 3.2.2.1 Lỗ hỏng Business logic (32)
        • 3.2.2.2 Giới thiệu lỗ hỏng Authentication (33)
      • 3.3.1 Tổng quan về các tính năng (34)
      • 3.3.2 Cấu hình khởi động Burp Suite (36)
    • 3.4 Triển khai kiểm thử Web Security Academy với Burp Suite (36)
      • 3.4.1 Thực nghiệm Pentest Business logic vulnerabilities (36)
        • 3.4.1.1 Cấu trúc thư mục Web Security Academy (37)
        • 3.4.1.2 Xác định các điểm vào của Web Security Academy (38)
        • 3.4.1.3 Thực hiện tấn công (39)
      • 3.4.2 Thực nghiệm Pentest Authentication vulnerabilities với Burp Suite (43)
        • 3.4.2.1 Thông tin trang Web chứa lỗ hỏng Authentication (44)
        • 3.4.2.2 Đặt phạm vi mục tiêu Target (46)
        • 3.4.2.3 Thực hiện tấn công (47)
  • TÀI LIỆU THAM KHẢO (54)

Nội dung

TỔNG QUAN VỀ PENETRATION TESTING & TRUNG TÂM PHÁT TRIỂN HẠ TẦNG CNTT ĐÀ NẴNG

Trung tâm phát triển hạ tầng CNTT Đà Nẵng

1.1.1 Về trung tâm phát triển hạ tầng CNTT Đà nẵng

Trung tâm Phát triển hạ tầng công nghệ thông tin Đà Nẵng, thành lập theo Quyết định số 9885/2007/QĐ-UBND ngày 13/12/2007, là đơn vị sự nghiệp trực thuộc Sở Thông tin và Truyền thông thành phố Đà Nẵng Trung tâm đóng vai trò quan trọng trong việc phát triển và quản lý hạ tầng CNTT tại Đà Nẵng, góp phần nâng cao chất lượng dịch vụ công nghệ thông tin trong khu vực.

Hình 1 1 Logo Trung tâm Phát triển Hạ tầng

Công nghệ Thông tin Đà Nẵng

- Địa chỉ: 02 Quang Trung, Phường Thạch Thang, Quận Hải Châu, Đà Nẵng

- Email: iid@danang.gov.vn

1.1.2 Chức năng và nhiệm vụ

- Tổ chức giám sát mạng MAN của thành phố

Công tác lưu trữ dữ liệu thông tin điện tử tại thành phố đề xuất nhiều giải pháp công nghệ và kỹ thuật nhằm hỗ trợ lãnh đạo Sở Thông tin và Truyền thông trong việc quản lý và tối ưu hóa quy trình lưu trữ.

Chúng tôi cung cấp các giải pháp an ninh tiên tiến để xác định danh tính điện tử, bảo vệ an ninh mạng, tạo chữ ký điện tử và đảm bảo an toàn cho dữ liệu.

- Phát triển và bảo đảm an ninh và an toàn cho thư điện tử và trao đổi dữ liệu

- Lưu trữ các dữ liệu trên mạng, cho thuê các kho chứa dữ liệu và xử lý dữ liệu

1.1.3 Lĩnh vực, ngành nghề hoạt động

Khai thác và tổ chức hiệu quả cơ sở hạ tầng công nghệ thông tin do thành phố giao cho Trung tâm quản lý là yếu tố quan trọng để thúc đẩy sự phát triển của ngành công nghiệp phần mềm tại địa phương.

Trung tâm quản lý cơ sở hạ tầng công nghệ thông tin đang tích cực thu hút nhà đầu tư và doanh nghiệp đến đầu tư hoặc thuê mặt bằng, văn phòng làm việc.

1.1.4 Sơ đồ và bộ máy tổ chức

Hình 1 2 Bộ máy tổ chức Trung tâm phát triển hạ tầng CNTT Đà Nẵng

- Giám đốc: Trần Thanh Trúc

- Phó giám đốc: Phạm Thế Nhân

Phòng Hành chính - Tổng hợp có nhiệm vụ tham mưu cho Giám đốc Trung tâm trong việc quản lý các lĩnh vực tổ chức, nhân sự và hành chính Đồng thời, phòng cũng đảm nhận công tác đối nội, đối ngoại, thi đua khen thưởng, cũng như xây dựng cơ bản để nâng cao hiệu quả hoạt động của Trung tâm.

Phòng Kế hoạch - Kinh doanh chịu trách nhiệm quản lý và khai thác hiệu quả các tòa nhà và cơ sở hạ tầng Công nghệ thông tin - Truyền thông, đồng thời tham mưu cho công tác lập kế hoạch và chiến lược phát triển kinh doanh.

- Phòng Hệ Thống: tổ chức, vận hành khai thác các hạ tầng về ứng dụng và dữ liệu mà Trung tâm đầu tư, được giao vận hành, khai thác

- Phòng An toàn thông tin: đảm bảo an toàn thông tin cho các hệ thống thông tin điện tử, các ứng dụng và dịch vụ công của thành phố

- Phòng Mạng - Truyền dẫn: phụ trách triển khai dịch vụ sự nghiệp công về hạ tầng mạng truyền dẫn

Phòng Cơ điện chịu trách nhiệm triển khai dịch vụ sự nghiệp công liên quan đến việc vận hành hệ thống cơ - nhiệt - điện tại Trung tâm dữ liệu và Mạng đô thị thành phố.

Tổng quan về nghề Penetration Testing

1.2.1 Nghề Penetration Testing là gì?

Penetration Testing, hay còn gọi là "pentest" hoặc "kiểm tra an ninh", là quá trình đánh giá độ an toàn của hệ thống thông qua các cuộc tấn công mô phỏng Người thực hiện các thử nghiệm này được gọi là kiểm tra xâm nhập hoặc pentester.

1.2.2 Mục tiêu của Penetration testing

- Xác định các mối đe dọa trong hệ thống

- Đo lường các lỗ hổng tiềm ẩn của hệ thống

- Để giúp phát hiện mọi rủi ro bảo mật có thể có trong hệ thống

- Giúp các nhà phát triển khắc phục các vấn đề bảo mật thông qua mã hóa

1.2.3 Quá trình làm việc của Penetration Testing

Bước đầu tiên trong quy trình pentest là thu thập thông tin (Reconnaissance) về hệ thống mục tiêu, nhằm mục đích cung cấp cái nhìn tổng quan và hiểu rõ hơn về các điểm yếu tiềm ẩn của hệ thống.

7 | P a g e cho người kiểm tra một cái nhìn tổng quan về hệ thống và xác định các điểm yếu có thể được khai thác

- Phân tích lỗ hổng (Vulnerability Analysis): Sau khi thu thập thông tin, người kiểm tra sẽ sử dụng các công cụ để phân tích lỗ hổng trên hệ thống

Sau khi phân tích các lỗ hổng, người kiểm tra sẽ tiến hành khai thác chúng để xác minh tính khả dụng và mức độ nguy hiểm của các lỗ hổng bảo mật Bước này nhằm xác định các phương thức tấn công hệ thống và đánh giá mức độ rủi ro liên quan.

Báo cáo và đề xuất là bước quan trọng trong việc xác định các lỗ hổng bảo mật và đưa ra giải pháp khắc phục hiệu quả Việc tạo ra báo cáo chi tiết về các lỗ hổng bảo mật không chỉ giúp nhận diện vấn đề mà còn cung cấp các phương pháp để khắc phục và tăng cường an ninh cho hệ thống Các giải pháp đề xuất sẽ đảm bảo rằng hệ thống được bảo vệ tốt hơn trước những mối đe dọa tiềm ẩn.

Cơ hội việc làm của Penetration Testing

1.3.1 Lĩnh vực ứng dụng Penetration Testing

Ngành công nghệ thông tin áp dụng pentest để kiểm tra và đánh giá mức độ bảo mật của các hệ thống, bao gồm máy tính, cơ sở dữ liệu, phần mềm và ứng dụng triển khai.

Ngành tài chính áp dụng pentest để kiểm tra và đánh giá mức độ bảo mật của các hệ thống thanh toán trực tuyến, quản lý tài sản và trao đổi tiền tệ, nhằm đảm bảo an toàn cho giao dịch và thông tin tài chính.

Ngành y tế áp dụng pentest nhằm kiểm tra và đánh giá độ bảo mật của các hệ thống quản lý bệnh nhân, hệ thống y tế điện tử, và các hệ thống liên quan đến bảo vệ thông tin y tế.

Ngành ngân hàng áp dụng pentest để đánh giá và kiểm tra mức độ bảo mật của các hệ thống thanh toán trực tuyến, hệ thống quản lý tài sản và các hệ thống bảo vệ thông tin khách hàng.

Ngành công nghiệp áp dụng pentest để đánh giá và kiểm tra mức độ bảo mật của các hệ thống quản lý sản xuất, hệ thống điều khiển công nghiệp, cùng với các hệ thống bảo vệ thông tin liên quan.

1.3.2 Thách thức và cơ hội cho Penetration Testing a) Thách thức

Công nghệ đang phát triển nhanh chóng, đòi hỏi các chuyên gia pentest liên tục cập nhật kiến thức và kỹ năng để theo kịp những thay đổi này Việc nắm bắt các xu hướng công nghệ mới giúp họ phát hiện và khắc phục các lỗ hổng bảo mật hiện tại.

Các chuyên gia pentest cần có khả năng tìm kiếm và phát hiện lỗ hổng bảo mật trong hệ thống và ứng dụng, điều này yêu cầu kỹ năng phân tích, tư duy logic và khả năng xác định các vấn đề bảo mật tiềm ẩn.

Trong thời đại công nghệ và thông tin phát triển mạnh mẽ, ngành an toàn thông tin không chỉ đóng vai trò quan trọng trong khoa học và công nghệ mà còn ảnh hưởng sâu rộng đến các lĩnh vực khác như y tế, thực phẩm, dược phẩm, môi trường và thời trang Sự ứng dụng của an toàn thông tin góp phần bảo vệ dữ liệu và nâng cao hiệu quả hoạt động trong những ngành này.

9 | P a g e tăng các cuộc tấn công mạng, nhu cầu về pentest đang tăng cao Điều này tạo ra nhiều cơ hội cho các chuyên gia pentest

1.3.3 Các kỹ năng cần có của một Penetration Testing

Người kiểm tra thâm nhập cần nắm vững kiến thức về hệ thống và mạng, bao gồm cấu trúc và hoạt động của các hệ điều hành, phần cứng và giao thức mạng.

Kỹ năng tìm kiếm thông tin là rất quan trọng đối với người kiểm tra thâm nhập, giúp họ phân tích và xác định lỗ hổng trong hệ thống hoặc ứng dụng.

Người kiểm tra thâm nhập cần thành thạo kỹ năng sử dụng các công cụ khai thác và đánh giá lỗ hổng, bao gồm các công cụ phân tích mạng, công cụ tấn công và bộ công cụ phân tích bảo mật để đảm bảo an toàn cho hệ thống.

Người kiểm tra thâm nhập có khả năng viết báo cáo chi tiết, nêu rõ các lỗ hổng bảo mật được phát hiện và đề xuất các biện pháp khắc phục hiệu quả nhằm cải thiện an ninh hệ thống.

Kỹ năng giao tiếp là yếu tố quan trọng đối với người kiểm tra thâm nhập, giúp họ tương tác hiệu quả với các thành viên trong nhóm, đặc biệt là các nhà phát triển và quản trị viên hệ thống Việc giải thích các lỗ hổng và đề xuất biện pháp đối phó rõ ràng sẽ góp phần nâng cao hiệu quả công việc và bảo mật hệ thống.

1.3.4 Con đường phát triển sự nghiệp

Người mới bắt đầu trong lĩnh vực Pentest và an ninh mạng cần nắm vững kiến thức cơ bản về mạng, hệ điều hành và các khái niệm bảo mật Giai đoạn này tập trung vào việc xây dựng nền tảng kiến thức và kỹ năng thiết yếu để phát triển trong tương lai.

At the intermediate level, individuals possess foundational knowledge and are actively engaged in real-world projects They are capable of conducting basic security assessments and proficient in using popular pentesting tools such as Burp Suite, Metasploit, and Nmap To further enhance their skills, they should consider pursuing courses like OSCP (Offensive Security Certified Professional) or eWPT (eLearnSecurity Web Application Penetration Tester).

CƠ SỞ LÝ THUYẾT VỀ TỔNG QUAN VỀ BẢO MẬT WEBSITE

Khái niệm cơ bản về Website

Web client là ứng dụng hoặc trình duyệt web tương tác với máy chủ web qua giao thức truyền siêu văn bản, hoạt động như cầu nối giữa máy chủ và người dùng Nó gửi thông điệp đến máy chủ và thu thập dữ liệu đã được xử lý Các ví dụ điển hình về web client bao gồm Google Chrome, Internet Explorer, Opera, Firefox và Safari Vai trò của web client rất quan trọng trong việc cung cấp thông tin và trải nghiệm người dùng trên internet.

- Hoạt động như một giao diện giữa máy chủ và máy khách và hiển thị tài liệu web cho máy khách

- Web client yêu cầu máy chủ cung cấp các trang web và tài nguyên

- Lưu trữ cookie cho các trang web khác nhau Nó giúp đánh dấu các trang web

Máy chủ web đóng vai trò quan trọng trong việc lưu trữ và cung cấp nội dung cho trang web, bao gồm văn bản, hình ảnh, video và dữ liệu ứng dụng, cho người dùng khi có yêu cầu Giao tiếp giữa máy chủ web và trình duyệt diễn ra thông qua Giao thức truyền siêu văn bản (HTTP) Hầu hết nội dung trang web được mã hóa bằng Ngôn ngữ đánh dấu siêu văn bản (HTML) và có thể là tĩnh, như văn bản và hình ảnh, hoặc động, như giá tính toán và danh sách sản phẩm mà khách hàng đã chọn để mua.

Máy chủ web có nhiệm vụ chính là lưu trữ, xử lý và cung cấp các trang web cho người dùng thông qua Giao thức truyền tải siêu văn bản (HTTP) Các trang web này chủ yếu bao gồm nội dung tĩnh như tài liệu HTML và hình ảnh.

Mô hình Client-Server là cấu trúc trong đó người dùng (khách hàng) gửi yêu cầu đến máy chủ, nơi cung cấp các dịch vụ cần thiết Máy chủ hỗ trợ nhiều dịch vụ cho khách hàng, bao gồm quyền truy cập ứng dụng, lưu trữ dữ liệu, chia sẻ tệp và sử dụng sức mạnh tính toán Quá trình này diễn ra qua mạng, với yêu cầu của người dùng được xử lý và dữ liệu được gửi trả lại theo yêu cầu.

HTTP (Giao thức truyền siêu văn bản) là giao thức chính để trao đổi thông tin trên internet, hoạt động như một hệ thống phân phối thông tin hiệu quả.

HTTP là tiêu chuẩn giao tiếp giữa trình duyệt web và máy chủ web, quy định cách truyền dữ liệu như văn bản, hình ảnh và tệp đa phương tiện trên World Wide Web Khi người dùng mở trình duyệt, họ đang sử dụng HTTP một cách gián tiếp Đây là giao thức ứng dụng quan trọng cho các hệ thống thông tin siêu phương tiện và phân tán.

HTTP là giao thức Client-Server, trong đó sử dụng các phương thức như GET, POST, PUT và DELETE để thực hiện yêu cầu và trả về phản hồi tương ứng.

- GET: được sử dụng để yêu cầu dữ liệu từ máy chủ khi trình duyệt yêu cầu một tài nguyên cụ thể từ máy chủ

Phương thức yêu cầu POST cho phép máy chủ web nhận dữ liệu từ nội dung của thông báo yêu cầu, thường được sử dụng để lưu trữ dữ liệu khi tải tệp lên hoặc gửi biểu mẫu web hoàn chỉnh.

- PUT: sử dụng để cập nhật tài nguyên trên máy chủ

- DELETE: sử dụng để xóa tài nguyên trên máy chủ.

Tầm quan trọng của bảo mật Web

Rò rỉ hoặc đánh cắp thông tin cá nhân có thể gây ra tác động nghiêm trọng đến tài chính, danh tiếng và các mối quan hệ của mỗi người Những hành vi như đánh cắp dữ liệu, đăng tải thông tin nhằm bôi nhọ cá nhân, và xâm nhập vào hệ thống tài khoản ngân hàng có thể dẫn đến thiệt hại lớn.

Doanh nghiệp phải đối mặt với nhiều rủi ro nghiêm trọng khi bị hacker tấn công, bao gồm mất dữ liệu, thiệt hại tài chính, gián đoạn hoạt động kinh doanh và tổn thất về tài sản vật chất cũng như điện tử Hơn nữa, hình ảnh và thương hiệu của doanh nghiệp cũng sẽ bị ảnh hưởng tiêu cực.

Các nguy cơ trong bảo mật ứng dụng Web

OWASP, the Open Web Application Security Project, is a nonprofit organization that establishes security testing standards for effective penetration testing (Pentest) As an open-source initiative, OWASP provides detailed guidelines that enhance the efficiency of pentesting practices One of its key contributions is the OWASP Top 10, which outlines the most critical security risks to web applications.

Broken Access Control Phá vỡ kiểm soát truy cập

Cryptographic Failures Lỗi mật mã bị hỏng

Insecure Design Thiết kế không an toàn

Security Misconfiguration Cấu hình bảo mật sai

Các thành phần dễ bị tổn thương và lỗi thời

Nhận dạng và xác thực bị hỏng

Lỗi toàn vẹn dữ liệu và phần mềm

Các lỗi theo dõi và ghi nhật kí bảo mật

SSRF- Giả mạo yêu cầu phía máy chủ

1 Broken Access Control (phá vỡ kiểm soát truy cập)

Kiểm soát truy cập là quá trình quản lý quyền hạn của người dùng, ngăn chặn họ thực hiện các hành động vượt quá giới hạn cho phép Những lỗi trong kiểm soát truy cập có thể dẫn đến việc tiết lộ thông tin trái phép, thay đổi hoặc phá hủy dữ liệu, và thực hiện các chức năng không nằm trong khả năng của người dùng.

2 Cryptographic Failures (lỗi mật mã bị hỏng)

Các lỗ hổng bảo mật thường xuất hiện khi sử dụng mật mã và các thuật toán mã hóa không đúng cách trong ứng dụng Khi xảy ra lỗi trong quá trình mã hóa, thông tin được bảo vệ không còn an toàn, dẫn đến nguy cơ bị tấn công hoặc đánh cắp.

Một trong những kỹ thuật tấn công phổ biến trong bảo mật ứng dụng web là việc kẻ tấn công chèn và thực thi mã độc vào các nguồn dữ liệu đầu vào Điều này xảy ra khi ứng dụng không kiểm tra và xử lý đúng các dữ liệu do người dùng nhập, từ đó tạo cơ hội cho kẻ tấn công thực hiện các cuộc tấn công nguy hiểm.

4 Insecure Design (Thiết kế không an toàn)

- Thiết kế không tuân thủ các nguyên tắc và lý thuyết an toàn như nguyên tắc tấn công theo lớp, nguyên tắc bảo mật

16 | P a g e phòng thủ, nguyên tắc ngăn chặn tấn công trước khi xảy ra (defense in depth), nguyên tắc nguyên tắc bảo mật ít đặt giả định (principle of least privilege)

5 Security Misconfiguration (Cấu hình bảo mật sai)

- Phần mềm đã lỗi thời

- Các tính năng không cần thiết được bật như các port, service, account

- Các tài khoản và mật khẩu vẫn để mặc định không thay đổi

- Thiếu việc tăng cường bảo mật cho từng phần của ứng dụng

6 Vulnerable and Outdated Components (Các thành phần dễ bị tổn thương và lỗi thời)

- Không thường xuyên kiểm tra các lỗ hổng và không đăng ký nhận bản tin bảo mật cho các thành phần được sử dụng

- Nền tảng sẽ không được sửa chữa hoặc cập nhật

- Cấu hình không an toàn của các thành phần

7 Identification and Authentication Failures (Nhận dạng và xác thực bị hỏng)

Lỗ hổng bảo mật xảy ra khi quá trình xác thực và xác định người dùng không được triển khai đúng cách, tạo cơ hội cho kẻ tấn công giả mạo danh tính người dùng Điều này có thể dẫn đến việc sử dụng các phương pháp tấn công như tấn công Brute Force hoặc đánh cắp thông tin xác thực, gây nguy hiểm cho hệ thống.

8 Software and Data Integrity Failures (Lỗi toàn vẹn dữ liệu và phần mềm)

Một vấn đề bảo mật phổ biến trong các hệ thống và ứng dụng phần mềm là lỗ hổng khi dữ liệu hoặc phần mềm bị thay đổi, sửa đổi hoặc không đáng tin cậy Lỗi này thường xảy ra trong quá trình truyền thông hoặc lưu trữ, gây ra rủi ro lớn cho an toàn thông tin.

9 Security Logging and Monitoring Failures (Các lỗi theo dõi và ghi nhật kí bảo mật)

Lỗ hổng bảo mật xuất hiện khi việc theo dõi và ghi nhật ký không được thực hiện hiệu quả, dẫn đến việc không phát hiện hoặc theo dõi kịp thời các sự cố, tấn công hay hoạt động đáng ngờ trong hệ thống.

10 Server-side Request Forgery (SSRF- Giả mạo yêu cầu phía máy chủ)

Lỗ hổng bảo mật SSRF cho phép kẻ tấn công tạo ra và kiểm soát các yêu cầu từ phía máy chủ mà không cần sự cho phép của người dùng cuối Vấn đề này thường xảy ra khi máy chủ cho phép ứng dụng hoặc người dùng thực hiện yêu cầu từ xa mà không kiểm tra và kiểm soát đúng các nguồn tài nguyên mà yêu cầu được gửi đến.

Các phương pháp Pentest và đặc điểm Pentest Black box

Có ba phương pháp tiến hành đánh giá an toàn ứng dụng web: Black box, White box và Gray box:

- White box: Trong hình thức kiểm tra hộp trắng, người kiểm tra được cung cấp thông tin toàn diện về nhóm mục tiêu của họ trước khi kiểm

18 | P a g e tra Những thông tin này bao gồm: địa chỉ IP, bản đồ hạ tầng mạng, các giao thức được sử dụng hay mã nguồn

Kiểm thử hộp xám là một phương pháp kiểm thử an ninh mạng, trong đó người kiểm thử (pentester) có một số thông tin nhất định về đối tượng thử nghiệm như URL và địa chỉ IP, nhưng không có quyền truy cập toàn diện hay kiến thức đầy đủ về hệ thống Phương pháp này giúp phát hiện lỗ hổng bảo mật trong khi vẫn duy trì một mức độ bí mật nhất định về cấu trúc và hoạt động của hệ thống.

Kiểm tra hộp đen là một phương pháp kiểm tra thâm nhập từ góc độ của hacker, trong đó người kiểm tra không có thông tin nào về mục tiêu trước khi tiến hành tấn công Để thực hiện các thử nghiệm, penester cần tự nghiên cứu và thu thập thông tin về đối tượng một cách độc lập.

2.4.2 Đặc điểm Pentest Black box

Trong phương pháp kiểm thử black box, nhóm pentester chỉ nhận được thông tin hạn chế về hệ thống hoặc ứng dụng cần kiểm tra, tương tự như các kẻ tấn công bên ngoài không có thông tin nội bộ về mục tiêu.

Pentester tiếp cận kiểm thử an ninh mạng như một hacker thực thụ, tìm kiếm các lỗ hổng tiềm năng và khai thác chúng mà không cần thông tin nội bộ hay quyền truy cập đặc biệt.

Pentester tiến hành quét và phân tích hệ thống từ bên ngoài, áp dụng các công cụ và kỹ thuật phổ biến như quét cổng, quét dấu vết, kiểm tra xác thực và kiểm tra bảo mật ứng dụng web để đánh giá mức độ an toàn của hệ thống.

Pentester tiến hành tìm kiếm các lỗ hổng tiềm năng trong hệ thống, bao gồm lỗ hổng xác thực yếu, lỗ hổng kiểm soát truy cập, lỗ hổng mã độc và lỗi bảo mật phần mềm.

Khi phát hiện lỗ hổng, pentester sẽ tiến hành khai thác để xác minh tính khả thi và tác động của nó Việc này giúp đánh giá mức độ nghiêm trọng và khả năng bị tấn công của lỗ hổng.

Sau quá trình kiểm tra thâm nhập (pentest), pentester sẽ lập báo cáo chi tiết về các lỗ hổng bảo mật đã phát hiện, kèm theo các đề xuất giải pháp nhằm khắc phục những lỗ hổng này và nâng cao mức độ bảo mật cho hệ thống.

Nguyên tắc khi xây dựng hệ thống bảo mật Web

Nguyên tắc CIA, viết tắt của Tính bảo mật, Tính toàn vẹn và Tính khả dụng, là những yếu tố cốt lõi trong bảo mật thông tin Ba nguyên tắc này đóng vai trò quan trọng trong việc đảm bảo an toàn cho hệ thống thông tin.

Nguyên tắc bảo mật thông tin đảm bảo rằng chỉ những người có quyền truy cập mới được phép xem thông tin nhạy cảm Mục tiêu chính là ngăn chặn việc tiết lộ thông tin cho bất kỳ ai không có quyền truy cập, từ đó bảo vệ sự riêng tư và an toàn của dữ liệu.

Tính toàn vẹn là nguyên tắc quan trọng đảm bảo rằng thông tin không bị sửa đổi hoặc thay đổi trái phép mà không có sự cho phép của người quản lý Nguyên tắc này giúp bảo tồn thông tin một cách chính xác và nguyên vẹn, từ đó duy trì độ tin cậy và giá trị của dữ liệu.

Tính khả dụng là nguyên tắc quan trọng đảm bảo thông tin và dịch vụ liên quan luôn sẵn sàng và dễ dàng truy cập khi cần thiết Nguyên tắc này bao gồm việc duy trì hệ thống không bị gián đoạn, gặp sự cố hoặc tấn công, nhằm đảm bảo người dùng có thể truy cập thông tin một cách liên tục và an toàn.

TRIỂN KHAI HỆ THỐNG PHÁT HIỆN LỖ HỔNG BẢO MẬT TRÊN BURP SUITE

Mô hình thực nghiệm

- Web Security Academy cung cấp các tài liệu thực hành, bài viết và bài giảng về rất nhiều chủ đề Cross-Site Scripting (XSS), SQL

Injection, Cross-Site Request Forgery (CSRF) được phát triển bởi PortSwigger

Tổng quan công cụ Penetration Testing Burp Suite và giới thiệu lỗ hổng trên

lỗ hổng trên Burp Suite

3.2.1 Tổng quan công cụ Penetration Testing Burp Suite

Burp Suite là một công cụ bảo mật ứng dụng web phổ biến, được phát triển bởi PortSwigger, chuyên về kiểm thử bảo mật và phân tích ứng dụng web Với các tính năng mạnh mẽ, Burp Suite giúp phát hiện, khai thác và giảm thiểu lỗ hổng bảo mật trong ứng dụng web, hỗ trợ hiệu quả cho các chuyên gia an ninh mạng.

Hệ điều hành và kiến trúc Burp Suite: Hỗ trợ các phiên bản mới nhất của các hệ điều hành sau:

- Linux (Intel và ARM 64-bit)

- OS X (Intel 64-bit và Apple M1)

3.2.2 Giới thiệu lỗ hỏng trên Burp Suite

3.2.2.1 Lỗ hỏng Business logic a) Giới thiệu:

Lỗ hổng logic nghiệp vụ là lỗi trong thiết kế và triển khai ứng dụng, cho phép kẻ tấn công gây ra hành vi không mong muốn và thao túng chức năng hợp pháp cho mục đích xấu Những lỗi này xuất phát từ việc không lường trước được các trạng thái bất thường của ứng dụng, dẫn đến việc không xử lý chúng một cách an toàn Hacker thường tìm cách thay đổi luồng nghiệp vụ của ứng dụng để phát hiện các lỗ hổng bảo mật, và những lỗi logic này thường khó phát hiện đối với người dùng thông thường.

Một số người sử dụng ứng dụng thông thường mà không bị phát hiện, nhưng kẻ tấn công có thể lợi dụng những hành vi bất thường bằng cách tương tác với ứng dụng theo cách mà nhà phát triển không thể dự đoán.

Các lỗ hổng logic nghiệp vụ thường xuất hiện do thiết kế và phát triển dựa trên các giả định không chính xác về cách người dùng tương tác với ứng dụng Những giả định sai lầm này có thể dẫn đến việc xác thực đầu vào của người dùng không đầy đủ.

3.2.2.2 Giới thiệu lỗ hỏng Authentication a) Giới thiệu

Lỗ hổng xác thực là một lỗi trong hệ thống xác thực, cho phép cá nhân hoặc thực thể không có quyền truy cập giả mạo người được ủy quyền Tình trạng này xảy ra khi quy trình xác thực không được thực hiện đúng cách hoặc do sự tồn tại của các lỗ hổng bảo mật trong hệ thống.

Các lỗ hổng xác thực thường xuất hiện khi hệ thống có cơ chế xác thực yếu, do nhà phát triển không chú ý đến các vấn đề bảo mật trong quá trình phát triển Điều này tạo điều kiện cho kẻ tấn công dễ dàng vượt qua các lỗi, sự cố logic hoặc sự cố không mong muốn trong cơ chế xác thực Ngoài ra, các lỗ hổng bảo mật cũng có thể phát sinh khi trang web của người dùng tiết lộ thông tin cá nhân, bao gồm cả tên người dùng và mật khẩu.

3 Tổng quan về các tính năng và cấu hình trong Burp Suite

3.3.1 Tổng quan về các tính năng

Hình 3 2 Màn hình Burp Suite

1 Proxy: Burp Proxy hoạt động như một máy chủ proxy web giữa trình duyệt và các ứng dụng đích.Cho phép chặn, kiểm tra và sửa đổi lưu lượng truy

Để khởi động trình duyệt Burp, bạn hãy truy cập vào mục Proxy > Intercept và nhấn vào Open Browser Tất cả lưu lượng truy cập từ trình duyệt này sẽ được tự động ủy quyền qua Burp.

2 Repeater: Bộ lặp cho phép làm việc đồng thời trên nhiều thư, mỗi thư trong tab riêng Bất kỳ sửa đổi nào thực hiện đối với thư đều được lưu trong lịch sử của tab Có thể dễ dàng quản lý số lượng lớn các tab đang mở bằng chức năng nhóm với mục đích:

- Gửi yêu cầu với các giá trị tham số khác nhau để kiểm tra các lỗ hổng dựa trên đầu vào

Gửi một chuỗi yêu cầu HTTP theo trình tự nhất định để kiểm tra các lỗ hổng trong quy trình nhiều bước hoặc các lỗ hổng liên quan đến việc thao túng trạng thái kết nối.

3 Intruder: Tự động hóa các cuộc tấn công tùy chỉnh đối với các ứng

Cấu hình các cuộc tấn công trên web cho phép gửi đi cùng một yêu cầu HTTP, đồng thời chèn các tải trọng khác nhau vào các vị trí đã được xác định trước mỗi lần.

Sơ đồ trang web bao gồm thông tin từ các lần quét và các URL được khám phá khi duyệt mục tiêu một cách thủ công Nó cung cấp thông tin chi tiết về bất kỳ vấn đề bảo mật nào mà Burp phát hiện, cùng với yêu cầu và phản hồi đầy đủ cho từng mục riêng lẻ.

 Description - Mô tả chi tiết về vấn đề

 Remediation - Các bước có thể thực hiện để giảm thiểu sự cố

 References - Liên kết đến tài liệu và nghiên cứu về PortSwigger có liên quan

 Typical severity - Cao, Trung bình, Thấp hoặc Thông tin

- Xem các giá trị được giải mã đầy đủ của tham số hoặc cookie hoặc chuỗi con mà đã chọn trong trình chỉnh sửa

- Thêm, xóa và sắp xếp lại các mục chỉ bằng một nút bấm để không phải làm việc với cú pháp HTTP thô

- Chỉnh sửa dữ liệu ở dạng đã giải mã

Chuyển đổi giao thức là quá trình gửi các yêu cầu riêng lẻ, trong đó Burp tự động thực hiện các phép biến đổi để tạo ra yêu cầu tương đương cho giao thức mới.

3.3.2 Cấu hình khởi động Burp Suite

1 Kiểm tra option Proxy: Thay đổi proxy setting của Web Browser với proxy là 127.0.0.1 và port 8080 sao cho khớp với option proxy của Burp Suite

2 Chọn Tools → Options → Advanced → Network → Settings, sau đó thiết lập như hình sau:

3 Thực hiện kiểm tra xem Burp Suite đã bắt được request chưa bằng cách bật ON ở tab intercept ở proxy lên sau đó truy cập vào một trang web.

Triển khai kiểm thử Web Security Academy với Burp Suite

- Web Security Academy hoặc một ứng dụng web có lỗi, là một ứng dụng web không an toàn có chủ ý nguồn mở và miễn phí

- Giúp những người đam mê bảo mật, nhà phát triển và sinh viên khám phá và ngăn chặn các lỗ hổng bảo mật trên web

Web Security Academy cung cấp môi trường lý tưởng để thực hiện các thử nghiệm thâm nhập thành công và các dự án hack đạo đức Nền tảng này bao gồm tất cả các lỗi web chính đã biết, đồng thời đề cập đến các rủi ro từ danh sách OWASP Top 10, giúp nâng cao nhận thức và kỹ năng về bảo mật web.

3.4.1 Thực nghiệm Pentest Business logic vulnerabilities

Trang web mua sắm Acamedy có quy trình kiểm tra không chặt chẽ đối với các tham số từ người dùng, tạo ra lỗ hổng cho phép mua sắm sản phẩm với giá và số lượng không mong muốn Để mua thành công sản phẩm "Lightweight l33t leather jacket", người dùng cần chú ý đến các thông tin nhập vào để tránh gặp phải tình trạng này.

Hình 3 4 Trang chủ của Web

- Tài khoản hợp lệ được cung cấp: wiener:peter Đăng nhập với tài khoản wiener:peter

Hình 3 5 Màn hình đăng nhập

3.4.1.1 Cấu trúc thư mục Web Security Academy

Sau khi cấu hình Web Security Academy với Burp Suite, Burp sẽ tạo ra một cấu trúc thư mục giúp người kiểm thử dễ dàng theo dõi trong Tab Sitemap.

3.4.1.2 Xác định các điểm vào của Web Security Academy

Bắt đầu phân tích sitemap, các request thu được, xác định tất cả các điểm vào:

Hình 3 7 Lịch sử truy cập HTTP

- Sử dụng phương thức HTTP

- Bước 1: Thực hiện thông tin đăng nhập với User name: Wiener, Password: Peter

- Bước 2: Chọn 1 sản phẩm Roulette Drinking Game vào giỏ hàng

Hình 3 9 Thêm sản phẩm vào giỏ hàng

- Bước 3: Bắt Request từ Client gửi lên Web Server

Hình 3 10 Lịch sử HTTP các request

- Bước 4: Click chuột phải vào phần request qua proxy sau đó > “Send to Repeater”

- Bước 5: Thay đổi quantity tham số thành một số nguyên tùy ý, sau đó chuyển tiếp mọi yêu cầu còn lại

Hình 3 12 Thay đổi tham số quantity

- Bước 6: Thêm áo khoác da Lightweight "l33t" Leather Jacket vào giỏ hàng

Hình 3 13 Màn hình thêm áo khoác da vào giỏ hàng

- Bước 7: Chỉnh sửa tiếp tục Quantity > Send repeater

Hình 3 14 Màn hình hiển thị kết quả sửa quantity

 Tiếp tục cho đến khi tổng tiền hàng bé hơn số tiền hiện có "Store credit"

Hình 3 15 Hiển thị kết quả chỉnh quantity

 Màn hình hiển thị tổng tiền hàng 48.47 $ thành công

Hình 3 16 Màn hình hiển thị thành công total < store credit

Nguyên nhân của các vấn đề bảo mật bao gồm việc xâm nhập hệ thống, thực hiện các hành động không được ủy quyền, lộ thông tin quan trọng, sửa đổi dữ liệu, gian lận giao dịch và nhiều vấn đề khác liên quan đến an ninh thông tin.

Để đảm bảo tính chính xác và an toàn của dữ liệu, việc kiểm tra và xác thực dữ liệu đầu vào là rất quan trọng Tất cả dữ liệu từ người dùng hoặc nguồn bên ngoài cần được kiểm tra cẩn thận về định dạng, phạm vi và giới hạn Đồng thời, cần xử lý các giá trị không hợp lệ hoặc có nguy cơ gây hại để bảo vệ hệ thống.

Áp dụng nguyên tắc "Least Privilege" giúp cung cấp quyền truy cập và khả năng thực thi chỉ khi cần thiết cho người dùng hoặc hệ thống Nguyên tắc này đảm bảo không cấp phép quyền truy cập không cần thiết, từ đó giảm thiểu khả năng tấn công từ kẻ xâm nhập.

Kiểm tra và xác minh logic cấp cao là quá trình đánh giá kỹ lưỡng các luồng logic trong phần mềm hoặc ứng dụng Việc sử dụng phương pháp kiểm thử tự động và kiểm thử bằng tay giúp phát hiện lỗi, điểm yếu và khả năng tấn công tiềm năng, từ đó nâng cao tính bảo mật và hiệu suất của sản phẩm.

3.4.2 Thực nghiệm Pentest Authentication vulnerabilities với Burp Suite Để truy cập vào tài khoản, người dùng ít nhất phải nhớ tên người dùng và mật khẩu của họ Tuy nhiên, con người không thể nhớ tất cả tài khoản Cũng giống như một chiếc máy, nhiều trường hợp người dùng có thể quên hoặc mất mật khẩu (đối với những người quên tài khoản, mật khẩu, số điện thoại , email xác nhận) Các nhà cung cấp dịch vụ đã lên kế hoạch cho một kịch bản như vậy Vì vậy, người dùng thông thường có thể sử dụng tính năng Quên mật khẩu để khôi phục mật khẩu

Hệ thống sẽ xác nhận giá trị mã thông báo (token) do người dùng cung cấp để kiểm tra tính hợp lệ và xác định người dùng tương ứng, nhằm đảm bảo chức năng hoạt động chính xác Thông thường, các trang web không cung cấp lại mật khẩu cũ cho người dùng.

Khi người dùng yêu cầu khôi phục mật khẩu, cần đảm bảo rằng mã xác thực hoặc liên kết đặt lại mật khẩu được gửi chỉ có hiệu lực trong một khoảng thời gian nhất định để tránh bị kẻ tấn công độc hại đánh cắp Do kẻ tấn công có thể mạo danh người dùng, các liên kết này cũng cần được định dạng an toàn.

Để chống giả mạo, mỗi liên kết phải tương ứng với một người dùng duy nhất Liên kết đặt lại mật khẩu và người dùng có thể dễ dàng được phân tích, vì vậy kẻ tấn công có khả năng giả mạo liên kết và lừa đảo hệ thống.

3.4.2.1 Thông tin trang Web chứa lỗ hỏng Authentication

- Trang chủ của Web: Gồm mục Home chứa các bài blog, và My account nơi đăng nhập tài khoản

Hình 3 17 Trang Web chứa lỗ hỏng Authentication

- Trang Login đăng nhập tài khoản

Hình 3 18 Màn hình LOGIN web

3.4.2.2 Đặt phạm vi mục tiêu Target

- Bước 1: Khởi chạy trình duyệt của Burp

- Bước 2: Đăng nhập vào tài khoản trang Web

- Bước 3: Nghiên cứu lịch sử HTTP Trong Burp, chuyển đến tab Proxy

Lịch sử HTTP có thể được dễ dàng đọc hơn bằng cách nhấp vào tiêu đề của cột ngoài cùng bên trái (#) để sắp xếp các yêu cầu theo thứ tự giảm dần Phương pháp này giúp hiển thị các yêu cầu gần đây nhất ở vị trí đầu tiên.

Lịch sử HTTP ghi lại mọi yêu cầu mà trình duyệt thực hiện, bao gồm cả các yêu cầu đến các trang web bên thứ ba như YouTube, giúp người dùng theo dõi hoạt động trực tuyến của mình một cách chi tiết.

- Bước 4: Đặt phạm vi mục tiêu Chuyển đến Target > Site map

Hình 3 20 Màn hình Site Target

- Bước 1: Vào My Accout > Forgot Password > Điền User: Wiener

Hình 3 21 Màn hình đăng nhập tên hoặc email người dùng

 Nhấp vào nút Email client để xem email đặt lại mật khẩu đã được gửi Nhấp vào liên kết trong email và đặt lại mật khẩu

Hình 3 22 Màn hình Email Client

Hình 3 23 Màn hình đăng nhập lại mật khẩu

- Bước 2: Click chuột phải vào phần request qua proxy sau đó > “Send to Repeater”

Hình 3 24 Lịch sử truy cập HTTP

 Xóa giá trị của temp-forgot-password-tokentham số trong cả URL và nội dung yêu cầu

Hình 3 25 Màn hình khi Xóa giá trị của temp-forgot-password-tokentham

 Reload Web > Yêu cầu tiếp tục Forgot Password

Hình 3 26 Màn hình điền tên hoặc email

- Bước 3: Tiếp tục vào Email client > Đặt lại mật khẩu

Hình 3 27 Màn hình đặt lại mật khẩu

- Bước 4 : Xóa giá trị của temp-forgot-password-tokentham số trong cả URL và nội dung yêu cầu > Thay đổi tên người dùng sang " Carlos"

Hình 3 28 Màn hình thay đổi tên người dùng ở Repeater

- Bước 5 : Đăng nhập tên mới "Carlos" thay đổi và Password đã đặt lại là

Hình 3 29 Màn hình đăng nhập

 Đăng nhập thành công vào web

Hình 3 30 Đăng nhập thành công

Quản lý phiếu đặt lại mật khẩu không an toàn có thể dẫn đến việc kẻ tấn công truy cập vào thông tin nhạy cảm, cho phép họ đặt lại mật khẩu và xâm nhập trái phép vào tài khoản của người dùng.

Để đảm bảo an toàn thông tin, cần kiểm soát truy cập bằng cách giới hạn quyền truy cập vào dữ liệu đặt lại mật khẩu cho những người dùng và vai trò cần thiết Việc này giúp chỉ những người có quyền truy cập hợp lệ mới có thể tiếp cận thông tin nhạy cảm Hơn nữa, nên áp dụng các chính sách quản lý quyền truy cập và kiểm soát truy cập vào cơ sở dữ liệu liên quan Đồng thời, cần phân tách dữ liệu bằng cách không lưu trữ thông tin đặt lại mật khẩu cùng với các thông tin khác như thông tin người dùng hay thông tin cá nhân, nhằm giảm thiểu rủi ro trong trường hợp hệ thống bị xâm nhập hoặc lộ thông tin.

Ngày đăng: 12/12/2023, 19:38

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

TÀI LIỆU LIÊN QUAN

w