S
PWK / OSCP· Tài Liệu Học Tập PWK
Mở đầuTài Liệu Học Tập PWK

Vulnerability Scanning

PWK / OSCP · CHƯƠNG 7

Vulnerability Scanning

Quét lỗ hổng với Nessus và Nmap — từ lý thuyết, cấu hình, phân tích kết quả đến kiểm tra có xác thực.

Nessus EssentialsNmap NSEAuthenticated ScanPlugin Filtering
Chỉ thực hành trong lab, hệ thống được ủy quyền hoặc môi trường đào tạo.
Mở đầuTài Liệu Học Tập PWK

Nội dung của chương

01

Vulnerability Scanning Theory

Cách scanner hoạt động, loại hình quét và các yếu tố ảnh hưởng đến độ chính xác.

02

Vulnerability Scanning with Nessus

Cài đặt, cấu hình, quét thường, quét có xác thực, phân tích kết quả và plugin.

03

Vulnerability Scanning with Nmap

Sử dụng Nmap Scripting Engine để quét nhẹ và kiểm tra một CVE cụ thể.

Phụ đềTài Liệu Học Tập PWK
Mở đầuTài Liệu Học Tập PWK

Vulnerability scanning là gì?

  • Là quá trình xác định attack surface của phần mềm, hệ thống hoặc mạng.
  • Scanner có thể chỉ là một script kiểm tra một lỗ hổng hoặc một nền tảng thương mại kiểm tra nhiều nhóm lỗ hổng.
  • Trong pentest, quét tự động giúp nhanh chóng thiết lập một baseline trước khi kiểm thử thủ công sâu hơn.
  • Hai nhóm phổ biến được tài liệu nhắc đến là web application scanner và network vulnerability scanner.
Điểm cần nhớScanner hỗ trợ mở rộng độ bao phủ; nó không thay thế phân tích và xác minh thủ công.
Mở đầuTài Liệu Học Tập PWK

Vai trò trong một security assessment

01Thu thập dữ liệuXác định host, cổng, dịch vụ, phiên bản và hệ điều hành.
02Đối chiếuSo khớp dữ liệu với cơ sở dữ liệu lỗ hổng và plugin.
03Ưu tiênXem severity, CVSS/VPR, khả năng khai thác và phạm vi ảnh hưởng.
04Xác minhKiểm tra thủ công để loại false positive và xác nhận điều kiện khai thác.
Giới hạnScanner chỉ phát hiện những gì nó được cấu hình để kiểm tra.
7.1 Lý thuyếtTài Liệu Học Tập PWK

Mục tiêu học tập

  • Hiểu quy trình cơ bản của vulnerability scanning.
  • Phân biệt các loại vulnerability scan.
  • Nhận diện các yếu tố cần cân nhắc khi lập kế hoạch và thực hiện scan.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Quy trình cơ bản của scanner

01Host discoveryXác định mục tiêu đang hoạt động và phản hồi.
02Port scanningTìm các cổng mở và dịch vụ có thể truy cập từ xa.
03DetectionNhận diện hệ điều hành, dịch vụ và phiên bản.
04Database matchingĐối chiếu dữ liệu với CVE/NVD và plugin.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Host discovery và port scanning

H

Host discovery

Cho scanner biết mục tiêu có hoạt động và đang phản hồi hay không.

P

Port scanning

Xác định các cổng mở và bề mặt dịch vụ có thể truy cập từ xa.

V

Version detection

Thu thập phiên bản dịch vụ và thông tin hệ điều hành để phục vụ đối chiếu.

Cảnh báoNếu ICMP hoặc probe bị chặn, scanner có thể đánh dấu nhầm một host đang hoạt động là offline.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Đối chiếu với vulnerability database

  • Scanner sử dụng thông tin đã thu thập để truy vấn cơ sở dữ liệu lỗ hổng.
  • Hai ví dụ trong tài liệu: National Vulnerability Database (NVD) và chương trình Common Vulnerabilities and Exposures (CVE).
  • Một số scanner thương mại còn thử xác minh bằng cách khai thác một phần hoặc toàn bộ lỗ hổng.
  • Việc xác minh có thể giảm số lỗ hổng bị bỏ sót nhưng cũng có thể ảnh hưởng đến độ ổn định của dịch vụ hoặc hệ thống.
Điểm cần nhớTrước khi bật kiểm tra có tính xâm nhập, phải hiểu rõ tác động và Rules of Engagement.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

CVE và CVSS không phải một khái niệm

Khái niệmMục đíchThông tin cung cấp
CVEĐịnh danh một lỗ hổng đã được công bố.Mã nhận diện; bản thân mã CVE không cho biết mức độ nghiêm trọng.
CVSSĐánh giá đặc điểm và severity của lỗ hổng.Điểm từ 0 đến 10 cùng nhãn severity.
Phiên bảnTài liệu đề cập CVSS v2, CVSS v3 và bản CVSS v3.1 phát hành năm 2019.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Dải điểm CVSS

Figure 1: CVSS Ratings
  • CVSS v2.0 và v3.0 dùng cùng thang điểm 0–10 nhưng cách gắn nhãn severity khác nhau.
  • Có thể tra điểm CVSS trong vulnerability database hoặc sử dụng CVSS calculator khi chưa có CVE.
Figure 1: CVSS Ratings
Điểm cần nhớKhông nên đánh giá rủi ro chỉ dựa trên con số; cần xem bối cảnh hệ thống và khả năng khai thác.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

False positive

  • Scanner báo có lỗ hổng nhưng mục tiêu thực tế không vulnerable.
  • Nguyên nhân có thể là nhận diện sai dịch vụ hoặc phiên bản.
  • Một cấu hình cụ thể có thể khiến lỗ hổng không thể khai thác.
  • Bản vá có thể được backport vào phiên bản phần mềm cũ nhưng số phiên bản không đổi.
Ví dụ trong tài liệuScanner báo một lỗ hổng chỉ khai thác được trên Linux trong khi mục tiêu chạy Windows → false positive.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

False negative

  • Mục tiêu có lỗ hổng nhưng scanner không phát hiện.
  • Có thể xảy ra khi dịch vụ/phiên bản bị nhận diện sai, host bị bỏ qua hoặc probe bị lọc/rate-limit.
  • Một scanner không được cấu hình với đúng plugin hoặc loại kiểm tra cũng có thể bỏ sót lỗ hổng.
Ví dụ trong tài liệuScanner nhận diện sai phiên bản FTP là bản không có lỗ hổng, trong khi dịch vụ thật sự vulnerable → false negative.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Manual scan và automated scan

Phương phápƯu điểmHạn chế
ManualCó thể phát hiện lỗ hổng logic, phức tạp và phụ thuộc bối cảnh.Tốn thời gian, nguồn lực; dễ bỏ sót chi tiết khi dữ liệu quá lớn.
AutomatedNhanh chóng phát hiện low-hanging fruit và mở rộng độ bao phủ trên mạng lớn.Có false positive/negative; phụ thuộc cấu hình và khả năng của scanner.
Cách làm đúngHiểu cách công cụ hoạt động để cấu hình đúng, đọc kết quả đúng và bù đắp giới hạn bằng chuyên môn thủ công.
7.1.1 Cách scanner hoạt độngTài Liệu Học Tập PWK

Tự kiểm tra khái niệm

Q1

Sai nền tảng

Scanner báo lỗ hổng Linux trên máy Windows. Đây là false positive.

Q2

Sai phiên bản

Scanner thấy phiên bản FTP không có lỗ hổng nhưng dịch vụ thật sự vulnerable. Đây là false negative.

7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

Bốn loại scan cần phân biệt

E

External

Thực hiện từ internet hoặc góc nhìn bên ngoài perimeter.

I

Internal

Thực hiện khi có quyền truy cập mạng nội bộ hoặc qua VPN.

U

Unauthenticated

Không cung cấp credential; tập trung vào dịch vụ có thể truy cập từ xa.

A

Authenticated

Đăng nhập bằng credential hợp lệ để kiểm tra local package, patch và cấu hình.

7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

External vulnerability scan

  • Phân tích các hệ thống có thể truy cập từ internet.
  • Mục tiêu thường là web application, hệ thống trong DMZ và public-facing service.
  • Khách hàng có thể cung cấp danh sách IP hoặc yêu cầu tự lập bản đồ toàn bộ hạ tầng công khai.
  • Scan bên ngoài đôi khi phát hiện các hệ thống nhạy cảm bị phơi bày mà tổ chức không biết.
Mục tiêuĐánh giá trạng thái bảo mật từ góc nhìn của attacker ở bên ngoài.
7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

Internal vulnerability scan

  • Scanner có quyền truy cập một phần hoặc toàn bộ mạng nội bộ.
  • Kết nối thường thông qua VPN hoặc thực hiện trực tiếp tại địa điểm khách hàng.
  • Mục tiêu là đánh giá trạng thái bảo mật nội bộ và các vector attacker có thể dùng sau khi vượt perimeter.
  • Vị trí đặt scanner trong mạng ảnh hưởng trực tiếp đến host và service có thể nhìn thấy.
7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

Unauthenticated scan

  • Không cung cấp thông tin đăng nhập.
  • Lập bản đồ open port và dịch vụ có thể truy cập từ xa.
  • Đối chiếu service/version với vulnerability database để hình thành attack surface.
  • Không cung cấp đầy đủ thông tin về missing patch, phần mềm cũ hoặc local misconfiguration.
Ví dụKhông thể xác định một Windows target đã vá HiveNightmare chỉ bằng unauthenticated scan.
7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

Authenticated scan

  • Scanner đăng nhập vào mục tiêu bằng credential hợp lệ.
  • Thường dùng tài khoản có quyền cao để tăng khả năng quan sát.
  • Kiểm tra vulnerable package, missing patch và configuration vulnerability.
  • Thường cho kết quả chi tiết hơn và giảm false positive so với scan không xác thực.
7.1.2 Loại vulnerability scanTài Liệu Học Tập PWK

So sánh nhanh

Câu hỏiLựa chọn phù hợp
Muốn biết perimeter công khai nhìn từ internet?External + unauthenticated
Muốn biết attacker làm gì sau khi vào mạng nội bộ?Internal scan
Muốn kiểm tra tất cả bản vá trên Linux?Authenticated scan
Muốn kiểm tra public service mà không có credential?Unauthenticated scan
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Scan duration

  • Thời lượng phụ thuộc loại scan và số lượng mục tiêu.
  • External scan qua internet thường lâu hơn do nhiều hop và intermediate system.
  • Danh sách IP lớn cần được lập kế hoạch phù hợp với thời gian engagement.
  • Bật UDP scanning, nhiều plugin hoặc nhiều target song song có thể làm thời lượng tăng mạnh.
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Target visibility — external

  • Không nên chỉ nhập IP và bấm Start mà chưa xác nhận khả năng truy cập.
  • Firewall và cơ chế hạn chế truy cập có thể làm hệ thống hoặc dịch vụ không thể nhìn thấy.
  • Ví dụ của tài liệu: hệ thống ở nhiều quốc gia chỉ cho phép IP trong cùng quốc gia truy cập; scanner ở vị trí hiện tại chỉ nhìn thấy một phần hạ tầng.
Hệ quảKết quả “không thấy” không đồng nghĩa với “không tồn tại”.
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Target visibility — internal

  • Vị trí của scanner trong mạng quyết định subnet và hệ thống có thể tiếp cận.
  • Firewall, IPS, router và thiết bị trung gian có thể lọc hoặc thay đổi traffic.
  • Nếu ICMP Host Discovery không được forward, scanner có thể đánh dấu mục tiêu là offline.
  • Khi scan subnet khác, phải xác nhận routing, ACL và các cơ chế kiểm soát trung gian.
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Rate limiting

  • Rate limiting giới hạn throughput, packet count hoặc connection count.
  • Khi vượt ngưỡng, khả năng mạng của máy scanner có thể bị hạn chế mạnh.
  • Host discovery và service detection bị làm chậm có thể khiến scanner bỏ sót host hoặc service.
  • Scanner thường cho phép điều chỉnh delay, timeout và số kết nối song song.
Dấu hiệuKết quả không ổn định, nhiều host “offline” bất thường hoặc service detection thiếu nhất quán.
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Tác động lên mạng và hệ thống

N

Network impact

Quét nhiều target song song có thể tạo lượng traffic lớn và làm mạng khó sử dụng.

S

System stability

Một số probe hoặc plugin có thể gây mất ổn định dịch vụ hoặc hệ thống.

T

Tuning

Giảm parallel scan, giảm tốc độ và chỉ bật các kiểm tra cần thiết.

Nguyên tắcMọi vulnerability scan đều có khả năng gây tác động; phải được cho phép và lên lịch phù hợp.
7.1.3 Các yếu tố cần cân nhắcTài Liệu Học Tập PWK

Checklist trước khi scan

  • Xác nhận scope, target list và vị trí scanner.
  • Xác nhận VPN, routing, firewall rule và whitelist cần thiết.
  • Ước lượng scan duration và khung thời gian được phép.
  • Chọn TCP/UDP, port range, plugin và mức độ intrusive phù hợp.
  • Giới hạn parallelism, timeout và tốc độ nếu môi trường nhạy cảm.
  • Chuẩn bị cách tạm dừng hoặc dừng scan khi xuất hiện sự cố.
7.2 NessusTài Liệu Học Tập PWK

Mục tiêu học tập với Nessus

  • Cài đặt Nessus.
  • Hiểu các thành phần chính.
  • Cấu hình và thực hiện vulnerability scan.
  • Đọc và làm việc với kết quả.
  • Cung cấp credential cho authenticated scan.
  • Hiểu cơ bản về Nessus plugin.
7.2 NessusTài Liệu Học Tập PWK

Nessus Essentials và Professional

Phiên bảnĐặc điểm trong tài liệu
Nessus EssentialsMiễn phí; giới hạn 16 địa chỉ IP; một số template và chức năng không có.
Nessus ProfessionalPhiên bản thương mại với nhiều khả năng và phạm vi sử dụng hơn.
Dữ liệu trong tài liệuNessus được mô tả có hơn 67.000 CVE và 168.000 plugin tại thời điểm tài liệu được biên soạn.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Yêu cầu và nền tảng

  • Cài trên Kali Linux VM dùng để kết nối môi trường lab PEN-200.
  • Cần internet và business email để tải xuống, đăng ký và kích hoạt.
  • Tenable khuyến nghị tối thiểu 4 CPU core và 8 GB RAM.
  • Đối với bài thực hành, tài liệu cho biết 2 CPU core và 4 GB RAM là đủ.
  • Nessus không có trong Kali repository; phải cài thủ công từ file .deb.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Tải Nessus cho Kali

Figure 2: Download Nessus for Kali
  • Chọn nền tảng Linux - Debian - amd64 cho Kali x64.
  • Máy Apple dùng chip ARM có thể chọn installer Linux - Ubuntu - arch64 cho Kali VM.
Figure 2: Download Nessus for Kali
Điểm cần nhớTải checksum SHA256/MD5 cùng installer để xác minh tính toàn vẹn.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Xác minh SHA256 checksum

Checksum và tên file phải khớp với phiên bản installer đã tải.

Listing 1 — Verifying the checksum
kali@kali:~$ 
cd ~/Downloads


kali@kali:~/Downloads$ 
echo "4987776fef98bb2a72515abc0529e90572778b1d7aeeb1939179ff1f4de1440d Nessus-10.5.0-debian10_amd64.deb" > sha256sum_nessus


kali@kali:~/Downloads$ 
sha256sum -c sha256sum_nessus


Nessus-10.5.0-debian10_amd64.deb: OK
Điểm cần nhớKết quả OK cho biết checksum khớp. Nếu dùng phiên bản Nessus mới hơn, phải cập nhật chuỗi checksum và filename.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Cài đặt gói Nessus

Sử dụng apt install với đường dẫn đến file .deb.

Listing 2 — x64 Nessus installation
kali@kali:~/Downloads$ 
sudo apt install ./Nessus-10.5.0-debian10_amd64.deb

...
Preparing to unpack .../Nessus-10.5.0-debian10_amd64.deb ...
Unpacking nessus (10.5.0) ...
Setting up nessus (10.5.0) ...
...
Unpacking Nessus Scanner Core Components...
 - 
You can start Nessus Scanner by typing /bin/systemctl start nessusd.service

 - 
Then go to https://kali:8834/ to configure your scanner
Điểm cần nhớThông báo sau cài đặt chỉ ra service nessusd.service và cổng cấu hình HTTPS 8834.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Khởi động Nessus service

Sau khi cài đặt hoàn tất, khởi động service bằng systemctl.

Listing 3 — Starting Nessus
kali@kali:~/Downloads$ 
sudo systemctl start nessusd.service
Điểm cần nhớMở trình duyệt tới https://127.0.0.1:8834.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Cảnh báo chứng chỉ tự ký

Figure 3: Nessus Presenting a Certificate Warning
  • Cảnh báo “unknown certificate issuer” là dự kiến vì Nessus dùng self-signed certificate.
  • Trong lab, chọn Advanced… rồi Accept the Risk and Continue.
Figure 3: Nessus Presenting a Certificate Warning
Điểm cần nhớChỉ chấp nhận chứng chỉ khi chắc chắn đang truy cập đúng instance Nessus của mình.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Pre-installation settings

Figure 4: Configuring Pre-Installation Settings
  • Nhấn Continue để bắt đầu cài đặt với cấu hình mặc định.
Figure 4: Configuring Pre-Installation Settings
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Chọn Nessus Essentials

Figure 4: Selecting Nessus Essentials
  • Chọn Register for Nessus Essentials rồi tiếp tục.
  • Tài liệu gốc đánh số Figure 4 hai lần.
Figure 4: Selecting Nessus Essentials
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Yêu cầu activation code

Figure 5: Requesting an Activation Code
  • Nhập thông tin được yêu cầu và nhấn Register.
Figure 5: Requesting an Activation Code
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Kích hoạt Nessus

Figure 6: Activating Nessus
  • Activation code được hiển thị sau bước đăng ký.
Figure 6: Activating Nessus
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Tạo tài khoản Nessus cục bộ

Figure 7: Creating a Local Nessus Account
  • Tài liệu dùng username admin và yêu cầu password mạnh.
  • Credential này dùng để đăng nhập và bảo vệ kết quả vulnerability scan.
Figure 7: Creating a Local Nessus Account
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Tải và biên dịch plugin

Figure 8: Downloading Nessus Plugins
  • Nessus tải và compile toàn bộ plugin.
  • Quá trình này có thể mất nhiều thời gian.
Figure 8: Downloading Nessus Plugins
Điểm cần nhớChỉ khi plugin hoàn tất tải và cài đặt, instance Nessus Essentials mới sẵn sàng sử dụng.
7.2.1 Cài đặt NessusTài Liệu Học Tập PWK

Checklist hoàn tất cài đặt

  • Installer đã được xác minh checksum.
  • Package Nessus đã cài thành công.
  • nessusd.service đang chạy.
  • Truy cập được https://127.0.0.1:8834.
  • Nessus Essentials đã kích hoạt.
  • Tài khoản cục bộ đã tạo và plugin đã tải xong.
7.2.2 Thành phần NessusTài Liệu Học Tập PWK

Settings và thông tin hệ thống

Figure 9: Exploring Nessus Settings
  • Nessus Essentials có hai tab chính: ScansSettings.
  • Settings cho phép cấu hình SMTP, giao diện, hành vi scan/log, security và performance.
  • About hiển thị phiên bản, license và số host còn được phép scan.
Figure 9: Exploring Nessus Settings
7.2.2 Thành phần NessusTài Liệu Học Tập PWK

Policy và template

  • Policy là tập hợp tùy chọn cấu hình đã định nghĩa trước cho một Nessus scan.
  • Policy đã lưu có thể được dùng như template cho scan mới.
  • Scan Templates được chia thành ba nhóm: Discovery, VulnerabilitiesCompliance.
  • Compliance và Mobile Device Scan chỉ có trong phiên bản enterprise theo tài liệu.
7.2.2 Thành phần NessusTài Liệu Học Tập PWK

Các Nessus scan template

Figure 10: Nessus Policy Templates
  • Discovery có Host Discovery để tạo danh sách live host và open port.
  • Vulnerabilities có template cho nhóm lỗ hổng, critical vulnerability, web application test và malware scan.
Figure 10: Nessus Policy Templates
7.2.2 Thành phần NessusTài Liệu Học Tập PWK

Ba template tổng quát

TemplateĐặc điểm
Basic Network ScanPhần lớn setting được định nghĩa sẵn; quét nhiều loại lỗ hổng; được Nessus khuyến nghị.
Advanced ScanKhông có setting định nghĩa sẵn; phù hợp khi cần tùy biến hoàn toàn.
Advanced Dynamic ScanKhông có setting/recommendation sẵn; dùng dynamic plugin filter thay vì chọn plugin thủ công.
7.2.2 Thành phần NessusTài Liệu Học Tập PWK

Nessus plugin và NASL

  • Nessus plugin là chương trình viết bằng Nessus Attack Scripting Language (NASL).
  • Plugin chứa thông tin và thuật toán để phát hiện lỗ hổng.
  • Mỗi plugin thuộc một plugin family tương ứng với một nhóm use case.
  • Dynamic plugin filter cho phép chọn plugin dựa trên CVE, family hoặc tiêu chí khác.
Điểm cần nhớKết quả scan phụ thuộc trực tiếp vào plugin được bật và dữ liệu plugin hiện có.
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Workflow của Basic Network Scan

01New ScanTạo một định nghĩa scan mới.
02TemplateChọn Basic Network Scan.
03TargetsĐặt tên và nhập danh sách mục tiêu.
04TuneĐiều chỉnh Discovery, port range và Host Discovery.
05LaunchLưu và chạy scan; theo dõi trạng thái.
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Tạo scan mới

Figure 11: Creating a Scan
  • Trong tab Scans, nhấn New Scan.
Figure 11: Creating a Scan
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Chọn Basic Network Scan

Figure 12: Selecting a Basic Network Scan
  • Basic Network Scan đã có phần lớn setting được cấu hình sẵn.
  • Setting mặc định vẫn phải được xem xét theo scope và môi trường.
Figure 12: Selecting a Basic Network Scan
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Các nhóm setting

Figure 13: Different Settings in Scan Configuration
  • Màn hình cấu hình gồm BASIC, DISCOVERY, ASSESSMENT, REPORTADVANCED.
Figure 13: Different Settings in Scan Configuration
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Đặt tên và nhập target

Figure 14: Configuring Scan Name and Target List
  • Hai trường bắt buộc: tên scan và danh sách target.
  • Ví dụ trong tài liệu: POULTRY, JENKINS, WK01 và SAMBA.
Figure 14: Configuring Scan Name and Target List
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Định dạng target được hỗ trợ

IP

Một địa chỉ IP

Quét một host cụ thể.

R

IP range

Quét một dải địa chỉ IP.

F

FQDN

Có thể nhập FQDN phân tách bằng dấu phẩy.

L

IP list

Có thể cung cấp danh sách địa chỉ IP.

7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Chuyển Discovery sang Custom

Figure 15: Selecting Custom Discovery Settings
  • Setting mặc định quét một danh sách common port.
  • Ví dụ chỉ cần TCP 80 và 443 nên phải chọn Custom.
Figure 15: Selecting Custom Discovery Settings
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Giới hạn port range

Figure 16: Specifying Ports 80 and 443
  • Đặt Port scan range thành 80,443.
  • Bật Consider unscanned ports as closed vì không quan tâm các cổng khác.
Figure 16: Specifying Ports 80 and 443
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

UDP scanning không bật mặc định

  • Basic Network Scan mặc định không quét UDP.
  • Nếu cần UDP, phải bật thủ công.
  • Không bật UDP có thể bỏ lỡ thông tin quan trọng về UDP service.
  • Bật UDP làm scan lâu hơn nhiều vì khó phân biệt open và filtered port.
Quyết định cấu hìnhChỉ bật UDP khi scope và thời gian cho phép, đồng thời hiểu tác động đến scan duration.
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Tắt Host Discovery trong ví dụ

Figure 17: Disable Host Ping in Discovery Settings
  • Vì biết chắc host đang hoạt động, tài liệu tắt Ping the remote host.
  • Mục tiêu là tiết kiệm thời gian và giảm độ ồn.
Figure 17: Disable Host Ping in Discovery Settings
Điểm cần nhớKhông nên tắt Host Discovery theo thói quen; quyết định phải dựa trên mức độ chắc chắn về target.
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Scan này là unauthenticated

  • Không cấu hình credential nên scan chạy ở chế độ unauthenticated.
  • Không thay đổi setting ASSESSMENT mặc định nên Nessus không brute-force user credential.
  • Dù không brute force, scan nhiều host vẫn tạo nhiều network traffic và rất dễ bị phát hiện.
Điểm cần nhớ“Không brute force” không đồng nghĩa với “scan yên lặng”.
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Launch scan

Figure 18: Launching the Scan
  • Nhấn mũi tên cạnh Save rồi chọn Launch.
Figure 18: Launching the Scan
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Trạng thái Running

Figure 19: Running Scan in the Nessus Dashboard
  • Scan xuất hiện trong My Scans với trạng thái Running.
  • Có thể pause hoặc stop khi cần.
Figure 19: Running Scan in the Nessus Dashboard
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Trạng thái Completed

Figure 20: Completed Scan in the Nessus Dashboard
  • Khi scan kết thúc, trạng thái chuyển thành Completed.
Figure 20: Completed Scan in the Nessus Dashboard
7.2.3 Thực hiện scanTài Liệu Học Tập PWK

Checklist cấu hình Basic Network Scan

  • Tên scan và target list chính xác.
  • Port range phù hợp với mục tiêu kiểm thử.
  • Quyết định rõ có bật UDP hay không.
  • Host Discovery phù hợp với visibility thực tế.
  • Credential có hoặc không có được xác định rõ.
  • Assessment option không vượt quá phạm vi được phép.
  • Đã dự kiến network traffic và khả năng bị phát hiện.
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Lưu ý trước khi so sánh kết quả

  • VM group của phần này khác phần trước trong tài liệu lab.
  • Nessus và plugin được cập nhật liên tục nên kết quả có thể khác nhẹ.
  • Tên nhóm, số finding và thông tin hiển thị có thể thay đổi giữa các phiên bản.
Nguyên tắcKhông coi khác biệt nhỏ với ảnh tài liệu là lỗi nếu phiên bản/plugin đã thay đổi.
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Results dashboard

Figure 21: Result Dashboard
  • Trang Hosts liệt kê tất cả host đã quét và trực quan hóa dữ liệu vulnerability.
  • Có thể nhìn nhanh trạng thái bảo mật của từng hệ thống và phân bố finding toàn bộ target.
Figure 21: Result Dashboard
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Xem finding theo host

Figure 22: Vulnerability Result Dashboard of 192.168.50.124
  • Ví dụ chọn host 192.168.50.124.
  • Cột Severity cho chỉ báo nhanh; Count cho biết số finding trong nhóm.
Figure 22: Vulnerability Result Dashboard of 192.168.50.124
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

MIXED severity và grouping

  • Nessus dùng severity MIXED khi một dòng đại diện cho nhóm finding.
  • Cột Count cho biết nhóm đó có bao nhiêu finding.
  • Nhấn vào nhóm để hiển thị từng finding bên trong.
  • Family cho biết plugin family hoặc ngữ cảnh kiểm tra, ví dụ Web Servers.
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Mở nhóm Apache Httpd

Figure 23: List of Grouped Findings
  • Ví dụ nhóm Apache Httpd (Multiple Issues) chứa nhiều finding riêng biệt.
  • Mở nhóm trước khi đánh giá severity và remediation.
Figure 23: List of Grouped Findings
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Chi tiết một finding

Figure 24: Detailed Information of a Finding
  • Ví dụ: Apache 2.4.49 < 2.4.51 Path Traversal Vulnerability.
  • Trang chi tiết có thông tin vulnerability, plugin, risk, exploit status và reference.
Figure 24: Detailed Information of a Finding
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Đọc một finding theo lớp

01DetectionPlugin nào phát hiện và dựa trên bằng chứng nào?
02Affected assetHost, port, service và phiên bản nào bị ảnh hưởng?
03RiskSeverity, CVSS/VPR và exploit status ra sao?
04EvidencePlugin output có đủ để xác nhận hay chỉ dựa vào version?
05ActionRemediation nào được đề xuất và cần xác minh gì thêm?
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

VPR Top Threats

Figure 25: VPR List of Vulnerabilities
  • VPR Top Threats ưu tiên tối đa mười vulnerability quan trọng nhất của scan.
  • Ví dụ chỉ có sáu vì scan không tìm thấy nhiều hơn với cấu hình đã dùng.
  • Một số phiên bản có thể không hiển thị tab này, nhưng từng finding vẫn có VPR.
Figure 25: VPR List of Vulnerabilities
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

VPR và CVSS

Chỉ sốVai trò khi phân tích
CVSSĐánh giá đặc điểm kỹ thuật và severity của vulnerability.
VPRTenable dùng để ưu tiên finding dựa trên dữ liệu và bối cảnh threat của sản phẩm.
Điểm cần nhớDùng chỉ số để sắp xếp công việc, nhưng vẫn phải đọc bằng chứng và bối cảnh asset.
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Remediations

Figure 26: Remediation of Vulnerabilities
  • Plugin thường kèm remediation strategy hoặc thông tin giảm thiểu.
  • Đọc remediation cùng bằng chứng và điều kiện ảnh hưởng, không chỉ sao chép nguyên văn.
Figure 26: Remediation of Vulnerabilities
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

History và Audit Trail

H

History

Liệt kê các lần scan sử dụng cùng cấu hình để xem hoặc so sánh kết quả trước đây.

A

Audit Trail

Giúp phân tích vì sao một plugin hành xử theo cách nhất định và hỗ trợ giảm false negative.

E

Export

Report dashboard cho phép đổi cấu hình, chạy lại scan, xuất dữ liệu và tạo report.

7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Tạo report

Figure 27: Create a Report
  • Nhấn Report trong dashboard của scan.
Figure 27: Create a Report
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Chọn report template và format

Figure 28: Select the Report Format and Template
  • Ví dụ dùng Detailed Vulnerabilities By Host.
  • Chọn PDF và nhấn Generate Report.
  • Có thể dùng Complete List of Vulnerabilities by Host để tạo bản tóm tắt.
Figure 28: Select the Report Format and Template
7.2.4 Phân tích kết quảTài Liệu Học Tập PWK

Workflow phân tích sau scan

01HostsXem tổng quan asset và phân bố finding.
02FindingsMở từng host, nhóm và finding.
03PrioritizeDùng severity, VPR và exploit status để sắp xếp.
04ValidateXác minh finding quan trọng và loại false positive.
05ReportXuất dữ liệu, tạo report và ghi lại kết luận.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Vì sao dùng authenticated scan?

  • Cung cấp thông tin chi tiết hơn về local package, missing patch và cấu hình.
  • Giảm số false positive so với chỉ dựa trên service/version từ xa.
  • Tạo nhiều network traffic và nhiều dấu vết trên host như log entry hoặc AV notification.
  • Ví dụ của tài liệu thực hiện trên target DESKTOP.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Tạo scan mới

Figure 29: Creating a new Scan
  • Bắt đầu bằng New Scan.
Figure 29: Creating a new Scan
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Chọn Credentialed Patch Audit

Figure 30: Select Credentialed Patch Audit
  • Template được cấu hình sẵn để chạy local security checks.
  • Không thực hiện regular external vulnerability check như Basic Network Scan.
  • Kiểm tra missing OS patch và outdated application có thể liên quan privilege escalation.
Figure 30: Select Credentialed Patch Audit
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Đặt tên và target

Figure 31: Basic Settings for the Authenticated Scan
  • Cấu hình tên scan và đặt mục tiêu là DESKTOP.
Figure 31: Basic Settings for the Authenticated Scan
7.2.5 Authenticated scanTài Liệu Học Tập PWK

SSH và sudo credential

Figure 32: SSH and Sudo Credentials for the Authenticated Scan
  • Credentials → Host → SSH; Authentication method: password.
  • Lab example: username offsec, password lab.
  • Elevate privileges with: sudo; sudo user root; password lab.
Figure 32: SSH and Sudo Credentials for the Authenticated Scan
Điểm cần nhớCác credential trên thuộc ví dụ lab trong tài liệu; không sử dụng ngoài môi trường được phép.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Authentication mechanism theo nền tảng

TargetCơ chế được tài liệu nêu
Linux / macOSSSH
WindowsThường dùng SMB và WMI; cũng có thể dùng SSH trong một số trường hợp.
Tài khoảnCó thể dùng local account hoặc domain account tùy cơ chế và target.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Điều kiện để có kết quả có ý nghĩa

  • Firewall không được chặn kết nối từ scanner đến dịch vụ xác thực.
  • AV có thể coi scan là malicious, ngắt kết nối hoặc làm kết quả vô dụng.
  • Có thể cần thêm exception cho scanner hoặc tạm thời vô hiệu hóa AV theo thỏa thuận.
  • Trên Windows, UAC có thể khiến credentialed check không có đủ quyền.
  • Cần cấu hình UAC phù hợp hoặc tạm thời tắt theo hướng dẫn của Tenable và chính sách engagement.
Cảnh báoThay đổi AV/UAC là thao tác nhạy cảm, chỉ thực hiện khi được khách hàng phê duyệt.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Tắt grouping của kết quả

Figure 33: Disable Grouped Results
  • Trong Vulnerabilities page, nhấn biểu tượng bánh răng và chọn Disable Groups.
Figure 33: Disable Grouped Results
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Kết quả authenticated scan

Figure 34: Authenticated Scan Results
  • Sau khi tắt grouping, mỗi finding được liệt kê riêng.
  • Authenticated scan hiển thị các local security check mà unauthenticated scan không thấy.
Figure 34: Authenticated Scan Results
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Plugin family trong local checks

  • Plugin family nhóm các plugin kiểm tra cùng ngữ cảnh.
  • Có family riêng cho database, firewall, web server và nhiều nền tảng khác.
  • Ubuntu Local Security Checks chứa nhiều plugin kiểm tra local vulnerability và missing patch trên Ubuntu.
  • Cột Name cung cấp Ubuntu version bị ảnh hưởng, mô tả ngắn và patch number.
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Vulnerability của ứng dụng cục bộ

Figure 35: Vulnerability data of Firefox and curl
  • Danh sách còn có dữ liệu về ứng dụng cài trên host như Firefox và cURL.
  • Đây là loại visibility mà scan không xác thực thường không cung cấp.
Figure 35: Vulnerability data of Firefox and curl
7.2.5 Authenticated scanTài Liệu Học Tập PWK

Checklist authenticated scan

  • Template phù hợp với mục tiêu local check.
  • Credential hợp lệ và có mức quyền cần thiết.
  • Cơ chế SSH/SMB/WMI hoạt động từ scanner.
  • Firewall, AV và UAC đã được xử lý theo phê duyệt.
  • Credentialed checks thành công; không chỉ “scan completed”.
  • Finding được xem riêng và xác minh khi cần.
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Khi nào cần chạy plugin có chọn lọc?

  • Xác minh lại một finding đã có.
  • Nhanh chóng tìm toàn bộ target có nguy cơ bởi một vulnerability cụ thể.
  • Giảm thời lượng và độ ồn so với chạy một template rộng.
  • Tập trung vào một CVE hoặc plugin family phù hợp với hệ điều hành.
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Use case trong tài liệu

CVE

CVE-2021-3156

Lỗ hổng local privilege escalation.

T

Target DESKTOP

Kiểm tra có xác thực trên Ubuntu Linux.

F

Dynamic plugin filter

Lọc plugin theo CVE và Ubuntu Local Security Checks.

7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Tạo scan cho plugin filtering

Figure 36: Creating a new Scan
  • Bắt đầu lại với New Scan.
Figure 36: Creating a new Scan
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Chọn Advanced Dynamic Scan

Figure 37: Select Advanced Dynamic Scan
  • Template này dùng dynamic plugin filter thay vì bật/tắt plugin thủ công.
Figure 37: Select Advanced Dynamic Scan
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Cấu hình tên, target và credential

Figure 38: Enter Name and Target
  • Đặt tên và target.
  • Cung cấp lại SSH và sudo credential như authenticated scan trước.
Figure 38: Enter Name and Target
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Lọc theo CVE

Figure 39: Filter for specific Plugins
  • Dynamic Plugins → chọn CVE.
  • Nhập CVE-2021-3156 và nhấn Preview Plugins.
  • Quá trình preview có thể mất vài phút.
Figure 39: Filter for specific Plugins
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Xem plugin family phù hợp

Figure 40: Select Family of Plugins covering CVE-2021-3156
  • Preview Plugins trả về các plugin family bao phủ CVE đã chọn.
Figure 40: Select Family of Plugins covering CVE-2021-3156
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Thêm filter thứ hai

Figure 41: Add Filter
  • Nhấn nút dấu cộng cạnh filter đầu tiên.
Figure 41: Add Filter
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Kết hợp CVE và Plugin Family

Figure 42: Combined Plugin Filters
  • Filter 1: CVE = CVE-2021-3156.
  • Filter 2: Plugin Family = Ubuntu Local Security Checks.
Figure 42: Combined Plugin Filters
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Khác biệt giữa phiên bản Nessus

  • Một số phiên bản có thể không hiển thị giá trị trong dropdown Plugin Family.
  • Nếu xảy ra, tài liệu hướng dẫn bỏ filter thứ hai và tiếp tục chỉ với CVE filter.
  • Sau khi điều chỉnh, chạy lại Preview Plugins để xem danh sách thực tế.
Không suy đoánKhi UI khác tài liệu, dựa vào kết quả Preview Plugins thay vì tự chọn một plugin không được trả về.
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Thông tin plugin cho CVE-2021-3156

Figure 43: Ubuntu Local Security Check Plugin for CVE-2021-3156
  • Nessus hiển thị Ubuntu version bị ảnh hưởng, mô tả, patch number và Plugin ID.
Figure 43: Ubuntu Local Security Check Plugin for CVE-2021-3156
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Chi tiết Plugin 145463

Figure 44: Detailed Information of Plugin 145463
  • Nhấn vào plugin để xem thông tin chi tiết trước khi chạy scan.
Figure 44: Detailed Information of Plugin 145463
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Finding của Advanced Dynamic Scan

Figure 45: Listed Findings of the Advanced Dynamic Scan
  • Kết quả có một finding severity HIGH từ plugin đã chọn.
Figure 45: Listed Findings of the Advanced Dynamic Scan
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Chi tiết finding đã lọc

Figure 46: Detailed Information about the Findings of the specified Plugins
  • Finding xác nhận target được plugin đánh dấu vulnerable với CVE-2021-3156.
  • Plugin output nói rõ Nessus chỉ dựa trên reported version và không khai thác để xác nhận.
Figure 46: Detailed Information about the Findings of the specified Plugins
7.2.6 Nessus pluginsTài Liệu Học Tập PWK

Version-based finding phải được xác minh

  • Plugin có thể chỉ so sánh reported version với dữ liệu vulnerability.
  • Scanner có thể không kiểm tra điều kiện khai thác thực tế.
  • Backporting, cấu hình hoặc mitigation có thể làm finding không exploitable.
  • Trong assessment, phải xác minh finding quan trọng bằng phương pháp phù hợp và được phép.
Dấu hiệu cần kiểm traPlugin output có câu tương tự “did not try to confirm the vulnerability” hoặc “based on version only”.
7.3 NmapTài Liệu Học Tập PWK

Mục tiêu học tập với Nmap NSE

  • Hiểu cơ bản về Nmap Scripting Engine (NSE).
  • Thực hiện lightweight vulnerability scan bằng Nmap.
  • Làm việc với custom NSE script.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

NSE mở rộng Nmap như thế nào?

  • Thêm chức năng cho vulnerability detection, brute forcing và network discovery.
  • Mở rộng version detection và information gathering.
  • Script được phân nhóm bằng category; một script có thể thuộc nhiều category.
  • Phần này tập trung vào category vuln.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Safe và intrusive

CategoryÝ nghĩa trong tài liệu
safeKhông có khả năng gây tác động đến độ ổn định.
intrusiveCó thể làm crash service hoặc system.
vulnNhóm script dùng để phát hiện vulnerability.
Cảnh báoKhông chạy một NSE script hoặc cả category khi chưa hiểu tác động của nó.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Liệt kê script thuộc category vuln

NSE script nằm tại /usr/share/nmap/scripts/; script.db là index của các script hiện có.

Listing 4 — The Nmap script database
kali@kali:~$ 
cd /usr/share/nmap/scripts/


kali@kali:/usr/share/nmap/scripts$ 
cat script.db  | grep "\"vuln\""

Entry { filename = "afp-path-vuln.nse", categories = { "exploit", "intrusive", "vuln", } }
Entry { filename = "broadcast-avahi-dos.nse", categories = { "broadcast", "dos", "intrusive", "vuln", } }
Entry { filename = "clamav-exec.nse", categories = { "exploit", "vuln", } }
Entry { filename = "distcc-cve2004-2687.nse", categories = { "exploit", "intrusive", "vuln", } }
Entry { filename = "dns-update.nse", categories = { "intrusive", "vuln", } }
...
Điểm cần nhớMỗi entry cho biết filename và các category của script.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Tham số --script

  • --script quyết định NSE script nào được thực thi.
  • Đối số có thể là category, Boolean expression hoặc danh sách category phân tách bằng dấu phẩy.
  • Có thể dùng tên đầy đủ, wildcard của script trong script.db, hoặc absolute path tới script cụ thể.
  • Script vulners thuộc các category safe, vulnexternal.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Chạy toàn bộ category vuln trên port 443

Kết hợp -sV để nhận diện dịch vụ, -p 443 để giới hạn cổng và --script "vuln" để chạy category vuln.

Lệnh trong Listing 5
kali@kali:~$ 
sudo nmap -sV -p 443 --script "vuln" 192.168.50.124
Điểm cần nhớTarget trong ví dụ: 192.168.50.124.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Kết quả Nmap và vulners

Listing 5 — NSE vuln category
kali@kali:~$ 
sudo nmap -sV -p 443 --script "vuln" 192.168.50.124

[sudo] password for kali: 
Starting Nmap 7.92 ( https://nmap.org )
...
PORT    STATE SERVICE VERSION

443/tcp open  http    Apache httpd 2.4.49 ((Unix))

...
| 
vulners:
 
|   
cpe:/a:apache:http_server:2.4.49:

...
        https://vulners.com/githubexploit/DF57E8F1-FE21-5EB9-8FC7-5F2EA267B09D	*EXPLOIT*
|     	
CVE-2021-41773	4.3	https://vulners.com/cve/CVE-2021-41773

...
|_http-server-header: Apache/2.4.49 (Unix)
MAC Address: 00:0C:29:C7:81:EA (VMware)
Điểm cần nhớNmap nhận diện Apache httpd 2.4.49; vulners ánh xạ phiên bản này tới CVE-2021-41773 và các tham chiếu/PoC.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Cách đọc output của vulners

  • Nmap trước hết phải nhận diện thành công service và version.
  • vulners dùng thông tin đó để cung cấp vulnerability data liên quan.
  • Output có CVE, CVSS score và URL để xem thêm thông tin.
  • Proof of Concept được đánh dấu bằng *EXPLOIT*.
  • Nếu service detection thất bại, vulners sẽ không cung cấp kết quả.
7.3.1 NSE vulnerability scriptsTài Liệu Học Tập PWK

Giới hạn của quét theo phiên bản

  • Một phiên bản khớp CVE chưa chắc đã exploitable trong cấu hình thực tế.
  • Backported patch có thể làm số phiên bản trông cũ nhưng đã được sửa.
  • Kết quả từ vulners nên được dùng để tạo hypothesis và chọn bước xác minh tiếp theo.
  • Không sử dụng liên kết PoC một cách tự động hoặc ngoài hệ thống được phép.
Điểm cần nhớVersion mapping là dấu hiệu để điều tra, không phải bằng chứng cuối cùng.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Vì sao cần script cho một CVE cụ thể?

  • vulners có thể trả về lượng dữ liệu rất lớn cho một phiên bản.
  • Khi cần tìm một vulnerability cụ thể trên nhiều host, dedicated script giúp thu hẹp kết quả.
  • Nhiều vulnerability hiện đại yêu cầu tự tích hợp NSE script.
  • Ví dụ của tài liệu tiếp tục với CVE-2021-41773.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Tìm NSE script cho CVE cụ thể

Figure 47: Searching for an NSE script for a specific CVE in Google
  • Tài liệu gợi ý tìm với từ khóa CVE-2021-41773 nse.
  • Một kết quả GitHub cung cấp script kiểm tra vulnerability này.
Figure 47: Searching for an NSE script for a specific CVE in Google
Điểm cần nhớPhải đọc và kiểm tra source của script trước khi đưa vào hệ thống của mình.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Sao chép script và cập nhật script.db

Lưu script theo naming convention tại /usr/share/nmap/scripts/http-vuln-cve2021-41773.nse rồi cập nhật database.

Listing 6 — Install custom NSE script
kali@kali:~$ 
sudo cp /home/kali/Downloads/http-vuln-cve-2021-41773.nse /usr/share/nmap/scripts/http-vuln-cve2021-41773.nse


kali@kali:~$ 
sudo nmap --script-updatedb

[sudo] password for kali: 
Starting Nmap 7.92 ( https://nmap.org )
NSE: Updating rule database.

NSE: Script Database updated successfully.

Nmap done: 0 IP addresses (0 hosts up) scanned in 0.54 seconds
Điểm cần nhớOutput Script Database updated successfully xác nhận index đã được cập nhật.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Chạy script CVE-2021-41773

Listing 7 — CVE-2021-41773 NSE Script
kali@kali:~$ 
sudo nmap -sV -p 443 --script "http-vuln-cve2021-41773" 192.168.50.124

Starting Nmap 7.92 ( https://nmap.org )
Host is up (0.00069s latency).

PORT    STATE SERVICE VERSION
443/tcp open  http    Apache httpd 2.4.49 ((Unix))
| 
http-vuln-cve2021-41773:

|   VULNERABLE:
|   Path traversal and file disclosure vulnerability in Apache HTTP Server 2.4.49
|     
State: VULNERABLE

|               A flaw was found in a change made to path normalization in Apache HTTP Server 2.4.49. An attacker could use a path traversal attack to map URLs to files outside the expected document root. If files outside of the document root are not protected by "require all denied" these requests can succeed. Additionally this flaw could leak the source of interpreted files like CGI scripts. This issue is known to be exploited in the wild. This issue only affects Apache 2.4.49 and not earlier versions.
|           
|     Disclosure date: 2021-10-05
|     Check results:
|       
|         Verify arbitrary file read: https://192.168.50.124:443/cgi-bin/.%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd
...
Nmap done: 1 IP address (1 host up) scanned in 6.86 seconds
Điểm cần nhớOutput đánh dấu State: VULNERABLE và cung cấp URL dùng để kiểm tra arbitrary file read trong lab.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Đọc kết quả dedicated script

  • Service được nhận diện là Apache httpd 2.4.49 trên TCP 443.
  • Script mô tả path traversal và file disclosure vulnerability.
  • Output ghi rõ disclosure date và check result.
  • URL xác minh trong listing là dữ liệu lab của tài liệu và chỉ dùng trong môi trường được phép.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

An toàn khi dùng script bên thứ ba

  • NSE category cho biết script safe hay intrusive nhưng không thay thế source review.
  • Script tải từ Internet có thể chứa mã độc và trao quyền truy cập hệ thống cho attacker.
  • Phải xác minh nguồn, đọc code và hiểu hành vi trước khi chạy.
  • Chỉ cài script cần thiết và giữ lại bản gốc để phục vụ kiểm tra/audit.
Cảnh báoKhông chạy custom NSE script chỉ vì tên file hoặc README có vẻ phù hợp.
7.3.2 Custom NSE scriptsTài Liệu Học Tập PWK

Vai trò của Nmap trong vulnerability scanning

Tình huốngCách dùng Nmap NSE
Không có full-fledged scannerThực hiện lightweight vulnerability scan.
Cần kiểm tra nhanh một CVEChạy dedicated NSE script trên target/port phù hợp.
Cần xác minh finding từ công cụ khácDùng NSE như một nguồn bằng chứng bổ sung.
Cần quét rộng và báo cáo chuyên sâuNmap không thay thế hoàn toàn Nessus hoặc scanner chuyên dụng.
7.4 Tổng kếtTài Liệu Học Tập PWK

Nessus và Nmap bổ trợ nhau

Công cụĐiểm mạnh trong chươngĐiểm cần lưu ý
NessusTemplate, plugin rộng, authenticated scan, dashboard, remediation và report.Cần tuning; tạo nhiều traffic/noise; finding vẫn cần xác minh.
Nmap NSENhanh, linh hoạt, dùng category hoặc script cụ thể.Không phải scanner truyền thống; phụ thuộc service detection và độ an toàn của script.
7.4 Tổng kếtTài Liệu Học Tập PWK

Vulnerability scanning không kết thúc ở nút Scan

01PlanXác định scope, visibility, credential, thời gian và tác động.
02ConfigureChọn port, protocol, template, plugin và tốc độ.
03RunTheo dõi trạng thái và phản ứng khi có ảnh hưởng.
04AnalyzeĐọc evidence, severity, grouping và remediation.
05ValidateXác minh finding và ghi lại kết luận.
7.4 Tổng kếtTài Liệu Học Tập PWK

Khi nào cần quay lại enumeration?

  • Giải thích bổ sung: Scanner báo rất ít finding nhưng host/service inventory chưa đầy đủ.
  • Giải thích bổ sung: Kết quả khác biệt lớn giữa Nmap, Nessus và quan sát thủ công.
  • Giải thích bổ sung: Host bị đánh dấu offline dù có dấu hiệu đang hoạt động.
  • Giải thích bổ sung: Service detection không thành công nên vulners không có dữ liệu.
  • Giải thích bổ sung: Rate limiting, firewall hoặc vị trí mạng làm giảm visibility.
Hành độngKiểm tra lại host discovery, routing, port range, service detection và vị trí scanner trước khi kết luận.
7.4 Tổng kếtTài Liệu Học Tập PWK

Thông tin cần ghi vào notes

  • Giải thích bổ sung: Thời gian scan, scanner IP, target list và vị trí mạng.
  • Giải thích bổ sung: Template, port range, TCP/UDP, Host Discovery và credential mode.
  • Giải thích bổ sung: Plugin/CVE filter, plugin ID và phiên bản plugin nếu có.
  • Giải thích bổ sung: Finding, evidence, severity, VPR/CVSS và trạng thái xác minh.
  • Giải thích bổ sung: False positive/negative đã phát hiện và nguyên nhân.
  • Giải thích bổ sung: Mọi tác động, lỗi, timeout, rate limiting hoặc thay đổi cấu hình.
7.4 Tổng kếtTài Liệu Học Tập PWK

Sai lầm thường làm mất thời gian

1

Dùng setting mặc định

Không điều chỉnh theo scope, target và thời gian.

2

Tin tuyệt đối vào version

Không xem backporting, cấu hình và plugin output.

3

Bỏ qua visibility

Không kiểm tra firewall, VPN, routing hoặc Host Discovery.

4

Quét quá rộng

Bật UDP/plugin/parallelism không cần thiết.

5

Không xác minh

Đưa finding vào report trước khi kiểm tra evidence.

6

Chạy script lạ

Không review custom NSE script tải từ Internet.

7.4 Tổng kếtTài Liệu Học Tập PWK

Checklist tự đánh giá

  • Tôi có thể mô tả bốn bước cơ bản của vulnerability scanner.
  • Tôi phân biệt được external/internal và authenticated/unauthenticated scan.
  • Tôi hiểu false positive, false negative và backporting.
  • Tôi biết cấu hình Basic Network Scan và đọc dashboard Nessus.
  • Tôi biết authenticated scan cần credential, firewall/AV/UAC phù hợp.
  • Tôi có thể lọc Nessus plugin theo CVE.
  • Tôi biết dùng NSE category, vulners và custom script an toàn.
  • Tôi luôn xác minh finding trước khi kết luận.
7.4 Tổng kếtTài Liệu Học Tập PWK

Tổng kết Chương 7

  • Vulnerability scanning giúp xây dựng baseline và mở rộng độ bao phủ của security assessment.
  • Kết quả phụ thuộc vào visibility, cấu hình, plugin, credential và điều kiện mạng.
  • Nessus cung cấp workflow đầy đủ từ scan đến report; Nmap NSE phù hợp cho kiểm tra nhẹ hoặc một CVE cụ thể.
  • Mọi kết quả tự động đều cần phân tích và xác minh thủ công.
  • Scanner có thể gây tác động đến mạng hoặc target; luôn thực hiện thận trọng trong phạm vi được phép.
Điểm cần nhớCông cụ tốt không thay thế phương pháp làm việc có hệ thống.
Tài nguyênTài Liệu Học Tập PWK

Tiếp tục học PWK / OSCP bằng tiếng Việt

SECURITY365

Sách, video và tài liệu tiếng Việt hỗ trợ học PWK / OSCP

Xem các tài nguyên học tập, bài giảng và nội dung bổ trợ được xây dựng cho quá trình học có hệ thống.

security365.vn/pwk-oscp/
Nội dung phục vụ đào tạo và thực hành trên hệ thống được cho phép.