# Hunting the Remote Access Techniques

## 1. Introduction to Remote Access Techniques

Bài học này sẽ trình bày các kỹ thuật khác nhau mà kẻ tấn công sử dụng để truy cập từ xa vào các hệ thống bị xâm nhập. Những năm gần đây, truy cập từ xa vào hệ thống số đã trở nên cần thiết do tính linh hoạt và dễ sử dụng. Các tổ chức trên toàn thế giới có nhân viên làm việc từ xa cần truy cập hệ thống từ nhà, làm cho việc truy cập từ xa trở thành một tình huống hợp pháp – điều mà kẻ tấn công rất thích lợi dụng. Do được sử dụng rộng rãi, việc truy cập từ xa giúp kẻ tấn công dễ dàng trà trộn với hoạt động hợp pháp.

Những kỹ thuật này có thể được sử dụng trong giai đoạn truy cập ban đầu, duy trì quyền truy cập hoặc di chuyển ngang trong mạng – do đó rất quan trọng để hiểu và phát hiện những kỹ thuật này nhằm bảo vệ hệ thống.

Chúng ta sẽ thảo luận về một số giao thức truy cập từ xa như RDP và SSH, một số công cụ quản lý từ xa như AnyDesk và TeamViewer, các payload và stager của máy chủ điều khiển (C2), và việc sử dụng công cụ psexec trong mạng nội bộ. Bài học cũng sẽ nói rõ cách đối thủ khai thác những kỹ thuật này, đồng thời cung cấp bài thực hành để phát hiện và phân tích các dấu vết mà những kỹ thuật này để lại.

## 2. Hunting for SSH Remote Access

SSH là một giao thức mạng được mã hóa, hỗ trợ quản lý hệ thống từ xa, thường áp dụng cho các hệ thống giống Unix. Nó nổi tiếng thông qua dự án OpenSSH và lệnh `ssh` mà quản trị viên sử dụng để quản lý hệ thống thông qua giao diện dòng lệnh, tương tự như Telnet. Dự án OpenSSH cũng bao gồm `scp` (Sao chép an toàn) để thay thế công cụ sao chép không mã hóa cũ và `sftp` để thay thế cách dùng `ftp` không mã hóa.

SSH là một giao thức linh hoạt và có thể đóng gói các giao thức khác để bảo vệ chúng bằng mã hóa. Đây gần như là tiêu chuẩn mặc định cho quản trị hiện đại trên các hệ thống giống Unix.

Khi sử dụng SSH, quản trị viên thường bắt đầu bằng lệnh `ssh` cùng với tên người dùng và mật khẩu. Tên đăng nhập và mật khẩu này thường giống với thông tin đăng nhập trực tiếp vào hệ thống. Vấn đề nảy sinh khi cổng của SSH (mặc định là 22) bị mở ra mạng. Đặc biệt trên Internet, kẻ tấn công sẽ cố gắng brute-force (tấn công thử sai) để truy cập hệ thống qua SSH. Nếu quản trị viên đặt mật khẩu đơn giản cho các tài khoản phổ biến, tấn công brute-force có thể thành công. Đáng tiếc là đến ngày nay, vẫn có những quản trị viên bất cẩn để các máy chủ SSH quan trọng mở công khai trên internet, dẫn đến việc kẻ tấn công dễ dàng truy cập bằng cách brute-force.

Trong bài học này, chúng ta sẽ đi qua một tình huống kẻ tấn công thực hiện brute-force vào dịch vụ SSH, giành được quyền truy cập và đăng nhập thành công. Sau đó, chúng ta sẽ tìm hiểu cách phát hiện các cuộc tấn công brute-force này, cũng như cách xác định khi nào và từ IP nào kẻ tấn công đã truy cập máy chủ.

**Bắt đầu tấn công brute-force vào máy chủ SSH**

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

Chúng ta sử dụng công cụ có tên **Hydra** để brute-force máy chủ. Do có một mật khẩu đúng trong danh sách mật khẩu, kẻ tấn công đã truy cập thành công.

Cuộc tấn công brute-force này cũng bao gồm nhiều lần thử sai, vì vậy chúng ta sẽ tìm thấy bằng chứng trong tệp log hệ thống (`syslog`). Trong thực tế, brute-force có thể rất "ồn" (hàng nghìn yêu cầu mỗi phút), hoặc lén lút (mỗi phút thử một lần).

**Phân tích các lần brute-force**\
Chúng ta sẽ quan tâm đến nhật ký xác thực nằm tại:

* `/var/log/auth.log`

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

Tại đây, có thể thấy nhiều lần thử đăng nhập từ địa chỉ IP `3.110.136.25`, phần lớn đều thất bại.

Ta cũng thu được những thông tin quan trọng từ góc nhìn điều tra số:

* Dấu thời gian
* Tên người dùng
* Địa chỉ IP nguồn

Do tệp `auth.log` có thể rất nhiều dòng trong môi trường thật (vì sử dụng thường xuyên), ta có thể dùng lệnh sau để lọc chỉ các lần đăng nhập thất bại nhằm tìm bằng chứng brute-force:

```bash
cat /var/log/auth.log | grep "Failed password"
```

<figure><img src="/files/7UaHrLGElzPUCrj02K3g" alt=""><figcaption></figcaption></figure>

Một điểm quan trọng khác cần quan sát là các dòng log "`connection closed`" – thường xảy ra khi dùng công cụ tự động như Hydra. Những công cụ này thực hiện quá trình xác thực rất nhanh.

Mỗi lần thử mật khẩu sai sẽ đi kèm với dòng kết nối bị đóng.

<figure><img src="/files/4qsAeNUnMMlBwjXRroip" alt=""><figcaption></figcaption></figure>

**Làm sao biết kẻ tấn công đã truy cập thành công?**

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

Trong cùng tệp `auth.log`, ta tìm thấy các dòng sau ngay sau các dòng đăng nhập thất bại. Điều này cho thấy kẻ tấn công đã thành công.

Để lấy chỉ các dòng truy cập SSH thành công:

```bash
cat /var/log/auth.log | grep "Accepted password"
```

**Một tệp nhật ký quan trọng khác - thường bị bỏ qua**\
Chúng ta nói về tệp **wtmp**, chứa lịch sử đăng nhập và đăng xuất, nằm tại:

* `/var/log/wtmp`

Đây là nguồn dữ liệu hữu ích, vì nó cho ta dòng thời gian các lần người dùng đăng nhập từ xa và phiên làm việc bắt đầu.

Tệp này không thể đọc trực tiếp bằng lệnh `cat`. Thay vào đó, dùng tiện ích tích hợp của Linux là `utmpdump` để đọc nội dung.

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

Tại đây, ta thấy sự kiện nào đã xảy ra (khởi động lại, tắt máy, đăng nhập), kèm theo dấu thời gian. Điều này rất hữu ích để biết kẻ tấn công làm gì, khi nào và từ đâu. Lưu ý: log này chỉ ghi lại các phiên đăng nhập đã được đóng và các sự kiện khởi động – **không ghi lại các lần brute-force thất bại**. Đây là bằng chứng rất hữu ích để hiểu tình hình và xây dựng dòng thời gian sự cố.

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

## 3. Hunting C2 Beacons

Trong bài học này, chúng ta sẽ thảo luận về cách truy tìm các beacon C2 (Command-and-Control). Beacon C2 là một dạng giao tiếp độc hại giữa máy chủ điều khiển (C2 server) và phần mềm độc hại (malware) trên máy tính bị nhiễm. Tập tin hoặc chương trình độc hại thực hiện việc giao tiếp này được gọi là **C2 beacon**.

### 3.1. Ví dụ tình huống

Một người dùng nhấp vào email lừa đảo có chứa tập tin Word độc hại. Khi mở tập tin này, nó sẽ tải xuống một tập tin `.exe` từ máy chủ do kẻ tấn công kiểm soát và thực thi nó. Tập tin `.exe` này sẽ cấp quyền truy cập từ xa cho kẻ tấn công. Tập tin `.exe` đó chính là **C2 beacon**.\
Beacon C2 giống như **reverse shell** nhưng có nhiều khả năng hơn. Các framework C2 phổ biến gồm: **Metasploit, Empire, Cobalt Strike**…\
Reverse shell thông thường chỉ cho phép thực thi lệnh, còn beacon C2 hỗ trợ các chức năng nâng cao tương ứng với các giai đoạn trong chuỗi tấn công (cyber kill chain).

#### Thực hành tạo beacon C2 bằng `msfvenom`:

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

Lệnh này tạo ra một tập tin tên `notepad.exe`, khi chạy trên máy nạn nhân sẽ cho phép kẻ tấn công truy cập từ xa từ máy Kali.

Kẻ tấn công thiết lập listener sẵn sàng chờ kết nối beacon

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

Khi `notepad.exe` được chạy trên máy nạn nhân → beacon C2 kết nối tới attacker.

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

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

Kẻ tấn công lúc này có thể:

* Thực thi lệnh từ xa,
* Tải và sử dụng công cụ độc hại như **Mimikatz**,
* Ghi lại phím gõ (keylogger),
* Di chuyển ngang trong mạng (lateral movement),\
  → Tất cả thông qua phiên C2 này.

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

### 3.2. Phát hiện beacon C2

**Nguồn dữ liệu tiềm năng gồm:**

* Nhật ký firewall mạng,
* Nhật ký IDS/IPS,
* Các dấu vết từ endpoint như MFT, Prefetch…\
  → Tuy nhiên, rất khó phân biệt kết nối bình thường và độc hại do môi trường thật có hàng nghìn kết nối cùng lúc. Các beacon hiện đại ngày càng giỏi hơn trong việc tránh bị phát hiện.

**Công cụ hỗ trợ phát hiện beacon gồm:**

* **Rita, Zeek, AC-Hunter** – rất mạnh, nhưng quá phức tạp để trình bày hết trong một bài học.

👉 Vì vậy, trong bài này, ta sẽ tập trung vào **Sysmon logs** để phát hiện beacon C2.

#### Tình huống giả định

Một cảnh báo cho biết có IP độc hại **172.17.79.133** được kết nối từ mạng nội bộ. Ta sẽ phân tích log Sysmon từ máy tính nghi ngờ.

Lọc log với **Event ID 3** (sự kiện kết nối mạng):

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

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

→ Ta thấy một số sự kiện.

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

Sự kiện đầu tiên liệt kê đích đến là IP độc hại → xác nhận có giao tiếp với IP đó.

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

Trong thực tế, IP có thể được thay bằng domain. Nếu IP/domain chưa nằm trong danh sách đe dọa thì thường không bị phát hiện và vượt qua hệ thống phòng vệ.

Từ log ta thấy tên và đường dẫn của chương trình thực hiện kết nối.

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

→ **notepad.exe nằm trên desktop** là điều bất thường (vì file hợp lệ nằm trong thư mục hệ thống). Ta nghi đây là beacon C2.

#### 📌 Kiểm tra hash để xác minh:

So sánh hash của `notepad.exe` trên desktop với hash gốc.\
→ Nếu không trùng khớp → **Xác nhận đây là file độc hại** → Bắt đầu quy trình điều tra số (DFIR).

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

Tiếp theo, cần biết file này được tạo lúc nào và bằng cách nào.

#### 📁 Phân tích **Event ID 11** (tạo tập tin):

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

Tìm kiếm theo tên beacon → phát hiện sự kiện tải xuống lúc **11:22:13 UTC** bằng trình duyệt Microsoft Edge.

<figure><img src="/files/5UDX88V3DzNpB25hfmaZ" alt=""><figcaption></figcaption></figure>

#### 🧾 Kiểm tra thời gian thực thi:

Lọc theo **Event ID 1** để xem khi nào tập tin được chạy.\
→ Lấy được:

* PID (Process ID),
* Hash,
* Thời điểm thực thi, v.v.

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

→ Giúp nhà phân tích hiểu rõ hơn bối cảnh của sự cố.

## 4. Hunting for AnyDesk

**AnyDesk** là một phần mềm hợp pháp cho phép người dùng điều khiển từ xa máy tính hoặc thiết bị di động. Ví dụ, trong doanh nghiệp, nhân viên kỹ thuật có thể sử dụng AnyDesk để "chiếm quyền điều khiển" thiết bị của người dùng gặp sự cố nhằm hỗ trợ xử lý.

#### 🔍 Kẻ tấn công lợi dụng công cụ hợp pháp như AnyDesk vì:

* Dễ trà trộn vào môi trường hợp pháp
* Né tránh hệ thống phòng thủ
* Dễ sử dụng

➡️ Khi có công cụ như AnyDesk hay TeamViewer, rất dễ hiểu tại sao kẻ tấn công lại tận dụng chúng cho các chiến dịch xâm nhập.

### 🧪 Mô phỏng tình huống tấn công

Giả định: kẻ tấn công đã có quyền shell trên hệ thống, sau đó **cài đặt AnyDesk**, thêm tài khoản người dùng và mật khẩu, cho phép truy cập từ xa bất cứ lúc nào. Việc này cấp quyền điều khiển giao diện đồ họa (GUI) – rất thuận tiện cho kẻ tấn công.

* Cài đặt AnyDesk từ GUI (trực quan hơn trong demo).

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

* Nhận địa chỉ AnyDesk từ máy nạn nhân.

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

* Từ máy kẻ tấn công, nhập địa chỉ này → kết nối thành công → có giao diện điều khiển máy nạn nhân.

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

#### 📁 Chức năng truyền file:

* **AnyDesk có tính năng duyệt file**: giao diện như Windows Explorer.

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

* Cho phép **kéo – thả** để upload hoặc download file giữa máy tấn công và máy nạn nhân.

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

* Ví dụ: Kẻ tấn công có thể bấm "Download" để **trích xuất dữ liệu** từ máy nạn nhân.
* Ngược lại, có thể **tải lên** công cụ độc hại để thực hiện các bước tấn công tiếp theo.

#### 📂 Phát hiện sử dụng AnyDesk:

**Vị trí lưu log phụ thuộc vào cách sử dụng AnyDesk:**

* **Cài đặt đầy đủ**: `C:\ProgramData\AnyDesk`
* **Chạy dạng portable (không cài)**: `C:\Users\<Username>\AppData\Roaming\AnyDesk`

Trong bài này, ta phân tích **chế độ standalone (portable)**.

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

### 📄 Các tệp nhật ký quan trọng

Tệp **`ad.trace`** là nơi chứa nhiều thông tin giá trị.

**Các chuỗi cần tìm:**

* **“Logged in from”** → cho biết IP của máy kết nối tới.
* Có **dấu thời gian UTC** cho mỗi mục → hỗ trợ tạo timeline.
* **“app.prepare\_task”** → chỉ ra hành vi chuẩn bị tải file từ máy nạn nhân.
* **“app.local\_file\_transfer”** → ghi lại kết quả truyền file (thành công/thất bại).
* **“Clipboard”** → cho thấy có sử dụng clipboard, nên kiểm tra thêm dấu vết clipboard trên endpoint để xem nội dung gì bị sao chép.

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

#### 📊 Phân tích log thực tế:

* Tìm thấy **IP máy tấn công** và thời gian kết nối → có IOC (Indicator of Compromise).
* Có **bằng chứng truyền file**, dù AnyDesk **không lưu tên file**.\
  → Nhưng log cho biết thư mục bắt đầu quá trình truyền file.

➡️ Cách khắc phục: **đối chiếu thời gian trong log với các artifact Windows như**:

* **MFT**
* **USN Journal**\
  → để xác định **file nào đã bị truy cập hoặc truyền đi**.

#### ✅ Tổng kết:

* AnyDesk là công cụ hợp pháp nhưng có thể bị lợi dụng cho mục đích xấu.
* Cần kiểm tra log của AnyDesk – nhất là file `ad.trace`.
* Dấu hiệu truy vết gồm: IP lạ, truy cập clipboard, truyền file, thư mục được truy cập...
* Kết hợp với artifact hệ thống để xác định chi tiết file bị xâm phạm.

## 5. Hunting for TeamViewer

**TeamViewer** là phần mềm điều khiển và truy cập từ xa, cho phép bảo trì và quản lý máy tính cùng các thiết bị khác. Trường hợp sử dụng tương tự như **AnyDesk** – cả hai là đối thủ cạnh tranh trên thị trường với dịch vụ gần như giống nhau.

Giống như AnyDesk, **kẻ tấn công rất thích lợi dụng TeamViewer** vì tính hợp pháp và dễ sử dụng.

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

#### 🖥️ Truy cập từ xa qua TeamViewer:

* Giống AnyDesk, mỗi phiên TeamViewer có một **mã phiên làm việc duy nhất**.
* Giả định kẻ tấn công muốn kết nối tới máy nạn nhân từ máy của mình.

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

* Sau khi kết nối, kẻ tấn công có thể **truy cập GUI máy nạn nhân**.

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

#### 📁 Truyền tệp tin:

* **TeamViewer cũng có chức năng truyền file**, tương tự GUI của AnyDesk.

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

* Kẻ tấn công chỉ cần **kéo – thả** file từ máy nạn nhân sang máy của mình.

<figure><img src="/files/6zonfKccRwErrA8T0a32" alt=""><figcaption></figcaption></figure>

* Việc **trích xuất dữ liệu** có thể được xác minh vì file sau khi tải về sẽ xuất hiện trong máy của kẻ tấn công.

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

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

### 5.1. Cơ hội phát hiện hoạt động

**Vị trí log của TeamViewer:**

1. `C:\Program Files\TeamViewer\TeamViewer15_Logfile.log`
2. `C:\Users\<Username>\AppData\Roaming\TeamViewer\Connections.txt`
3. `C:\Program Files\TeamViewer\Connections_Incoming.txt`

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

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

#### 📄 Phân tích file `TeamViewer15_Logfile.log`:

File này chứa **nhiều thông tin chi tiết** như:

* **IP của máy từ xa**
* **Đường dẫn đầy đủ của file được truyền**

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

**Các từ khóa cần tìm:**

* **`Punch received:`** → chứa địa chỉ IP của máy điều khiển

<figure><img src="/files/7HEELFj1AxbrYTkfnSD1" alt=""><figcaption></figcaption></figure>

* **`Upload from:`** → đường dẫn file bị tải xuống (từ nạn nhân)

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

* **`Download from:`** → đường dẫn file được tải lên (vào máy nạn nhân)

→ Từ log này, ta thấy được **IP của kẻ tấn công** và **thời gian kết nối**\
🕒 **Lưu ý:** Thời gian ở log này **không phải UTC**, mà theo **múi giờ địa phương của hệ thống**.

#### 🧾 Phân tích dấu hiệu trích xuất dữ liệu:

**Hai tệp nhật ký kết nối:**

* `Connections.txt`
* `Connections_Incoming.txt`

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

Chúng ghi lại:

* Thời gian kết nối (theo UTC)
* Thời điểm **bắt đầu và kết thúc phiên**
* Dù là tạo phiên từ máy tấn công hay từ máy nạn nhân, cả hai chiều đều được ghi lại → chỉ khác nơi lưu trữ log.

#### 📊 Phân tích cụ thể:

* Cả hai log chứa thông tin giống nhau, chỉ khác **chiều kết nối**.
  * Nếu **tạo phiên từ máy nạn nhân**, thì log `connection_incoming.txt` tại nạn nhân sẽ có dữ liệu.
  * Ngược lại, nếu kết nối từ máy tấn công, thì log `connections.txt` tại máy đó sẽ ghi lại.

→ Vì ta đang phân tích **log từ máy nạn nhân**, nên tập trung vào **`connections.txt`**.

* Ta có thể xác định **thời gian bắt đầu/kết thúc phiên TeamViewer**, theo UTC.
* Khi so sánh với log `TeamViewer15_Logfile.log`, **timestamp trùng khớp khi chuyển về cùng múi giờ**, xác nhận mối liên hệ giữa **IP kẻ tấn công** và **phiên truy cập**.

## 6. Hunting for RDP Access

**RDP (Remote Desktop Protocol)** là giao thức độc quyền do Microsoft phát triển, cung cấp giao diện đồ họa cho người dùng để kết nối tới máy tính khác qua mạng. Người dùng sử dụng phần mềm RDP client, còn máy đích cần chạy phần mềm RDP server.

#### 💻 RDP trong môi trường thực tế:

* Được sử dụng phổ biến trong doanh nghiệp và cá nhân vì là **tính năng mặc định trong Windows** – **không cần mua thêm bản quyền**.
* Sau đại dịch COVID-19, mô hình làm việc từ xa khiến việc sử dụng RDP **tăng mạnh**.

#### 🚨 Tại sao RDP bị kẻ tấn công ưa thích?

* Là công cụ **hợp pháp**, có sẵn → **không cần tải công cụ độc hại**.
* Chỉ cần có **thông tin đăng nhập (credentials)** là có thể đăng nhập RDP.
* Rất phổ biến việc **mua thông tin tài khoản rò rỉ từ dark web** để truy cập hệ thống lần đầu.
* Sau khi truy cập, kẻ tấn công có thể thực hiện nhiều hành vi gây thiệt hại lớn.

### 🔍 Phân tích dấu vết RDP

**✅ 1. Đăng nhập thành công qua RDP**

* Được ghi lại trong Event Log **Security** với **Event ID 4624**, loại đăng nhập là **type 10**.
* Ngoài ra, còn có log ở:\
  **Applications and Services Logs > TerminalServices-RemoteConnectionManager**
*

```
<figure><img src="/files/pXPZg6J9crW6mwhJalgb" alt=""><figcaption></figcaption></figure>
```

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

* Dùng **Event ID 1149** để xác định kết nối RDP **thành công**.

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

📌 Từ Event ID 1149, ta có thể thấy:

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

* **IP của kẻ tấn công**
* **Tên người dùng đăng nhập**

📎 Có thể kết hợp với nhật ký firewall để xác thực kết nối từ xa qua RDP.

**📂 2. Phân tích log tường lửa**

* Vị trí:\
  `C:\Windows\System32\LogFiles\Firewall\pfirewall.log`

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

* Tìm các tương tác với **cổng RDP (mặc định 3389)** hoặc theo dõi IP nghi ngờ.

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

* Log sẽ cho thấy:
  * **Thời gian (UTC)**
  * **Tác vụ tường lửa (Allow/Block)**
  * **Port nguồn và đích**

#### ❌ **3. Phát hiện nỗ lực đăng nhập thất bại / brute force**

**Challenge:** Không có Event ID rõ ràng cho đăng nhập thất bại trong `TerminalServices-RemoteConnectionManager`.

✅ Có thể dùng **Event ID 261** → ghi lại yêu cầu kết nối TCP đến cổng RDP.

**🔎 Phương pháp suy luận:**

* Nếu sau chuỗi **sự kiện 261**, **không có sự kiện 1149** → có thể là thất bại đăng nhập.
* Nếu có nhiều Event ID 261 trong thời gian ngắn → **dấu hiệu brute force**.
* Nếu **sau nhiều 261** mà có **1149**, khả năng cao là brute force đã thành công.

📌 **Lưu ý:** Event ID 261 **không đảm bảo** là có đăng nhập thất bại – ví dụ như quét cổng cũng tạo ra log 261.

#### 📊 Ví dụ minh họa:

<figure><img src="/files/4z25E9FJ7FlchR6Cda1y" alt=""><figcaption></figcaption></figure>

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

* Hàng loạt Event ID 261 trong thời gian ngắn (chênh nhau 1 giây).

<figure><img src="/files/23bBm7E2kQJMkncG3LT7" alt=""><figcaption></figcaption></figure>

* Sau đó có Event ID 1149 → có thể là brute force đã thành công.

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

📎 Event 261 chỉ cho biết: **có kết nối TCP tới cổng RDP**, không có thông tin cụ thể khác.


---

# 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/hunting-the-remote-access-techniques.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.
