# Threat Hunting with Sysmon

## 1. Deploying Sysmon

### 🛠️ **Triển khai Sysmon để giám sát hệ thống**

**Sysmon (System Monitor)** là một **dịch vụ hệ thống và driver trên Windows**. Sau khi được cài đặt, Sysmon sẽ **duy trì hoạt động qua các lần khởi động lại hệ thống**, liên tục **giám sát và ghi log chi tiết các hoạt động hệ thống** vào **Windows Event Log**.

Sysmon cung cấp mức độ quan sát sâu rộng (visibility) tại endpoint và có khả năng ghi lại:

* Quá trình khởi chạy tiến trình (process creation)
* Hoạt động file system
* Sự kiện mạng (network events)
* Ghi nhận thay đổi registry
* Các đối tượng đặc thù như **Named Pipes**

Nhờ khả năng thu thập nhiều dữ liệu phong phú, Sysmon là nguồn dữ liệu **cực kỳ quan trọng khi điều tra sự cố an ninh**, nếu được cấu hình hợp lý.

### ⚙️ **Các bước triển khai Sysmon**

#### 📥 **1. Tải Sysmon từ Microsoft**

* Truy cập trang chính thức của Microsoft:

  🔗 [Sysmon Download - Sysinternals](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon)
* Sau khi tải về, hãy **giải nén** tập tin `.zip`, và di chuyển đến thư mục chứa `Sysmon64.exe`.

📌 **Khuyến nghị**: Giải nén vào đường dẫn:

```
C:\Windows\Sysmon
```

#### 📑 **2. Tải file cấu hình Sysmon (config.xml)**

Sysmon yêu cầu một **file cấu hình** để xác định nó nên theo dõi cái gì và theo cách nào. Bạn có thể tự viết, nhưng nên sử dụng file có sẵn từ cộng đồng đã được tinh chỉnh theo các kỹ thuật MITRE ATT\&CK.

* Cấu hình khuyến nghị:\
  🔗 [Sysmon Modular by Olaf Hartong](https://github.com/olafhartong/sysmon-modular)

Hoặc dùng PowerShell để tải trực tiếp:

{% code overflow="wrap" %}

```powershell
Invoke-WebRequest -Uri https://raw.githubusercontent.com/olafhartong/sysmon-modular/master/sysmonconfig.xml -OutFile C:\Windows\\Sysmon\config.xml
```

{% endcode %}

#### ⚙️ **3. Cài đặt và chạy Sysmon**

Sau khi có file config, đăng ký Sysmon như một dịch vụ:

```powershell
Sysmon64.exe -accepteula -i config.xml
```

* `-accepteula`: Chấp nhận điều khoản sử dụng.
* `-i config.xml`: Đưa vào file cấu hình để chạy.

#### 🔍 **4. Kiểm tra Sysmon đang hoạt động**

Chạy lệnh sau trong PowerShell để xác minh Sysmon đã được đăng ký và đang chạy:

```powershell
Get-Service -Name Sysmon64
```

Nếu trả về trạng thái **Running**, việc triển khai đã hoàn tất.

## 2. Hunting Malwares with Process Execution

### 📌 Event **ID 1 - Create Process**

**Sysmon Event ID 1** được ghi lại mỗi khi một tiến trình mới (process) được khởi chạy trong bộ nhớ. Đây là **sự kiện cực kỳ quan trọng trong điều tra bảo mật**, bởi nó cho thấy **chương trình hoặc mã độc nào đã thực sự chạy trên hệ thống**.

Sysmon không chỉ ghi lại tiến trình nào được thực thi mà còn lưu lại:

* Thời gian kết thúc tiến trình
* Thông tin chi tiết về file nhị phân (binary)
* **Hash SHA1/SHA256**
* Trạng thái **đã ký số hay chưa** (signed/unsigned)
* **CommandLine** được thực thi
* Dấu thời gian UTC → dùng để dựng **dòng thời gian tấn công (Timeline)**

#### 🧪 **Ví dụ: Mimikatz bị thực thi trên máy nạn nhân**

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

Khi công cụ **mimikatz.exe** được chạy, Sysmon Event ID 1 ghi lại:

* Tên tiến trình: `mimikatz.exe`
* Đường dẫn: vị trí thực thi (có thể giả mạo)
* Dòng lệnh (`CommandLine`)
* PID / PPID
* Hash (SHA256)
* Metadata (công ty, mô tả,...)

#### 🧠 **Các trường quan trọng trong Event ID 1**

<table><thead><tr><th width="204.39996337890625">Trường</th><th>Ý nghĩa</th></tr></thead><tbody><tr><td><code>MITRE Technique ID</code></td><td>Nếu cấu hình có mapping, giúp gán TTP</td></tr><tr><td><code>Process ID (PID)</code></td><td>Có thể dùng làm IOC để tra cứu ngược</td></tr><tr><td><code>CommandLine</code></td><td><strong>Trường quan trọng nhất</strong> – chứa toàn bộ lệnh và tham số được chạy</td></tr><tr><td><code>Hash (SHA256)</code></td><td>Dùng để so sánh với các nền tảng TI như VirusTotal</td></tr><tr><td><code>Parent Process</code></td><td>Biết tiến trình cha nào đã spawn mã độc (ví dụ: PowerShell)</td></tr><tr><td><code>File Metadata</code></td><td>Rất hữu ích nếu file bị đổi tên nhưng không thay đổi metadata</td></tr></tbody></table>

### 🧨 **Kỹ thuật trốn tránh qua đổi tên**

Giả sử bạn đổi tên `mimikatz.exe` thành `WinSvc.exe` và đặt trong thư mục `C:\Windows`, sau đó thực thi nó.

* Trong log Event ID 1:
  * Tên tiến trình có vẻ hợp pháp
  * Nhưng metadata (công ty, mô tả công cụ) vẫn thể hiện rõ đây là **mimikatz**

👉 Đây là lý do vì sao **file metadata** có giá trị trong phát hiện anomaly.

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

#### 🔍 **Trường hợp metadata bị xoá hoặc bị giả mạo?**

Nếu file đã bị:

* Tước bỏ chữ ký số
* Metadata bị chỉnh sửa (sử dụng công cụ PE editing)
* Đổi tên giống công cụ hệ thống

🛡️ **Khi đó, `Hash` của tiến trình chính là chỉ dấu cuối cùng** để tra cứu:

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

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

#### 📥 **Giám sát CommandLine: Phát hiện PowerShell Payload**

Giả sử attacker thực thi một lệnh PowerShell độc hại để kết nối C2 (ví dụ: reverse shell, stager...).

➡️ Nếu không bật PowerShell logging, làm sao biết payload nào đã được thực thi?

💡 **Sysmon Event ID 1 vẫn lưu lại đầy đủ dòng lệnh PowerShell!**

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

Ví dụ:

```powershell
powershell -nop -w hidden -enc aGVsbG8gd29ybGQ=
```

* Dòng lệnh `-enc` có chuỗi base64 bị mã hoá.
* Dùng **CyberChef** để giải mã → thu được IP, domain, lệnh tải về, biến môi trường,…

⛏️ **Từ đây có thể:**

* Xây dựng thêm IOC, YARA rule
* Truy tìm các hệ thống khác cũng bị tấn công nhưng chưa phát hiện
* Gán TTP cho nhóm APT cụ thể

### ✅ **Kết luận**

* **Sysmon Event ID 1** cung cấp **visibility tốt nhất về quá trình thực thi tiến trình** trên endpoint.
* Có thể kết hợp với **MITRE ATT\&CK Mapping** để gán tactic/technique.
* Dùng hash và commandline để mở rộng truy tìm mối đe dọa.
* Dữ liệu này là nền tảng quan trọng trong điều tra số, phân tích hành vi và phản hồi sự cố.

## 3. Hunting Malicious C2 IPs and Domains

Trong bài học này, chúng ta sẽ phân tích **hai sự kiện quan trọng** từ Sysmon:

* `Event ID 3`: **Kết nối mạng (Network Connection)**
* `Event ID 22`: **Truy vấn DNS (DNS Query)**

### 🔎 **Event ID 3 – Network Connection**

* Sysmon `Event ID 3` ghi nhận **mọi kết nối TCP và UDP**.
* Mỗi sự kiện kết nối đều được **liên kết với Process ID** và **ProcessGUID** giúp dễ dàng **tương quan (correlation)** với các sự kiện khác như thực thi tiến trình (Event ID 1).

**✅ Tác dụng chính:**

* Phát hiện **lưu lượng C2** (Command and Control)
* Hiển thị **ứng dụng nào đang truy cập Internet**, truy cập địa chỉ IP nào

Ví dụ là thông tin của event id 3 được ghi lại trong sysmon:

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

Event này gồm những thông tin như:

<table><thead><tr><th width="172.39996337890625">Trường</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>ProcessID</strong></td><td>PID của tiến trình tạo ra kết nối</td></tr><tr><td><strong>Image</strong></td><td>Đường dẫn đầy đủ của file thực thi</td></tr><tr><td><strong>User</strong></td><td>Tài khoản người dùng khởi tạo kết nối</td></tr><tr><td><strong>Source IP</strong></td><td>Địa chỉ IP của máy gửi đi kết nối</td></tr><tr><td><strong>Destination IP</strong></td><td>Địa chỉ IP nhận kết nối (→ thường là địa chỉ C2)</td></tr><tr><td><strong>Port</strong></td><td>Cổng dịch vụ; ví dụ: <code>4444</code> là cổng thường dùng trong Metasploit</td></tr></tbody></table>

🔥 Trong trường hợp reverse shell, **Destination IP là địa chỉ máy chủ của kẻ tấn công** (C2 server). Đây chính là IOC quan trọng để truy vết.

### 🧠 **Pivot điều tra tiếp từ Event ID 3 → Event ID 1**

Nếu một tiến trình khả nghi như `notepad(1).exe` từ thư mục lạ tạo kết nối đến IP độc hại:

1. Tìm lại **Event ID 1** tương ứng với PID của `notepad(1).exe`.
2. Phân tích:
   * CommandLine
   * Metadata
   * Hash SHA256
3. Kiểm tra hash trên VirusTotal hoặc sandbox phân tích mã độc.
4. Thu thập file mẫu để phân tích ngược (reverse engineering).

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

### 🌐 **Event ID 22 – DNS Query**

* Ghi lại **mọi truy vấn DNS** (cả thành công và thất bại).
* Cực kỳ hữu ích để:
  * Phát hiện **DNS-based C2**
  * Tìm kiếm **DNS tunneling/data exfiltration**
  * Nhận diện các truy vấn bất thường (domain ngẫu nhiên, subdomain lạ…)

#### 💡 **Ví dụ thực tế:**

* Một truy vấn DNS được thực hiện bởi trình duyệt `msedge.exe`.
* Tuy nhiên, **mã độc thực tế có thể sử dụng DNS để gọi C2**, hoặc ẩn dữ liệu bên trong DNS để **đánh cắp thông tin mà không bị phát hiện**.

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

#### **Dấu hiệu DNS tunneling:**

<table><thead><tr><th width="334.79998779296875">Triệu chứng</th><th>Ý nghĩa</th></tr></thead><tbody><tr><td>Truy vấn liên tục đến cùng 1 domain phụ</td><td>Exfil dữ liệu qua subdomain</td></tr><tr><td>Subdomain có định dạng random</td><td>Sử dụng để gói dữ liệu</td></tr><tr><td>Tên tiến trình khả nghi tạo truy vấn DNS</td><td>Ví dụ: notepad, svchost, explorer nhưng ở đường dẫn lạ</td></tr></tbody></table>

📋 **Trường dữ liệu của Event ID 22:**

<table><thead><tr><th width="186">Trường</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>DNS Query</strong></td><td>Truy vấn DNS được thực hiện</td></tr><tr><td><strong>Image</strong></td><td>Đường dẫn file tạo truy vấn</td></tr><tr><td><strong>User</strong></td><td>Tài khoản người dùng thực hiện truy vấn</td></tr></tbody></table>

### ✅ **Kết luận**

* **Event ID 3 và 22 của Sysmon** là **nguồn dữ liệu cực kỳ quan trọng** cho việc **threat hunting** và **detection IOC**.
* Việc tương quan giữa:
  * Kết nối mạng (`ID 3`)
  * Truy vấn DNS (`ID 22`)
  * Thực thi tiến trình (`ID 1`) giúp bạn xây dựng **bức tranh đầy đủ về đường đi của mã độc (kill chain)**.

## 4. Hunting File System Changes

* **Event ID 11** – *File Create*
* **Event ID 15** – *FileCreateStreamHash*

### 📝 **Event ID 11 – File Create**

Sự kiện này được ghi lại mỗi khi **tập tin được tạo mới hoặc bị ghi đè**. Đây là sự kiện cực kỳ hữu ích trong việc theo dõi:

* **Vị trí khởi động (autostart)** như: thư mục Startup
* **Thư mục tạm và thư mục tải xuống**, nơi malware thường lưu file tải về lần đầu

#### 📌 **Tình huống thực tế:**

Một **C2 stager** tên `notepad(1).exe` được ghi nhận bởi Sysmon khi nó được tạo trên ổ đĩa.

* Sysmon hiển thị:
  * **Chương trình nào đã tạo ra file** → ví dụ: `msedge.exe` (trình duyệt tải về payload)
  * **Dấu thời gian UTC**
  * **Quan hệ giữa tiến trình sinh file và file được tạo**

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

#### 🧾 **Các trường quan trọng trong Event ID 11:**

<table><thead><tr><th width="194.79998779296875">Trường</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Image</strong></td><td>Đường dẫn đầy đủ của tiến trình tạo ra file</td></tr><tr><td><strong>TargetFilename</strong></td><td>Tên file đã được tạo, bao gồm cả đường dẫn</td></tr></tbody></table>

🔍 Đặc biệt, nếu file có hậu tố `:Zone.Identifier` → **đây là một Alternate Data Stream (ADS)** — thường xuất hiện khi **file được tải từ Internet** (ví dụ qua trình duyệt).

### 🧬 **Event ID 15 – FileCreateStreamHash**

Sự kiện này được ghi nhận khi **một "stream có tên"** được tạo trong hệ thống tập tin NTFS (ví dụ: `:Zone.Identifier`). Event này có thể chứa:

* **Hash của nội dung file chính (stream không tên)**
* **Hash của stream phụ (có tên)**
* **Thông tin nguồn tải về (URL)**

<figure><img src="/files/2rJybrh82K43fzk1xGnF" alt=""><figcaption></figcaption></figure>

#### 🧪 **Khi nào sự kiện này xảy ra?**

* Khi file được tải qua trình duyệt, ví dụ từ Microsoft Edge.
* **Zone.Identifier** chứa metadata như nguồn tải về, zone ID...

#### 🔍 **Phân tích chuỗi 3 sự kiện liên tiếp của Event ID 15**

**Sự kiện 1 :**

* Có trường `Contents` chứa `ZoneID=3` → file tải từ Internet
* Có `Hash` của stream phụ (zone.identifier)
* `TargetFilename` chứa `:Zone.Identifier`

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

**Sự kiện 2:**

* Cũng chứa `TargetFilename` nhưng **không có stream** → là file gốc
* `Hash` ở đây là **hash chính xác của tập tin tải về**

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

**Sự kiện 3:**

* Có `Contents` chứa **đầy đủ URL** tải về file, bao gồm cả URI
* Đây là thông tin cực kỳ quan trọng cho **threat hunting và IOC enrichment**

🧾 **Các trường chính trong Event ID 15:**

<table><thead><tr><th width="226.00003051757812">Trường</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Image</strong></td><td>Tiến trình tạo stream (ví dụ: <code>msedge.exe</code>)</td></tr><tr><td><strong>TargetFilename</strong></td><td>Tên file gốc hoặc stream phụ</td></tr><tr><td><strong>Hash</strong></td><td>Hash của nội dung file hoặc stream</td></tr><tr><td><strong>Contents</strong></td><td>Có thể chứa ZoneID, URL gốc tải về file</td></tr><tr><td><strong>MITRE Technique ID</strong></td><td>Nếu cấu hình có mapping, sẽ tự động gán</td></tr></tbody></table>

### ✅ **Kết luận**

| Tính năng       | Giá trị                                                                                              |
| --------------- | ---------------------------------------------------------------------------------------------------- |
| **Event ID 11** | Ghi nhận **ai tạo file**, ở đâu, vào thời điểm nào                                                   |
| **Event ID 15** | Phân biệt **file gốc** với **stream phụ (ADS)**, cung cấp **hash** và **nguồn tải về (URL)**         |
| **Tổng hợp**    | Cung cấp khả năng dựng **timeline**, truy vết **file độc**, theo dõi **malware dropper hoặc stager** |

## 5. Hunting Registry Tampering

### 🎯 **Event ID 12: RegistryEvent (Tạo và xóa đối tượng)** & **Event ID 13: Đặt giá trị Registry**

Các thao tác **tạo và xóa khóa hoặc giá trị trong Registry** sẽ được ghi nhận bởi hai mã sự kiện này. Đây là những sự kiện rất quan trọng để **giám sát các thay đổi liên quan đến vị trí khởi động (autostart)** của Windows hoặc **các thay đổi Registry do mã độc gây ra**.

#### 🛡️ Tại sao cần theo dõi?

Bất cứ khi nào một cặp khóa-giá trị (`key-value pair`) được **tạo hoặc xóa ở bất kỳ đâu trong Registry**, Sysmon sẽ ghi lại tại đây.

⚠️ Điều này **đặc biệt quan trọng**, vì **kẻ tấn công thường xuyên can thiệp vào Registry** để đạt được các mục tiêu như:

* **Persistence** (duy trì truy cập lâu dài)
* **Evasion** (né tránh phát hiện)
* **Privilege escalation** (leo thang đặc quyền)

#### 🧪 Ví dụ thực tế: Metasploit – Module `getsystem`

Chúng ta sẽ truy vết một sự kiện độc hại trong đó attacker sử dụng module `getsystem` trong Metasploit. Trước tiên, chúng ta quan sát **một dịch vụ bị tạo ra và sau đó bị xóa**.

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

#### 🕵️‍♂️ Phân tích kỹ hơn bằng Event ID 13

Khi mở **event ID 13** ngay trước đó, chúng ta thấy rằng **dịch vụ vừa tạo bị điều hướng thực thi đến một named pipe** (chi tiết sẽ đề cập trong bài tiếp theo).

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

* **Chuỗi lệnh (CommandLine)** trong sự kiện này **rất đáng ngờ**
* Đây là **hành vi điển hình** của Metasploit khi sử dụng `getsystem` để leo thang đặc quyền.

#### 🛠️ Tạo dịch vụ độc hại để duy trì truy cập (Persistence)

Chúng ta đã tạo một dịch vụ tên là `letsdefend` thông qua phiên làm việc trong Metasploit.\
**Dịch vụ là phương thức phổ biến để đạt được Persistence** trong môi trường Windows.

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

Trong Registry, ta thấy dịch vụ này được ghi dưới khóa:

```
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\letsdefend
```

Với các giá trị con quan trọng như:

* **ImagePath** – chứa đường dẫn đến tệp thực thi (executable) mà dịch vụ sẽ chạy
* ➜ Đường dẫn trong ví dụ **rất đáng nghi**, cả về vị trí và tên tệp `.exe`

⛏️ Đây là một **chỉ dấu mạnh** cho thấy khả năng chứa mã độc.

#### 🔎 Sự kiện Event ID 13 khác: Subkey “DisplayName”

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

Sự kiện Event ID 13 tiếp theo ngay sau đó cho thấy một subkey khác của dịch vụ:

* **DisplayName** – là tên hiển thị trong danh sách dịch vụ

⚠️ Giá trị của DisplayName là một chuỗi ký tự ngẫu nhiên ➜ **cảnh báo hành vi giả mạo dịch vụ**

### ✅ Kết luận

* **Event ID 12 và 13** giúp phát hiện:
  * Thêm/xóa khóa hoặc giá trị registry đáng ngờ
  * Dịch vụ được tạo giả mạo cho mục đích leo thang đặc quyền hoặc persistence
* Các hành vi này là **TTP phổ biến** của các framework tấn công như **Metasploit**

## 6. Hunting Malicious Named Pipes

### 📌 **Event ID 17 – Pipe Created**

**Event ID 17** của Sysmon được ghi nhận khi một **Named Pipe** được tạo ra trong hệ thống.

#### 🔎 **Named Pipe là gì?**

* Là cơ chế **giao tiếp giữa các tiến trình (Interprocess Communication – IPC)**.
* Có thể ví như **socket nội bộ**, cho phép truyền dữ liệu giữa:
  * Các tiến trình trên cùng một máy
  * Hoặc giữa các máy trong mạng nội bộ

⛏️ **Mã độc thường lợi dụng Named Pipe để truyền lệnh hoặc dữ liệu**, do:

* Khó bị phát hiện hơn kết nối mạng
* Không bị firewall chặn
* Có thể hoạt động trong memory mà không cần file

#### 🛠️ **Sysmon Event ID 17 giúp gì?**

* Giám sát **mọi lần tạo named pipe**.
* Cung cấp thông tin về:
  * **Tiến trình nào tạo pipe**
  * **Tên của pipe**
  * **Thời điểm tạo (UTC)**

⚠️ Việc tạo named pipe là hợp lệ với Windows – nhưng điều quan trọng là:

> **Ai tạo nó?**\
> **Tên pipe có đáng ngờ không?**

#### 🧪 **Ví dụ thực tế: Mã độc tạo named pipe**

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

Chúng ta thấy rằng **mã độc `notepad(1).exe`** từ các bài học trước là tiến trình tạo ra named pipe.

* Event ID 17 ghi lại:
  * Tên pipe: ví dụ `\\.\pipe\hnrmmr`
  * File tạo pipe: `C:\Users\Public\notepad(1).exe`
  * Thời điểm: dấu thời gian UTC

📌 **Mẫu hành vi đáng ngờ cần lưu ý:**

<table><thead><tr><th width="376.39996337890625">Dấu hiệu</th><th>Diễn giải</th></tr></thead><tbody><tr><td>Pipe tạo bởi tiến trình không hợp lệ</td><td>Ví dụ: <code>notepad.exe</code>, <code>svchost.exe</code> giả mạo</td></tr><tr><td>Pipe tên ngẫu nhiên hoặc được biết là độc hại</td><td>Ví dụ: <code>\msagent</code>, <code>\postex</code>, <code>\status</code>, <code>\mypipe</code></td></tr><tr><td>Tạo nhiều pipe liên tiếp trong mili giây</td><td>Mô hình phổ biến của malware loader</td></tr><tr><td>Kết hợp với Event ID 12/13 tạo dịch vụ</td><td>Hành vi liên quan tới leo thang đặc quyền qua service &#x26; pipe</td></tr></tbody></table>

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

#### 🔁 **Tương quan với Metasploit:**

* Trong bài trước, ta thấy **Metasploit dùng pipe để giao tiếp với dịch vụ** vừa được tạo.
* Dịch vụ khởi động mã khai thác, và dữ liệu/lệnh được truyền qua **named pipe**
* Giúp **né tránh công cụ bảo vệ**, vì không dùng socket/mạng

<figure><img src="/files/2cvzk65YvBC1VEfn4v0Z" alt=""><figcaption></figcaption></figure>

#### 🧾 **Các trường quan trọng trong Event ID 17:**

<table><thead><tr><th width="165.20001220703125">Trường</th><th>Mô tả</th></tr></thead><tbody><tr><td><strong>Image</strong></td><td>Tiến trình tạo pipe</td></tr><tr><td><strong>PipeName</strong></td><td>Tên của named pipe được tạo</td></tr><tr><td><strong>UtcTime</strong></td><td>Thời điểm UTC pipe được tạo</td></tr><tr><td><strong>User</strong></td><td>Người dùng thực hiện thao tác (nếu có ghi nhận)</td></tr></tbody></table>

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

### ✅ **Kết luận**

* **Named Pipe là cơ chế IPC hợp pháp**, nhưng thường bị lợi dụng bởi mã độc như:
  * **Metasploit**
  * **Cobalt Strike**
  * **Sliver**
  * **PlugX**
* **Sysmon Event ID 17 kết hợp cùng ID 12/13 và ID 1/3** sẽ giúp bạn:
  * Dựng lại toàn bộ hành vi của mã độc
  * Phát hiện các pipe C2 hoặc loader
  * Truy vết chain leo thang đặc quyền


---

# 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/th/threat-hunting-with-sysmon.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.
