Thực hiện các hoạt động sau khi giao báo cáo
Bài học 20
Kỳ thi CompTIA PenTest+ PT0-002

Mục tiêu:

  • Giải thích các hoạt động sau khi giao báo cáo PenTest.

A. Dọn dẹp sau hợp đồng (Post-engagement cleanup)

  1. Bắt đầu quá trình dọn dẹp
  • Khi PenTest hoàn thành và báo cáo được bàn giao, đã đến lúc bắt đầu các nhiệm vụ dọn dẹp.
  • Điều này đảm bảo không còn tồn tại các mã độc mà kẻ tấn công có thể khai thác.
  • Một số nhiệm vụ dọn dẹp thông thường có thể bao gồm, nhưng không giới hạn:
  • Xóa bất kỳ tệp mới nào mà bạn đã tạo khỏi các hệ thống bị ảnh hưởng.
  • Khôi phục bất kỳ tệp nhật ký nào mà bạn đã xóa.
  • Khôi phục một bản sao lưu sạch của bất kỳ ứng dụng nào mà bạn đã xâm nhập.

Ví dụ: Sau khi hoàn thành bài kiểm tra thâm nhập cho hệ thống của comptia.academy, Đội ngũ Pentest của Security365 bắt đầu quá trình dọn dẹp bằng cách:

  • Gỡ bỏ tất cả các webshell và backdoor đã cài đặt trên máy chủ web
  • Xóa các tài khoản thử nghiệm đã tạo trong Active Directory
  • Khôi phục cấu hình gốc của tường lửa sau khi đã thay đổi để thực hiện kiểm tra
  • Kiểm tra để đảm bảo không có tệp hoặc mã độc nào bị bỏ sót
  1. Loại bỏ các shell
  • Trong quá trình dọn dẹp, đội sẽ cần loại bỏ bất kỳ shell ẩn hoặc không hoạt động nào trên hệ thống mục tiêu.
  • Trên hệ thống Windows: Xóa mọi giá trị được thêm vào khóa Registry HKLM và HKCU Run khởi động shell trong quá trình khởi động.
  • Trên một số bản phân phối Linux: các tập lệnh trong /etc/init.d/ và /etc/systemd/ là những ví dụ về chức năng chạy khi khởi động tương tự.
  • Ngoài ra, hãy xóa mọi tác vụ được lên lịch trong Windows Task Scheduler hoặc tệp crontab của Linux gọi đến shell.

Ví dụ: Trong quá trình kiểm tra thâm nhập, Đội ngũ Pentest của Security365 đã sử dụng Metasploit để cài đặt một reverse shell trên máy chủ web chạy Windows Server của comptia.academy. Shell này được cấu hình để tự động chạy lại sau khi khởi động lại hệ thống bằng cách thêm một khóa registry Run. Trong giai đoạn dọn dẹp, họ phải cẩn thận tìm và xóa hoàn toàn khóa registry này, đồng thời chấm dứt bất kỳ tiến trình nghi ngờ nào liên quan đến shell.

  1. Xóa thông tin đăng nhập thử nghiệm
  • Việc xóa các thông tin đăng nhập, shell và công cụ do tester tạo ra đã được cài đặt trên các hệ thống không nhất thiết là một nhiệm vụ đơn giản.
  • Mã khai thác có thể được nhúng sâu vào các hệ thống mục tiêu, đặc biệt nếu bạn áp dụng các kỹ thuật lảng tránh phát hiện.
  • Khi xóa các thông tin đăng nhập mà bạn đã tạo trong quá trình kiểm tra, hãy nhớ rằng không phải tất cả các hệ thống xác thực đều giống nhau.
  • Trên hệ thống cục bộ, bạn có thể xóa mọi thông tin đăng nhập cục bộ
  • Quá trình này rất khác đối với tài khoản trong miền Active Directory.
  1. Xóa thông tin đăng nhập do người kiểm thử tạo
  • Một mối quan tâm khác khi xóa thông tin đăng nhập thử nghiệm là chúng có thể được tích hợp chặt chẽ vào một hệ thống cụ thể.
  • Việc xóa thông tin đăng nhập có thể dẫn đến hỏng hóc hệ thống hoặc các vấn đề khác.
  • Ví dụ: các hệ thống yêu cầu audit trail (vết kiểm tra) có thể không cung cấp tính năng “xóa tài khoản” trên giao diện chuẩn.
  • Trong trường hợp đó, bạn có thể cần phải trực tiếp xóa tài khoản thử nghiệm khỏi cơ sở dữ liệu người dùng.

Ví dụ: Trong quá trình kiểm tra, Đội ngũ Pentest của Security365 đã tạo một số tài khoản người dùng thử nghiệm trên hệ thống quản lý khách hàng của comptia.academy. Tuy nhiên, họ phát hiện ra rằng ứng dụng này không cung cấp chức năng xóa tài khoản trong giao diện. Để dọn dẹp đúng cách các tài khoản này, họ cần truy cập trực tiếp vào cơ sở dữ liệu phụ trợ và xóa các bản ghi liên quan một cách thủ công, đồng thời đảm bảo tính toàn vẹn tham chiếu. Quá trình này đòi hỏi thận trọng và hợp tác chặt chẽ với nhóm quản trị ứng dụng.

  1. Loại bỏ công cụ
  • Bên cạnh các shell, bạn cũng sẽ cần xóa các công cụ khác mà bạn đã thêm vào hệ thống để cho phép xâm nhập, như các payload Metasploit, keylogger và các agent quét lỗ hổng.
  • Một số công cụ này có thể được nạp vào bộ nhớ và do đó tự động bị xóa khi khởi động lại hệ thống.
  • Những công cụ khác vẫn tồn tại trên hệ thống mục tiêu cho đến khi được gỡ cài đặt thủ công.
  • Trong một số trường hợp, bạn có thể phải hủy dữ liệu và các tệp liên quan của công cụ một cách an toàn để kẻ tấn công không thể khôi phục chúng.

Ví dụ: Trong quá trình kiểm tra, Đội ngũ Pentest của Security365 đã sử dụng một số công cụ tùy chỉnh để nâng cao đặc quyền và duy trì truy cập trên các máy chủ Linux của comptia.academy. Những công cụ này bao gồm một kernel module rootkit và một backdoor dựa trên SSH. Trong giai đoạn dọn dẹp, họ phải dành thời gian để xóa cẩn thận các công cụ này, xóa tất cả các tệp liên quan, khôi phục cấu hình hệ thống gốc và khởi động lại các dịch vụ bị ảnh hưởng. Họ cũng xác minh lại hệ thống để đảm bảo không còn dấu vết nào còn sót lại.

  1. Tiêu hủy dữ liệu thử nghiệm
  • Khi xóa dữ liệu, hãy tuân theo quy trình kỹ thuật an toàn.
  • Tuân thủ một quy trình đã biết như tập lệnh tự động, sẽ tránh các vấn đề như quên bất kỳ dữ liệu nhạy cảm nào bị lộ.
  • Shredding data (cắt vụn dữ liệu) ghi đè bộ nhớ bằng dữ liệu mới.
  • Tiết kiệm thời gian và công sức bằng cách tự động hóa việc dọn dẹp bằng tập lệnh.
  • Hoàn tác các thay đổi độc hại, gỡ cài đặt phần mềm độc hại, khôi phục các tệp nhật ký đã xóa
  • LƯU Ý: Để tự động hóa đúng các tác vụ dọn dẹp, bạn sẽ cần phải lưu giữ hồ sơ cẩn thận về tất cả các cuộc tấn công đã thực hiện.

Ví dụ: Đội ngũ Pentest của Security365 rất coi trọng việc xử lý an toàn bất kỳ dữ liệu nào được tạo ra hoặc truy xuất trong quá trình kiểm tra thâm nhập. Sau khi hoàn thành bài kiểm tra cho comptia.academy, họ sử dụng các kỹ thuật an toàn như xóa bằng DoD 7-pass để xóa vĩnh viễn tất cả các tệp tạm thời, kết quả quét, log, v.v… từ máy trạm và máy chủ được sử dụng trong cuộc tấn công. Họ cũng sử dụng các công cụ như BleachBit để giúp dọn dẹp các vết tích và sử dụng mã hóa toàn bộ ổ đĩa cho các ổ đĩa ngoài chứa dữ liệu nhạy cảm. Cuối cùng, họ tổng hợp một bản kiểm kê các tài liệu và bằng chứng cần giữ lại, và an toàn hủy mọi thứ khác không cần thiết.

B. Hành động tiếp theo

  1. Phác thảo các hoạt động sau khi giao báo cáo
  • Khi PenTest hoàn tất, nhóm sẽ còn một vài nhiệm vụ cuối cùng cần hoàn thành.
  • Khách hàng sẽ phải chấp nhận báo cáo và các phát hiện của bạn, điều đó phải được hỗ trợ bằng bằng chứng về những gì bạn tìm thấy.
  • Nhóm nên cung cấp các khuyến nghị cho khách hàng:
  • Lên lịch các bài kiểm tra bổ sung với tổ chức khách hàng
  • Kiểm tra lại với khách hàng để xem nỗ lực giảm thiểu rủi ro của họ tiến triển ra sao
  • Nghiên cứu và kiểm tra các lỗ hổng mới
  1. Đạt được sự chấp thuận từ khách hàng
  • Sau khi hoàn thành PenTest và hoàn thành báo cáo, bạn nên thảo luận với khách hàng về các phát hiện.
  • Yêu cầu khách hàng xác nhận rằng họ đồng ý việc kiểm tra đã hoàn tất và chấp nhận các kết quả được trình bày trong báo cáo.
  • Sử dụng cuộc họp này để thảo luận với khách hàng về bất kỳ điều gì cần được làm rõ hoặc thay đổi.
  • Trong một số trường hợp, họ cũng có thể bày tỏ quan ngại về cách thức xử lý bài kiểm tra, điều đó có thể giúp quản lý các tình huống tương tự trong tương lai.

Ví dụ: Sau khi hoàn thành cuộc kiểm tra thâm nhập tại comptia.academy, Đội ngũ Pentest của Security365 tổ chức một cuộc họp kết thúc với ban lãnh đạo và các bên liên quan. Trong cuộc họp, họ trình bày tóm tắt các phát hiện chính, trả lời các câu hỏi và thu thập phản hồi về quy trình kiểm tra. Khách hàng đánh giá cao tính chuyên nghiệp và chất lượng của báo cáo, nhưng yêu cầu làm rõ về mức độ nghiêm trọng của một số lỗ hổng cụ thể. Sau cuộc thảo luận, cả hai bên đồng ý rằng mục tiêu của cuộc tấn công đã đạt và đã đến lúc kết thúc hợp đồng. Đội Pentest lấy chữ ký của người quản lý dự án phía khách hàng vào mẫu chấp thuận báo cáo tiêu chuẩn của họ.

  1. Xác nhận các phát hiện
  • Attestation (chứng thực) là quá trình cung cấp bằng chứng cho thấy các phát hiện được mô tả trong báo cáo PenTest là đúng sự thật.
  • Bằng cách ký tắt vào báo cáo, bạn đang xác nhận rằng bạn tin tưởng các thông tin và kết luận trong báo cáo là xác thực.
  • Khách hàng phải tin rằng những gì bạn nói về con người, quy trình và công nghệ của họ là chính xác.
  • Bạn phải sẵn sàng chứng minh những gì bạn tuyên bố.
  • Ví dụ: nếu bạn muốn chứng minh rằng bạn đã có thể xâm nhập vào một máy chủ, bạn có thể trình cho khách hàng dữ liệu đã lấy ra được như một bằng chứng.

Ví dụ: Trong quá trình họp kết thúc với comptia.academy, một thành viên ban lãnh đạo tỏ ra hoài nghi về khả năng Đội ngũ Pentest của Security365 có thể truy cập vào hệ thống nội bộ quan trọng từ mạng guest wifi. Để chứng minh phát hiện này, Đội trưởng Pentest trình chiếu một video ghi lại toàn bộ quá trình khai thác – từ việc kết nối tới wifi công cộng, đánh cắp thông tin đăng nhập qua sniffing, chiếm quyền kiểm soát trạm làm việc của nhân viên và cuối cùng là truy cập được vào máy chủ cơ sở dữ liệu nội bộ. Video này, cùng với các bản ghi, log hệ thống và ảnh chụp màn hình có liên quan, đã thuyết phục ban lãnh đạo rằng vấn đề bảo mật này là có thật và cần được ưu tiên giải quyết.

  1. Lên kế hoạch cho cuộc kiểm tra lại
  • Mục đích của việc kiểm tra lại (retest) là phân tích tiến độ trong việc áp dụng các biện pháp giảm thiểu cho các vector tấn công đã tìm thấy trong quá trình PenTest.
  • Lên lịch các bài kiểm tra bổ sung với khách hàng để đánh giá tiến độ của họ.
  • Cho họ một khoảng thời gian để sửa các lỗi.
  • Tập trung nghiên cứu các lỗ hổng mà nhóm không thể đưa ra biện pháp giảm thiểu.
  • Thông báo cho họ khi/nếu cuối cùng tìm ra một biện pháp nào đó.
  • Nghiên cứu và kiểm tra các lỗ hổng mới được phát hiện trong quá trình kiểm tra.

Ví dụ: Trong báo cáo PenTest cho comptia.academy, Đội ngũ Pentest của Security365 xác định một số lỗ hổng quan trọng trong ứng dụng web và đề xuất các biện pháp khắc phục. Tuy nhiên, họ cũng phát hiện một lỗ hổng “zero-day” trong thư viện mã nguồn mở mà ứng dụng sử dụng, chưa có bản vá chính thức nào. Vì vậy, họ đề xuất lên lịch một cuộc kiểm tra lại sau 3 tháng để:

  • Đánh giá tiến độ của khách hàng trong việc khắc phục các lỗ hổng đã biết
  • Kiểm tra lại để xác nhận các biện pháp khắc phục đã triển khai có hiệu quả hay không
  • Cập nhật tình trạng của lỗ hổng zero-day và đề xuất phương pháp giảm thiểu tạm thời nếu bản vá chưa sẵn có
  • Kiểm tra các chức năng và thay đổi mới của ứng dụng kể từ lần kiểm tra trước

Điều này giúp cả khách hàng và đội Pentest theo dõi và cải thiện liên tục tình trạng bảo mật theo thời gian.

  1. Rà soát các bài học kinh nghiệm
  • Một phần quan trọng của bất kỳ dự án nào là xác định các bài học kinh nghiệm.
  • Mục tiêu chính của việc soạn thảo báo cáo bài học kinh nghiệm (lessons learned report – LLR) hay còn gọi là báo cáo sau hành động (after-action report – AAR) là để cải thiện quy trình và công cụ PenTest của bạn.
  • Nếu không học hỏi từ kinh nghiệm có thể dẫn đến việc lặp lại những sai lầm tương tự.
  • Khi bạn soạn thảo LLR, hãy đưa ra các câu hỏi về bài PenTest:
  • Điều gì trong bài kiểm tra diễn ra tốt đẹp? Điều gì diễn ra không tốt?
  • Nhóm đã tìm hiểu về những lỗ hổng, kỹ thuật khai thác mới nào?

Ví dụ: Sau mỗi dự án PenTest, Đội ngũ Pentest của Security365 dành thời gian để phản ánh và ghi lại các bài học kinh nghiệm. Với dự án tại comptia.academy, họ tổ chức một buổi họp AAR, trong đó mỗi thành viên chia sẻ:

  • Điều gì đã hoạt động tốt – như việc sử dụng thành công kỹ thuật OSINT để thu thập thông tin về mục tiêu, hoặc phối hợp hiệu quả giữa các chuyên gia khai thác và chuyên gia phân tích mã độc
  • Điều gì cần cải thiện – chẳng hạn như sự cố với một công cụ quét lỗ hổng không ổn định, hoặc thủ tục báo cáo nội bộ không hiệu quả
  • Các công cụ, kỹ thuật mới đã học được – ví dụ, một kịch bản Metasploit được tùy chỉnh để vượt qua kiểm soát ứng dụng hoặc một phương pháp mới để tránh phát hiện bởi giải pháp EDR
  • Phản hồi của khách hàng – những gì họ thích và không thích về quá trình thử nghiệm, định dạng báo cáo, v.v…

Những hiểu biết này được tổng hợp thành một báo cáo LLR và chia sẻ với toàn bộ đội. Các hành động được thực hiện để cải tiến quy trình, nâng cao kỹ năng và sửa đổi các công cụ và mẫu báo cáo cho các dự án trong tương lai. Đây là một phần không thể thiếu trong văn hóa cải tiến liên tục của đội ngũ Pentest Security365.

Trong bài học này, các chuyên gia PenTest sẽ thấy rằng công việc của họ không chỉ dừng lại ở việc tìm ra lỗ hổng. Sau khi cuộc tấn công kết thúc, họ phải thực hiện các hoạt động quan trọng như dọn dẹp triệt để, báo cáo chính xác, xác nhận với khách hàng và rút ra bài học kinh nghiệm để cải thiện trong tương lai. Chỉ bằng cách hoàn thành đầy đủ và chu đáo các bước này, các Pentesters mới có thể hoàn thành trách nhiệm đạo đức và chuyên môn của mình, giúp khách hàng nâng cao an ninh mạng lâu dài.

Với các kiến thức này, kết hợp với việc thực hành kiểm tra thâm nhập trên các nền tảng như TryHackMe, HackTheBox, v.v., và tìm hiểu từ các cộng đồng an ninh mạng và hội thảo, hy vọng rằng các chuyên gia đang chuẩn bị cho kỳ thi CompTIA PenTest+ sẽ sẵn sàng vượt qua kỳ thi và trở thành Pentesters giỏi khi ra trường. Hãy nhớ rằng đạo đức và trách nhiệm là điều cốt lõi cần có của một Pentester chuyên nghiệp, bên cạnh kỹ năng kỹ thuật.

Chúc các bạn ôn tập và thi tốt. Đặc biệt, những ai đang ôn thi PT0-002 nên cân nhắc tham gia các Learning Path CompTIA Pentest+ trên TryHackMe để áp dụng kiến thức vào thực hành và lấy được chứng chỉ hoàn thành. Điều này sẽ là một lợi thế khi xin việc. Hãy luôn học hỏi, luôn đặt câu hỏi và giữ đam mê với lĩnh vực an ninh mạng đầy thử thách nhưng cũng rất thú vị này!

Trình bày bởi : Vinh Nguyen Trần Tường
Tài liệu hỗ trợ học tập và ôn thi Chứng Chỉ Quốc Tế CompTIA Pentest +
Chú ý : Các ví dụ chỉ là giả định cho dễ hiểu, không phải là tình huống thực tế.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Trending