今天要打的是 Ulysses Lab,難度為 medium,分類是 Endpoint Forensics。
一個研究伺服器在多次驗證失敗後被標記為可疑活動。分析師偵測到了一起暴力破解攻擊(brute-force attack)、未經授權的對外連線(outbound connections),以及可能的持久化機制(persistence mechanisms)。
透過使用 Volatility,我們載入了一個客製化的 Debian5_26 設定檔(profile),來分析記憶體轉儲(memory dumps),並識別惡意程序。你的任務是調查這些鑑識資料、確定攻擊者的進入點,並揭露任何已部署的惡意負載(payloads)。
圖片驗證了 Volatility 設定檔的整合,並顯示了受感染系統的初始程序列表。
FTK Imager, volitility2
先把 Debian5_26.zip 丟到 volatility/volatility/plugins/overlays/linux/ 目錄下
python ~/volatility/vol.py --info
有出現 LinuxDebian5_26x86 就代表 volatility 有辨識到,我們就可以開始分析了。
我們先看 victoria-v8.sda1.img,Linux 磁碟鑑識我們已經很熟悉了,先調查 \var\log\auth.log
看到了熟悉的畫面,跟我們之前打過的 Hammered Lab 幾乎是一模一樣。在Hammered Lab 中攻擊者透過 SSH 暴力破解了 root 帳號,而今天 Ulysses lab 被攻擊的帳號是則是 ulysses。
Ans:ulysses
總共有 33 條失敗的條目,但是可以看到第一條是本地 root 登入,且只有一次失敗,所以對 ulysses 的失敗驗證總共是32條。
Ans:32
比較常見包含系統資訊的檔案有 lsb-release、os-release、issue 等等,都在 /etc 目錄下。這裡有 issue 檔案,讓我們可以得知系統資訊。
Ans:Debian GNU/Linux 5.0
我們要用到 volatility 的 netstat 插件
python ~/volatility/vol.py -f victoria-v8.memdump.img --profile=LinuxDebian5_26x86 linux_netstat
可以看到使用者的 IP 是 192.168.56.102
Ans:192.168.56.102
netstat 的輸出我們只有看到主機對兩個外部 IP 建立連線,並且發起連線的程式是 sh 和 nc,sh 是一個 shell 程式,一個 shell 主動向外部建立連線就是 reverse Shell 。nc 全名 Netcat,也是攻擊者常用來建立 reverse shell 的工具。這兩個程式的使用是一個明顯的惡意跡象,所以攻擊者的 IP 就是這兩個外部 IP :192.168.56.1, 192.168.56.101。
Ans:192.168.56.1, 192.168.56.101
netstat 的輸出中顯示 nc 的 PID 為 2169
Ans:2169
剛剛在 auth.log 裡沒有看到驗證成功的紀錄
所以攻擊者取得權限的手段並不是暴力破解。
在 bash_history 中我們可以看到攻擊者卸載系統原有的 exim4(郵件伺服器軟體),然後用 scp 將名為 exim4 的資料夾複製到受害者主機上,接著安裝。攻擊者極有可能在其中植入了後門或惡意程式碼。
在 \var\log\exim4\rejectlog 中看到攻擊者利用 buffer overflow 攻擊 exim4 服務
所以我們可以得知 exim4 是攻擊者用於取得系統權限的服務
Ans:exim4
上網搜尋 exim4 buffer overflow CVE,我找到這個漏洞
透過包含大量訊息的 header 執行任意程式碼,漏洞的描述與這個案例高度符合。
Ans:CVE-2010-4344
我們可以看到攻擊者下載 c.p1, rk.tar 這兩個檔案的檔案到 /tmp 資料夾下,壓縮檔就是 rk.tar。
Ans:rk.tar
netstat 的輸出中我們可以看到是 8888。你可能會覺得為什麼不是 56955?
8888 是接收資料的服務埠號,而 56955 是發起連線的系統隨機選擇的埠號。在分析中,我們主要關注的是目的埠,因為它指向了資料的最終去向。
Ans:8888
解壓縮 rk.tar
tar -xzf rk.tar
在 install.sh 中我們可以看到攻擊者試圖 drop 45295 port
Ans:45295
今天的 Lab 我們使用的分析技術都是我們前面就學會的,但是這個 Lab 要我們同時分析硬碟和記憶體,兩者互相應證來還原攻擊手法,讓我們學習要如何透過不同證據來源拼湊出事情的真相。
明天我們將進入基礎網路鑑識分析。