Windows AD日志分析平臺WatchAD安裝教程

WatchAD介紹

WatchAD收集所有域控上的事件日志和kerberos流量,通過特征匹配、Kerberos協議分析、歷史行為、敏感操作和蜜罐賬戶等方式來檢測各種已知與未知威脅,功能覆蓋了大部分目前的常見內網域滲透手法。該項目在360內部上線運行半年有余,發現多起威脅活動,取得了較好的效果。現決定開源系統中基于事件日志的檢測部分。

項目地址:WatchAD

安裝環境

  • CentOS 7

WatchAD安裝(日志分析端服務)

基礎環境配置

  1. 安裝python 3.6
    查看文檔:CentOS7.2安裝Python3.6.3

  2. 安裝docker
    查看文檔:CentOS Docker 安裝

  3. 安裝docker-compose
    查看文檔:pip安裝docker-compose

安裝WatchAD

  1. 下載WatchAD源碼
    git clone https://github.com/0Kee-Team/WatchAD.git 如果提示沒有git命令, 請安裝git:yum install git

  2. 安裝python 依賴包
    進到下載的WatchAD的目錄下,執行pip3 install -r requirements.txt

  3. 安裝數據庫依賴
    在WatchAD的目錄下,執行docker-compose up,前提是前邊的docker和docker-compos都正確安裝了。

注意:
執行這步時,需要先到https://hub.docker.com/ 平臺注冊賬號,然后在服務器上執行docker login,然后輸入你注冊激活過的賬號密碼
否則直接操作,會報錯:ERROR: unauthorized: authentication required,而且登錄過后的下載速度,也明顯加快了,不知道為什么

  1. 安裝winlogbeat
    4.1 修改winlogbeat.yml 文件
    打開我們提供的配置文件 {project_home}/settings/winlogbeat/winlogbeat.yml ,修改output.logstash 的 hosts字段值為你安裝Logstash的IP和端口(默認5044),假設你安裝Logstash的IP為10.10.10.10,此時配置文件為:

    winlogbeat.event_logs:
      - name: Security
      ignore_older: 1h
    
    output.logstash:
      hosts: ["10.10.10.10:5044"]
    

如果你跟我的教程安裝的,這里的ip就是你現在這個服務器的IP
4.2 下載winlogbeat到Windows 服務器上
WatchAD要求下載6.2版本,這里是下載鏈接:winlogbeat 6.2 版本
4.3 安裝winlogbeat

- 把下載的winlogbeat 6.2壓縮包,解壓到中C:\Program Files。
- 將winlogbeat-<version>目錄重命名為Winlogbeat。
- 打開Winlogbeat目錄下的winlogbeat.yml文件,把內容都刪除了,然后復制4.1步驟中修改的內容到文件中,保存
- 以管理員身份打開PowerShell提示符(右鍵單擊PowerShell圖標,然后選擇“以管理員身份運行”)。
- 在PowerShell提示符下,運行以下命令以安裝服務:
```bash
cd 'C:\Program Files\Winlogbeat'
.\install-service-winlogbeat.ps1
```

注意:
如果在系統上禁用了腳本執行,則需要為當前會話設置執行策略以允許腳本運行。例如: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1。

  1. 初始化WatchAD配置

注意:執行以下操作時,需要先開一窗口,運行docker-compose up,把基礎數據庫環境運行起來,好觀察輸入日志。如果后期服務穩定了,可以執行docker-compose up -d后臺運行。

WatchAD使用python將一些配置信息自動化完成:
```python
Usage:  WatchAD.py <options> [settings]

Options:
  -h, --help            show this help message and exit
  --install             執行WatchAD初始化安裝,在次之前請確保已完整環境安裝和配置。
  -d DOMAIN, --domain=DOMAIN  AD服務器的域名
                        A FQDN domain name of detection.
  -s SERVER, --ldap-server=SERVER   服務器地址,如果域名解析了,可以域名
                        Server address for LDAP search. e.g: dc01.corp.com
  -u USERNAME, --domain-user=USERNAME   連接AD的賬戶,格式:域名\\賬戶
                        Username for LDAP search. e.g: CORP\peter
  -p PASSWORD, --domain-passwd=PASSWORD   管理員密碼
                        Password for LDAP search.
  --check               檢查各個數據庫連接狀態、消息隊列狀態
  --start               啟動檢測引擎
  --restart             重啟檢測引擎
  --stop                停止引擎 (刪除現有消息隊列,防止數據量過大造成積壓)
  --status              查看當前引擎狀態
```
直接執行安裝命令,如:
`python3 WatchAD.py --install -d adtest.intra -s 192.168.1.1 -u adtest\\administrator -p password`

運行WatchAD

執行命令:python3 WatchAD.py --start


WatchAD-web安裝(Web監控端服務)

下載WatchAD-Web源碼

git clone https://github.com/0Kee-Team/WatchAD-Web.git

修改配置

修改連接數據庫的配置:

{WatchAD-Web}/server/config/database_config.py 此文件中的127.0.0.1全改為WatchAD所在的服務器IP。

修改前端頁面配置:

WatchAD-Web/frontend/.env.productionWatchAD-Web/frontend/.env.development此文件中的127.0.0.1改為WatchAD-Web所在服務器的IP。我的WatchAD和WatchAD-Web搭建在一個服務器了,所以IP一樣。

進行編譯

進到下載WatchAD-Web目錄,執行:docker-compose build,如果上一步的配置有修改或者代碼有變動,需要重新執行此命令,下一步的docker-compose up才會對修改生效

注意:
編譯時,報錯:
ERROR: Service 'server' failed to build: The command '/bin/sh -c pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple' returned a non-zero code: 2
原因:因為環境中,pip默認指向的是python2.7版的。
解決辦法:修改{WatchAD-Server}/server/Dockerfile文件中的pippip3 就可以了

安裝

執行命令:docker-compose up -d
啟動后,就可以訪問WatchAD-Web前端頁面了,地址:http://服務器ip/activity_timeline.html

參考鏈接:

  1. 安裝Winlogbeat
  2. WatchAD 項目
  3. WatchAD 安裝教程
  4. WatchAD-Web 項目及教程

本文原創于BigYoung小站,歡迎大家訪問。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容