1. Trang chủ
  2. » Kỹ Năng Mềm

Bài tập lớn môn an toàn mạng (89)

69 59 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 đề Tìm Hiểu Công Cụ Rà Quét Lỗ Hổng Acunetix
Tác giả Kiều Văn Thành
Người hướng dẫn TS. Đặng Minh Tuấn
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 Mạng
Thể loại bài tập lớn
Năm xuất bản 2021
Thành phố Hà Nội
Định dạng
Số trang 69
Dung lượng 4,3 MB

Cấu trúc

  • CHƯƠNG 1: BÁO CÁO THỐNG KÊ LỖ HỔNG BẢO MẬT TRÊN ỨNG DỤNG (9)
    • 1. Remote Code Execution (RCE) (13)
    • 2. SQL Injection (SQLi) (14)
    • 3. Blind SQL Injection (14)
    • 4. Local File Inclusion and Directory Traversal (15)
    • 5. Cross-site Scripting (16)
    • 6. Vulnerable JavaScript Libraries (17)
    • 7. Weak Passwords and Missing Brute-Force Protection (17)
    • 8. Reserved Information Disclosure (18)
    • 9. Source Code Disclosure (18)
    • 10. Server-side Request Forgery (SSRF) (19)
    • 11. Overflow Vulnerabilities (19)
    • 12. WordPress (and Other CMS) Vulnerabilities (20)
    • 13. Web Server Vulnerabilities and Misconfigurations (20)
  • CHƯƠNG 2: GIỚI THIỆU VỀ ACUNETIX (9)
    • 1. Sự cần thiết của các công cụ rà quét lỗ hổng bảo mật tự động (22)
    • 2. Công cụ rà quét lỗ hổng Acunetix (22)
      • 2.1. Cách thức hoạt động của Acunetix (23)
      • 2.2. Acunetix AcuSensor Technology (25)
      • 2.3. Các thành phần của Acunetix (27)
  • CHƯƠNG 3: CÀI ĐẶT VÀ SỬ DỤNG ACUNETIX (9)
    • 1. Cài đặt Acunetix (31)
      • 1.1. Cài đặt trên Windows (32)
      • 1.2. Cài đặt trên Linux (35)
      • 1.3. Cài đặt trên MacOS Mojave và MacOS Catalina (36)
      • 1.4. Cài đặt thông qua dòng lệnh (36)
      • 1.5. Kích hoạt bản quyền Acunetix (37)
      • 1.6. Một số thiết lập (38)
    • 2. Sử dụng Acunetix (39)
      • 2.1. Configuring Targets (Thiết lập mục tiêu) (39)
      • 2.2. Launching Scans (Thực hiện rà quét) (42)
      • 2.3. Deploying AcuSensor (Triển khai AcuSensor) (44)
      • 2.4. Reviewing Scan Result (Kiểm tra kết quả rà quét) (44)
      • 2.5. Generate Reports (Tạo báo cáo) (50)
      • 2.6. Managing Vulnerabilities (Quản lý các lỗ hổng) (51)
      • 2.7. Configuring Users (Thiết lập tài khoản người dùng) (53)
      • 2.8. Configuring Scan Profiles (Thiết lập cấu hình quét) (55)
    • 3. So sánh Acunetix và Nessus (56)
  • CHƯƠNG 4: THỬ NGHIỆM CÔNG CỤ ACUNETIX (9)
    • 1. Rà quét lỗ hổng trên trang https://qldt.ptit.edu.vn/ sử dụng công cụ Acunetix (60)
    • 2. Rà quét lỗ hổng SQL Injection sử dụng công cụ Acunetix (64)
  • KẾT LUẬN (67)

Nội dung

BÁO CÁO THỐNG KÊ LỖ HỔNG BẢO MẬT TRÊN ỨNG DỤNG

Remote Code Execution (RCE)

Lỗ hổng Remote Code Execution (RCE) là một trong những nguy cơ nghiêm trọng nhất, cho phép kẻ tấn công thực thi mã từ xa trên ứng dụng web Khi chiếm được quyền thực thi mã, kẻ tấn công có thể thực hiện các hành vi nguy hiểm hơn, như chạy lệnh trên hệ thống máy chủ, từ đó có thể kiểm soát hoàn toàn hệ thống.

Mặc dù tỷ lệ ứng dụng web có lỗ hổng RCE chỉ ở mức 3%, tăng nhẹ so với 2% của năm ngoái, nhưng điều này vẫn gây lo ngại lớn Lỗ hổng RCE có thể dẫn đến những thiệt hại nghiêm trọng, vì vậy việc ưu tiên vá lỗ hổng này là rất cần thiết.

Hình 1 6 Tỉ lệ ứng dụng web chứa lỗ hổng RCE

SQL Injection (SQLi)

SQL Injection (SQLi) là một lỗ hổng bảo mật xảy ra khi lập trình viên không kiểm tra hoặc lọc đầu vào từ người dùng Lỗ hổng này cho phép kẻ tấn công khai thác và chèn các câu lệnh SQL vào hệ thống, dẫn đến việc thực thi trực tiếp trên cơ sở dữ liệu Tùy thuộc vào câu lệnh SQL được sử dụng, kẻ tấn công có thể thực hiện các thao tác như thêm, sửa, xóa dữ liệu, và trong một số trường hợp nghiêm trọng, có thể gây ra lỗ hổng Remote Code Execution (RCE).

SQLi là một trong những lỗ hổng bảo mật phổ biến và nghiêm trọng nhất, tồn tại từ lâu Mặc dù đã có nhiều công cụ và kỹ thuật được phát triển để ngăn chặn các cuộc tấn công này, nhưng hacker cũng ngày càng sử dụng nhiều công cụ tinh vi hơn để khai thác lỗ hổng SQLi.

Hình 1 7 Tỉ lệ ứng dụng web chứa lỗ hổng SQLi

Blind SQL Injection

Blind SQL Injection là một kỹ thuật tấn công SQL Injection phức tạp hơn, thường được hacker áp dụng khi các phương pháp tấn công SQLi truyền thống không mang lại hiệu quả Mặc dù hiệu quả, kỹ thuật này đòi hỏi nhiều thời gian và tạo ra số lượng lớn yêu cầu đến hệ thống nạn nhân Do đó, quản trị viên có thể phát hiện cuộc tấn công Blind SQL Injection thông qua việc giám sát log hệ thống.

Blind SQL Injection, hay "tấn công SQL mù", là phương pháp mà kẻ tấn công không thể nhận được thông tin trực tiếp từ ứng dụng web Thay vào đó, họ dựa vào các điều kiện trong câu lệnh SQL, ví dụ như câu truy vấn chỉ cho kết quả đúng hoặc sai Nếu ứng dụng web có những phản ứng khác nhau trong hai trường hợp này, hacker có thể thu thập thông tin từng bước một.

Hình 1 8 Tỉ lệ ứng dụng web chứa lỗ hổng Blind SQLi so với Union/error SQLi

Local File Inclusion and Directory Traversal

Local File Inclusion (LFI) và Directory Traversal (Path Traversal) cho phép kẻ tấn công truy cập trái phép vào hệ thống file của mục tiêu Với lỗ hổng Directory Traversal, kẻ tấn công có thể đọc các file mà người dùng thông thường không có quyền truy cập Chẳng hạn, trên hệ điều hành Linux hoặc UNIX, kẻ tấn công có thể khai thác thư mục /proc để truy cập thông tin về phần mềm, thiết bị phần cứng và mạng Ngoài ra, họ cũng có thể truy cập thư mục /etc để xem các thông tin nhạy cảm như tên người dùng và mật khẩu.

Còn đối với lỗ hổng LFI, kẻ tấn công không những có thể đọc file mà còn có thể

“include” code từ chúng, từ đó dẫn đến việc thực thi mã trên web server

Mặc dù 2 lỗ hổng này khá là phổ biến và lâu đời, thế nhưng vẫn có một lượng ứng dụng web chứa 2 lỗ hổng này

Hình 1 9 Tỉ lệ ứng dụng web chứa lỗ hổng LFI và Directory Traversal

Cross-site Scripting

Cross-site Scripting (XSS) là lỗ hổng bảo mật xảy ra khi kẻ tấn công chèn mã độc, thường là JavaScript, vào một trang web Với sự phát triển của các trang web tương tác, việc thực thi mã trên trình duyệt của người dùng đã tạo cơ hội cho hacker thực hiện các cuộc tấn công XSS Có ba loại tấn công XSS chính: Reflected XSS, DOM-based XSS và Stored XSS.

Khoảng 25% ứng dụng web trong danh sách phân tích vẫn chứa lỗ hổng XSS, mặc dù tỷ lệ này đã giảm so với năm ngoái Tuy nhiên, con số này vẫn đáng báo động Sự gia tăng liên tục của các template và framework JavaScript cũng đi kèm với nhiều lỗ hổng XSS tiềm ẩn.

Hình 1 10 Tỉ lệ ứng dụng web chứa lỗ hổng XSS

Vulnerable JavaScript Libraries

Các thư viện JavaScript tăng tốc độ và dễ dàng trong phát triển ứng dụng, nhưng một số thư viện vẫn tồn tại lỗ hổng chưa được khắc phục Những ứng dụng web sử dụng thư viện JavaScript cũ có thể trở thành mục tiêu cho kẻ tấn công, dẫn đến nguy cơ bị tấn công XSS.

Hình 1 11 Tỉ lệ các thư viện JavaScript chứa lỗ hổng

Weak Passwords and Missing Brute-Force Protection

Mật khẩu yếu thường là những mật khẩu ngắn và dễ đoán, dễ dàng bị khai thác qua việc đoán hoặc sử dụng kỹ thuật vét cạn Theo thống kê từ NordPass về 200 mật khẩu phổ biến nhất năm 2020, có đến 80% trong số này có thể bị bẻ khóa chỉ trong vòng 1 giây.

Reserved Information Disclosure

Một số thông tin cần được giữ bí mật để tránh rủi ro Mức độ nguy hiểm của việc tiết lộ thông tin phụ thuộc vào loại thông tin, trong đó, thông tin nhận dạng cá nhân là nguy hiểm nhất khi bị lộ.

Hình 1 12 Tỉ lệ các thông tin bị lộ

Source Code Disclosure

Việc lộ mã nguồn ứng dụng web tạo điều kiện cho kẻ tấn công khai thác và phát hiện lỗ hổng dễ dàng hơn Họ có thể tìm kiếm thông tin nhạy cảm như chứng chỉ và API Keys trong mã nguồn, đồng thời phân tích cách lập trình viên phát triển từng phần của ứng dụng để phát hiện lỗ hổng Do đó, việc tiết lộ mã nguồn, dù là của cá nhân hay tổ chức, là điều hoàn toàn không nên.

Hình 1 13 Tỉ lệ phần trăm các ứng dụng web bị lộ mã nguồn

Server-side Request Forgery (SSRF)

Server-side Request Forgery (SSRF) is a vulnerability that occurs when an attacker can manipulate a web application to send crafted requests to another server This type of security flaw is present in only 1% of web applications.

Hình 1 14 Tỉ lệ phần trăm các ứng dụng web chứa lỗ hổng SSRF

Overflow Vulnerabilities

Lỗ hổng tràn bộ đệm xảy ra khi kẻ tấn công nhập quá nhiều dữ liệu, dẫn đến tình trạng tràn bộ nhớ Lỗi này thường gặp ở các ứng dụng được phát triển bằng ngôn ngữ lập trình không kiểm soát kích thước dữ liệu đầu vào.

Trong C và C++, việc quản lý bộ nhớ hoàn toàn phụ thuộc vào lập trình viên, không phải do ngôn ngữ tự động thực hiện Hai loại lỗ hổng tràn bộ đệm phổ biến là tràn ngăn xếp (Stack Overflow) và tràn heap (Heap Overflow).

Hình 1 15 Tỉ lệ phần trăm các ứng dụng web chứa lỗ hổng Overflow

WordPress (and Other CMS) Vulnerabilities

Tính đến tháng 1 năm 2020, hơn 35% tổng số trang web được xây dựng trên nền tảng WordPress, điều này đã thu hút sự chú ý của nhiều hacker WordPress bao gồm hai thành phần chính: WordPress Core và các giao diện (themes) cùng plugin Mặc dù đội ngũ phát triển liên tục cập nhật và vá các lỗ hổng trong WordPress Core, nhưng các themes và plugins lại không được bảo trì thường xuyên, tạo ra mối đe dọa nghiêm trọng cho các trang web Khi hacker phát hiện lỗ hổng trong một theme hoặc plugin, họ có khả năng tấn công hàng nghìn trang web sử dụng những thành phần đó.

Hình 1 16 Tỉ lệ các ứng dụng web xây dựng trên WordPress và các nền tảng CMS chứa lỗ hổng

GIỚI THIỆU VỀ ACUNETIX

Sự cần thiết của các công cụ rà quét lỗ hổng bảo mật tự động

Việc rà quét lỗ hổng bảo mật thủ công rất phức tạp và tốn thời gian, đòi hỏi xử lý lượng dữ liệu lớn và trình độ chuyên môn cao Hơn nữa, tin tặc luôn tìm ra những phương thức mới để khai thác lỗ hổng trong ứng dụng web, khiến người dùng phải liên tục theo dõi các cộng đồng bảo mật để phát hiện các lỗ hổng mới trước khi chúng bị tin tặc khai thác.

Các công cụ rà quét lỗ hổng bảo mật tự động giúp tiết kiệm thời gian và công sức cho người dùng, cho phép họ tập trung vào việc xây dựng và phát triển ứng dụng web Những công cụ này liên tục theo dõi và cập nhật các hình thức tấn công mới nhất, đồng thời rà quét mã nguồn ứng dụng để phát hiện các lỗ hổng Tất cả các tác vụ này diễn ra hoàn toàn tự động trong thời gian ngắn, giúp người dùng có thể dành nhiều thời gian hơn cho việc phát triển ứng dụng.

CÀI ĐẶT VÀ SỬ DỤNG ACUNETIX

Cài đặt Acunetix

Acunetix yêu cầu cấu hình tối thiểu như sau: [7]

Supported operating systems include Microsoft Windows 8.1 or later, Windows Server 2012 R2, MacOS Catalina and Big Sur, Ubuntu Desktop/Server 18.04 LTS or higher, Suse Linux Enterprise Server 15, openSUSE Leap versions 15.0 and 15.1, Kali Linux versions 2019.1 and 2020.1, CentOS 8 and CentOS Stream (with SELinux disabled), and RedHat 8 (with SELinux disabled).

− CPU: Vi xử lý 64 bit

− RAM : Tối thiểu 2 GB RAM

− Bộ nhớ: Tối thiểu 1 GB bộ nhớ

− Trình duyệt web hỗ trợ: o Firefox o Chrome o Edge o Safari

Bước 1: Tải bản Acunetix cho Windows mới nhất tại trang chủ

Hình 3 1 Tải Acunetix từ trang chủ

Bước 2: Mở trình cài đặt tiến hành cài đặt Acunetix, chọn “Next” khi được yêu cầu

Hình 3 2 Trình cài đặt Acunetix

Bước 3: Đọc và chấp nhận License Agreement

Bước 4: Cung cấp thông tin đăng nhập cho tài khoản người quản trị Tài khoản này được dùng để truy cập và cài đặt Acunetix

Hình 3 4 Cung cấp thông tin đăng nhập cho tài khoản người quản trị

Bước 6: Thiết lập cách truy cập Acunetix Web UI

Hình 3 5 Thiết lập cách truy cập Acunetix

Bước 7: Kiểm tra lại các tác vụ và chọn “Install” để bắt đầu quá trình cài đặt

Hình 3 6 Kiểm tra lại các tác vụ và chọn "Install" để bắt đầu quá trình cài đặt

Bước 8: Trình cài đặt giờ sẽ sao chép tất cả cs tệp và cài đặt các dịch vụ của

Hình 3 7 Quá trình cài đặt

Bước 9: Chọn “Finish” để thoát khỏi trình cài đặt khi đã xong

Hình 3 8 Quá trình cài đặt kết thúc

Bước 1: Tải bản Acunetix cho Linux mới nhất tại trang chủ

Bước 2: Mở cửa sổ terminal

Bước 3: Sử dụng lệnh chmod để thêm quyền thực thi cho tệp tin cài đặt: chmod +x acunetix_13.0.xxxx_x64.sh

Bước 4: Chạy trình cài đặt Acunetix: sudo./acunetix_13.0.xxxx_x64.sh

Bước 5: Đọc và chấp nhận License Agreement

Bước 6: Thiết lập hostname dùng để truy cập vào Acunetix UI

Bước 7: Cung cấp thông tin đăng nhập cho tài khoản người quản trị Tài khoản này được dùng để truy cập và cài đặt Acunetix

Bước 8: Tiến hành cài đặt

1.3 Cài đặt trên MacOS Mojave và MacOS Catalina

Bước 1: Tải bản Acunetix cho MacOS mới nhất tại trang chủ

Bước 2: Mở trình cài đặt dạng PKG để tiến hành cài đặt Acunetix, chọn

“Continue” khi được yêu cầu

Bước 3: Đọc và chấp nhận License Agreement

Bước 4: Người dùng có thể phải cung cấp mật khẩu để hoàn thành quá trình cài đặt

Bước 5: Cung cấp thông tin đăng nhập cho tài khoản người quản trị Tài khoản này được dùng để truy cập và cài đặt Acunetix

Bước 6: Thiết lập cách truy cập Acunetix Web UI và chọn “Continue” để bắt đầu cài đặt

Bước 7: Trình cài đặt giờ sẽ sao chép tất cả cs tệp và cài đặt các dịch vụ của

Acunetix Khi quá trình cài đặt hoàn tất, trình duyệt mặc định sẽ khởi chạy và yêu cầu cho phép truy cập Acunetix UI, chọn “Continue” để cho phép

Bước 8: Chọn “Close” để thoát khỏi trình cài đặt khi đã xong

1.4 Cài đặt thông qua dòng lệnh

Việc cài đặt qua dòng lệnh có thể hữu ích cho các hệ thống triển khai tự động

[8] Một số tham số với cài đặt dòng lệnh là:

• /verysilent Đây là tham số cần thiết để chạy trình cài đặt trong môi trường dòng lệnh mà không cần khởi chạy bất kì thành phần GUI nào

• /email= Tham số email cần thiết để định danh tên người dùng quản trị viên đăng nhập vào vào Acunetix Nếu thiếu tham số này,

34 trình cài đặt sẽ không hoàn thành được do không có người dùng hợp lệ để đăng nhập vào hệ thống

Tham số pwhash= là yếu tố quan trọng để xác định mật khẩu của người dùng quản trị trong Acunetix Giá trị này là băm SHA256 của mật khẩu và cần thiết cho quá trình đăng nhập Nếu thiếu tham số này, trình cài đặt sẽ không thể hoàn thành do không có người dùng hợp lệ để truy cập vào hệ thống.

Tham số /hostname= cho phép người dùng chỉ định tên máy chủ hoặc địa chỉ IP để truy cập giao diện Acunetix Địa chỉ này cần phải có khả năng truy cập Nếu tham số này không được chỉ định, hệ thống sẽ sử dụng tên máy chủ mặc định.

“localhost” sẽ được trình cài đặt sử dụng

Tham số /port= cho phép người dùng chỉ định cổng hoạt động khác với cổng mặc định Nếu tham số này không được cung cấp, cổng mặc định “3443” sẽ được sử dụng bởi trình cài đặt.

Tham số /allow-remote cho phép giao diện Acunetix truy cập từ xa Nếu người dùng không kích hoạt tham số này, Acunetix sẽ ngăn chặn mọi truy cập từ xa.

Hình 3 9 Ví dụ trình cài đặt sử dụng dòng lệnh

Dòng lệnh cài đặt Acunetix với thông tin đăng nhập là username “john.doe@example.com” và mật khẩu “ExamplePassword1%”, sử dụng hostname “acunetix.example.local” và cổng “7777” Điều này cho phép truy cập Acunetix từ các máy khác qua địa chỉ https://acunetix.example.local:7777.

1.5 Kích hoạt bản quyền Acunetix

Sau khi hoàn tất cài đặt, người dùng cần kích hoạt bản quyền Acunetix bằng license key đã mua Để thực hiện điều này, hãy đăng nhập vào Acunetix qua giao diện web tại địa chỉ https://localhost:3443 Ngay lập tức, người dùng sẽ được chuyển đến trang User Profile, nơi có thể cập nhật thông tin liên lạc và nhập License key để kích hoạt sản phẩm.

Language for Web Interface : Cài đặt ngôn ngữ cho giao diện web của Acunetix Time Zone: Cài đặt múi giờ

Kích hoạt dịch vụ AcuMonitor: Đăng ký và cài đặt dịch vụ AcuMonitor để phát hiện các lỗ hổng bảo mật như Blind XSS, SSRF, XXE và một số lỗ hổng out-of-band khác, mà chỉ có thể được phát hiện thông qua dịch vụ trung gian.

Enabling Additional Scanning Technologies: Kích hoạt các công cụ quét bổ sung để đánh giá kĩ hơn mục tiêu

Để cải thiện khả năng phát hiện lỗ hổng trong các ứng dụng web sử dụng NET, Java hoặc PHP, người dùng nên cài đặt AcuSensor Việc này không chỉ giúp xác định chính xác vị trí của lỗ hổng trong mã nguồn mà còn nâng cao hiệu quả quét bảo mật cho ứng dụng.

Installing Network Scanning (OpenVAS): Cài đặt OpenVAS để rà quét mạng hệ thống mục tiêu

Acunetix can seamlessly integrate with Anti-Virus tools to scan for malware on users' web applications, with Windows Defender Anti-Virus being the default service utilized for this purpose.

Sử dụng Acunetix

2.1 Configuring Targets (Thiết lập mục tiêu)

Mục tiêu của Acunetix là các website hoặc ứng dụng web mà người dùng muốn quét lỗ hổng Trước khi tiến hành quét, người dùng cần thiết lập các mục tiêu Sau khi hoàn tất thiết lập, người dùng có thể thực hiện quét mục tiêu một cách thường xuyên mà không cần phải thiết lập lại.

2.1.1 Adding Targets (Thêm mục tiêu)

Tại menu Targets phía sidebar, chọn “Add Targets”

Hình 3 11 Menu Targets phía sidebar

Với mỗi mục tiêu, người dùng có thể:

− Cung cấp địa chỉ của mục tiêu để tiến hành rà quét

− Thêm mô tả để dễ nhận diện mục tiêu (tùy chọn)

− Chọn “Add another Target” nếu muốn thêm mục tiêu khác

Sau đó chọn “Save” nếu đã hoàn thành việc thêm mục tiêu, tiếp tục thiết lập các tùy chọn thêm cho mục tiêu

Hình 3 12 Giao diện thêm mục tiêu mới

2.1.2 Using a CSV file to import Targets (Nhập mục tiêu từ file CSV)

Người dùng có thể xuất file CSV từ các ứng dụng thứ ba đã cấu hình mục tiêu sẵn, sau đó nhập vào Acunetix để tiết kiệm thời gian Việc này cho phép nhập nhiều mục tiêu cùng lúc thông qua file CSV Các bước thực hiện rất đơn giản.

Vào trong mục “Targets”, chọn “Add Targets”, chọn “Import CSV”

Select a CSV file formatted as [Address, Description], for example, [http://testphp.vulnweb.com, PHP Test Site], and then click on "Import." Confirm that all targets have been successfully imported before proceeding to configure additional settings.

2.1.3 Target Group (Tạo nhóm mục tiêu)

Các mục tiêu có thể được tổ chức thành nhóm để quản lý hiệu quả hơn Người dùng có thể lọc các lỗ hổng bảo mật hoặc bản quét từ một nhóm mục tiêu cụ thể Để tạo nhóm mục tiêu, người dùng cần bắt đầu bằng việc thiết lập nhóm và cấu hình thành viên cho nhóm đó.

2.1.4 Configuring Basic Target Options (Thiết lập cài đặt mục tiêu cơ bản)

Các cài đặt mục tiêu cơ bản được liệt kê tại đầu trang “Target Settings”

Hình 3 14 Configuring Basic Target Options

Business Criticality (Mức độ quan trọng): Người dùng có thể chỉ định mức độ

(Thấp, Bình thường, Cao, Nguy hiểm), điều này cho phép người dùng lọc các phiên rà quét và lỗ hổng bảo mật dựa trên số liệu này

Cấu hình quét mặc định cho phép người dùng bắt đầu quá trình rà quét với tùy chọn quét toàn bộ Tuy nhiên, người dùng có thể linh hoạt thay đổi cấu hình quét để phù hợp hơn với mục tiêu cụ thể của mình.

Tốc độ quét là yếu tố quan trọng ảnh hưởng đến hiệu suất của mục tiêu, đặc biệt khi có nhiều yêu cầu đồng thời Người dùng có thể điều chỉnh tốc độ quét theo các mức khác nhau để tối ưu hóa kết quả.

− Fast (Nhanh – mặc định): 10 yêu cầu đồng thời, không có độ trễ giữa các yêu cầu

− Moderate (Trung bình): 5 yêu cầu đồng thời, trễ 250ms giữa các yêu cầu

− Slow (Chậm): 2 yêu cầu đồng thời, trễ 250s giữa các yêu cầu

− Slower (Chậm hơn): 1 yêu cầu, không có độ trễ giữa các yêu cầu

Continuous Scanning (Quét liên tục): Người dùng có thể bật tính năng này để

Acunetix thực hiện quét mục tiêu hàng ngày và báo cáo các lỗ hổng mới phát hiện, có thể do các nhà phát triển hoặc quản trị viên giới thiệu Hệ thống liên tục cập nhật dữ liệu để phát hiện các lỗ hổng mới Quá trình quét toàn bộ diễn ra hàng tuần, được hỗ trợ bởi quét nhanh hàng ngày chỉ tập trung vào các lỗ hổng nghiêm trọng Người dùng sẽ nhận thông báo qua email khi có lỗ hổng bảo mật mới xuất hiện.

2.2 Launching Scans (Thực hiện rà quét)

Sau khi thiết lập mục tiêu, người dùng có thể bắt đầu một phiên quét để phát hiện các lỗ hổng trong ứng dụng web Có nhiều phương pháp để khởi tạo phiên quét này.

Từ danh sách mục tiêu, chọn mục tiêu muốn rà quét và chọn “Scan”

Hình 3 15 Chọn "Scan" từ danh sách mục tiêu

Từ hộp thoại “Scanning Options”, thiết lập các tùy chọn sau đó chọn “Create Scan” Trong đó các tùy chọn lần lượt là:

Khi thực hiện quét bảo mật, bạn có thể chọn giữa hai kiểu rà quét: Full Scan (Quét toàn bộ) hoặc cấu hình quét tùy chỉnh, chẳng hạn như chỉ quét các lỗ hổng có mức độ nguy hiểm cao.

− Report (Báo cáo): Người dùng có thể thiết lập tự động tạo báo cáo sau khi quét xong

− Schedule (Lên lịch): Người dùng có thể chọn thực hiện rà quét ngay lập tức hoặc lên lịch để thực hiện trong tương lai

Hình 3 16 Hộp thoại "Scanning Option”

Mặc dù quá trình quét tự động, một số ứng dụng web vẫn áp dụng các cơ chế bảo mật đăng nhập yêu cầu sự can thiệp thủ công từ người dùng Can thiệp này thường cần thiết khi mục tiêu sử dụng các phương thức bảo mật như CAPTCHA, xác thực hai yếu tố (2FA), xác thực đa yếu tố (MFA) hoặc mã OTP.

Khi Acunetix yêu cầu can thiệp thủ công từ phía người dùng thì sẽ hiện lên một thông báo như sau:

Hình 3 17 Acunetix yêu cầu can thiệp thủ công từ phía người dùng

Người dùng có thể bấm vào thông báo để mở cửa sổ thông báo, chọn “Resolve this issue” trong thông báo yêu cầu can thiệp thủ công

Hình 3 18 Chọn "Resolve this issue"

2.3 Deploying AcuSensor (Triển khai AcuSensor)

Acunetix AcuSensor nâng cao độ chính xác trong quá trình quét bằng cách cải thiện việc thu thập thông tin và phát hiện, báo cáo các lỗ hổng, đồng thời giảm thiểu các báo cáo sai Công cụ này hỗ trợ các ứng dụng web được phát triển bằng NET, Java, PHP và Node.js.

AcuSensor có tác động rất nhỏ, dưới 1%, lên hệ thống máy mục tiêu, và việc triển khai AcuSensor là tùy chọn Người dùng chỉ cần sử dụng Acunetix để đạt được hiệu quả, trong khi AcuSensor giúp nâng cao độ chính xác và cải thiện kết quả quét ứng dụng web.

AcuSensor yêu cầu người dùng cài đặt một bộ cảm biến duy nhất cho mỗi ứng dụng web nhằm đảm bảo an toàn bảo mật Để kích hoạt AcuSensor, người dùng cần truy cập vào trang cấu hình mục tiêu, chuyển đến tab General và bật tùy chọn AcuSensor Sau đó, người dùng có thể tải xuống AcuSensor phù hợp với ngôn ngữ lập trình của ứng dụng web (AcuSensor hỗ trợ PHP, Java, NET và Node.js) Cuối cùng, người dùng cần làm theo hướng dẫn đính kèm để triển khai AcuSensor thành công.

2.4 Reviewing Scan Result (Kiểm tra kết quả rà quét)

Trang Scan cung cấp danh sách chi tiết về các lần quét đã thực hiện, bao gồm thông tin về loại quét, thời gian và ngày thực hiện, trạng thái hiện tại, cùng với số lượng lỗ hổng bảo mật theo từng mức độ Danh sách này có thể được lọc theo nhiều tiêu chí khác nhau.

Sau khi hoàn tất quá trình quét, Acunetix sẽ gửi email cho người dùng với tóm tắt kết quả và liên kết truy cập trực tiếp vào trang kết quả quét Kết quả này bao gồm ngày bắt đầu và kết thúc quét, thời gian quét, cùng tất cả các cảnh báo phát sinh trong quá trình quét Bảng Activity sẽ cho biết liệu quá trình quét có sử dụng AcuSensor hay không.

Kết quả quét bao gồm 5 phần:

Scan Stats & Info – cung cấp thông tin tổng quan các phiên rà quét

Vulnerabilities – Danh sách các lỗ hổng đã được phát hiện sắp xếp theo mức độ nguy hiểm

THỬ NGHIỆM CÔNG CỤ ACUNETIX

Rà quét lỗ hổng trên trang https://qldt.ptit.edu.vn/ sử dụng công cụ Acunetix

− Mục tiêu: https://qldt.ptit.edu.vn/

− Công cụ sử dụng: Acunetix 14.3

Bước 1: Chọn “Add Target” và nhập vào địa chỉ mục tiêu là https://qldt.ptit.edu.vn/

Hình 4 1 Thêm mục tiêu mới

Bước 2: Chọn “Save”, sau đó thực hiện việc thiết lập một số cài đặt cơ bản

Hình 4 2 Thiết lập một số cài đặt cơ bản cho mục tiêu

Bước 3: Sau khi đã thiết lập xong thì chọn “Scan”, tại đây thiết lập 3 options là

Scan Profile, Report và Schedule

Hình 4 3 Thiết lập 3 options trước khi scan

Bước 4: Chọn “Create Scan” và phiên rà quét sẽ được bắt đầu

Hình 4 4 Bắt đầu phiên rà quét

Bước 5: Phân tích kết quả sau khi rà quét xong

Thông tin tổng quan sẽ được hiển thị tại mục Scan Information

Chuyển sang mục Vulnerabilities sẽ thấy danh sách các lỗ hổng trên ứng dụng web mục tiêu

Mục Site Structure sẽ hiển thị cấu trúc ứng dụng web mục tiêu

Mục Scan Statistics sẽ hiển thị các tác vụ đã thực hiện

Mục Event sẽ ghi lại các sự kiện liên quan đến phiên rà quét

Bước 6: Phân tích lỗ hổng

Tại mục Vulnerabilities, khi click vào 1 lỗ hổng, Acunetix sẽ hiển thị thông tin chi tiết về lỗ hổng đó

Hình 4 10 Thông tin chi tiết về lỗ hổng

Người dùng có thể đánh dấu lỗ hổng là “Open”, “Fixed”, “Ignored”, “False Positive” hoặc có thể tiến hành kiểm tra lại lỗ hổng này

Hình 4 11 Gán nhãn lỗ hổng

Rà quét lỗ hổng SQL Injection sử dụng công cụ Acunetix

− Mục tiêu: Bài lab “SQL injection UNION attack, determining the number of columns returned by the query” trên PortSwigger

− Công cụ sử dụng: Acunetix 14.3

Bước 1: Chọn “Add Target” và nhập vào địa chỉ mục tiêu là bài lab “SQL injection UNION attack, determining the number of columns returned by the query” trên PortSwigger

Hình 4 12 Thêm mục tiêu mới

Bước 2: Chọn “Save”, sau đó thực hiện việc thiết lập một số cài đặt cơ bản

Hình 4 13 Thiết lập một số cài đặt cơ bản

Bước 3: Sau khi đã thiết lập xong thì chọn “Scan”, tại đây thiết lập 3 options là

Scan Profile, Report và Schedule Options Scan Profile chọn “SQL Injection”

Hình 4 14 Tại Options Scan Profile chọn "SQL Injection"

Bước 4: Chọn “Create Scan” và phiên rà quét sẽ được bắt đầu

Hình 4 15 Bắt đầu phiên rà quét

Bước 5: Phân tích kết quả sau khi rà quét xong

Hình 4 16 Kết quả sau khi quét xong

Kết quả cho thấy mục tiêu có lỗ hổng SQL Injection

Bước 6: Phân tích lỗ hổng

Tại mục Vulnerabilities, click vào lỗ hổng SQL Injection, ta có được thông tin chi tiết lỗ hổng như sau:

Hình 4 17 Chi tiết lỗ hổng SQL Injection

Tham số "category" có thể bị lợi dụng để thực hiện tấn công SQL Injection Mục tiêu của bài lab này là sử dụng phương pháp tấn công UNION SELECT nhằm xác định số cột trong bảng "category" Do đó, payload được sử dụng là 'UNION SELECT.

Để khai thác, chúng ta sẽ thay thế giá trị NULL từ 1 đến n sao cho trang web trả về kết quả Với 3 giá trị NULL, payload sẽ là ‘UNION SELECT NULL.

NULL, NULL thì trang web đã trả về kết quả, chứng tỏ bảng “category” có 3 cột

Hình 4 18 Trang web đã trả về kết quả

Ngày đăng: 08/01/2022, 11:02

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Acunetix, "The Future is the Web! How to keep it secure?," Acunetix, 2019 Sách, tạp chí
Tiêu đề: The Future is the Web! How to keep it secure
[2] Acunetix, "Web Application Vulnerability Report 2020," Acunetix, 2020 Sách, tạp chí
Tiêu đề: Web Application Vulnerability Report 2020
[3] NordPass, "Top 200 most common passwords of the year 2020," NordPass, 2020 Sách, tạp chí
Tiêu đề: Top 200 most common passwords of the year 2020
[4] NhungLTM, "Giới thiệu công cụ dò quét lỗ hổng Acunetix," Viblo, 2019. [Online]. Available: https://viblo.asia/p/gioi-thieu-cong-cu-do-quet-lo-hong-acunetix-ORNZqjDbl0n Sách, tạp chí
Tiêu đề: Giới thiệu công cụ dò quét lỗ hổng Acunetix
[5] Acunetix, "Introduction to Acunetix," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/introduction/ Sách, tạp chí
Tiêu đề: Introduction to Acunetix
[6] Acunetix, "Acunetix Overview," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/overview/ Sách, tạp chí
Tiêu đề: Acunetix Overview
[7] Acunetix, "Installing Acunetix," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/installing-acunetix-wvs/ Sách, tạp chí
Tiêu đề: Installing Acunetix
[8] Acunetix, "Installing Acunetix via Command Line," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/installing-acunetix-via-command-line/ Sách, tạp chí
Tiêu đề: Installing Acunetix via Command Line
[9] Acunetix, "Configuring Targets," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/configuring-targets/ Sách, tạp chí
Tiêu đề: Configuring Targets
[10] Acunetix, "Launching Scans," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/scanning-website/ Sách, tạp chí
Tiêu đề: Launching Scans
[11] Acunetix, "Deploying AcuSensor - Introduction," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/installing-acusensor/ Sách, tạp chí
Tiêu đề: Deploying AcuSensor - Introduction
[12] Acunetix, "Reviewing Scan Results," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/analyzing-scan-results/ Sách, tạp chí
Tiêu đề: Reviewing Scan Results
[13] Acunetix, "How To Generate Reports," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/generating-reports/ Sách, tạp chí
Tiêu đề: How To Generate Reports
[14] Acunetix, "Managing Vulnerabilities," Acunetix, [Online]. Available: https://www.acunetix.com/support/docs/wvs/managing-vulnerabilities/ Sách, tạp chí
Tiêu đề: Managing Vulnerabilities

HÌNH ẢNH LIÊN QUAN

Hình 1. 1. Tỉ lệ lỗ hổng ở mức cao và trung bình giảm dần qua từng năm - Bài tập lớn môn an toàn mạng (89)
Hình 1. 1. Tỉ lệ lỗ hổng ở mức cao và trung bình giảm dần qua từng năm (Trang 10)
Hình 1. 2. Mức độ phổ biến của các ngôn ngữ lập trình server-side qua các năm - Bài tập lớn môn an toàn mạng (89)
Hình 1. 2. Mức độ phổ biến của các ngôn ngữ lập trình server-side qua các năm (Trang 11)
Hình 1. 3. Tỉ lệ phần trăm các lỗ hổng được phát hiện trong các nền tảng khác nhau - Bài tập lớn môn an toàn mạng (89)
Hình 1. 3. Tỉ lệ phần trăm các lỗ hổng được phát hiện trong các nền tảng khác nhau (Trang 12)
Hình 1. 4. Tỉ lệ phần trăm các lỗ hổng bảo mật có mức độ nguy hiểm cao - Bài tập lớn môn an toàn mạng (89)
Hình 1. 4. Tỉ lệ phần trăm các lỗ hổng bảo mật có mức độ nguy hiểm cao (Trang 12)
Hình 1. 5. Tỉ lệ phần trăm các lỗ hổng bảo mật có mức độ trung bình - Bài tập lớn môn an toàn mạng (89)
Hình 1. 5. Tỉ lệ phần trăm các lỗ hổng bảo mật có mức độ trung bình (Trang 13)
Hình 1. 6. Tỉ lệ ứng dụng web chứa lỗ hổng RCE - Bài tập lớn môn an toàn mạng (89)
Hình 1. 6. Tỉ lệ ứng dụng web chứa lỗ hổng RCE (Trang 14)
Hình 1. 8. Tỉ lệ ứng dụng web chứa lỗ hổng Blind SQLi so với Union/error SQLi - Bài tập lớn môn an toàn mạng (89)
Hình 1. 8. Tỉ lệ ứng dụng web chứa lỗ hổng Blind SQLi so với Union/error SQLi (Trang 15)
Hình 1. 9. Tỉ lệ ứng dụng web chứa lỗ hổng LFI và Directory Traversal - Bài tập lớn môn an toàn mạng (89)
Hình 1. 9. Tỉ lệ ứng dụng web chứa lỗ hổng LFI và Directory Traversal (Trang 16)
Hình 1. 10. Tỉ lệ ứng dụng web chứa lỗ hổng XSS - Bài tập lớn môn an toàn mạng (89)
Hình 1. 10. Tỉ lệ ứng dụng web chứa lỗ hổng XSS (Trang 17)
Hình 1. 14. Tỉ lệ phần trăm các ứng dụng web chứa lỗ hổng SSRF - Bài tập lớn môn an toàn mạng (89)
Hình 1. 14. Tỉ lệ phần trăm các ứng dụng web chứa lỗ hổng SSRF (Trang 19)
Hình 1. 16. Tỉ lệ các ứng dụng web xây dựng trên WordPress và các nền tảng CMS chứa lỗ hổng - Bài tập lớn môn an toàn mạng (89)
Hình 1. 16. Tỉ lệ các ứng dụng web xây dựng trên WordPress và các nền tảng CMS chứa lỗ hổng (Trang 20)
Hình 2. 1. Công cụ rà quét lỗ hổng bảo mật tự động Acunetix - Bài tập lớn môn an toàn mạng (89)
Hình 2. 1. Công cụ rà quét lỗ hổng bảo mật tự động Acunetix (Trang 23)
Hình 2. 2. Cấu trúc trang web - Bài tập lớn môn an toàn mạng (89)
Hình 2. 2. Cấu trúc trang web (Trang 24)
Hình 2. 9. Thống kê số lỗ hổng tìm thấy trong 12 tháng qua - Bài tập lớn môn an toàn mạng (89)
Hình 2. 9. Thống kê số lỗ hổng tìm thấy trong 12 tháng qua (Trang 29)

TỪ KHÓA LIÊN QUAN

w