TeamT5 Security 培訓後筆記 — 一日 SE 體驗
初探事件調查
IR: Instant Response 是指當漏洞或網絡攻擊的發生後,一種用於解決和管理的有組織方法。目的是透過限制損壞並減少恢復時間和成本的方式來處理情況。
SE: Support Engineer 工作分溝通技巧、技術技能及報告撰寫
其中,溝通部分約佔 20%,目的是取得信任,並了解事件發生狀況及取得資料。隨後則透過 log 分析、惡意程式分析或封包分析等,找出 root cause。最後產出報告。
攻擊事件調查可以分為:人、事、時、地、物。透過可能留下的網路連線紀錄、遺留下來的檔案等,找出可能的攻擊者、事件類別、影響範圍等。
因此是一個需要看大量的 log file,並透過適當的 command 或 tools 找出可能個關聯性。也是個很需要通靈的工作(?
Linux machine
課程有準備 linux 與 Windows 的機器讓我們玩,並提供一個 wordpress 的網頁。經過測試後,發現 wordpress 使用弱密碼:wp/admin
進入 server 後,可以先使用 find -name "*.php" -type f -mtime -10
接著觀察是否有 webshell 被存取,由於 webshell 應為少數人才知道的位置,因此一般人不會直接存取該頁面。另外若網站回應時間較長,也是可以觀察的地方。若攻擊者使用 GET
傳遞指令,有機會被 eventlog 所記錄。反之 POST
則無法得知。
而偵測是否有使用 webshell 可以透過 yara webshell 進行掃描。
觀察 eventlog 時,應善用 grep
或 ELK
工具進行關聯式搜索
cat access.log | grep -i " 200 " | grep -i '.php' | cut -d " " -f | sort | uniq -c | sort -nr | less
cat access.log.2 | grep -i '.php' | grep -Ei "s.php|admine21_decode.php" -B 10 | cut -d " " -f 1,4,7 | less
根據 swp_debug=load_options
的關鍵字,可以查到這是關於 WordPress Social Warfare 擴充元件的 CVE-2019–9978
反查攻擊者 ip
cat access.log.1 | grep -iE "\/s.php|admine21_decode.php" | cut -d " " -f 1 | sort | uniq
根據上面資料,我們可以歸納出攻擊者使用的 ip、webshell、以及遺留下來的檔案。其中,可以觀察到特殊的副檔名 *.exe
。之所以特別,是因為該 server 為 linux machine,因此可以估計,此攻擊是先利用 wordpress CVE 打入 linux 後,並做為補給站,隨後進行橫向移動。
Windows IIS server
接下來分析兩個 windows logfile,一個為 Windows 7 IIS server,另一個為 Windows 2008 DC Server。
Windows 的 eventlog 的檔案名稱為 *.evtx
在觀察 eventlog 時,可以透過 jpcert 這個網站,網站中總結了49種攻擊工具,每個工具都有詳細的介紹,透過查找關鍵字,可以知道被攻擊機上可能使用了哪些工具。
此外,eventlog 也有一些神秘數字可以注意:
Security type:
- 4688: Process Created
- 1102: Log was cleared
- 4624: An account was successfully logged on
- 4625: An account failed to log on
- 4648: A logon was attempted using explicit credentials
- 5156: The Windows Filtering Platform has allowed a connection
- 4720: Create users
- 4722: users account enable
- 4742: reset password
- 4732: Add local group
System type:
- 7045: Services Start
- 7009: Services Error
- 7031: Services Interrupt
- 7036: Services Change Status
- 7032: Services Start Error
- 7034: Services Interrupt many times
Powershell type:
- 400: Engine state is changed from None to Available.
- 403: Engine state is changed from Available to Stopped.
- 4104: Script Block Logging
Lab:
根據上面的時候後,我們可以觀察到:
使用 Umbraco 的 vulnerability,使用了 webshell, hooktool,其中有幾個比較特別的檔案:
- Nt.exe
- Bt.exe
- 123.txt
- Bbb.aspx
- SQLDmpr0001.mdmp
- testbbbb.aspx
- SQLDUMPER_ERRORLOG
- test.aspx
綜合前面的 linux machine,可以歸納中攻擊路線為:
使用 CVE-2019-9978 RCE 在 linux machine 上取得 webshell,移動到 windows server,並利用 Umbraco 取得 webshell 放入後門,並取得資料。
Windows DC server
另一份檔案為 Windows DC server
從 shell history, Network status(netstat), Process list 觀察到使用 mimikatz 工具。
於是調查就到這裡告一個段落,透過一連串的分析,可以歸納出攻擊者的攻擊時間、使用工具、完整路徑。