Detectionlab安裝及使用
STATEMENT
聲明
由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,雷神眾測及文章作者不為此承擔任何責任。
雷神眾測擁有對此文章的修改和解釋權。如欲轉載或傳播此文章,必須保證此文章的完整性,包括版權聲明等全部內容。未經雷神眾測允許,不得任意修改或者增減此文章內容,不得以任何方式將其用于商業目的。
前言
DetectionLab項目是一個安裝了一些安全工具及其日志檢測工具的集合,可以輕松捕獲到大部分的威脅,能夠為用戶快速搭建一個windows域。
安裝及部署環境
根據自己的環境進行選擇
https://detectionlab.network/deployment/
我的環境信息如下
Win10VMware Workstation 16 Pro其中需要配置如下:硬盤需55G+可用運行內存 16GB 以上VMware Workstation 15+
在搭建之前需要安裝如下工具
vagrant - https://www.vagrantup.com/downloadsVagrant VMware Utility - https://www.vagrantup.com/vmware/downloadsvagrant plugin install vagrant-vmware-desktop
安裝完成所需工具之后,將DetectionLab下載回來
git clone https://github.com/clong/DetectionLab.git
檢查是否符合安裝條件
.\prepare.ps1

符合安裝條件后,有以下兩種方法進行安裝
1.
vagrant up --provider=vmware_desktop
2.命令窗口1和窗口2分別運行
vagrant up loggervagrant up dc
當logger和dc安裝完成之后就可以繼續安裝剩下的機器
vagrant up wefvagrant up win10
下載和安裝完成之后,運行腳本測試環境是否搭建完成
post_build_checks.ps1

如圖上所示,則說明環境部署成功
使用介紹
通過架構展示可以看到,win10為模擬用戶,dc和win10將收集到的數據發送到wef,wef則將接收到的數據上傳ATA進行檢測,同時將數據導入到Splunk中,Splunk并會對所有收集到的日志進行解析。
所有主機的PowerShell日志會被保存在WEF服務器中,位置在\\wef\pslogs并在Splunk中可以查詢到。Zeek和Suricata預先配置為監控網絡流量并發出告警,Guacamole方便我們從瀏覽器訪問實驗機器。

實驗環境相關密碼及平臺
Domain Name: windomain.localAdmininstrator login: vagrant:vagrantFleet login: https://192.168.56.105:8412 - admin@detectionlab.network:admin123#Splunk login: https://192.168.56.105:8000 - admin:changemeMS ATA login: https://192.168.56.103 - wef\vagrant:vagrantGuacamole login: http://192.168.56.105:8080/guacamole - vagrant:vagrantVelociraptor login: https://192.168.56.105:9999 - admin:changeme
威脅檢測分析
MS ATA
使用mimikatz進行dcsync

在ATA上查看檢測結果

檢測PsExec

不過不知道為什么顯示的攻擊結果是失敗的

Splunk
檢測dcsync
從源機器數據進行檢測
index="sysmon" CommandLine="mimikatz.exe \"lsadump::dcsync /user:krbtgt /domain:windomain.local\""

從DC數據進行檢測
(index="wineventlog" source="WinEventLog:Security" (EventCode="4662" Object_Type="%{19195a5b-6da0-11d0-afd3-00c04fd930c9}" Access_Mask="0x100") NOT ((SubjectDomainName="Window Manager") OR ((Account_Name="NT AUTHORITY*" OR Account_Name="MSOL_*")) OR (Account_Name="*$")))

檢測PsExec
從目標機器數據進行檢測
index="wineventlog" EventCode="4674" Object_Server="SC Manager" Object_Name="PSEXESVC"

index="wineventlog" EventCode="7045" Service_Name="PSEXESVC" Service_File_Name="%SystemRoot%\\PSEXESVC.exe"

從源機器數據進行查詢
index="wineventlog" EventCode="4688" Process_Command_Line="*.exe -u * -p * \\\*"

除了上述的方法,還可以從sysmon的數據進行檢測,這里就不一一列舉了。
檢測nopac
noPac.exe -domain windomain.local -user vagrant -pass vagrant /dc dc.windomain.local /mAccount test -mPassword 12qwAS.. /service cifs /ptt

index="wineventlog" EventCode="4781" host="dc.*.*" New_Account_Name="dc" Old_Account_Name="*$"

我們可以新建告警,假如有檢測出來的我們就可以第一時間了解到

選擇實時,根據個人需求選擇觸發操作

可在設置-->知識-->搜索、報表和告警處進行修改所添加的告警

可以在活動-->觸發的告警中進行查看

Velociraptor
Velociraptor是開源端點監控、數字取證和網絡響應平臺
點擊Show All 則可以看到所在線的機器

點擊Client ID進入如下界面

點擊VFS則可以查看機器中文件,可以進行下載方便取證等

通過Quarantine host可以對該機器進行隔離,隔離之后該機器只能與Velociraptor服務器進行通信

下面通過USN日志查詢noPac.exe的創建及使用等信息
新建狩獵,添加描述

通過搜索快速查找到進行USN查詢的Artifact

選擇完成之后,進行配置PathRegex參數填入noPac.exe,輸入完成點擊Launch

點擊開始狩獵即可

當狩獵完成之后,可在Notebook查看結果,也可下載回來在本地查看,通過結果可以看到noPac.exe創建時間及使用等情況

Fleet
基于osquery的開源設備管理平臺,可以在平臺設置策略及定時查詢等

該平臺可以對機器所安裝的軟件進行收集,當開啟漏洞自動化時,所安裝軟件發現CVE漏洞時,則會向指定的網址發送webhook請求

踩坑總結
0.網卡設置問題
將Vmnet2子網地址設置為192.168.56.0,或者設置vmnet0(虛擬機默認網卡是vmnet0)

設置完成之后需要更改

假如后面你要進行vagrant provision當機器重啟時也要重新進行設置,不然加入域和安裝agent連接105的時候會出現問題
1.wef無法加入域
在DC中以管理員模式運行configure-ou.ps1腳本即可
2.虛擬機工具不齊全
運行
vagrant provision 主機名
想要不報錯可以設置系統代理,需要下載的時候vagrant會自動使用代理

linux設置全局代理
sudo vim ~/.bashrc輸入以下內容export http_proxy='http://192.168.31.123:7890'export https_proxy='http://192.168.31.123:7890'export no_proxy='localhost,127.0.0.1'執行source ~/.bashrc
windows設置系統代理即可

3.一直卡著在服務啟動

查看是否能正常訪問

將紅框內容刪除并保存,運行工具補全命令即可
vagrant provision logger

vagrant plugin install vagrant-reload
4.The Hyper-V cmdlets for PowerShell are not available

管理員運行cmd,輸入以下命令重啟即可
bcdedit /set hypervisorlaunchtype auto