V10.1 · PROFESSIONAL TOOL MASTERY · MANUAL REVIEWED

144 tool + 128 mini-tool

Không học kiểu “biết tên”. Mỗi tool có lúc dùng, evidence phải đọc, workflow tối thiểu, lỗi hay mắc và boundary. Bài mini-tool bắt tự viết parser/helper nhỏ rồi mới mở lời giải.

0%mini-tool đã hoàn thành0/128 bài · lưu trên máy
Web & Proxy

Burp Suite

Burp Suite dùng để intercept, inspect và replay HTTP/WebSocket request trong lab hoặc scope được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Burp Suite khi nhiệm vụ cụ thể là “intercept, inspect và replay HTTP/WebSocket request trong lab hoặc scope được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với Burp Suite, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ Burp Suite, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng Burp Suite để trả lời đúng một câu hỏi thuộc nhiệm vụ “intercept, inspect và replay HTTP/WebSocket request trong lab hoặc scope được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Burp Suite làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Burp Suite thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

OWASP ZAP

OWASP ZAP dùng để proxy và automation framework cho web security testing có kiểm soát. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng OWASP ZAP khi nhiệm vụ cụ thể là “proxy và automation framework cho web security testing có kiểm soát” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với OWASP ZAP, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ OWASP ZAP, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng OWASP ZAP để trả lời đúng một câu hỏi thuộc nhiệm vụ “proxy và automation framework cho web security testing có kiểm soát”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của OWASP ZAP làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output OWASP ZAP thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

mitmproxy

mitmproxy dùng để proxy lập trình được để quan sát và biến đổi traffic của app lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng mitmproxy khi nhiệm vụ cụ thể là “proxy lập trình được để quan sát và biến đổi traffic của app lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với mitmproxy, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ mitmproxy, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng mitmproxy để trả lời đúng một câu hỏi thuộc nhiệm vụ “proxy lập trình được để quan sát và biến đổi traffic của app lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của mitmproxy làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output mitmproxy thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

curl

curl dùng để tái hiện request HTTP tối thiểu và đọc header/body rõ ràng. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng curl khi nhiệm vụ cụ thể là “tái hiện request HTTP tối thiểu và đọc header/body rõ ràng” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với curl, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ curl, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng curl để trả lời đúng một câu hỏi thuộc nhiệm vụ “tái hiện request HTTP tối thiểu và đọc header/body rõ ràng”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của curl làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output curl thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

HTTPie

HTTPie dùng để gửi request HTTP có cú pháp thân thiện để học API và headers. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng HTTPie khi nhiệm vụ cụ thể là “gửi request HTTP có cú pháp thân thiện để học API và headers” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với HTTPie, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ HTTPie, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng HTTPie để trả lời đúng một câu hỏi thuộc nhiệm vụ “gửi request HTTP có cú pháp thân thiện để học API và headers”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của HTTPie làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output HTTPie thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

Chrome DevTools

Chrome DevTools dùng để quan sát Network, Storage, DOM và console của browser lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Chrome DevTools khi nhiệm vụ cụ thể là “quan sát Network, Storage, DOM và console của browser lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với Chrome DevTools, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ Chrome DevTools, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng Chrome DevTools để trả lời đúng một câu hỏi thuộc nhiệm vụ “quan sát Network, Storage, DOM và console của browser lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Chrome DevTools làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Chrome DevTools thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

Postman

Postman dùng để lưu collection request và environment cho API test có tổ chức. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Postman khi nhiệm vụ cụ thể là “lưu collection request và environment cho API test có tổ chức” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với Postman, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ Postman, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng Postman để trả lời đúng một câu hỏi thuộc nhiệm vụ “lưu collection request và environment cho API test có tổ chức”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Postman làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Postman thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Web & Proxy

Insomnia

Insomnia dùng để client API để gửi REST/GraphQL/gRPC request trong môi trường test. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Insomnia khi nhiệm vụ cụ thể là “client API để gửi REST/GraphQL/gRPC request trong môi trường test” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior. Với Insomnia, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Khi lưu kết quả từ Insomnia, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “http-observation”: Raw HTTP/WebSocket traffic từ localhost hoặc ứng dụng nằm trong scope, kèm account test, baseline request và expected behavior.
  2. Dùng Insomnia để trả lời đúng một câu hỏi thuộc nhiệm vụ “client API để gửi REST/GraphQL/gRPC request trong môi trường test”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Request/response đã lưu, headers/cookies/status, timing cơ bản, history/replay hoặc DOM/network evidence tùy tool. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Insomnia làm bằng chứng cuối.

Cross-check: Đối chiếu ít nhất một request bằng browser DevTools hoặc client HTTP thứ hai; xác nhận server-side state chứ không chỉ nhìn UI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Web & Proxy, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Insomnia thành conclusion trước khi cross-check.

First lab: Bắt một request GET/POST trên localhost, lưu baseline, đổi đúng một header hoặc field vô hại rồi so response và state trước/sau. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

Nmap

Nmap dùng để inventory host/service trong mạng lab hoặc phạm vi mạng được ủy quyền. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Nmap khi nhiệm vụ cụ thể là “inventory host/service trong mạng lab hoặc phạm vi mạng được ủy quyền” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với Nmap, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ Nmap, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng Nmap để trả lời đúng một câu hỏi thuộc nhiệm vụ “inventory host/service trong mạng lab hoặc phạm vi mạng được ủy quyền”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Nmap làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Nmap thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

naabu

naabu dùng để port discovery nhanh cho danh sách host thuộc lab hoặc scope được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng naabu khi nhiệm vụ cụ thể là “port discovery nhanh cho danh sách host thuộc lab hoặc scope được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với naabu, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ naabu, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng naabu để trả lời đúng một câu hỏi thuộc nhiệm vụ “port discovery nhanh cho danh sách host thuộc lab hoặc scope được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của naabu làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output naabu thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

subfinder

subfinder dùng để thu thập subdomain từ nguồn passive cho domain lab hoặc domain được phép nghiên cứu. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng subfinder khi nhiệm vụ cụ thể là “thu thập subdomain từ nguồn passive cho domain lab hoặc domain được phép nghiên cứu” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với subfinder, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ subfinder, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng subfinder để trả lời đúng một câu hỏi thuộc nhiệm vụ “thu thập subdomain từ nguồn passive cho domain lab hoặc domain được phép nghiên cứu”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của subfinder làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output subfinder thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

dnsx

dnsx dùng để resolve và kiểm tra DNS record từ danh sách hostname có kiểm soát. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng dnsx khi nhiệm vụ cụ thể là “resolve và kiểm tra DNS record từ danh sách hostname có kiểm soát” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với dnsx, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ dnsx, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng dnsx để trả lời đúng một câu hỏi thuộc nhiệm vụ “resolve và kiểm tra DNS record từ danh sách hostname có kiểm soát”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của dnsx làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output dnsx thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

httpx

httpx dùng để probe HTTP metadata từ danh sách URL/host trong scope. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng httpx khi nhiệm vụ cụ thể là “probe HTTP metadata từ danh sách URL/host trong scope” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với httpx, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ httpx, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng httpx để trả lời đúng một câu hỏi thuộc nhiệm vụ “probe HTTP metadata từ danh sách URL/host trong scope”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của httpx làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output httpx thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

katana

katana dùng để crawl endpoint/form trong web lab và xuất kết quả có cấu trúc. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng katana khi nhiệm vụ cụ thể là “crawl endpoint/form trong web lab và xuất kết quả có cấu trúc” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với katana, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ katana, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng katana để trả lời đúng một câu hỏi thuộc nhiệm vụ “crawl endpoint/form trong web lab và xuất kết quả có cấu trúc”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của katana làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output katana thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

gau

gau dùng để gom URL lịch sử/public để inventory bề mặt web đã biết. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng gau khi nhiệm vụ cụ thể là “gom URL lịch sử/public để inventory bề mặt web đã biết” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với gau, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ gau, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng gau để trả lời đúng một câu hỏi thuộc nhiệm vụ “gom URL lịch sử/public để inventory bề mặt web đã biết”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của gau làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output gau thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Recon & Asset Mapping

Amass

Amass dùng để asset discovery và DNS relationship mapping cho lab/authorized scope. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Amass khi nhiệm vụ cụ thể là “asset discovery và DNS relationship mapping cho lab/authorized scope” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy. Với Amass, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Khi lưu kết quả từ Amass, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “authorized-inventory”: Seed domain/host/CIDR thuộc lab hoặc authorized scope, scope note và giới hạn host/query rõ ràng trước khi chạy.
  2. Dùng Amass để trả lời đúng một câu hỏi thuộc nhiệm vụ “asset discovery và DNS relationship mapping cho lab/authorized scope”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Danh sách hostname, DNS record, port/service hoặc HTTP metadata có provenance và timestamp để làm inventory. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Amass làm bằng chứng cuối.

Cross-check: Xác minh sample kết quả bằng DNS lookup/HTTP HEAD hoặc nguồn inventory khác; loại wildcard, stale record và host ngoài scope. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Recon & Asset Mapping, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Amass thành conclusion trước khi cross-check.

First lab: Dùng domain training.local hoặc dải lab nhỏ để tạo inventory, đánh dấu source từng asset và loại một false positive có chủ đích. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

Nuclei

Nuclei dùng để chạy template kiểm tra có kiểm soát và luôn xác minh finding thủ công. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Nuclei khi nhiệm vụ cụ thể là “chạy template kiểm tra có kiểm soát và luôn xác minh finding thủ công” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với Nuclei, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ Nuclei, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng Nuclei để trả lời đúng một câu hỏi thuộc nhiệm vụ “chạy template kiểm tra có kiểm soát và luôn xác minh finding thủ công”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Nuclei làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Nuclei thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

ffuf

ffuf dùng để fuzz path/parameter trên localhost hoặc target nằm rõ trong scope. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ffuf khi nhiệm vụ cụ thể là “fuzz path/parameter trên localhost hoặc target nằm rõ trong scope” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với ffuf, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ ffuf, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng ffuf để trả lời đúng một câu hỏi thuộc nhiệm vụ “fuzz path/parameter trên localhost hoặc target nằm rõ trong scope”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ffuf làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ffuf thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

feroxbuster

feroxbuster dùng để content discovery cho web lab với recursion có giới hạn. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng feroxbuster khi nhiệm vụ cụ thể là “content discovery cho web lab với recursion có giới hạn” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với feroxbuster, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ feroxbuster, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng feroxbuster để trả lời đúng một câu hỏi thuộc nhiệm vụ “content discovery cho web lab với recursion có giới hạn”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của feroxbuster làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output feroxbuster thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

dirsearch

dirsearch dùng để enumerate content path trong ứng dụng test được ủy quyền. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng dirsearch khi nhiệm vụ cụ thể là “enumerate content path trong ứng dụng test được ủy quyền” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với dirsearch, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ dirsearch, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng dirsearch để trả lời đúng một câu hỏi thuộc nhiệm vụ “enumerate content path trong ứng dụng test được ủy quyền”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của dirsearch làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output dirsearch thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

Gobuster

Gobuster dùng để wordlist discovery cho path/DNS trong lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Gobuster khi nhiệm vụ cụ thể là “wordlist discovery cho path/DNS trong lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với Gobuster, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ Gobuster, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng Gobuster để trả lời đúng một câu hỏi thuộc nhiệm vụ “wordlist discovery cho path/DNS trong lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Gobuster làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Gobuster thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

Wfuzz

Wfuzz dùng để fuzz request field với dataset nhỏ, rate được kiểm soát trong lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Wfuzz khi nhiệm vụ cụ thể là “fuzz request field với dataset nhỏ, rate được kiểm soát trong lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với Wfuzz, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ Wfuzz, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng Wfuzz để trả lời đúng một câu hỏi thuộc nhiệm vụ “fuzz request field với dataset nhỏ, rate được kiểm soát trong lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Wfuzz làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Wfuzz thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

boofuzz

boofuzz dùng để protocol fuzzing cho service tự dựng hoặc chương trình test. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng boofuzz khi nhiệm vụ cụ thể là “protocol fuzzing cho service tự dựng hoặc chương trình test” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với boofuzz, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ boofuzz, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng boofuzz để trả lời đúng một câu hỏi thuộc nhiệm vụ “protocol fuzzing cho service tự dựng hoặc chương trình test”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của boofuzz làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output boofuzz thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Discovery & Fuzzing

Radamsa

Radamsa dùng để mutation fuzzing trên file/input offline để tạo test cases. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Radamsa khi nhiệm vụ cụ thể là “mutation fuzzing trên file/input offline để tạo test cases” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ. Với Radamsa, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Khi lưu kết quả từ Radamsa, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “bounded-discovery”: Endpoint localhost/authorized scope, wordlist nhỏ, request budget và stop condition; không bắt đầu bằng wordlist khổng lồ.
  2. Dùng Radamsa để trả lời đúng một câu hỏi thuộc nhiệm vụ “mutation fuzzing trên file/input offline để tạo test cases”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate path/parameter/input cùng status, size, redirect hoặc response signature để manual review. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Radamsa làm bằng chứng cuối.

Cross-check: Replay candidate bằng request tối thiểu và so với baseline/404 control để tránh coi noise, soft-404 hoặc WAF response là finding. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Discovery & Fuzzing, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Radamsa thành conclusion trước khi cross-check.

First lab: Fuzz một ứng dụng localhost với wordlist vài chục mục, đặt rate nhỏ, rồi chứng minh ít nhất một candidate thật và một false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

Wireshark

Wireshark dùng để đọc packet capture bằng GUI và phân tích protocol/timeline từ PCAP. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Wireshark khi nhiệm vụ cụ thể là “đọc packet capture bằng GUI và phân tích protocol/timeline từ PCAP” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với Wireshark, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ Wireshark, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng Wireshark để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc packet capture bằng GUI và phân tích protocol/timeline từ PCAP”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Wireshark làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Wireshark thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

TShark

TShark dùng để lọc và trích packet fields từ PCAP bằng command line. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng TShark khi nhiệm vụ cụ thể là “lọc và trích packet fields từ PCAP bằng command line” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với TShark, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ TShark, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng TShark để trả lời đúng một câu hỏi thuộc nhiệm vụ “lọc và trích packet fields từ PCAP bằng command line”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của TShark làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output TShark thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

tcpdump

tcpdump dùng để capture hoặc đọc traffic trong lab và lọc nhanh theo host/port/protocol. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng tcpdump khi nhiệm vụ cụ thể là “capture hoặc đọc traffic trong lab và lọc nhanh theo host/port/protocol” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với tcpdump, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ tcpdump, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng tcpdump để trả lời đúng một câu hỏi thuộc nhiệm vụ “capture hoặc đọc traffic trong lab và lọc nhanh theo host/port/protocol”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của tcpdump làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output tcpdump thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

Zeek

Zeek dùng để chuyển traffic lab thành log mức ứng dụng để hunting và điều tra. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Zeek khi nhiệm vụ cụ thể là “chuyển traffic lab thành log mức ứng dụng để hunting và điều tra” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với Zeek, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ Zeek, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng Zeek để trả lời đúng một câu hỏi thuộc nhiệm vụ “chuyển traffic lab thành log mức ứng dụng để hunting và điều tra”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Zeek làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Zeek thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

Suricata

Suricata dùng để IDS/NSM engine để chạy rule trên traffic lab hoặc PCAP offline. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Suricata khi nhiệm vụ cụ thể là “IDS/NSM engine để chạy rule trên traffic lab hoặc PCAP offline” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với Suricata, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ Suricata, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng Suricata để trả lời đúng một câu hỏi thuộc nhiệm vụ “IDS/NSM engine để chạy rule trên traffic lab hoặc PCAP offline”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Suricata làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Suricata thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

Scapy

Scapy dùng để tạo và parse packet synthetic bằng Python cho bài học protocol. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Scapy khi nhiệm vụ cụ thể là “tạo và parse packet synthetic bằng Python cho bài học protocol” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với Scapy, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ Scapy, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng Scapy để trả lời đúng một câu hỏi thuộc nhiệm vụ “tạo và parse packet synthetic bằng Python cho bài học protocol”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Scapy làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Scapy thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

socat

socat dùng để nối stream/socket trong localhost lab để dựng service test và debug. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng socat khi nhiệm vụ cụ thể là “nối stream/socket trong localhost lab để dựng service test và debug” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với socat, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ socat, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng socat để trả lời đúng một câu hỏi thuộc nhiệm vụ “nối stream/socket trong localhost lab để dựng service test và debug”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của socat làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output socat thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Network & PCAP

netcat

netcat dùng để client/server TCP/UDP tối giản cho localhost lab và kiểm tra protocol cơ bản. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng netcat khi nhiệm vụ cụ thể là “client/server TCP/UDP tối giản cho localhost lab và kiểm tra protocol cơ bản” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture. Với netcat, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Khi lưu kết quả từ netcat, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “packet-evidence”: PCAP offline hoặc traffic lab được phép, filter hypothesis, topology/IP/port context và timezone của capture.
  2. Dùng netcat để trả lời đúng một câu hỏi thuộc nhiệm vụ “client/server TCP/UDP tối giản cho localhost lab và kiểm tra protocol cơ bản”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Packet/flow fields, DNS/TLS/protocol metadata, stream/timeline hoặc IDS log có thể trace về packet gốc. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của netcat làm bằng chứng cuối.

Cross-check: Đối chiếu packet number/timestamp và cùng field bằng tool thứ hai như Wireshark↔TShark; không kết luận chỉ từ màu/label GUI. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Network & PCAP, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output netcat thành conclusion trước khi cross-check.

First lab: Mở PCAP synthetic, tìm một DNS→TCP/TLS flow, ghi packet numbers và giải thích bằng field gốc thay vì nhãn analyzer. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

jq

jq dùng để lọc và biến đổi JSON từ API/log/artifact một cách tái hiện được. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng jq khi nhiệm vụ cụ thể là “lọc và biến đổi JSON từ API/log/artifact một cách tái hiện được” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với jq, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ jq, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng jq để trả lời đúng một câu hỏi thuộc nhiệm vụ “lọc và biến đổi JSON từ API/log/artifact một cách tái hiện được”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của jq làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output jq thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

yq

yq dùng để đọc và chỉnh YAML cấu hình lab tương tự jq cho JSON. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng yq khi nhiệm vụ cụ thể là “đọc và chỉnh YAML cấu hình lab tương tự jq cho JSON” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với yq, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ yq, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng yq để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc và chỉnh YAML cấu hình lab tương tự jq cho JSON”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của yq làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output yq thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

grpcurl

grpcurl dùng để gọi gRPC service lab và inspect method/response. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng grpcurl khi nhiệm vụ cụ thể là “gọi gRPC service lab và inspect method/response” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với grpcurl, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ grpcurl, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng grpcurl để trả lời đúng một câu hỏi thuộc nhiệm vụ “gọi gRPC service lab và inspect method/response”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của grpcurl làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output grpcurl thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

websocat

websocat dùng để kết nối WebSocket service localhost để quan sát message flow. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng websocat khi nhiệm vụ cụ thể là “kết nối WebSocket service localhost để quan sát message flow” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với websocat, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ websocat, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng websocat để trả lời đúng một câu hỏi thuộc nhiệm vụ “kết nối WebSocket service localhost để quan sát message flow”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của websocat làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output websocat thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

GraphQL Voyager

GraphQL Voyager dùng để trực quan hóa GraphQL schema đã được cung cấp trong lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng GraphQL Voyager khi nhiệm vụ cụ thể là “trực quan hóa GraphQL schema đã được cung cấp trong lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với GraphQL Voyager, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ GraphQL Voyager, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng GraphQL Voyager để trả lời đúng một câu hỏi thuộc nhiệm vụ “trực quan hóa GraphQL schema đã được cung cấp trong lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của GraphQL Voyager làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output GraphQL Voyager thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

InQL

InQL dùng để hỗ trợ inspect/query GraphQL trong lab và Burp workflow. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng InQL khi nhiệm vụ cụ thể là “hỗ trợ inspect/query GraphQL trong lab và Burp workflow” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với InQL, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ InQL, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng InQL để trả lời đúng một câu hỏi thuộc nhiệm vụ “hỗ trợ inspect/query GraphQL trong lab và Burp workflow”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của InQL làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output InQL thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

Arjun

Arjun dùng để parameter discovery có giới hạn trên endpoint lab/authorized scope. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Arjun khi nhiệm vụ cụ thể là “parameter discovery có giới hạn trên endpoint lab/authorized scope” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với Arjun, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ Arjun, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng Arjun để trả lời đúng một câu hỏi thuộc nhiệm vụ “parameter discovery có giới hạn trên endpoint lab/authorized scope”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Arjun làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Arjun thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
API & Data

Kiterunner

Kiterunner dùng để route/API discovery với wordlist trên ứng dụng test được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Kiterunner khi nhiệm vụ cụ thể là “route/API discovery với wordlist trên ứng dụng test được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction. Với Kiterunner, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Khi lưu kết quả từ Kiterunner, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “structured-api-data”: JSON/YAML/API request synthetic hoặc endpoint lab, schema/expected fields và auth context đã redaction.
  2. Dùng Kiterunner để trả lời đúng một câu hỏi thuộc nhiệm vụ “route/API discovery với wordlist trên ứng dụng test được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Structured response, transformed fields, schema/method result hoặc diff có thể lưu và rerun. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Kiterunner làm bằng chứng cuối.

Cross-check: So output với raw payload và một parser/client khác; với API phải xác nhận side effect/state chứ không chỉ status code. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm API & Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Kiterunner thành conclusion trước khi cross-check.

First lab: Parse hoặc gửi một request API localhost có repeated/nested fields, lưu raw input và chứng minh transform không làm mất dữ liệu. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

strace

strace dùng để quan sát system call của process local để debug file/network/process behavior. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng strace khi nhiệm vụ cụ thể là “quan sát system call của process local để debug file/network/process behavior” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với strace, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ strace, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng strace để trả lời đúng một câu hỏi thuộc nhiệm vụ “quan sát system call của process local để debug file/network/process behavior”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của strace làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output strace thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

ltrace

ltrace dùng để quan sát library call của chương trình local khi học runtime behavior. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ltrace khi nhiệm vụ cụ thể là “quan sát library call của chương trình local khi học runtime behavior” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với ltrace, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ ltrace, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng ltrace để trả lời đúng một câu hỏi thuộc nhiệm vụ “quan sát library call của chương trình local khi học runtime behavior”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ltrace làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ltrace thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

ss

ss dùng để đọc socket/listener/connection state trên Linux lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ss khi nhiệm vụ cụ thể là “đọc socket/listener/connection state trên Linux lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với ss, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ ss, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng ss để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc socket/listener/connection state trên Linux lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ss làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ss thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

lsof

lsof dùng để map process với file/socket đang mở trong máy lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng lsof khi nhiệm vụ cụ thể là “map process với file/socket đang mở trong máy lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với lsof, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ lsof, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng lsof để trả lời đúng một câu hỏi thuộc nhiệm vụ “map process với file/socket đang mở trong máy lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của lsof làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output lsof thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

systemctl

systemctl dùng để xem trạng thái và quản lý service trong VM/container lab của chính mình. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng systemctl khi nhiệm vụ cụ thể là “xem trạng thái và quản lý service trong VM/container lab của chính mình” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với systemctl, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ systemctl, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng systemctl để trả lời đúng một câu hỏi thuộc nhiệm vụ “xem trạng thái và quản lý service trong VM/container lab của chính mình”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của systemctl làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output systemctl thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

journalctl

journalctl dùng để lọc systemd journal để dựng timeline và debug service. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng journalctl khi nhiệm vụ cụ thể là “lọc systemd journal để dựng timeline và debug service” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với journalctl, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ journalctl, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng journalctl để trả lời đúng một câu hỏi thuộc nhiệm vụ “lọc systemd journal để dựng timeline và debug service”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của journalctl làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output journalctl thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

auditd

auditd dùng để ghi audit event trên Linux lab để học detection/evidence. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng auditd khi nhiệm vụ cụ thể là “ghi audit event trên Linux lab để học detection/evidence” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với auditd, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ auditd, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng auditd để trả lời đúng một câu hỏi thuộc nhiệm vụ “ghi audit event trên Linux lab để học detection/evidence”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của auditd làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output auditd thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Linux & Host

osquery

osquery dùng để query host state như bảng dữ liệu để inventory và hunting trên endpoint lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng osquery khi nhiệm vụ cụ thể là “query host state như bảng dữ liệu để inventory và hunting trên endpoint lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác. Với osquery, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Khi lưu kết quả từ osquery, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “linux-state”: VM/container lab, user hiện tại, process/service/file mục tiêu và snapshot/expected state trước thao tác.
  2. Dùng osquery để trả lời đúng một câu hỏi thuộc nhiệm vụ “query host state như bảng dữ liệu để inventory và hunting trên endpoint lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process, socket, syscall, permission, journal/audit hoặc service state gắn với path/PID/timestamp cụ thể. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của osquery làm bằng chứng cuối.

Cross-check: Cross-check PID/user/path bằng ít nhất hai nguồn host state và xác nhận trước/sau thay đổi trên VM lab. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Linux & Host, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output osquery thành conclusion trước khi cross-check.

First lab: Theo dõi một service local bằng ps/ss/journal hoặc strace, nối process→socket/file→log và ghi lại state trước/sau restart. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Process Explorer

Process Explorer dùng để xem process tree, signer, handles và properties trên Windows lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Process Explorer khi nhiệm vụ cụ thể là “xem process tree, signer, handles và properties trên Windows lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Process Explorer, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Process Explorer, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Process Explorer để trả lời đúng một câu hỏi thuộc nhiệm vụ “xem process tree, signer, handles và properties trên Windows lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Process Explorer làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Process Explorer thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Process Monitor

Process Monitor dùng để theo dõi file/registry/process activity trên Windows lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Process Monitor khi nhiệm vụ cụ thể là “theo dõi file/registry/process activity trên Windows lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Process Monitor, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Process Monitor, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Process Monitor để trả lời đúng một câu hỏi thuộc nhiệm vụ “theo dõi file/registry/process activity trên Windows lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Process Monitor làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Process Monitor thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Autoruns

Autoruns dùng để inventory persistence/startup locations để review cấu hình endpoint. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Autoruns khi nhiệm vụ cụ thể là “inventory persistence/startup locations để review cấu hình endpoint” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Autoruns, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Autoruns, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Autoruns để trả lời đúng một câu hỏi thuộc nhiệm vụ “inventory persistence/startup locations để review cấu hình endpoint”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Autoruns làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Autoruns thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

TCPView

TCPView dùng để map Windows process với TCP/UDP endpoints đang hoạt động. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng TCPView khi nhiệm vụ cụ thể là “map Windows process với TCP/UDP endpoints đang hoạt động” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với TCPView, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ TCPView, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng TCPView để trả lời đúng một câu hỏi thuộc nhiệm vụ “map Windows process với TCP/UDP endpoints đang hoạt động”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của TCPView làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output TCPView thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

PowerShell

PowerShell dùng để automation và query object Windows theo cách có thể kiểm tra lại. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng PowerShell khi nhiệm vụ cụ thể là “automation và query object Windows theo cách có thể kiểm tra lại” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với PowerShell, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ PowerShell, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng PowerShell để trả lời đúng một câu hỏi thuộc nhiệm vụ “automation và query object Windows theo cách có thể kiểm tra lại”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của PowerShell làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output PowerShell thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Sysmon

Sysmon dùng để tạo endpoint telemetry chi tiết cho detection lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Sysmon khi nhiệm vụ cụ thể là “tạo endpoint telemetry chi tiết cho detection lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Sysmon, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Sysmon, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Sysmon để trả lời đúng một câu hỏi thuộc nhiệm vụ “tạo endpoint telemetry chi tiết cho detection lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Sysmon làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Sysmon thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Event Viewer

Event Viewer dùng để đọc Windows Event Logs và event metadata trong investigation lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Event Viewer khi nhiệm vụ cụ thể là “đọc Windows Event Logs và event metadata trong investigation lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Event Viewer, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Event Viewer, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Event Viewer để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc Windows Event Logs và event metadata trong investigation lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Event Viewer làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Event Viewer thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Windows & Endpoint

Velociraptor

Velociraptor dùng để endpoint collection/hunting trên lab hoặc fleet được quản trị hợp pháp. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Velociraptor khi nhiệm vụ cụ thể là “endpoint collection/hunting trên lab hoặc fleet được quản trị hợp pháp” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng. Với Velociraptor, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Khi lưu kết quả từ Velociraptor, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “windows-telemetry”: Windows VM lab, process/service/account fixture, event log hoặc Sysinternals capture với mốc thời gian rõ ràng.
  2. Dùng Velociraptor để trả lời đúng một câu hỏi thuộc nhiệm vụ “endpoint collection/hunting trên lab hoặc fleet được quản trị hợp pháp”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Process tree, handle/registry/file/network event, signer, service hoặc event metadata gắn với PID/SID/time. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Velociraptor làm bằng chứng cuối.

Cross-check: Đối chiếu Process Explorer/Procmon/Event Log hoặc PowerShell query; giữ raw event ID/field thay vì chỉ screenshot. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Windows & Endpoint, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Velociraptor thành conclusion trước khi cross-check.

First lab: Khởi chạy app test, ghi process tree và một file/registry event, sau đó tìm cùng hành vi trong Event Log hoặc PowerShell. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

AWS CLI

AWS CLI dùng để query cấu hình/resource AWS lab bằng identity được cấp riêng cho bài học. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng AWS CLI khi nhiệm vụ cụ thể là “query cấu hình/resource AWS lab bằng identity được cấp riêng cho bài học” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với AWS CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ AWS CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng AWS CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “query cấu hình/resource AWS lab bằng identity được cấp riêng cho bài học”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của AWS CLI làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output AWS CLI thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

Azure CLI

Azure CLI dùng để query Azure resource/identity trong subscription lab hoặc môi trường được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Azure CLI khi nhiệm vụ cụ thể là “query Azure resource/identity trong subscription lab hoặc môi trường được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với Azure CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ Azure CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng Azure CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “query Azure resource/identity trong subscription lab hoặc môi trường được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Azure CLI làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Azure CLI thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

gcloud CLI

gcloud CLI dùng để query Google Cloud resource/policy trong project lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng gcloud CLI khi nhiệm vụ cụ thể là “query Google Cloud resource/policy trong project lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với gcloud CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ gcloud CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng gcloud CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “query Google Cloud resource/policy trong project lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của gcloud CLI làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output gcloud CLI thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

ScoutSuite

ScoutSuite dùng để đánh giá cấu hình cloud account lab và xuất report để review thủ công. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ScoutSuite khi nhiệm vụ cụ thể là “đánh giá cấu hình cloud account lab và xuất report để review thủ công” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với ScoutSuite, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ ScoutSuite, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng ScoutSuite để trả lời đúng một câu hỏi thuộc nhiệm vụ “đánh giá cấu hình cloud account lab và xuất report để review thủ công”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ScoutSuite làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ScoutSuite thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

Prowler

Prowler dùng để kiểm tra security/compliance configuration của cloud lab và cần xác minh context. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Prowler khi nhiệm vụ cụ thể là “kiểm tra security/compliance configuration của cloud lab và cần xác minh context” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với Prowler, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ Prowler, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng Prowler để trả lời đúng một câu hỏi thuộc nhiệm vụ “kiểm tra security/compliance configuration của cloud lab và cần xác minh context”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Prowler làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Prowler thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

Trivy

Trivy dùng để scan image/filesystem/config/IaC offline hoặc trong CI lab để tìm issue có thể review. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Trivy khi nhiệm vụ cụ thể là “scan image/filesystem/config/IaC offline hoặc trong CI lab để tìm issue có thể review” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với Trivy, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ Trivy, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng Trivy để trả lời đúng một câu hỏi thuộc nhiệm vụ “scan image/filesystem/config/IaC offline hoặc trong CI lab để tìm issue có thể review”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Trivy làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Trivy thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

Steampipe

Steampipe dùng để query cloud/SaaS inventory bằng SQL trong account lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Steampipe khi nhiệm vụ cụ thể là “query cloud/SaaS inventory bằng SQL trong account lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với Steampipe, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ Steampipe, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng Steampipe để trả lời đúng một câu hỏi thuộc nhiệm vụ “query cloud/SaaS inventory bằng SQL trong account lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Steampipe làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Steampipe thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Cloud & IAM

CloudQuery

CloudQuery dùng để đồng bộ cloud asset metadata vào dataset để audit và inventory. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng CloudQuery khi nhiệm vụ cụ thể là “đồng bộ cloud asset metadata vào dataset để audit và inventory” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng. Với CloudQuery, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Khi lưu kết quả từ CloudQuery, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “cloud-control-plane”: Cloud sandbox/project lab, identity test, resource scope, policy/config snapshot và account/region/project identifier rõ ràng.
  2. Dùng CloudQuery để trả lời đúng một câu hỏi thuộc nhiệm vụ “đồng bộ cloud asset metadata vào dataset để audit và inventory”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Resource inventory, IAM/policy/config finding, principal-action-resource relation hoặc audit metadata. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của CloudQuery làm bằng chứng cuối.

Cross-check: Dùng provider CLI/API hoặc policy simulator/read-only query thứ hai để xác nhận effective access và loại finding chỉ dựa benchmark label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Cloud & IAM, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output CloudQuery thành conclusion trước khi cross-check.

First lab: Query identity và một resource/policy trong sandbox, vẽ principal→action→resource rồi sửa một permission dư và retest read-only. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

Docker CLI

Docker CLI dùng để inspect image/container/network/volume trong môi trường local lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Docker CLI khi nhiệm vụ cụ thể là “inspect image/container/network/volume trong môi trường local lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với Docker CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ Docker CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng Docker CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “inspect image/container/network/volume trong môi trường local lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Docker CLI làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Docker CLI thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

Podman

Podman dùng để chạy và inspect container local, ưu tiên rootless khi phù hợp. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Podman khi nhiệm vụ cụ thể là “chạy và inspect container local, ưu tiên rootless khi phù hợp” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với Podman, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ Podman, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng Podman để trả lời đúng một câu hỏi thuộc nhiệm vụ “chạy và inspect container local, ưu tiên rootless khi phù hợp”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Podman làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Podman thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

kubectl

kubectl dùng để query object/log/RBAC của Kubernetes cluster lab được cấp. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng kubectl khi nhiệm vụ cụ thể là “query object/log/RBAC của Kubernetes cluster lab được cấp” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với kubectl, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ kubectl, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng kubectl để trả lời đúng một câu hỏi thuộc nhiệm vụ “query object/log/RBAC của Kubernetes cluster lab được cấp”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của kubectl làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output kubectl thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

Helm

Helm dùng để render/review chart values và manifest trong cluster lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Helm khi nhiệm vụ cụ thể là “render/review chart values và manifest trong cluster lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với Helm, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ Helm, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng Helm để trả lời đúng một câu hỏi thuộc nhiệm vụ “render/review chart values và manifest trong cluster lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Helm làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Helm thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

k9s

k9s dùng để TUI quan sát resource/log trong Kubernetes lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng k9s khi nhiệm vụ cụ thể là “TUI quan sát resource/log trong Kubernetes lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với k9s, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ k9s, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng k9s để trả lời đúng một câu hỏi thuộc nhiệm vụ “TUI quan sát resource/log trong Kubernetes lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của k9s làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output k9s thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

kube-bench

kube-bench dùng để kiểm tra CIS-style Kubernetes configuration trên cluster lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng kube-bench khi nhiệm vụ cụ thể là “kiểm tra CIS-style Kubernetes configuration trên cluster lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với kube-bench, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ kube-bench, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng kube-bench để trả lời đúng một câu hỏi thuộc nhiệm vụ “kiểm tra CIS-style Kubernetes configuration trên cluster lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của kube-bench làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output kube-bench thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

kube-score

kube-score dùng để static review Kubernetes manifest offline trước deploy. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng kube-score khi nhiệm vụ cụ thể là “static review Kubernetes manifest offline trước deploy” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với kube-score, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ kube-score, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng kube-score để trả lời đúng một câu hỏi thuộc nhiệm vụ “static review Kubernetes manifest offline trước deploy”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của kube-score làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output kube-score thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Containers & Kubernetes

Falco

Falco dùng để runtime detection cho container/Kubernetes lab dựa system-call events. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Falco khi nhiệm vụ cụ thể là “runtime detection cho container/Kubernetes lab dựa system-call events” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết. Với Falco, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Khi lưu kết quả từ Falco, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “container-cluster-state”: Container image/manifest hoặc cluster lab, namespace, service account/RBAC và workload fixture đã biết.
  2. Dùng Falco để trả lời đúng một câu hỏi thuộc nhiệm vụ “runtime detection cho container/Kubernetes lab dựa system-call events”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Image/config finding, pod/resource state, RBAC rule, runtime event hoặc manifest diff. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Falco làm bằng chứng cuối.

Cross-check: So static manifest với effective cluster state; với runtime finding kiểm tra pod/container identity và event gốc. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Containers & Kubernetes, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Falco thành conclusion trước khi cross-check.

First lab: Inspect một manifest local hoặc namespace lab, tìm một cấu hình rộng quá mức, sửa YAML copy và xác nhận workload vẫn hợp lệ. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

JADX

JADX dùng để decompile APK lab để đọc Java/Kotlin và trace client logic. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng JADX khi nhiệm vụ cụ thể là “decompile APK lab để đọc Java/Kotlin và trace client logic” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với JADX, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ JADX, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng JADX để trả lời đúng một câu hỏi thuộc nhiệm vụ “decompile APK lab để đọc Java/Kotlin và trace client logic”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của JADX làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output JADX thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

apktool

apktool dùng để decode Android resources/manifest/smali của APK lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng apktool khi nhiệm vụ cụ thể là “decode Android resources/manifest/smali của APK lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với apktool, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ apktool, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng apktool để trả lời đúng một câu hỏi thuộc nhiệm vụ “decode Android resources/manifest/smali của APK lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của apktool làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output apktool thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

adb

adb dùng để giao tiếp emulator/device test mà bạn sở hữu hoặc được cấp. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng adb khi nhiệm vụ cụ thể là “giao tiếp emulator/device test mà bạn sở hữu hoặc được cấp” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với adb, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ adb, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng adb để trả lời đúng một câu hỏi thuộc nhiệm vụ “giao tiếp emulator/device test mà bạn sở hữu hoặc được cấp”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của adb làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output adb thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

Frida

Frida dùng để dynamic instrumentation trên app lab để quan sát function/runtime state. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Frida khi nhiệm vụ cụ thể là “dynamic instrumentation trên app lab để quan sát function/runtime state” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với Frida, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ Frida, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng Frida để trả lời đúng một câu hỏi thuộc nhiệm vụ “dynamic instrumentation trên app lab để quan sát function/runtime state”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Frida làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Frida thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

Objection

Objection dùng để workflow mobile assessment trên app lab dựa Frida. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Objection khi nhiệm vụ cụ thể là “workflow mobile assessment trên app lab dựa Frida” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với Objection, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ Objection, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng Objection để trả lời đúng một câu hỏi thuộc nhiệm vụ “workflow mobile assessment trên app lab dựa Frida”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Objection làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Objection thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

MobSF

MobSF dùng để static/dynamic analysis app lab và tạo findings để review thủ công. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng MobSF khi nhiệm vụ cụ thể là “static/dynamic analysis app lab và tạo findings để review thủ công” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với MobSF, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ MobSF, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng MobSF để trả lời đúng một câu hỏi thuộc nhiệm vụ “static/dynamic analysis app lab và tạo findings để review thủ công”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của MobSF làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output MobSF thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

libimobiledevice

libimobiledevice dùng để giao tiếp iOS device test bằng tool open-source trong lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng libimobiledevice khi nhiệm vụ cụ thể là “giao tiếp iOS device test bằng tool open-source trong lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với libimobiledevice, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ libimobiledevice, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng libimobiledevice để trả lời đúng một câu hỏi thuộc nhiệm vụ “giao tiếp iOS device test bằng tool open-source trong lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của libimobiledevice làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output libimobiledevice thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Mobile

r2frida

r2frida dùng để kết hợp radare2 và Frida cho dynamic reverse trên app lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng r2frida khi nhiệm vụ cụ thể là “kết hợp radare2 và Frida cho dynamic reverse trên app lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác. Với r2frida, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Khi lưu kết quả từ r2frida, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “mobile-static-dynamic”: APK/app lab có hash/version, emulator/device test, manifest/resources và account synthetic; không dùng app/tài khoản người khác.
  2. Dùng r2frida để trả lời đúng một câu hỏi thuộc nhiệm vụ “kết hợp radare2 và Frida cho dynamic reverse trên app lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Class/method/resource/manifest/storage/network/runtime evidence có thể gắn với version cụ thể của app. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của r2frida làm bằng chứng cuối.

Cross-check: Cross-check static decompile với runtime/emulator observation hoặc raw manifest/smali; không tin decompiler 100%. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Mobile, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output r2frida thành conclusion trước khi cross-check.

First lab: Mở APK lab bằng JADX/apktool, tìm một config/method, sau đó chạy emulator để kiểm tra behavior tương ứng và ghi hash app. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

Volatility 3

Volatility 3 dùng để phân tích memory image offline để tìm process/module/network evidence. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Volatility 3 khi nhiệm vụ cụ thể là “phân tích memory image offline để tìm process/module/network evidence” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với Volatility 3, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ Volatility 3, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng Volatility 3 để trả lời đúng một câu hỏi thuộc nhiệm vụ “phân tích memory image offline để tìm process/module/network evidence”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Volatility 3 làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Volatility 3 thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

Autopsy

Autopsy dùng để GUI case management và filesystem forensics trên image lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Autopsy khi nhiệm vụ cụ thể là “GUI case management và filesystem forensics trên image lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với Autopsy, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ Autopsy, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng Autopsy để trả lời đúng một câu hỏi thuộc nhiệm vụ “GUI case management và filesystem forensics trên image lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Autopsy làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Autopsy thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

The Sleuth Kit

The Sleuth Kit dùng để filesystem/disk image analysis bằng command line trên artifact copy. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng The Sleuth Kit khi nhiệm vụ cụ thể là “filesystem/disk image analysis bằng command line trên artifact copy” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với The Sleuth Kit, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ The Sleuth Kit, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng The Sleuth Kit để trả lời đúng một câu hỏi thuộc nhiệm vụ “filesystem/disk image analysis bằng command line trên artifact copy”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của The Sleuth Kit làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output The Sleuth Kit thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

Plaso log2timeline

Plaso log2timeline dùng để parse nhiều nguồn timestamp thành timeline forensic. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Plaso log2timeline khi nhiệm vụ cụ thể là “parse nhiều nguồn timestamp thành timeline forensic” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với Plaso log2timeline, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ Plaso log2timeline, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng Plaso log2timeline để trả lời đúng một câu hỏi thuộc nhiệm vụ “parse nhiều nguồn timestamp thành timeline forensic”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Plaso log2timeline làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Plaso log2timeline thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

Timesketch

Timesketch dùng để phân tích và annotate forensic timeline trong investigation lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Timesketch khi nhiệm vụ cụ thể là “phân tích và annotate forensic timeline trong investigation lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với Timesketch, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ Timesketch, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng Timesketch để trả lời đúng một câu hỏi thuộc nhiệm vụ “phân tích và annotate forensic timeline trong investigation lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Timesketch làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Timesketch thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

ExifTool

ExifTool dùng để đọc metadata file/image offline và phân biệt metadata với kết luận. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ExifTool khi nhiệm vụ cụ thể là “đọc metadata file/image offline và phân biệt metadata với kết luận” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với ExifTool, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ ExifTool, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng ExifTool để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc metadata file/image offline và phân biệt metadata với kết luận”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ExifTool làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ExifTool thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

binwalk

binwalk dùng để inspect/extract embedded data từ firmware/artifact lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng binwalk khi nhiệm vụ cụ thể là “inspect/extract embedded data từ firmware/artifact lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với binwalk, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ binwalk, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng binwalk để trả lời đúng một câu hỏi thuộc nhiệm vụ “inspect/extract embedded data từ firmware/artifact lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của binwalk làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output binwalk thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Forensics & DFIR

Foremost

Foremost dùng để file carving trên disk image synthetic để học recovery. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Foremost khi nhiệm vụ cụ thể là “file carving trên disk image synthetic để học recovery” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc. Với Foremost, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Khi lưu kết quả từ Foremost, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “forensic-provenance”: Disk/memory/log/image artifact copy đã hash, timezone/source notes và case question; luôn giữ bản gốc chỉ đọc.
  2. Dùng Foremost để trả lời đúng một câu hỏi thuộc nhiệm vụ “file carving trên disk image synthetic để học recovery”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Timeline, process/file/event metadata, carved artifact hoặc indicator có offset/path/hash/provenance. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Foremost làm bằng chứng cuối.

Cross-check: Hash artifact trước/sau, cross-check một observation bằng parser/tool khác và lưu version của parser. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Forensics & DFIR, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Foremost thành conclusion trước khi cross-check.

First lab: Hash một artifact synthetic, trích timeline hoặc metadata, chọn một event và truy ngược về raw source để chứng minh provenance. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

Ghidra

Ghidra dùng để static reverse engineering framework để đọc binary challenge/local artifact. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Ghidra khi nhiệm vụ cụ thể là “static reverse engineering framework để đọc binary challenge/local artifact” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với Ghidra, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ Ghidra, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng Ghidra để trả lời đúng một câu hỏi thuộc nhiệm vụ “static reverse engineering framework để đọc binary challenge/local artifact”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Ghidra làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Ghidra thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

IDA Free

IDA Free dùng để disassembly/decompiler workflow cho binary local ở mức học tập. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng IDA Free khi nhiệm vụ cụ thể là “disassembly/decompiler workflow cho binary local ở mức học tập” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với IDA Free, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ IDA Free, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng IDA Free để trả lời đúng một câu hỏi thuộc nhiệm vụ “disassembly/decompiler workflow cho binary local ở mức học tập”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của IDA Free làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output IDA Free thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

Binary Ninja

Binary Ninja dùng để interactive binary analysis và data-flow exploration trên artifact lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Binary Ninja khi nhiệm vụ cụ thể là “interactive binary analysis và data-flow exploration trên artifact lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với Binary Ninja, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ Binary Ninja, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng Binary Ninja để trả lời đúng một câu hỏi thuộc nhiệm vụ “interactive binary analysis và data-flow exploration trên artifact lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Binary Ninja làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Binary Ninja thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

radare2

radare2 dùng để command-line reverse framework cho file/binary CTF local. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng radare2 khi nhiệm vụ cụ thể là “command-line reverse framework cho file/binary CTF local” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với radare2, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ radare2, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng radare2 để trả lời đúng một câu hỏi thuộc nhiệm vụ “command-line reverse framework cho file/binary CTF local”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của radare2 làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output radare2 thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

Cutter

Cutter dùng để GUI dựa radare2/Rizin để học graph và decompile local binary. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Cutter khi nhiệm vụ cụ thể là “GUI dựa radare2/Rizin để học graph và decompile local binary” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với Cutter, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ Cutter, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng Cutter để trả lời đúng một câu hỏi thuộc nhiệm vụ “GUI dựa radare2/Rizin để học graph và decompile local binary”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Cutter làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Cutter thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

objdump

objdump dùng để đọc ELF sections/disassembly/symbols offline. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng objdump khi nhiệm vụ cụ thể là “đọc ELF sections/disassembly/symbols offline” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với objdump, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ objdump, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng objdump để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc ELF sections/disassembly/symbols offline”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của objdump làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output objdump thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

readelf

readelf dùng để inspect ELF headers/sections/program headers một cách chính xác. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng readelf khi nhiệm vụ cụ thể là “inspect ELF headers/sections/program headers một cách chính xác” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với readelf, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ readelf, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng readelf để trả lời đúng một câu hỏi thuộc nhiệm vụ “inspect ELF headers/sections/program headers một cách chính xác”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của readelf làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output readelf thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Reverse Engineering

strings

strings dùng để trích printable strings từ artifact và dùng như clue chứ không phải verdict. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng strings khi nhiệm vụ cụ thể là “trích printable strings từ artifact và dùng như clue chứ không phải verdict” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy. Với strings, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Khi lưu kết quả từ strings, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “static-dynamic-reverse”: Binary/JAR challenge local có hash, architecture/file format và known input/output; giữ original copy.
  2. Dùng strings để trả lời đúng một câu hỏi thuộc nhiệm vụ “trích printable strings từ artifact và dùng như clue chứ không phải verdict”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Functions/xrefs/strings/control-flow/type annotations hoặc runtime state gắn với offset/address và binary hash. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của strings làm bằng chứng cuối.

Cross-check: Cross-check decompiler với disassembly/runtime input-output; mọi patch chỉ trên challenge copy và phải ghi byte/function đã đổi. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Reverse Engineering, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output strings thành conclusion trước khi cross-check.

First lab: Triage file format/arch, tìm function xử lý input, chạy một input biết trước và nối output với branch hoặc transform quan sát được. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

GDB

GDB dùng để debug local CTF binary, registers, memory và crash root cause. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng GDB khi nhiệm vụ cụ thể là “debug local CTF binary, registers, memory và crash root cause” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với GDB, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ GDB, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng GDB để trả lời đúng một câu hỏi thuộc nhiệm vụ “debug local CTF binary, registers, memory và crash root cause”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của GDB làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output GDB thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

pwndbg

pwndbg dùng để GDB extension giúp quan sát stack/heap/register trong pwn lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng pwndbg khi nhiệm vụ cụ thể là “GDB extension giúp quan sát stack/heap/register trong pwn lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với pwndbg, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ pwndbg, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng pwndbg để trả lời đúng một câu hỏi thuộc nhiệm vụ “GDB extension giúp quan sát stack/heap/register trong pwn lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của pwndbg làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output pwndbg thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

GEF

GEF dùng để GDB extension phục vụ exploit-development learning trên local challenge. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng GEF khi nhiệm vụ cụ thể là “GDB extension phục vụ exploit-development learning trên local challenge” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với GEF, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ GEF, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng GEF để trả lời đúng một câu hỏi thuộc nhiệm vụ “GDB extension phục vụ exploit-development learning trên local challenge”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của GEF làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output GEF thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

pwntools

pwntools dùng để viết script tương tác và pack/unpack cho CTF service localhost. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng pwntools khi nhiệm vụ cụ thể là “viết script tương tác và pack/unpack cho CTF service localhost” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với pwntools, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ pwntools, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng pwntools để trả lời đúng một câu hỏi thuộc nhiệm vụ “viết script tương tác và pack/unpack cho CTF service localhost”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của pwntools làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output pwntools thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

checksec

checksec dùng để đọc binary mitigation như NX/PIE/RELRO/canary. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng checksec khi nhiệm vụ cụ thể là “đọc binary mitigation như NX/PIE/RELRO/canary” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với checksec, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ checksec, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng checksec để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc binary mitigation như NX/PIE/RELRO/canary”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của checksec làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output checksec thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

Ropper

Ropper dùng để tìm gadget trong binary challenge local để học ROP reasoning. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Ropper khi nhiệm vụ cụ thể là “tìm gadget trong binary challenge local để học ROP reasoning” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với Ropper, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ Ropper, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng Ropper để trả lời đúng một câu hỏi thuộc nhiệm vụ “tìm gadget trong binary challenge local để học ROP reasoning”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Ropper làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Ropper thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

ROPgadget

ROPgadget dùng để liệt kê gadget của binary CTF local cho bài học control-flow. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ROPgadget khi nhiệm vụ cụ thể là “liệt kê gadget của binary CTF local cho bài học control-flow” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với ROPgadget, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ ROPgadget, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng ROPgadget để trả lời đúng một câu hỏi thuộc nhiệm vụ “liệt kê gadget của binary CTF local cho bài học control-flow”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ROPgadget làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ROPgadget thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Pwn & Debugging

QEMU user-mode

QEMU user-mode dùng để chạy binary lab khác architecture trong sandbox/emulation. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng QEMU user-mode khi nhiệm vụ cụ thể là “chạy binary lab khác architecture trong sandbox/emulation” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost. Với QEMU user-mode, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Khi lưu kết quả từ QEMU user-mode, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “local-crash-debug”: Binary CTF local, exact reproducer, mitigation metadata và debugger/sanitizer; remote-like service chỉ bind localhost.
  2. Dùng QEMU user-mode để trả lời đúng một câu hỏi thuộc nhiệm vụ “chạy binary lab khác architecture trong sandbox/emulation”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Crash signal, instruction/register/stack/heap state, minimized input hoặc interaction transcript. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của QEMU user-mode làm bằng chứng cuối.

Cross-check: Reproduce crash nhiều lần, minimize input và phân biệt crash với control-flow primitive bằng debugger evidence. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Pwn & Debugging, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output QEMU user-mode thành conclusion trước khi cross-check.

First lab: Chạy toy binary với valid/crashing input, ghi checksec + crash state, minimize reproducer rồi sửa boundary trong source lab nếu có. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

OpenSSL

OpenSSL dùng để inspect certificate, hash, key và TLS artifact trong lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng OpenSSL khi nhiệm vụ cụ thể là “inspect certificate, hash, key và TLS artifact trong lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với OpenSSL, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ OpenSSL, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng OpenSSL để trả lời đúng một câu hỏi thuộc nhiệm vụ “inspect certificate, hash, key và TLS artifact trong lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của OpenSSL làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output OpenSSL thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

CyberChef

CyberChef dùng để recipe-based transform encoding/hash/file data offline cho CTF/forensics. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng CyberChef khi nhiệm vụ cụ thể là “recipe-based transform encoding/hash/file data offline cho CTF/forensics” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với CyberChef, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ CyberChef, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng CyberChef để trả lời đúng một câu hỏi thuộc nhiệm vụ “recipe-based transform encoding/hash/file data offline cho CTF/forensics”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của CyberChef làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output CyberChef thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

GnuPG

GnuPG dùng để học encryption/signature/key handling trên file lab. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng GnuPG khi nhiệm vụ cụ thể là “học encryption/signature/key handling trên file lab” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với GnuPG, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ GnuPG, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng GnuPG để trả lời đúng một câu hỏi thuộc nhiệm vụ “học encryption/signature/key handling trên file lab”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của GnuPG làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output GnuPG thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

age

age dùng để file encryption hiện đại cho bài lab về key/recipient model. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng age khi nhiệm vụ cụ thể là “file encryption hiện đại cho bài lab về key/recipient model” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với age, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ age, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng age để trả lời đúng một câu hỏi thuộc nhiệm vụ “file encryption hiện đại cho bài lab về key/recipient model”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của age làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output age thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

xxd

xxd dùng để hex dump và chuyển byte/text cho artifact offline. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng xxd khi nhiệm vụ cụ thể là “hex dump và chuyển byte/text cho artifact offline” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với xxd, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ xxd, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng xxd để trả lời đúng một câu hỏi thuộc nhiệm vụ “hex dump và chuyển byte/text cho artifact offline”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của xxd làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output xxd thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

hashdeep

hashdeep dùng để hash inventory và integrity checking trên thư mục artifact. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng hashdeep khi nhiệm vụ cụ thể là “hash inventory và integrity checking trên thư mục artifact” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với hashdeep, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ hashdeep, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng hashdeep để trả lời đúng một câu hỏi thuộc nhiệm vụ “hash inventory và integrity checking trên thư mục artifact”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của hashdeep làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output hashdeep thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

ent

ent dùng để ước lượng entropy của byte stream/file để triage artifact. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ent khi nhiệm vụ cụ thể là “ước lượng entropy của byte stream/file để triage artifact” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với ent, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ ent, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng ent để trả lời đúng một câu hỏi thuộc nhiệm vụ “ước lượng entropy của byte stream/file để triage artifact”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ent làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ent thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Crypto & File Data

base64 CLI

base64 CLI dùng để encode/decode representation trong lab và nhấn mạnh encoding không phải encryption. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng base64 CLI khi nhiệm vụ cụ thể là “encode/decode representation trong lab và nhấn mạnh encoding không phải encryption” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết. Với base64 CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Khi lưu kết quả từ base64 CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “offline-bytes-crypto”: File/bytes/ciphertext/hash/certificate synthetic hoặc lab key material với algorithm/format context đã biết.
  2. Dùng base64 CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “encode/decode representation trong lab và nhấn mạnh encoding không phải encryption”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Decoded bytes, hashes, certificate fields, entropy/signature/transform intermediate values có thể tái hiện offline. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của base64 CLI làm bằng chứng cuối.

Cross-check: Dùng test vector hoặc tool thứ hai để xác minh transform; luôn phân biệt encoding, hashing, encryption và signature. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Crypto & File Data, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output base64 CLI thành conclusion trước khi cross-check.

First lab: Dùng artifact toy để hex/hash/decode một chuỗi, lưu từng intermediate state và kiểm tra round-trip hoặc known test vector. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

Maltego

Maltego dùng để graph relationship từ nguồn public hoặc dataset synthetic với provenance rõ. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Maltego khi nhiệm vụ cụ thể là “graph relationship từ nguồn public hoặc dataset synthetic với provenance rõ” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với Maltego, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ Maltego, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng Maltego để trả lời đúng một câu hỏi thuộc nhiệm vụ “graph relationship từ nguồn public hoặc dataset synthetic với provenance rõ”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Maltego làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Maltego thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

SpiderFoot

SpiderFoot dùng để OSINT automation trên entity/domain lab hoặc mục tiêu nghiên cứu được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng SpiderFoot khi nhiệm vụ cụ thể là “OSINT automation trên entity/domain lab hoặc mục tiêu nghiên cứu được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với SpiderFoot, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ SpiderFoot, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng SpiderFoot để trả lời đúng một câu hỏi thuộc nhiệm vụ “OSINT automation trên entity/domain lab hoặc mục tiêu nghiên cứu được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của SpiderFoot làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output SpiderFoot thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

theHarvester

theHarvester dùng để thu thập public-facing references cho domain lab/authorized scope. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng theHarvester khi nhiệm vụ cụ thể là “thu thập public-facing references cho domain lab/authorized scope” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với theHarvester, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ theHarvester, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng theHarvester để trả lời đúng một câu hỏi thuộc nhiệm vụ “thu thập public-facing references cho domain lab/authorized scope”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của theHarvester làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output theHarvester thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

Recon-ng

Recon-ng dùng để framework tổ chức module/data OSINT với workspace riêng. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Recon-ng khi nhiệm vụ cụ thể là “framework tổ chức module/data OSINT với workspace riêng” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với Recon-ng, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ Recon-ng, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng Recon-ng để trả lời đúng một câu hỏi thuộc nhiệm vụ “framework tổ chức module/data OSINT với workspace riêng”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Recon-ng làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Recon-ng thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

Sherlock

Sherlock dùng để kiểm tra username trên public sites trong bài OSINT synthetic có quy tắc rõ. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Sherlock khi nhiệm vụ cụ thể là “kiểm tra username trên public sites trong bài OSINT synthetic có quy tắc rõ” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với Sherlock, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ Sherlock, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng Sherlock để trả lời đúng một câu hỏi thuộc nhiệm vụ “kiểm tra username trên public sites trong bài OSINT synthetic có quy tắc rõ”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Sherlock làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Sherlock thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

Shodan CLI

Shodan CLI dùng để query dữ liệu Internet index cho asset của chính mình hoặc nghiên cứu được phép. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Shodan CLI khi nhiệm vụ cụ thể là “query dữ liệu Internet index cho asset của chính mình hoặc nghiên cứu được phép” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với Shodan CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ Shodan CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng Shodan CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “query dữ liệu Internet index cho asset của chính mình hoặc nghiên cứu được phép”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Shodan CLI làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Shodan CLI thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

Censys CLI

Censys CLI dùng để query certificate/host index để inventory asset authorized/public research. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Censys CLI khi nhiệm vụ cụ thể là “query certificate/host index để inventory asset authorized/public research” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với Censys CLI, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ Censys CLI, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng Censys CLI để trả lời đúng một câu hỏi thuộc nhiệm vụ “query certificate/host index để inventory asset authorized/public research”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Censys CLI làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Censys CLI thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
OSINT & Public Research

RDAP client

RDAP client dùng để tra cứu registration metadata public theo chuẩn RDAP và giữ timestamp nguồn. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng RDAP client khi nhiệm vụ cụ thể là “tra cứu registration metadata public theo chuẩn RDAP và giữ timestamp nguồn” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp. Với RDAP client, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Khi lưu kết quả từ RDAP client, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “public-source-provenance”: Nguồn public hoặc dataset synthetic, query/entity rõ ràng, thời điểm tra cứu và mục tiêu nghiên cứu hợp pháp.
  2. Dùng RDAP client để trả lời đúng một câu hỏi thuộc nhiệm vụ “tra cứu registration metadata public theo chuẩn RDAP và giữ timestamp nguồn”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Public references, graph/registration/certificate metadata có source URL/provider và timestamp. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của RDAP client làm bằng chứng cuối.

Cross-check: Xác minh claim quan trọng từ nguồn gốc hoặc nguồn thứ hai độc lập; không suy identity chỉ từ username/domain similarity. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm OSINT & Public Research, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output RDAP client thành conclusion trước khi cross-check.

First lab: Tra một entity synthetic/public-example, lưu provenance + timestamp cho ba facts và đánh dấu một fact chưa đủ confidence. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Sigma

Sigma dùng để viết detection rule portable từ event behavior và field schema đã biết. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Sigma khi nhiệm vụ cụ thể là “viết detection rule portable từ event behavior và field schema đã biết” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Sigma, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Sigma, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Sigma để trả lời đúng một câu hỏi thuộc nhiệm vụ “viết detection rule portable từ event behavior và field schema đã biết”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Sigma làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Sigma thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

YARA

YARA dùng để match đặc trưng file/memory trên sample corpus offline và đo false positive. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng YARA khi nhiệm vụ cụ thể là “match đặc trưng file/memory trên sample corpus offline và đo false positive” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với YARA, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ YARA, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng YARA để trả lời đúng một câu hỏi thuộc nhiệm vụ “match đặc trưng file/memory trên sample corpus offline và đo false positive”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của YARA làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output YARA thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Chainsaw

Chainsaw dùng để search/hunt Windows Event Log artifacts offline. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Chainsaw khi nhiệm vụ cụ thể là “search/hunt Windows Event Log artifacts offline” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Chainsaw, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Chainsaw, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Chainsaw để trả lời đúng một câu hỏi thuộc nhiệm vụ “search/hunt Windows Event Log artifacts offline”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Chainsaw làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Chainsaw thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Hayabusa

Hayabusa dùng để timeline/triage Windows event logs offline với rules. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Hayabusa khi nhiệm vụ cụ thể là “timeline/triage Windows event logs offline với rules” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Hayabusa, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Hayabusa, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Hayabusa để trả lời đúng một câu hỏi thuộc nhiệm vụ “timeline/triage Windows event logs offline với rules”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Hayabusa làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Hayabusa thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Wazuh

Wazuh dùng để HIDS/SIEM lab để thu telemetry và luyện detection/response. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Wazuh khi nhiệm vụ cụ thể là “HIDS/SIEM lab để thu telemetry và luyện detection/response” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Wazuh, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Wazuh, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Wazuh để trả lời đúng một câu hỏi thuộc nhiệm vụ “HIDS/SIEM lab để thu telemetry và luyện detection/response”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Wazuh làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Wazuh thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Splunk

Splunk dùng để search/correlate logs trong dataset hoặc SIEM lab được quản trị. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Splunk khi nhiệm vụ cụ thể là “search/correlate logs trong dataset hoặc SIEM lab được quản trị” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Splunk, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Splunk, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Splunk để trả lời đúng một câu hỏi thuộc nhiệm vụ “search/correlate logs trong dataset hoặc SIEM lab được quản trị”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Splunk làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Splunk thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Elastic Security

Elastic Security dùng để search/detection trên Elastic lab với event schema có kiểm soát. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Elastic Security khi nhiệm vụ cụ thể là “search/detection trên Elastic lab với event schema có kiểm soát” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Elastic Security, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Elastic Security, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Elastic Security để trả lời đúng một câu hỏi thuộc nhiệm vụ “search/detection trên Elastic lab với event schema có kiểm soát”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Elastic Security làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Elastic Security thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Blue Team & Detection

Security Onion

Security Onion dùng để network/security monitoring distro cho home lab và PCAP/detection exercises. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Security Onion khi nhiệm vụ cụ thể là “network/security monitoring distro cho home lab và PCAP/detection exercises” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior. Với Security Onion, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Khi lưu kết quả từ Security Onion, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “detection-validation”: Log/event corpus lab có known-good/known-bad, rule/query version, field schema và expected detection behavior.
  2. Dùng Security Onion để trả lời đúng một câu hỏi thuộc nhiệm vụ “network/security monitoring distro cho home lab và PCAP/detection exercises”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Matched event IDs, TP/FP/FN, timeline/hunt results hoặc rule alerts có raw fields. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Security Onion làm bằng chứng cuối.

Cross-check: Rerun cùng corpus, kiểm tra false positive/negative và trace alert về raw event thay vì tin severity label. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Blue Team & Detection, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Security Onion thành conclusion trước khi cross-check.

First lab: Viết/chạy rule trên corpus synthetic có positive + negative case, ghi TP/FP/FN rồi chỉnh một condition và regression test lại. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

Semgrep

Semgrep dùng để static pattern/data-flow scanning trên source code bạn sở hữu hoặc lab repo. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Semgrep khi nhiệm vụ cụ thể là “static pattern/data-flow scanning trên source code bạn sở hữu hoặc lab repo” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với Semgrep, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ Semgrep, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng Semgrep để trả lời đúng một câu hỏi thuộc nhiệm vụ “static pattern/data-flow scanning trên source code bạn sở hữu hoặc lab repo”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Semgrep làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Semgrep thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

CodeQL

CodeQL dùng để query semantic code database để research vulnerability trong repo lab/authorized codebase. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng CodeQL khi nhiệm vụ cụ thể là “query semantic code database để research vulnerability trong repo lab/authorized codebase” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với CodeQL, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ CodeQL, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng CodeQL để trả lời đúng một câu hỏi thuộc nhiệm vụ “query semantic code database để research vulnerability trong repo lab/authorized codebase”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của CodeQL làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output CodeQL thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

Gitleaks

Gitleaks dùng để scan repo/history offline để phát hiện secret pattern cần xác minh. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Gitleaks khi nhiệm vụ cụ thể là “scan repo/history offline để phát hiện secret pattern cần xác minh” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với Gitleaks, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ Gitleaks, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng Gitleaks để trả lời đúng một câu hỏi thuộc nhiệm vụ “scan repo/history offline để phát hiện secret pattern cần xác minh”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Gitleaks làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Gitleaks thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

TruffleHog

TruffleHog dùng để secret discovery trong repo/artifact bạn được phép kiểm tra. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng TruffleHog khi nhiệm vụ cụ thể là “secret discovery trong repo/artifact bạn được phép kiểm tra” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với TruffleHog, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ TruffleHog, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng TruffleHog để trả lời đúng một câu hỏi thuộc nhiệm vụ “secret discovery trong repo/artifact bạn được phép kiểm tra”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của TruffleHog làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output TruffleHog thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

ripgrep

ripgrep dùng để tìm nhanh source/sink/config strings trong codebase local. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng ripgrep khi nhiệm vụ cụ thể là “tìm nhanh source/sink/config strings trong codebase local” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với ripgrep, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ ripgrep, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng ripgrep để trả lời đúng một câu hỏi thuộc nhiệm vụ “tìm nhanh source/sink/config strings trong codebase local”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của ripgrep làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output ripgrep thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

tree-sitter

tree-sitter dùng để parse syntax tree để tự viết code-analysis helper nhỏ. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng tree-sitter khi nhiệm vụ cụ thể là “parse syntax tree để tự viết code-analysis helper nhỏ” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với tree-sitter, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ tree-sitter, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng tree-sitter để trả lời đúng một câu hỏi thuộc nhiệm vụ “parse syntax tree để tự viết code-analysis helper nhỏ”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của tree-sitter làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output tree-sitter thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

Bandit

Bandit dùng để static security lint cho Python code lab và review từng finding theo context. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Bandit khi nhiệm vụ cụ thể là “static security lint cho Python code lab và review từng finding theo context” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với Bandit, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ Bandit, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng Bandit để trả lời đúng một câu hỏi thuộc nhiệm vụ “static security lint cho Python code lab và review từng finding theo context”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Bandit làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Bandit thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Code Review & Supply Chain

npm audit

npm audit dùng để đọc dependency advisory cho Node project lab và đánh giá reachability/context. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng npm audit khi nhiệm vụ cụ thể là “đọc dependency advisory cho Node project lab và đánh giá reachability/context” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể. Với npm audit, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Khi lưu kết quả từ npm audit, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “code-dependency-review”: Repo/source/lockfile/SBOM lab hoặc codebase bạn sở hữu, revision/commit cố định và câu hỏi review cụ thể.
  2. Dùng npm audit để trả lời đúng một câu hỏi thuộc nhiệm vụ “đọc dependency advisory cho Node project lab và đánh giá reachability/context”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Candidate source/sink, advisory/dependency/secret pattern hoặc code path với file/line/commit context. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của npm audit làm bằng chứng cuối.

Cross-check: Đọc code path/reachability và lockfile thực tế; candidate scanner không được gọi là exploitable nếu chưa có manual validation. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Code Review & Supply Chain, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output npm audit thành conclusion trước khi cross-check.

First lab: Scan repo fixture, chọn một candidate, đọc file/line + call path hoặc dependency reachability rồi phân loại true/false positive. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Dradis

Dradis dùng để tổ chức evidence/finding/report trong pentest engagement hợp pháp. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Dradis khi nhiệm vụ cụ thể là “tổ chức evidence/finding/report trong pentest engagement hợp pháp” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Dradis, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Dradis, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Dradis để trả lời đúng một câu hỏi thuộc nhiệm vụ “tổ chức evidence/finding/report trong pentest engagement hợp pháp”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Dradis làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Dradis thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Faraday

Faraday dùng để collaboration/workspace cho finding và asset trong security assessment. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Faraday khi nhiệm vụ cụ thể là “collaboration/workspace cho finding và asset trong security assessment” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Faraday, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Faraday, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Faraday để trả lời đúng một câu hỏi thuộc nhiệm vụ “collaboration/workspace cho finding và asset trong security assessment”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Faraday làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Faraday thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

CherryTree

CherryTree dùng để ghi note dạng cây cho CTF/pentest lab và giữ evidence links. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng CherryTree khi nhiệm vụ cụ thể là “ghi note dạng cây cho CTF/pentest lab và giữ evidence links” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với CherryTree, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ CherryTree, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng CherryTree để trả lời đúng một câu hỏi thuộc nhiệm vụ “ghi note dạng cây cho CTF/pentest lab và giữ evidence links”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của CherryTree làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output CherryTree thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Obsidian

Obsidian dùng để knowledge base Markdown cho research notes và cross-link mental models. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Obsidian khi nhiệm vụ cụ thể là “knowledge base Markdown cho research notes và cross-link mental models” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Obsidian, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Obsidian, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Obsidian để trả lời đúng một câu hỏi thuộc nhiệm vụ “knowledge base Markdown cho research notes và cross-link mental models”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Obsidian làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Obsidian thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Git

Git dùng để version control cho scripts, notes đã redaction và lab code. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Git khi nhiệm vụ cụ thể là “version control cho scripts, notes đã redaction và lab code” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Git, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Git, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Git để trả lời đúng một câu hỏi thuộc nhiệm vụ “version control cho scripts, notes đã redaction và lab code”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Git làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Git thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Markdownlint

Markdownlint dùng để giữ report/write-up Markdown nhất quán và dễ review. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Markdownlint khi nhiệm vụ cụ thể là “giữ report/write-up Markdown nhất quán và dễ review” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Markdownlint, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Markdownlint, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Markdownlint để trả lời đúng một câu hỏi thuộc nhiệm vụ “giữ report/write-up Markdown nhất quán và dễ review”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Markdownlint làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Markdownlint thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

Pandoc

Pandoc dùng để chuyển Markdown report thành document formats trong workflow local. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng Pandoc khi nhiệm vụ cụ thể là “chuyển Markdown report thành document formats trong workflow local” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với Pandoc, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ Pandoc, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng Pandoc để trả lời đúng một câu hỏi thuộc nhiệm vụ “chuyển Markdown report thành document formats trong workflow local”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của Pandoc làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output Pandoc thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.
Report & Workflow

CVSS Calculator

CVSS Calculator dùng để ghi lại metric severity từ facts đã xác minh thay vì chọn điểm theo cảm giác. Trong khóa học, tool là công cụ tạo/đọc evidence chứ không phải máy phán quyết; kết quả phải quay về raw data và context của case.

Khi nào dùng?

Dùng CVSS Calculator khi nhiệm vụ cụ thể là “ghi lại metric severity từ facts đã xác minh thay vì chọn điểm theo cảm giác” và input thuộc lab/artifact/authorized scope. Trước khi mở tool, ghi câu hỏi cần trả lời, baseline, giới hạn dữ liệu và stop condition.

Input → Output

Input: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ. Với CVSS Calculator, chỉ nạp phần dữ liệu cần cho câu hỏi đang kiểm chứng.

Output: Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Khi lưu kết quả từ CVSS Calculator, kèm timestamp/version hoặc raw artifact reference nếu có.

Workflow 3 bước
  1. Chuẩn bị input theo profile “evidence-reporting”: Notes/evidence đã redaction, scope, reproducer, impact facts và remediation/retest result từ lab/engagement hợp lệ.
  2. Dùng CVSS Calculator để trả lời đúng một câu hỏi thuộc nhiệm vụ “ghi lại metric severity từ facts đã xác minh thay vì chọn điểm theo cảm giác”; giữ raw output/field và ghi command/query/filter hoặc thao tác đủ để tái hiện.
  3. Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Sau khi đối chiếu, ghi FACT/HYPOTHESIS/RESULT và chỉ đưa vào report phần đã xác minh.
Evidence & cách kiểm chứng

Finding/report có cấu trúc, evidence links, severity rationale, version history hoặc document export. Không dùng riêng nhãn “vulnerable”, “suspicious”, “open”, score hoặc màu cảnh báo của CVSS Calculator làm bằng chứng cuối.

Cross-check: Một reviewer khác phải tái hiện được finding từ report; mọi claim impact phải trỏ về evidence và phần chưa biết phải ghi rõ. Nếu hai nguồn mâu thuẫn, giữ cả hai observation và hạ confidence thay vì chọn kết quả thuận mắt.

Lỗi hay mắc

Với nhóm Report & Workflow, lỗi hay gặp là bỏ qua input context/provenance, chạy phạm vi rộng hơn câu hỏi, hoặc copy output CVSS Calculator thành conclusion trước khi cross-check.

First lab: Biến raw notes synthetic thành report ngắn có Scope→Steps→Evidence→Impact→Remediation→Retest và chạy checklist thiếu section. Sau khi hoàn thành, ghi lại input, thao tác, raw evidence, kết luận và một false positive/negative control nếu phù hợp.
Chỉ dùng trên localhost, lab, artifact offline hoặc hệ thống nằm rõ trong authorized scope. Không dùng workflow này để né WAF/IDS, che giấu traffic, mở rộng ngoài scope hoặc tự động hóa tấn công Internet.