STài Liệu Học Tập PWK
Mở đầu

5. Report Writing for Penetration Testers

PWK / OSCP

Ghi chép có thể tái hiện, báo cáo có thể hành động và khuyến nghị phù hợp với bối cảnh khách hàng

Mở đầu

Cách sử dụng bộ slide

Điều hướng

Mũi tên trái/phải, Space, Home và End.

Mục lục

Nhảy nhanh đến từng mục của Chương 5.

Toàn màn hình

Phù hợp khi quay video hoặc trình chiếu.

In / PDF

Mỗi slide được tách thành một trang 16:9.

Sao chép

Sao chép các mẫu ghi chú và đoạn báo cáo.

Ghi nhớ vị trí

Tải lại trang vẫn trở về slide đang học.

Mở đầu

Bản đồ Chương 5

01Deliverables & RoEXác định đầu ra, phạm vi và giới hạn của engagement.
02Note-TakingGhi đủ chi tiết để người khác có thể hiểu và tái hiện.
03EvidenceẢnh chụp, payload, endpoint và kết quả có ngữ cảnh.
04Report StructureExecutive Summary, Technical Summary, Findings và Appendices.
05Actionable RemediationKhuyến nghị rõ ràng, cụ thể và phù hợp với doanh nghiệp.
Mở đầu

Từ kiểm thử đến giá trị cho khách hàng

Thực hiện kiểm thử
Ghi chú & bằng chứng
Phân tích tác động
Báo cáo
Khắc phục & kiểm tra lại
5.1 Understanding Note-Taking

5.1. Understanding Note-Taking

  • Ôn lại các deliverable của một penetration testing engagement.
  • Hiểu vì sao ghi chú phải có tính portability.
  • Nhận diện cấu trúc tổng quát của tài liệu ghi chép pentest.
  • Lựa chọn công cụ ghi chú phù hợp.
  • Hiểu vai trò của screenshot và sử dụng công cụ chụp màn hình.
5.1.1 Deliverables

Pentest khó viết kịch bản cố định

?

Môi trường không đoán trước

Tester không thể biết chính xác trước loại máy, mạng hoặc ứng dụng sẽ gặp.

Giả thuyết thay đổi

Kết quả thực tế thường khác với hình dung ban đầu về testing environment.

Kế hoạch phải thích nghi

Hoạt động dự kiến có thể không xảy ra; phát hiện mới có thể làm thay đổi hướng kiểm thử.

5.1.1 Deliverables

Scope phải được xác định rõ

  • Xác định tài sản, ứng dụng, subnet hoặc dịch vụ được phép kiểm thử.
  • Ưu tiên mục tiêu có ý nghĩa kinh doanh trong mạng lớn.
  • Ghi rõ những phần bị loại khỏi phạm vi.

Mục tiêu

Giúp tester và khách hàng có cùng kỳ vọng.

Nguồn lực

Phản ánh giới hạn thời gian và ngân sách.

Trách nhiệm

Giảm tranh cãi về những gì đã hoặc chưa được kiểm thử.

5.1.1 Deliverables

Rules of Engagement và giới hạn

Nội dungVí dụ trong tài liệu
Kỹ thuật bị cấmDenial of Service hoặc social engineering có thể không được phép.
Giám sát tuân thủRed team có thể có một “referee” theo dõi việc tuân thủ RoE.
Phương pháp bắt buộcEngagement có thể phải theo một methodology cụ thể do yêu cầu tuân thủ.
Làm rõ từ đầuTất cả giới hạn và điều kiện phải được thống nhất trước khi kiểm thử.
5.1.1 Deliverables

Vì sao phải ghi lại quá trình

Tái hiện phát hiện

Lặp lại quy trình để chứng minh vấn đề là có thật.

Retest sau remediation

Xác nhận lỗ hổng đã được khắc phục.

Điều tra sự cố

Nếu hệ thống gặp lỗi trong thời gian pentest, có thể xác định kiểm thử có phải nguyên nhân hay không.

5.1.2 Note Portability

Note portability là gì?

Ngắn gọn+Mạch lạc+Đủ chi tiết
  • Ghi chú có thể được chuyển cho tester khác mà không mất ngữ cảnh.
  • Người khác có thể hiểu những gì đã làm, tại sao làm và kết quả nhận được.
  • Ghi chú rõ ràng có thể nhanh chóng chuyển thành nội dung báo cáo kỹ thuật.
5.1.3 Structure of Notes

Nguyên tắc ghi chú có cấu trúc

  • Không ghi chung chung với giả định rằng sau này sẽ nhớ lại.
  • Ghi chính xác lệnh đã chạy, dòng code đã sửa và thao tác GUI đã thực hiện.
  • Ghi đủ chi tiết để loại bỏ sự mơ hồ.
  • Đảm bảo thông tin hỗ trợ một báo cáo kỹ thuật có bằng chứng.
  • Người khác phải có khả năng lặp lại quy trình và thu được kết quả tương đương.
5.1.3 Structure of Notes

Cách tổ chức từ rộng đến sâu

01EngagementTên khách hàng, scope, thời gian, RoE.
02Hệ thống / ứng dụngHost, domain, ứng dụng hoặc dịch vụ.
03Hoạt động kiểm thửEnumeration, request, thao tác hoặc thay đổi.
04FindingĐiều kiện, payload, kết quả và tác động.
05ReplicationCác bước đủ rõ để thực hiện lại.
5.1.3 Structure of Notes

Các trường cho một web finding

TrườngNội dung cần ghi
Application NameTên ứng dụng; hữu ích khi kiểm thử nhiều ứng dụng và tổ chức thư mục.
URLURL chính xác dẫn đến vị trí có lỗ hổng.
Request TypeGET, POST, OPTIONS… và mọi thay đổi thủ công đã thực hiện.
Issue DetailTổng quan lỗ hổng, CVE nếu có, tác động quan sát được.
Proof of Concept PayloadChuỗi hoặc code kích hoạt lỗ hổng, kèm điều kiện tiên quyết và lệnh cần thiết.
5.1.3 Structure of Notes

Ví dụ XSS — vị trí kiểm thử

Figure 1: XSS Testing
Figure 1 — Nhập nội dung kiểm thử vào XSSBlog.html
5.1.3 Structure of Notes

Ví dụ XSS — kết quả quan sát

Figure 2: XSS Testing Issue
Figure 2 — JavaScript alert xuất hiện khi đọc lại bài viết
5.1.3 Structure of Notes

Mẫu ghi chú XSS — phần 1

Listing 1 — Example of a Testing Note
Testing for Cross-Site Scripting 

Testing Target: 192.168.1.52 
Application:    XSSBlog
Date Started:   31 March 2022

1.  Navigated to the application
    http://192.168.1.52/XSSBlog.html
    Result: Blog page displayed as expected

2.  Entered our standard XSS test data: 
    You will rejoice to hear that no disaster has accompanied the
    commencement of an enterprise which you have regarded with such
    evil forebodings.<script>alert("Your computer is infected!");</script> 
    I arrived here yesterday, and my first task is to assure my dear
    sister of my welfare and increasing confidence in the success of
    my undertaking.
5.1.3 Structure of Notes

Mẫu ghi chú XSS — phần 2

Listing 1 — Example of a Testing Note
3.  Clicked Submit to post the blog entry.
    Result: Blog entry appeared to save correctly.

4.  Navigated to read the blog post
    http://192.168.1.52/XSSRead.php
    Result: The blog started to display and then the expected alert popped up.

5.  Test indicated the site is vulnerable to XSS.

PoC payload: <script>alert(‘Your computer is infected!')</script>
5.1.3 Structure of Notes

Ghi chú không phải báo cáo

Ghi chú nội bộ

  • Theo thứ tự thao tác thực tế.
  • Có lệnh, payload, thử nghiệm thất bại và chi tiết kỹ thuật.
  • Mục tiêu là tái hiện và hỗ trợ tester.

Báo cáo khách hàng

  • Tổ chức theo audience và finding.
  • Lọc thông tin để làm rõ tác động và remediation.
  • Mục tiêu là giúp khách hàng ra quyết định và hành động.
5.1.4 Note-Taking Tools

Tiêu chí chọn công cụ ghi chú

Screenshots

Hỗ trợ chèn ảnh trực tiếp nếu engagement cần nhiều bằng chứng hình ảnh.

Code blocks

Định dạng code rõ ràng để đọc và sao chép nhanh.

Portability

Chạy đa hệ điều hành hoặc dễ chuyển sang máy khác.

Directory Structure

Tổ chức domain, application, host và finding theo cây thư mục.

5.1.4 Note-Taking Tools

Sublime Text

+

Điểm mạnh

Text editor quen thuộc, nhẹ và có syntax highlighting linh hoạt.

Phù hợp

Engagement tập trung vào một loại code hoặc cần ghi chú dạng text nhanh.

  • Syntax highlighting giúp code dễ đọc theo quy tắc của ngôn ngữ.
  • Một file khó làm nổi bật đồng thời nhiều ngôn ngữ.
  • Tại thời điểm của tài liệu, không hỗ trợ chèn screenshot trực tiếp.
5.1.4 Note-Taking Tools

CherryTree

  • Có sẵn trong Kali.
  • Lưu ghi chú trong SQLite database.
  • Xuất HTML, PDF, plain text hoặc CherryTree document.
  • Có định dạng tích hợp và cấu trúc tree gồm node/subnode.
Figure 3: CherryTree
Figure 3 — Cây ghi chú pentest trong CherryTree
5.1.4 Note-Taking Tools

Cài và chạy Obsidian AppImage

Listing 2 — Getting and Running Obsidian
kali@kali:~$ wget https://github.com/obsidianmd/obsidian-releases/releases/download/v0.14.2/Obsidian-0.14.2.AppImage

....
2022-03-31 15:38:53 (1.28 MB/s) - 'Obsidian-0.14.2.AppImage' saved [113102744/113102744]

kali@kali:~$ chmod +x Obsidian-0.14.2.AppImage

kali@kali:~$ ./Obsidian-0.14.2.AppImage
5.1.4 Note-Taking Tools

Obsidian Vault

  • Vault là một thư mục trên hệ thống.
  • Có thể tạo Markdown files và folder bên trong.
  • Hỗ trợ live preview, chèn ảnh, code blocks và add-ons.
  • Có thể di chuyển Vault sang máy khác rồi mở lại.
Figure 4: Obsidian Welcome Screen
Figure 4 — Màn hình mở hoặc tạo Vault
5.1.4 Note-Taking Tools

Ghi chú Markdown trong Obsidian

Figure 5: Taking Notes in Obsidian
Figure 5 — Nhập ghi chú trực tiếp bằng Markdown
5.1.4 Note-Taking Tools

Live Preview và xuất PDF

Figure 6: Live Preview of Markdown
Figure 6 — Xem trước Markdown trong Obsidian
5.1.4 Note-Taking Tools

So sánh các công cụ trong tài liệu

Công cụCodeScreenshotCấu trúcPortability
Sublime TextTốt, syntax highlightingKhông chèn inline theo mô tả trong tài liệuTự tổ chức bằng file/folderDễ chuyển file
CherryTreeCó định dạngChèn trong nodeTree node/subnodeXuất nhiều định dạng
ObsidianMarkdown code blocksChèn inlineVault + folder + linked notesChuyển nguyên Vault
5.1.4 Note-Taking Tools

Quyết định chọn công cụ

01Dữ liệu được phép lưu ở đâu?Local-only hay có thể đồng bộ?
02Nội dung chủ đạo?Code, screenshot, request/response hay text?
03Nhóm hay cá nhân?Người khác có cần mở và tiếp tục ghi chú?
04Đầu ra cuối?Markdown, PDF, HTML hoặc tích hợp report tool?
5.1.5 Screenshots

Vai trò của screenshot

Truyền đạt nhanh

Một hình tốt có thể giải thích finding nhanh hơn nhiều đoạn mô tả.

Tạo tác động

Giúp người đọc thấy trực tiếp kết quả như XSS alert hoặc dữ liệu nhạy cảm.

Hỗ trợ tái hiện

Kết hợp với các bước ghi chú để tester khác theo lại quy trình.

5.1.5 Screenshots

Khi nào dùng hình, khi nào dùng chữ?

Screenshot phù hợp

  • Kết quả có tác động trực quan.
  • Cần chỉ rõ URL, giao diện hoặc branding của khách hàng.
  • Một hình thay thế được nhiều câu mô tả.

Text phù hợp

  • Cần giải thích logic hoặc nguyên nhân kỹ thuật.
  • Kết quả không thể hiện rõ bằng giao diện.
  • Ví dụ: chuỗi khai thác phức tạp hoặc buffer overflow.
5.1.5 Screenshots

Thiết kế screenshot theo audience

  • Tester có thể hiểu ngay một XSS alert, nhưng developer chưa quen với lỗ hổng có thể không hiểu nguyên nhân.
  • Hình cần đủ ngữ cảnh để gắn finding với ứng dụng hoặc khách hàng.
  • Chỉ giữ lượng thông tin vừa đủ để chứng minh vấn đề.
  • Nếu cần ngữ cảnh sâu hơn, giải thích ở đoạn văn phía trên hoặc dưới hình.
5.1.5 Screenshots

Thành phần của screenshot XSS tốt

URL

Định vị

Hiển thị URL để xác định chính xác webpage.

Logo

Ngữ cảnh

Branding hoặc giao diện cho thấy ảnh thuộc hệ thống khách hàng.

PoC

Bằng chứng

Pop-up hoặc kết quả chứng minh JavaScript đã chạy.

Aa

Độ rõ

Nội dung phải đọc được ngay mà không cần phóng to.

5.1.5 Screenshots

Ví dụ screenshot tốt

Figure 7: Good Screenshot
Figure 7 — Finding được đóng khung rõ và đủ ngữ cảnh
5.1.5 Screenshots

Các lỗi thường gặp khi chụp

  • Ảnh hoặc chữ quá nhỏ, buộc người đọc phải zoom.
  • Một ảnh chứa hơn một ý kỹ thuật.
  • Nội dung quan trọng nằm lệch bên cạnh hoặc bị che.
  • Có cửa sổ, terminal hoặc thông tin không liên quan.
  • Caption quá dài và cố thay thế phần giải thích.
5.1.5 Screenshots

Ví dụ screenshot không tốt

Figure 8: Bad Screenshot
Figure 8 — Thông tin không liên quan làm giảm tác động của bằng chứng
5.1.5 Screenshots

Checklist screenshot tốt và xấu

Screenshot tốt

  • Dễ đọc.
  • Có dấu hiệu gắn với khách hàng.
  • Chứa đúng nội dung đang mô tả.
  • Hỗ trợ phần giải thích.
  • Đóng khung finding hợp lý.
×

Screenshot xấu

  • Khó đọc.
  • Quá chung chung.
  • Có dữ liệu thừa hoặc bị che.
  • Đóng khung sai trọng tâm.
5.1.6 Screenshot Tools

Công cụ chụp màn hình trên Windows

Phím / công cụHành vi
PrintScreenSao chép toàn bộ màn hình để dán vào Paint, Word hoặc PowerPoint.
Alt + PrintScreenChụp cửa sổ đang active.
Windows + Shift + SMở Snipping Tool để chọn vùng cần chụp.
Crop / chỉnh sửaLoại bỏ nội dung không cần thiết trước khi đưa vào ghi chú hoặc báo cáo.
5.1.6 Screenshot Tools

Snipping Tool

  • Chọn khu vực bất kỳ trên màn hình.
  • Phù hợp để lấy đúng bằng chứng cần thiết.
  • Giảm lượng thông tin thừa so với chụp toàn màn hình.
Figure 9: Snipping Tool
Figure 9 — Snipping Tool trên Windows
5.1.6 Screenshot Tools

macOS, Linux và Flameshot

Nền tảngCách chụp trong tài liệu
macOSShift + Command + 3 để chụp toàn màn hình; Shift + Command + 4 hoặc 5 để chọn vùng / mở công cụ chụp.
LinuxPrintScreen để chụp toàn màn hình; công cụ Screenshot của Kali có chọn cửa sổ, vùng và delay.
FlameshotCông cụ mã nguồn mở, đa nền tảng; có CLI/GUI và chức năng highlight, pixelate, thêm text.
5.2 Effective Reports

5.2. Writing Effective Technical Penetration Testing Reports

  • Xác định mục đích của technical report.
  • Điều chỉnh nội dung theo đúng nhóm người đọc.
  • Xây dựng Executive Summary.
  • Ghi nhận các điều kiện ảnh hưởng đến testing environment.
  • Tạo Technical Summary.
  • Mô tả Technical Findings và Recommendations.
  • Biết khi nào sử dụng Appendices, Further Information và References.
5.2.1 Purpose

Báo cáo là deliverable tạo ra giá trị

20

Finding

Tìm được nhiều lỗ hổng chưa tự động tạo ra tác động kinh doanh.

Direction

Khách hàng cần biết phải làm gì tiếp theo.

Action

Báo cáo biến kết quả kiểm thử thành kế hoạch khắc phục.

5.2.1 Purpose

Hai câu hỏi trước khi viết

1. Mục đích của báo cáo là gì?
2. Trình bày thông tin thế nào để audience hiểu?
3. Người đọc có thể hành động sau khi đọc không?
5.2.1 Purpose

Mục tiêu thật sự của engagement

Không chỉ là

“Ethical hacker” tấn công hợp pháp để tìm và khai thác điểm yếu.

Mà là

Cung cấp một con đường phía trước: finding, cách khắc phục ngay và mục tiêu chiến lược ngăn lỗi tái diễn.

5.2.1 Purpose

Báo cáo những phần không có finding

  • Trong nhiều trường hợp, chỉ cần nêu rằng không phát hiện lỗ hổng.
  • Không nên đưa quá nhiều chi tiết về mọi thử nghiệm thất bại nếu chúng làm nhiễu các finding thực sự.
  • Một số khách hàng có thể yêu cầu báo cáo rất chi tiết ngay cả với non-issues.
  • Mức chi tiết cuối cùng phụ thuộc audience và kỳ vọng đã thống nhất.
5.2.1 Purpose

Hiểu bối cảnh kinh doanh

Ngành nghề

Khách hàng là chuyên gia trong ngành của họ và kỳ vọng tester hiểu các mối quan tâm chính.

Business goals

Finding cần được liên hệ với mục tiêu, dữ liệu và hoạt động quan trọng.

§

Compliance

Ví dụ trong tài liệu: HIPAA cho dữ liệu y tế tại Mỹ và PCI cho xử lý thanh toán.

5.2.1 Purpose

Cùng finding, khác bối cảnh

Bệnh viện

  • Ưu tiên uptime và khả năng sẵn sàng của thiết bị y tế.
  • Thiết bị cũ có thể khó nâng cấp hoặc vá ngay.
  • Có thể đề xuất cô lập trên logical subnet.
$

Ngân hàng

  • Thiếu patch có thể trở thành foothold nghiêm trọng.
  • Hệ thống phải giao tiếp với nhau nên segmentation hoàn toàn có thể không khả thi.
  • Cùng lỗi kỹ thuật có thể cần mức ưu tiên cao hơn.
5.2.1 Purpose

Vị trí khai thác làm thay đổi mức độ

Tình huốngCách nhìn theo tài liệu
HTTP login clear text trên InternetCực kỳ không an toàn vì dễ tiếp cận từ bên ngoài.
HTTP login clear text trong internal networkVẫn không an toàn, nhưng attacker cần thêm bước để tiếp cận.
TLS 1.0 trên cổng đăng nhập bệnh việnCó thể không phải mối quan tâm cao nhất trong bối cảnh cụ thể.
TLS 1.0 trên eCommerceĐáng lo hơn vì có thể liên quan vi phạm PCI.
5.2.2 Tailor Content

Hai nhóm audience chính

C

Management / Executive

  • Cần outcome, impact và mức độ ưu tiên.
  • Không cần chi tiết exploit quá sâu.
  • Cần đủ thông tin để phê duyệt remediation.
</>

Technical Staff

  • Cần hiểu lỗi gì, tác động thế nào và sửa ra sao.
  • Cần endpoint, bằng chứng và bước tái hiện.
  • Hưởng lợi từ khuyến nghị ngăn lớp lỗi tái diễn.
5.2.2 Tailor Content

Tách nội dung theo tầng

01Executive SummaryScope, outcome, trend, impact và quyết định.
02Technical SummaryNhóm finding và hành động chính cho kiến trúc sư / security lead.
03Technical FindingsChi tiết, evidence, replication và remediation.
04AppendicesNội dung dài, code, danh sách và attack narrative.
5.2.3 Executive Summary

Executive Summary dùng để làm gì?

Nắm phạm vi

Senior management hiểu chính xác những gì đã được kiểm thử.

Nắm kết quả

Hiểu các rủi ro và worst-case scenario quan trọng.

Phê duyệt xử lý

Có đủ bối cảnh để ưu tiên và cấp nguồn lực remediation.

5.2.3 Executive Summary

Bốn nhóm dữ kiện mở đầu

NhómNội dung
ScopeChính xác hệ thống, URL hoặc tài sản đã kiểm thử; phần nào bị loại bỏ.
TimeframeSố ngày, ngày bắt đầu/kết thúc và có thể gồm giờ kiểm thử.
Rules / MethodologyRoE, referee report, DoS/social engineering và methodology đã sử dụng.
Infrastructure / AccountsTesting IP, tài khoản do khách hàng cấp và tài khoản tester đã tạo.
5.2.3 Executive Summary

Mẫu Pertinent Details

Listing 3 — Pertinent Details
Executive Summary:

- Scope: https://kali.org/login.php
- Timeframe: Jan 3 - 5, 2022
- OWASP/PCI Testing methodology was used
- Social engineering and DoS testing were not in scope
- No testing accounts were given; testing was black box from an external IP address
- All tests were run from 192.168.1.2
5.2.3 Executive Summary

Long-form Executive Summary

  • Tóm tắt ở mức cao từng giai đoạn của engagement.
  • Thiết lập severity, context và worst-case scenario cho các finding quan trọng.
  • Không undersell và cũng không oversell vulnerability.
  • Giúp khách hàng có mental model chính xác về security posture.
5.2.3 Executive Summary

Nhận diện trend và lỗi hệ thống

  • Nhóm các finding có loại vulnerability tương tự.
  • Nhiều lỗi cùng loại có thể cho thấy một thất bại mang tính hệ thống.
  • Dùng một hoặc hai finding quan trọng để chứng minh trend.
XSS

Ví dụ trong tài liệu

Stored XSS + reflected XSS + SQL injection + file upload flaws cho thấy user input không được xử lý đúng trên diện rộng.

5.2.3 Executive Summary

Nêu cả những điểm khách hàng làm tốt

  • Management trả tiền cho engagement, nhưng tester thường làm việc trực tiếp với technical security team.
  • Không nên khiến đội kỹ thuật cảm thấy bị hạ thấp hoặc bị quy trách nhiệm cá nhân.
  • Ngay cả bài kiểm thử có finding nghiêm trọng cũng thường có khu vực được harden tốt.
  • Nêu các điểm tích cực giúp report cân bằng và được tiếp nhận tốt hơn.
5.2.3 Executive Summary

Mở đầu: mô tả engagement

Listing 4 — Describing the Engagement
"The Client hired OffSec to conduct a penetration test of
their kali.org web application in October of 2025. The test was conducted
from a remote IP between the hours of 9 AM and 5 PM, with no users
provided by the Client."
5.2.3 Executive Summary

Nêu các kiểm soát hoạt động hiệu quả

Listing 5 — Identifying the Positives
"The application had many forms of hardening in place. First, OffSec was unable to upload malicious files due to the strong filtering
in place. OffSec was also unable to brute force user accounts
because of the robust lockout policy in place. Finally, the strong
password policy made trivial password attacks unlikely to succeed.
This points to a commendable culture of user account protections."
5.2.3 Executive Summary

Tránh khẳng định tuyệt đối

×

Không nên

“It was impossible to upload malicious files.”

Nên dùng

“OffSec was unable to upload malicious files due to the strong filtering in place.”

  • Engagement có giới hạn thời gian và nguồn lực.
  • Tester có thể không phát hiện một flaw vẫn tồn tại.
  • Ngôn ngữ phải để ngỏ khả năng chưa quan sát được đầy đủ.
5.2.3 Executive Summary

Trình bày finding và trend

Listing 6 — Explaining a Vulnerability
"However, there were still areas of concern within the application.
OffSec was able to inject arbitrary JavaScript into the browser of
an unwitting victim that would then be run in the context of that
victim. In conjunction with the username enumeration on the login
field, there seems to be a trend of unsanitized user input compounded
by verbose error messages being returned to the user. This can lead
to some impactful issues, such as password or session stealing. It is
recommended that all input and error messages that are returned to the
user be sanitized and made generic to prevent this class of issue from
cropping up."
5.2.3 Executive Summary

Không tạo trend khi dữ liệu không đủ

  • Có thể cần nhiều đoạn để mô tả các nhóm vulnerability khác nhau.
  • Dùng đủ số đoạn để minh họa các trend thực sự quan sát được.
  • Không gộp các finding không liên quan chỉ để tạo ra một câu chuyện lớn hơn.
  • Technical details đầy đủ sẽ được trình bày ở phần sau.
5.2.3 Executive Summary

Kết thúc Executive Summary

Listing 7 — Concise Conclusion
"These vulnerabilities and their remediations are described in more
detail below. Should any questions arise, OffSec is happy
to provide further advice and remediation help."
5.2.4 Environment

Testing Environment Considerations

  • Phần đầu của full report nên ghi các vấn đề đã ảnh hưởng đến quá trình kiểm thử.
  • Thường đây là một phần ngắn.
  • Sai sót hoặc tình huống đặc biệt cần được ghi lại để thể hiện tính minh bạch.
  • Không phải mọi chi tiết đều cần đưa vào; báo cáo vẫn phải chuyên nghiệp.
5.2.4 Environment

Ba trạng thái kết quả

Trạng tháiCách trình bày
Positive OutcomeKhông có hạn chế; thời gian được phân bổ đủ để kiểm thử kỹ môi trường.
Neutral OutcomeCó vấn đề nhưng không ảnh hưởng tổng thể; vẫn nên nêu đề xuất cải thiện quy trình.
Negative OutcomeThời gian hoặc điều kiện không đủ, làm giảm độ bao phủ của engagement.
5.2.4 Environment

Mẫu Positive / Neutral / Negative

Positive

"There were no limitations or extenuating circumstances in the engagement. The time allocated was sufficient to thoroughly test the environment."

Neutral

"There were no credentials allocated to the tester in the first two days of the test. However, the attack surface was much smaller than anticipated. Therefore, this did not have an impact on the overall test. OffSec recommends that communication of credentials occurs immediately before the engagement begins for future contracts, so that we can provide as much testing as possible within the allotted time."

Negative

"There was not enough time allocated to this engagement to conduct a thorough review of the application, and the scope became much larger than expected. It is recommended that more time is allocated to future engagements to provide more comprehensive coverage."

5.2.5 Technical Summary

Mục đích của Technical Summary

  • Liệt kê các key finding ở mức kỹ thuật.
  • Đưa ra summary và recommendation để security architect hoặc technical lead đọc nhanh.
  • Cho biết những việc chính cần được thực hiện.
  • Nhóm finding theo khu vực chung, không theo thứ tự thời gian kiểm thử.
5.2.5 Technical Summary

Các nhóm finding mẫu

U

User & Privilege Management

Tài khoản, mật khẩu, đặc quyền.

A

Architecture

Kiến trúc và phân vùng hệ thống.

Z

Authorization

Quyền truy cập và kiểm soát chức năng.

P

Patch Management

Phiên bản, cập nhật và lỗ hổng đã biết.

S

Signatures & Integrity

Tính toàn vẹn và xác thực nội dung.

L

Logging & Monitoring

Audit, log management và giám sát.

E

Encryption

Mã hóa traffic và dữ liệu.

Misconfigurations

Cấu hình không an toàn.

5.2.5 Technical Summary

Ví dụ Technical Summary — Patch Management

Listing 8 — Example Technical Summary
4. Patch Management

Windows and Ubuntu operating systems that are not up to date were
identified. These are shown to be vulnerable to publicly-available
exploits and could result in malicious execution of code, theft
of sensitive information, or cause denial of services which may
impact the infrastructure. Using outdated applications increases the
possibility of an intruder gaining unauthorized access by exploiting
known vulnerabilities. Patch management ought to be improved and
updates should be applied in conjunction with change management.
5.2.5 Technical Summary

Risk heat map

Likelihood ↑
Low
Medium
High
Medium
High
Critical
High
Critical
Critical
Impact →
5.2.6 Findings

Technical Findings & Recommendations

!

Finding

Mô tả đầy đủ vulnerability và vị trí bị ảnh hưởng.

Evidence

Chứng minh vấn đề có thể khai thác bằng dữ liệu và screenshot.

Replication

Hướng dẫn tái hiện từng bước.

Remediation

Các bước xử lý rõ ràng và phù hợp.

5.2.6 Findings

Giải thích đủ rộng, không quá tải

  • Người làm trong cùng công nghệ vẫn có thể không hiểu đầy đủ nuance của vulnerability.
  • Không phải lúc nào cũng cần deep dive vào root cause của exploit.
  • Nên cung cấp overview về cách exploit xảy ra và attacker có thể làm gì.
  • Tốt hơn là giả định audience biết ít hơn và cung cấp đủ thông tin, thay vì bỏ thiếu ngữ cảnh.
5.2.6 Findings

Attack narrative khi nào cần?

  • Thường dùng cho simulated threat engagement.
  • Hữu ích khi regular pentest có chuỗi khai thác phức tạp.
  • Viết theo dạng câu chuyện từng bước, kèm screenshot phù hợp.
A→B

Vị trí đặt

Narrative dài có thể đưa vào Appendix và được tham chiếu từ findings table.

5.2.6 Findings

Cấu trúc một finding dạng bảng

CộtNội dung
RefMã tham chiếu finding.
RiskMức độ như H, M hoặc mức severity đã thống nhất.
Issue Description and ImplicationsVulnerability là gì, bằng chứng, tác động và khu vực bị ảnh hưởng.
RecommendationsCác bước khắc phục cụ thể.
5.2.6 Findings

Ví dụ 1 — Account Management

Issue & Evidence

  • 122,624 user accounts được phân tích sau compromise.
  • 722 tài khoản không hết hạn.
  • 23,142 user chưa từng đăng nhập.
  • 6 user thuộc Domain Administrators.
  • 968 tài khoản dùng default initial password.

Recommendations

  • Áp dụng strict password policy.
  • Buộc tài khoản có mật khẩu yếu thay đổi.
  • Thiết lập tài khoản hết hạn tự động.
  • Xóa tài khoản không còn cần thiết.
5.2.6 Findings

Ví dụ 2 — Anonymous SMB

Issue & Implication

Thông tin được enumeration qua anonymous SMB session và sau đó dùng để đạt unauthorized user access; chi tiết được tham chiếu đến Appendix E.9.

Recommendations

  • Hạn chế truy cập TCP ports 139445 theo role và nhu cầu.
  • Tắt enumeration of SAM accounts bằng Local Security Policy → Local Policies → Security Options.
5.2.6 Findings

Ví dụ 3 — Reflected XSS

Issue & Impact

JavaScript độc hại có thể chạy trong browser của người dùng. Tác động có thể gồm unauthorized access và credential theft, dẫn đến tổn thất uy tín hoặc tài chính.

Recommendations

  • Xem mọi user input là dữ liệu không tin cậy.
  • Sanitize bằng lọc special characters.
  • Encode output do người dùng kiểm soát.
  • Không hiển thị username trong login error message.
5.2.6 Findings

Technical severity và business risk

CV

Technical Severity

Dựa trên đặc tính vulnerability và có thể điều chỉnh theo likelihood.

BR

Business Risk

Cần hiểu tác động riêng đối với hoạt động, dữ liệu và môi trường của khách hàng.

5.2.6 Findings

Viết phần mô tả vulnerability

01Vulnerability là gì?Một hoặc hai câu mô tả bản chất.
02Vì sao nguy hiểm?Tác động tức thời và khả năng attacker.
03Chi tiết kỹ thuậtĐủ để audience hiểu cách exploit xảy ra.
04Finding cụ thểHệ thống nào, bằng chứng nào, kết quả nào.
5.2.6 Findings

Evidence: inline hay Appendix?

Inline

Dùng khi bằng chứng ngắn, đơn giản và không làm gián đoạn luồng đọc.

A

Appendix

Dùng khi PoC, narrative, danh sách hoặc screenshot sequence dài.

5.2.6 Findings

Screenshot phải có lời giải thích

  • Dùng notes và screenshots để dẫn người đọc qua quá trình đạt kết quả.
  • Mỗi screenshot cần một giải thích ngắn về điều nó chứng minh.
  • Không dựa vào hình để tự nói lên finding.
  • Tác động phải được đặt trong bối cảnh business hoặc application của khách hàng.
5.2.6 Findings

Remediation phải khả thi

  • Đủ chi tiết để administrator triển khai mà không mơ hồ.
  • Rõ ràng, ngắn gọn nhưng đầy đủ.
  • Loại bỏ vulnerability theo cách phù hợp với application và khách hàng.
  • Không quá tốn kém, không trái văn hóa vận hành và không phá vỡ nhu cầu kinh doanh.
5.2.6 Findings

Ba lỗi khi viết remediation

Quá chung chung

Đưa ra giải pháp rộng thay vì xử lý đúng application và business.

Chỉ lý thuyết

Khuyến nghị không có cách triển khai cụ thể.

1+2

Gộp nhiều bước

Xếp nhiều hành động khác nhau vào một solution duy nhất.

5.2.6 Findings

Các bước tái hiện finding

  • Chỉ rõ chính xác vị trí application bị ảnh hưởng.
  • Mô tả cách trigger vulnerability.
  • Ghi đầy đủ từng bước và screenshot hỗ trợ.
  • Bao gồm cả điều kiện tester thường xem là hiển nhiên, ví dụ cần chạy với administrative privileges.
5.2.6 Findings

Một vulnerability ảnh hưởng nhiều vị trí

  • Nếu nhiều khu vực bị ảnh hưởng, tham chiếu từng khu vực.
  • Nếu số lượng issue tương tự quá lớn, có thể cung cấp sample.
  • Phải ghi rõ sample không phải toàn bộ các vị trí tồn tại lỗi.
  • Trong trường hợp lỗi lặp lại rộng, khuyến nghị remediation mang tính hệ thống.
5.2.7 Appendices

Appendices dùng cho nội dung nào?

#

Danh sách dài

Compromised users hoặc nhiều affected areas.

PoC code

Code block lớn làm gián đoạn nội dung chính.

Attack narrative

Chuỗi khai thác hoặc methodology mở rộng.

Technical write-up

Chi tiết cần thiết nhưng quá dài để đặt inline.

5.2.7 Appendices

Further Information

  • Nội dung không bắt buộc cho main write-up nhưng có thể mang lại giá trị.
  • Bài viết giải thích vulnerability sâu hơn.
  • Standard hoặc guideline để triển khai remediation.
  • Các phương pháp khai thác khác có liên quan.
5.2.7 Appendices

References

  • Dùng để cung cấp thêm insight ở các lĩnh vực không trực tiếp thuộc testing.
  • Ưu tiên nguồn có thẩm quyền cao nhất.
  • Trích dẫn nguồn đúng cách.
  • Reference phải hỗ trợ finding hoặc remediation, không làm người đọc phân tâm.
Tổng kết

Không có “one tool to rule them all”

  • Không có một công cụ ghi chú hoặc report writing phù hợp với mọi người và mọi khách hàng.
  • Hãy thử nghiệm nhiều công cụ và chọn workflow phù hợp.
  • Công cụ tốt là công cụ giúp viết báo cáo thoải mái, hiệu quả và tuân thủ yêu cầu bảo mật.
  • Quy trình nhất quán quan trọng hơn việc chạy theo số lượng tính năng.
Tổng kết

Workflow từ ghi chú đến báo cáo

01Ghi từng thao tácCommand, GUI, request, payload và kết quả.
02Tổ chức evidenceEndpoint, screenshot và PoC có ngữ cảnh.
03Nhóm findingTrend, severity và business context.
04Viết theo audienceExecutive, technical summary và details.
05Đề xuất remediationCụ thể, thực tế và có thể kiểm tra lại.
Tổng kết

Các sai lầm làm giảm chất lượng report

?

Ghi chú mơ hồ

Không lưu chính xác thao tác, điều kiện và kết quả.

Ảnh không có ngữ cảnh

Screenshot khó đọc hoặc không gắn với khách hàng.

!

Severity thiếu bối cảnh

Đồng nhất technical severity với business risk.

Remediation chung chung

Không có bước thực hiện cụ thể.

Một nội dung cho mọi audience

Executive bị quá tải, technical staff lại thiếu chi tiết.

A

Appendix sai chỗ

Nhồi code hoặc narrative dài vào phần finding chính.

Tổng kết

Checklist tự đánh giá

  • Scope, timeframe và RoE đã rõ?
  • Mỗi finding có endpoint và cách trigger?
  • Evidence đủ để chứng minh?
  • Screenshot dễ đọc và có caption ngắn?
  • Severity đã xét bối cảnh?
  • Executive Summary có trend thực sự?
  • Technical Summary nhóm finding hợp lý?
  • Remediation cụ thể và khả thi?
  • Nội dung dài đã chuyển sang Appendix?
  • Nguồn tham khảo có thẩm quyền?
Tổng kết

Tổng kết Chương 5

Note-Taking

Ghi đủ chi tiết để tái hiện và chuyển giao.

Evidence

Screenshot và PoC phải rõ, đúng trọng tâm.

C

Executive

Trình bày scope, outcome, trend và business impact.

Technical

Giải thích finding, evidence, replication và remediation.

A

Appendix

Giữ nội dung chính dễ đọc bằng cách tách chi tiết dài.

Actionable

Khuyến nghị phải phù hợp với hệ thống và khách hàng.

Tài nguyên

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

Sách, video và tài liệu hỗ trợ học tập PWK / OSCP

Tổng hợp nội dung tiếng Việt phục vụ học, thực hành và hệ thống hóa phương pháp làm việc.

security365.vn/pwk-oscp/

Chỉ thực hành trên hệ thống được cấp phép và môi trường đào tạo.

01 / 91
← → / Space / Home / End
Đã sao chép