# VII. Windows Process Management

## 1. What is Process?

A proceess là một chương trình đang được thực thi trong một chương trình đang hoạt động. Tiến trình là đơn vị của các lệnh/chương trình chạy trên hệ điều hành.&#x20;

Chủ yếu các quy trình được kiểm tra trong quá trình đánh giá máy chủ Windows trực tiếp. Kiểm tra và phân tích memory về cơ bản thực sự có nghĩa là analysis of processes. Mỗi tiến trình có số nhận dạng riêng trong môi trường Windows được gọi là "Process ID" (PID) và chúng được ghi lại trong mỗi hoạt động của quy trình.

## 2. Process Tree

Running a program is a process. From this process, another process can be created.

There is a parent-child relationship between the two processes

* **Process**: Trong máy tính, một process là một chương trình đang được thực thi.
* **Parent Process**: Trong máy tính, một parent process là một process đã tạo ra một hoặc nhiều child process.
* **Child Process**: Trong máy tính, một child process là một process được tạo ra bởi một process khác (parent process). Một parent process có thể có nhiều child process, nhưng một child process chỉ có một parent process.

<figure><img src="/files/Yxd6OBqbiuQfUT87oDsv" alt=""><figcaption></figcaption></figure>

## 3. Windows Legitimate Processes (hợp pháp)

Có nhiều quy trình gốc của Windows với các tác vụ khác nhau. Chúng ta hãy xem một số quy trình quan trọng từ quan điểm bảo mật do các ủy quyền hiện tại của chúng cũng như thông tin người dùng và hệ thống mà chúng chứa.

### wininit.exe

"**wininit.exe**" là một tiến trình (process) được gọi là "Windows Initilization Process". Nó chịu trách nhiệm khởi động Trình quản lý Dịch vụ (**services.exe**), tiến trình Local Security Authority (**lsass.exe**), và Local Session Manager (**lsm.exe**). Nó được đặt trong thư mục "***C:\Windows\System32***". Nó được tạo ra trong quá trình khởi động hệ thống. Đây là tiến trình hoạt động với đặc quyền của tài khoản có đặc quyền cao nhất (**NT AUTHORITY\SYSTEM**) trên hệ thống.

<figure><img src="/files/MPZYaAiRtZB1QHYqcQWJ" alt=""><figcaption></figcaption></figure>

### services.exe

"**services.exe**" là một tiến trình (process) chịu trách nhiệm khởi động và dừng các dịch vụ. "**Svchost.exe**", "**dllhost.exe**", "**taskhost.exe**" và "**spoolsv.exe**" là các tiến trình con của tiến trình "**services.exe**".&#x20;

Nó được đặt trong thư mục "***C:\Windows\System32***". Đây là tiến trình hoạt động với đặc quyền của tài khoản có đặc quyền cao nhất (**NT AUTHORITY\SYSTEM**) trên hệ thống.&#x20;

Trong điều kiện bình thường, chỉ nên có 1 tiến trình "**services.exe**" trong cây tiến trình. Nếu có nhiều tiến trình "**services.exe**" hoặc có tiến trình với tên tương tự, cần được điều tra thêm vì có thể là tiến trình liên quan đến hoạt động độc hại.

<figure><img src="/files/iALL0iIszvQ5xDoAuK0e" alt=""><figcaption></figcaption></figure>

### svchost.exe

"**Svchost.exe**" là a generic host process name (tiến trình hệ thống quan trọng, quản lý các dịch vụ quan trọng) cho các dịch vụ chạy từ các thư viện liên kết động (**dynamic-link libraries**).&#x20;

Vì các tập tin DLL là các tập tin không thể thực thi, chúng được chạy với **svchost** để kích hoạt các dịch vụ của hệ điều hành. "**svchost.exe**" chịu trách nhiệm về việc sử dụng và quản lý các dịch vụ multi-DLL để tối ưu hóa các nguồn hệ thống.&#x20;

Tất cả các dịch vụ dựa trên DLL đều chia sẻ cùng một tiến trình **svchost**. Mỗi tiến trình **svchost** xuất hiện với việc thực hiện các dịch vụ duy nhất. Tiến trình cha của nó là "**services.exe**". Và "**Services.exe**" là tiến trình con của "**wininit.exe**".

<figure><img src="/files/q1ZW5SDw4KRGBEKy3rRx" alt=""><figcaption></figcaption></figure>

"**Svchost.exe**" nằm trong thư mục "***C:\Windows\System32***". Đây là quá trình chạy trên hệ thống với đặc quyền "**NT AUTHORITY\NETWORK SERVICE**" hoặc "**NT AUTHORITY\SYSTEM**"

### lsass.exe

"**lsass.exe**" (Local Security Authority Subsystem Service) là quy trình chịu trách nhiệm về các hoạt động bảo mật quan trọng như xác nhận hoặc từ chối mật khẩu của người dùng trong khi đăng nhập vào hệ điều hành Windows.&#x20;

Ngoài ra, tiến trình này hoạt động tích cực trong quá trình thay đổi mật khẩu của người dùng.&#x20;

Tiến trình này cực kỳ quan trọng vì nó chứa mật khẩu người dùng trong hệ thống. Kẻ tấn công có quyền truy cập vào hệ thống có thể lấy được mật khẩu của người dùng bằng cách tận dụng tiến trình này.&#x20;

Có một công cụ miễn phí tên là "**mimikatz**" được phát triển bởi "Benjamin Delpy" và mật khẩu của người dùng có thể được lấy từ quy trình "**lsass.exe**" với sự trợ giúp của công cụ "**Mimikatz**".

"**lsass.exe**" nằm trong thư mục "***C:\Windows\System32***". Đó là quá trình hoạt động với các đặc quyền của người dùng được ủy quyền cao nhất (**NT AUTHORITY\SYSTEM**) trên hệ thống.

### winlogon.exe

"**Winlogon.exe**" là tiến trình thực hiện các hoạt động đăng nhập và đăng xuất của người dùng trong hệ điều hành Windows. Đó là tiến trình hoạt động với các đặc quyền của người dùng được ủy quyền cao nhất (**NT AUTHORITY\SYSTEM**) trên hệ thống. "**Winlogon.exe**" nằm trong thư mục "***C:\Windows\System32***".

<figure><img src="/files/v4EoilFZof9aqWpvlDVc" alt=""><figcaption></figcaption></figure>

### explorer.exe

Tiến trình "**Explorer.exe**" là quy trình cha của hầu hết mọi tiến trình có giao diện người dùng đồ họa (GUI) trong hệ điều hành Windows và mở dưới dạng cửa sổ.&#x20;

Ví dụ: tiến trình này bắt đầu khi Windows explorer được khởi động. Trong trường hợp bình thường, sẽ có một tiến trình "**explorer.exe**". "**Explorer.exe**" nằm trong thư mục "**C:\Windows**". Tiến trình này chạy với đặc quyền của người dùng hiện đang đăng nhập vào hệ thống.

<figure><img src="/files/qW0qj1HyHWQ1csmL8cFx" alt=""><figcaption></figcaption></figure>

## 4. Task Manager

"Task Manager" là ứng dụng cho phép xem và quản lý các tiến trình trên hệ điều hành Windows. Các quy trình có thể được xem và chấm dứt với sự trợ giúp của "Task Manager". Nó có giao diện người dùng đồ họa (GUI) như trong hình bên dưới:

<figure><img src="/files/DYKQYFEbQwkYEm3xhl9n" alt=""><figcaption></figcaption></figure>

## 5. Process Operations Commands

### "Tasklist" command

Lệnh "**Tasklist**" cho phép chúng ta xem danh sách các tiến trình đang chạy trên hệ thống. Ví dụ: hãy xem các quy trình bằng cách thực hiện lệnh:

<figure><img src="/files/OLa3l9lVvwzIDWAZMTmW" alt=""><figcaption></figcaption></figure>

### "taskkill" command

"Taskkill" là lệnh dùng để chấm dứt các tiến trình đang chạy trong hệ thống. Để thực thi lệnh này, phải biết giá trị "PID (ID tiến trình)" của tiến trình muốn kết thúc.

Ví dụ: hãy xem giá trị PID của quy trình "osk.exe (bàn phím màn hình)" mà chúng ta muốn chấm dứt:

<figure><img src="/files/zEC95RguvqjBSUSFCp8p" alt=""><figcaption></figcaption></figure>

Như đã thấy trong hình trên, giá trị PID của quy trình "osk.exe" được coi là "2812

{% hint style="info" %}
Lưu ý: Dấu Pipe (**|**) cho phép bạn cung cấp đầu ra của một lệnh làm đầu vào cho lệnh khác.&#x20;

Lệnh "**findstr**" (tìm kiếm chuỗi) là lệnh được sử dụng trong tìm kiếm.&#x20;
{% endhint %}

Hãy cung cấp giá trị PID làm tham số cho lệnh "taskkill" và kết thúc quá trình:

<figure><img src="/files/f84YgeZu0mnpoyG8Z7kX" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://viettaliii.gitbook.io/home/soc-and-dfir/os/windows-fundamentals/vii.-windows-process-management.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
