[TOC]html
WatchAD收集全部域控上的事件日志和kerberos流量,经过特征匹配、Kerberos协议分析、历史行为、敏感操做和蜜罐帐户等方式来检测各类已知与未知威胁,功能覆盖了大部分目前的常见内网域渗透手法。该项目在360内部上线运行半年有余,发现多起威胁活动,取得了较好的效果。现决定开源系统中基于事件日志的检测部分。前端
项目地址:WatchADpython
查看文档:CentOS7.2安装Python3.6.3git
查看文档:CentOS Docker 安装github
查看文档:pip安装docker-composeweb
git clone https://github.com/0Kee-Team/WatchAD.git
若是提示没有git命令, 请安装git:yum install git
docker
进到下载的WatchAD的目录下,执行pip3 install -r requirements.txt
数据库
在WatchAD的目录下,执行docker-compose up
,前提是前边的docker和docker-compos都正确安装了。centos
注意:
执行这步时,须要先到 https://hub.docker.com/ 平台注册帐号,而后在服务器上执行docker login
,而后输入你注册激活过的帐号密码
不然直接操做,会报错:ERROR: unauthorized: authentication required
,并且登陆事后的下载速度,也明显加快了,不知道为何
4.1 修改winlogbeat.yml 文件
打开咱们提供的配置文件 {project_home}/settings/winlogbeat/winlogbeat.yml ,修改output.logstash 的 hosts字段值为你安装Logstash的IP和端口(默认5044),假设你安装Logstash的IP为10.10.10.10,此时配置文件为:bash
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 ```
注意:
5. 初始化WatchAD配置 > 注意:执行如下操做时,须要先开一窗口,运行`docker-compose up`,把基础数据库环境运行起来,好观察输入日志。若是后期服务稳定了,能够执行`docker-compose up -d`后台运行。 WatchAD使用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`
执行命令:python3 WatchAD.py --start
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.production
和WatchAD-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文件中的pip
为pip3
就能够了
执行命令: docker-compose up -d
启动后,就能够访问WatchAD-Web前端页面了,地址:http://服务器ip/activity_time...
参考连接:
本文原创于 BigYoung小站,欢迎你们访问。