> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Pentest Deep Dive

> Chạy chế độ pentest kỹ lưỡng nhất của Cyber để tìm lỗ hổng về role, tenant và luồng nhiều bước, với giới hạn credit tùy chọn cho lượt chạy.

**Deep dive** là mức cao nhất trong bốn cường độ kiểm thử của một [pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md), chế độ tìm ra những lỗ hổng mà một lượt kiểm tra đơn lẻ bỏ sót: một người dùng truy cập được dữ liệu của tenant khác, một bước thanh toán có thể bị bỏ qua, hoặc hai điểm yếu nhỏ kết hợp thành một vụ chiếm quyền kiểm soát. Chế độ này tiếp tục điều tra sau những phát hiện đầu tiên, qua nhiều lượt kiểm tra trong một lượt chạy, và tốn nhiều thời gian và credit nhất.

## Chọn đúng cường độ

Bạn chọn cường độ mỗi lượt chạy pentest, và Deep dive là mức cao nhất. Deep dive chạy toàn bộ các bài kiểm thử của mức **Full**, sau đó kiểm tra thêm nhiều lượt nữa, dùng lại bằng chứng của các lượt trước để lần theo những đường tấn công nối tiếp nhau. Đây là mức tốn thời gian và credit nhất, nên chỉ chạy trên staging với dữ liệu có thể bỏ đi. Ba mức còn lại được so sánh trong [bảng cường độ](https://docs.cloudthinker.io/vi/guide/security/pentest.md#chọn-mức-truy-cập-và-cường-độ).

Chọn Deep dive khi:

* Ứng dụng của bạn có nhiều user role hoặc tenant và bạn cần biết liệu một bên có truy cập được dữ liệu của bên kia không.
* Workflow gồm nhiều bước (thanh toán, phê duyệt, lời mời) mà thứ tự và trạng thái đều quan trọng.
* Lượt chạy Full đã tìm thấy dấu hiệu của một đường tấn công lớn hơn.
* Bản phát hành đã thay đổi logic xác thực, phân quyền hoặc thanh toán.

Để xem xét ban đầu một ứng dụng mới, hãy bắt đầu với lượt chạy **Safe** giới hạn trong các include path, rồi **Aggressive**. Chuyển sang Deep dive khi phạm vi và thông tin đăng nhập thử nghiệm đã được xác nhận.

> [!WARNING]
>
> Deep dive gửi các yêu cầu có tính phá hủy, bao gồm `DELETE`, tới mục tiêu của bạn. Dữ liệu trong phạm vi đã lưu có thể bị thay đổi hoặc xóa. Hãy chạy trên môi trường staging hoặc test với dữ liệu có thể bỏ đi, hoặc thu hẹp phạm vi trước.

## Điều kiện tiên quyết

* Ứng dụng đã đăng ký trong Cyber với tên miền đã xác minh. Xem [Chạy pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md).
* Vai trò **Admin** hoặc **Developer** của workspace. Cả hai vai trò đều có thể khởi chạy mọi cường độ, kể cả Deep dive. Không có cài đặt riêng chỉ dành cho Admin hay bước Approvals nào cho lượt chạy phá hủy: hộp thoại xác nhận là lớp chặn bổ sung duy nhất. Xem [Vai trò](https://docs.cloudthinker.io/vi/guide/security/roles.md).
* Đủ credit cho một lượt chạy dài. Nếu ứng dụng có các lượt chạy trước, hãy mở một lượt: activity feed của lượt chạy hiển thị credit mà mỗi lượt kiểm tra đã hoàn tất sử dụng. Nếu chưa có mốc tham chiếu, hãy đặt giới hạn credit cho lượt Deep dive đầu tiên. Xem [Mức sử dụng](https://docs.cloudthinker.io/vi/guide/billing/usage.md).
* WAF, IDS và đội on-call của bạn biết lượt chạy sắp diễn ra, và bạn có sự chấp thuận để kiểm thử mọi tài sản không do bạn tự host. Xem [Trước lượt chạy đầu tiên](https://docs.cloudthinker.io/vi/guide/security/cyber-overview.md#trước-lượt-chạy-đầu-tiên) để biết về nguồn lưu lượng, mục tiêu riêng tư và giới hạn tốc độ.

## Chuẩn bị ứng dụng

Deep dive chỉ kiểm thử được những gì truy cập được. Đầu vào nào bạn bỏ qua thì khu vực đó không được kiểm thử, và lượt chạy ghi nhận chúng là giới hạn, không phải là không có lỗi.

| Đầu vào | Nơi thêm | Tại sao quan trọng với Deep dive |
| - | - | - |
| Phạm vi | **Settings** của ứng dụng | Đặt các đường dẫn mà lượt chạy được phép chạm tới, kể cả bằng yêu cầu phá hủy. Loại trừ mọi thứ phải nằm ngoài giới hạn |
| Đăng nhập thử nghiệm (gray-box) | **Add auth** trong hộp thoại chạy, hoặc **Add authentication** trong **Settings** của ứng dụng | Cần để kiểm thử mọi thứ sau đăng nhập. Thêm một người dùng thử nghiệm cho mỗi role hoặc tenant, và mô tả từng người để lượt chạy kiểm tra được người dùng đó nên và không nên truy cập những gì |
| Repository (white-box) | **Attach repository** trong hộp thoại chạy | Cho phép CloudThinker đọc mã nguồn để giải thích hành vi và kiểm thử sâu hơn |
| Ngữ cảnh | **Attach context** trong hộp thoại chạy | OpenAPI spec, Postman collection, runbook hoặc ghi chú kiến trúc định hướng bài kiểm thử. Chúng không thay đổi độ sâu kiểm thử |
| Dữ liệu thử nghiệm | Môi trường của bạn | Dùng bản ghi có thể bỏ đi và có cách khôi phục mọi thứ lượt chạy thay đổi |

Thông tin đăng nhập và repository bạn thêm từ hộp thoại chạy được lưu vào ứng dụng, giống như thêm trong **Settings**. Thông tin đăng nhập đã lưu không chứng minh được việc kiểm thử sau đăng nhập: mật khẩu được lưu mà không đăng nhập thử, và chỉ được thử lần đầu khi lượt chạy bắt đầu. Đăng nhập thất bại sẽ kết thúc lượt chạy với **Failed**. Hãy kiểm tra phần giới hạn trong báo cáo trước khi coi các khu vực được bảo vệ là đã được kiểm thử.

> [!NOTE]
>
> Mật khẩu đã lưu được mã hóa và truyền riêng tư cho lượt chạy. Agent không bao giờ thấy mật khẩu dưới dạng văn bản. Mỗi lượt chạy dùng phiên bản thông tin đăng nhập đã lưu lúc khởi chạy, nên chỉnh sửa thông tin đăng nhập sau đó không thay đổi lượt chạy đang diễn ra. Hãy dùng tài khoản thử nghiệm riêng không có quyền truy cập dữ liệu khách hàng thật, vì các phản hồi thu được sẽ được giữ làm bằng chứng cho phát hiện. Xem [Bảo vệ dữ liệu](https://docs.cloudthinker.io/vi/guide/security/data-protection.md).

## Bắt đầu lượt chạy Deep dive

**1. Mở ứng dụng**

Mở ứng dụng từ danh sách **Apps** trên thanh bên Cyber, hoặc vào **Cyber → Overview** và chọn ứng dụng. Kiểm tra liên kết **Settings** ở đầu trang ứng dụng để xem phạm vi và thông tin đăng nhập đã lưu.

**2. Chọn Deep dive**

Nhấn **Run pentest** ở đầu trang ứng dụng. Trong các thẻ cường độ kiểm thử, chọn **Deep dive**. Một cảnh báo xuất hiện: **Deep dive includes destructive testing**.

![Hộp thoại Run pentest với các điều khiển cường độ kiểm thử, mức truy cập và ngữ cảnh.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/07-run-pentest.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=187b29a900a3d042c49df00003947434)

**3. Thêm thông tin đăng nhập hoặc repository (tùy chọn)**

Bỏ qua bước này nếu **Settings** của ứng dụng đã có. Nếu chưa, trong **Access level**, nhấn **Go deeper**, rồi **Add auth** cho người dùng thử nghiệm hoặc **Attach repository** cho mã nguồn.

**4. Đặt giới hạn credit (tùy chọn)**

Nhập một số nguyên vào **Credit limit · Optional**, hoặc để trống (**No run limit**). Đọc [Cách giới hạn credit hoạt động](#cách-giới-hạn-credit-hoạt-động) trước khi dựa vào giới hạn này.

**5. Khởi chạy và xác nhận**

Nhấn **Run Deep dive pentest**. Trong hộp thoại **Run a Deep dive pentest?**, kiểm tra mục tiêu, rồi nhấn **Run Deep dive**. Nhấn **Keep editing** để quay lại.

**Trạng thái thành công:** lượt chạy mở ra với tiến trình trực tiếp khi CloudThinker làm việc. Bạn có thể tìm lại lượt chạy trong tab **Runs** của ứng dụng.

## Dừng lượt chạy

Mở lượt chạy từ tab **Runs** của ứng dụng, nhấn **Stop run**, rồi nhấn **Stop run** lần nữa trong hộp thoại **Stop this run?**. Lượt chạy bị hủy và không thể tiếp tục. Các phát hiện thu được đến lúc đó vẫn được giữ. Các yêu cầu đã gửi tới ứng dụng của bạn không được hoàn tác, nên hãy kiểm tra dữ liệu thử nghiệm sau đó.

Nếu không ai dừng, lượt chạy kết thúc khi CloudThinker không còn việc hữu ích để làm, đạt đến một giới hạn, hoặc sau ba giờ.

## Lên lịch Deep dive

Nhấn **Schedule…** thay vì chạy ngay, đặt chu kỳ lặp lại và xác nhận **Schedule Deep dive**. Lượt chạy theo lịch không thể có giới hạn credit. Cách kiểm soát chi tiêu duy nhất cho chúng là [giới hạn credit](https://docs.cloudthinker.io/vi/guide/billing/credit-limits.md) hằng tháng của workspace. Lượt chạy theo lịch cũng chỉ đăng nhập bằng người dùng thử nghiệm dùng **Long-lived token**. Với các phương thức đăng nhập khác, Deep dive theo lịch không đăng nhập bằng người dùng thử nghiệm của bạn, nên không kiểm thử được gì sau đăng nhập (xem [Thêm người dùng thử nghiệm](https://docs.cloudthinker.io/vi/guide/security/pentest.md#thêm-người-dùng-thử-nghiệm)).

> [!WARNING]
>
> Mỗi lượt chạy theo lịch đều gửi yêu cầu phá hủy mà không ai xác nhận, và không có giới hạn credit theo lượt chạy. Chỉ lên lịch Deep dive trên mục tiêu staging với dữ liệu dùng một lần và phạm vi chặt chẽ.

Mỗi lần khởi chạy và dừng đều được ghi lại trong [Audit logs](https://docs.cloudthinker.io/vi/guide/security/audit-logs.md) thuộc danh mục **Cyber**, để bạn biết ai đã bắt đầu một lượt chạy phá hủy.

## Cách giới hạn credit hoạt động

Giới hạn credit là điểm dừng mềm cho một lượt chạy Deep dive thủ công, không phải mức trần chi tiêu cứng.

| Tình huống | Điều gì xảy ra |
| - | - |
| Để trống trường | Không có giới hạn theo lượt chạy. Lượt chạy kết thúc khi CloudThinker không còn việc hữu ích, hoặc đạt đến một giới hạn lượt chạy khác |
| Mức dùng đạt 90% giới hạn | CloudThinker hoàn tất lượt kiểm tra hiện tại, không bắt đầu lượt mới và viết báo cáo |
| Mức dùng cuối cùng | Có thể vượt giới hạn, vì lượt kiểm tra hiện tại và báo cáo vẫn hoàn tất |
| Đã nhập giới hạn, rồi **Schedule…** | Lên lịch bị vô hiệu hóa. Xóa giới hạn để lên lịch |

Giá trị hợp lệ là số nguyên từ 1 đến 1.000.000.000. Trong khi lượt chạy diễn ra, bảng **Credit usage** hiển thị mức dùng theo phần trăm giới hạn của bạn, và chuyển sang **Writing your report** khi kiểm thử dừng.

## Điều gì xảy ra trong lượt chạy

1. CloudThinker lập bản đồ ứng dụng và kiểm thử giống như ở mức Full, trong phạm vi bạn đã đặt.
2. Cuối mỗi lượt kiểm tra, CloudThinker xem xét các phát hiện đã lưu, mức bao phủ và thông tin đăng nhập, rồi chọn câu hỏi tiếp theo đáng kiểm thử, chẳng hạn "người dùng ở tenant A có mở được hóa đơn của tenant B không?"
3. Mỗi lượt kiểm tra mới giữ lại bằng chứng và ghi chú từ các lượt trước.
4. Lượt chạy kết thúc khi CloudThinker không còn tìm thấy việc hữu ích hoặc đạt đến một giới hạn. Sau đó CloudThinker viết báo cáo liệt kê những gì không kiểm thử được.

Thời gian dài không có phát hiện mới là chuyện bình thường. Lượt kiểm tra có thể loại trừ một đường tấn công mà không tạo ra phát hiện nào.

## Đọc kết quả

Mở lượt chạy từ tab **Runs** của ứng dụng để xem dòng thời gian, phát hiện và báo cáo.

![Một lượt chạy đã hoàn tất trong tab Runs, với các phát hiện và báo cáo.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/08-run-workbench.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=f6006424c4888f08190fe3e16f2e3de2)

Hãy đọc kết hợp ba phần sau:

* **Phát hiện:** mỗi phát hiện có luồng tấn công, bằng chứng yêu cầu và phản hồi, tác động và cách khắc phục. Phân loại chúng trong [Phát hiện](https://docs.cloudthinker.io/vi/guide/security/cyber-findings.md).
* **Đăng nhập:** báo cáo nêu tên các khu vực nằm sau một lần đăng nhập thất bại. Những khu vực đó chưa được kiểm thử.
* **Giới hạn trong báo cáo:** các đường dẫn bị chặn, quyền truy cập còn thiếu và các bước kiểm tra chưa hoàn tất.

Lượt chạy không có phát hiện nào không có nghĩa là ứng dụng an toàn. Kết quả đó chỉ có nghĩa là CloudThinker không tìm thấy gì có thể chứng minh trong phạm vi và quyền truy cập bạn đã cấp.

## Khắc phục sự cố

Để xem mọi vấn đề Cyber ở một nơi, xem [Khắc phục sự cố Cyber](https://docs.cloudthinker.io/vi/guide/security/cyber-troubleshooting.md).

> **Deep dive hiển thị Coming soon và không chọn được**
>
> Deep dive bật theo mặc định, nhưng có thể bị tắt cho toàn bộ một hệ thống CloudThinker; tính năng này không gắn với gói của bạn. Khi tính năng bị tắt, bạn không thể bắt đầu hay lên lịch, nên hãy chọn **Full** để kiểm thử có tính phá hủy. Để bật lại, hãy hỏi bộ phận hỗ trợ CloudThinker, hoặc người vận hành CloudThinker cho công ty bạn.

> **Schedule… bị vô hiệu hóa**
>
> Bạn đã nhập giới hạn credit. Xóa **Credit limit · Optional** để lên lịch. Giới hạn credit chỉ áp dụng cho lượt chạy thủ công.

> **Nút chạy bị chặn với Domain verification required**
>
> Tên miền của mục tiêu chưa được xác minh. Hoàn tất bằng chứng DNS được mô tả trong [Chạy pentest](https://docs.cloudthinker.io/vi/guide/security/pentest.md), rồi mở lại **Run pentest**.

> **A saved login no longer works**
>
> Hộp thoại chạy kiểm tra các session token đã lưu trước khi khởi chạy. Nhấn **Update login** để thay thông tin xác thực, hoặc **Test again** sau khi sửa tài khoản. Lượt chạy không thể bắt đầu cho đến khi session token hoạt động.

> **Mức dùng vượt quá giới hạn credit của tôi**
>
> Đúng như dự kiến. Giới hạn dừng các lượt kiểm tra mới ở mức 90%, nhưng lượt đang chạy và báo cáo vẫn hoàn tất. Đặt giới hạn thấp hơn lần sau nếu bạn cần thêm dư địa.

## Bước tiếp theo

> **[Phân loại phát hiện bảo mật](https://docs.cloudthinker.io/vi/guide/security/cyber-findings.md)**
>
> Đọc bằng chứng của từng phát hiện và đưa từng phát hiện qua quy trình khắc phục của bạn

> **[Tạo báo cáo Cyber](https://docs.cloudthinker.io/vi/guide/security/cyber-reports.md)**
>
> Tải xuống báo cáo lượt chạy hoặc xuất các phát hiện đã chọn


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.