Tổng hợp các câu hỏi phỏng vấn pentest - kiến thức chung (P1)

Hỏi: What are the phases of a penetration test?

Trả lời:

Thông thường, pentest được chia ra làm 6 giai đoạn

Sáu giai đoạn này rất quan trọng để lập kế hoạch và thực hiện thành công bài pentest. Đối với pentest thì có rất nhiều mảng pentest như Pentest Website, Pentest Network, Pentest Server. Nhưng nhìn chung thì Pentest có các giai đoạn như sau:

  1. Pre-Engagement Interactions
    • Đây là bước thống nhất các yêu cầu của bên cần pentest và các chiến lược mà bên thực hiện pentest đề ra.
  2. Reconnaissance or Open Source Intelligence (OSINT) Gathering
    • Một người pentest sẽ hoạt động trên việc thu thập càng nhiều thông tin mật về tổ chức của bạn và các mục tiêu tiềm năng để khai thác.
    • Tùy thuộc vào mức độ pentest mà người pentest sẽ có mức độ thông tin về tổ chức của bạn để cần khám phá các lỗ hổng và điểm vào trong môi trường của bạn.
  3. Threat Modeling & Vulnerability Identification
    • Trong giai đoạn này người thực hiện pentest sẽ xác định mục tiêu tấn công. Bất kỳ thông tin nào được thu thập trong giai đoạn này sẽ được sử dụng để thông báo phương thức tấn công trong quá trình pentest
  4. Exploitation
    • Với mô hình về tất cả các lỗ hổng và các điểm truy cập có thể có, người pentest bắt đầu kiểm tra các khai thác được tìm thấy trong mạng, hệ thống hay ứng dụng của bạn. Xác định các mục tiêu có giá trị cao và tránh mọi phát hiện của hacker.
  5. Post-Exploitation, Risk Analysis & Recommendations
    • Sau giai đoạn thứ tư hoàn tất, người pentest sẽ ghi lại các phương thức được sử dụng để có quyền truy cập vào thông tin có giá trị của tổ chức của bạn và đề xuất các phương pháp khắc phục các lỗ hổng.
    • Sau khi pentest kết thúc, người pentest nên dọn sạch môi trường, cấu hình lại mọi quyền mà anh ta/cô ta có được để xâm nhập vào môi trường và ngăn chặn truy cập trái phép vào hệ thống.
  6. Reporting
    • Báo cáo được coi là khía cạnh quan trọng nhất của một pentester. Đó là nơi bạn sẽ nhận được các đề xuất bằng văn bản và có cơ hội xem xét các phát hiện từ báo cáo với các ethical hacker.
    • Những phát hiện và giải thích chi tiết từ báo cáo sẽ cung cấp cho bạn những hiểu biết và cơ hội để cải thiện khả năng bảo mật của bạn. Báo cáo sẽ cho thấy những lỗ hổng còn tồn tại và các cách khắc phục các vấn đề này đường tìm thấy trong giai đoạn khai thác.

Hỏi: What is the difference between a risk assessment, a vulnerability assessment, and a penetration test?

Trả lời:

  • Đầu tiên ta sẽ phải tìm hiểu như thế nào là đánh giá rủi ro, đánh giá lỗ hổng và kiểm thử phần mềm là gì.
    • Đánh giá rủi ro – Risk Assessment: Kiểm thử này liên quan đến phân tích các rủi ro bảo mật nhận thấy được. Các rủi ro được phân loại là Low, Medium, High. Loại kiểm thử này đưa ra các khuyến nghị nhằm giảm thiểu các rủi ro.
    • Đánh giá bảo mật bằng cách tấn công vào hệ thống – Penetration testing: Đây là loại kiểm thử mô phỏng cuộc tấn công từ phía một hacker thiếu thiện ý. Kiểm thử bao gồm việc phân tích một hệ thống cụ thể, tìm ra các lỗ hổng tiềm ẩn bằng cách tấn công từ bên ngoài.
    • Rà soát các lỗ hổng tiềm ẩn – Vulnerable Assessment: thực hiện thông qua các phần mềm để tự động scan một hệ thống nhằm phát hiện ra các lỗ hổng dựa trên các signatures đã biết.
  • Vậy sự khác biệt của những thứ này là gì:
    • Vulneraability Assessment: Cố gắng tìm được càng nhiều các lỗ hổng nhất có thể.
    • Penetration Testing (Pentest): Cố gắng phá vỡ an ninh hệ thống.
    • Risk Assessment: Cố gắng tìm ra những rủi ro có thể có.

=> Cả 3 phương pháp đều có chức năng và cách tiếp cận khác nhau. Chính vì vậy tùy thuộc vào tình trạng an ninh của hệ thống mà người ta lựa chọn phương pháp nào để áp dụng.

  • Vulneraability Assessment: Nhận dạng được những điểm yếu và đưa ra được những giải pháp để sửa chữa chúng.
  • Penetration Testing (Pentest): Trả lời được câu hỏi: "Liệu có ai có thể phá vỡ an ninh của hệ thống không, và nếu có thì gây ra được tác hại gì".
  • Risk Assessment: Xác định được những rủi ro tiềm ẩn và đánh giá được những rủi ro cho hành động, công việc mà chúng ta chuẩn bị tiến hành.

Hỏi: Explain what NBNS poisoning is and how it can be leveraged on a penetration test.

Trả lời:

  • Đầu tiên phải nói về NBNS là gì
    • NBNS (NetBIOS Name Service) là một giao thức mạng được tạo ra cho các hệ thống cũ để cho phép giao tiếp qua các mạng TCP/IP hiện đại. Trong nhiều trường hợp NBNS vẫn được sử dụng trong một số tổ chức ngày nay, việc vô hiệu hóa nó có thể gây ra sự gián đoạn dịch vụ. Nó có nhiều chức năng giống như DNS cho phép các hệ thống kế thừa và phân giải DNS thành địa chỉ IP.
  • Vậy NBNS poisoning là gì
    • Về cơ bản, khi một hệ thống có NBNS được kích hoạt sẽ cố gắng phân giải tên DNS thành địa chỉ IP của nó, các quy trình sau sẽ được chạy:
      • Hệ thống kiểm tra tệp localhost của nó để tìm DNS tĩnh đến các ánh xạ địa chỉ IP.
      • Nếu tập tin trên host không có entry, thì hệ thống yêu cầu các máy chủ DNS của mình giải quyết các tên DNS.
      • Nếu tên DNS không chứa ánh xạ địa chỉ DNS sang IP thì hệ thống sẽ gửi truy vấn broadcast NBNS để yêu cầu các hệ thống khác hỗ trợ.
    • Attacker sẽ bằng cách lắng nghe lưu lượng mạng trên mạng của bạn và chờ đợi các truy vấn này xuất hiện. Sau khi được phát hiện, attacker trả lời hệ thống tìm kiếm sự hỗ trợ và mạo danh tên DNS được đề cập đến. Vì vậy, ví dụ nếu hệ thống A đang cố gắng giải quyết goog.com, attacker trả lời đến broadcast đó và nói "I am goo.com". Tuy thuộc vào việc hệ thống A đang cố xác thực thông qua SMB, FTP, v.v.., lưu lượng đó sẽ được gửi đến attacker (vì nó cho rằng đó là hệ thống hợp pháp)
    • Trong hầu hết các môi trường, khi các cuộc tấn công này xảy ra, attacker đã chiếm được thông tin người dùng ở dạng băm. Trong một số trường hợp khác, thông tin văn bản được truyền đi ở bản rõ và có thể xem được các thông tin thông qua quá trình này. Khi attacker đã băm thông tin đăng nhập của người dùng, họ có thể thực hiện các cuộc tấn công từ điển và từ điển ngoại tuyến để cố gắng tiệt lộ mật khẩu ở bản rõ.

Như vậy, ta có thể tận dụng NBNS poisoning vào bài pentest để thực hiện một cuộc tấn công Man-in-the-middle là một chiến thuật phổ biến đã được sử dụng rộng rãi bởi những pentester. Các bản băm mật khẩu được truy xuất có thể bị bẻ khóa bằng tử điển ngoại tuyến hoặc có thể sử dụng cùng với cuộc tấn công chuyển tiếp để đạt được quyền truy cập hợp pháp vào máy chủ.


Bạn đọc có thể đọc tiếp phần 2 tại đây: Tổng hợp các câu hỏi phỏng vấn pentest - kiến thức chung (P2)