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。

5. 初始化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.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_timeline.html 参考链接:
1. [安装Winlogbeat](https://www.elastic.co/guide/en/beats/winlogbeat/current/winlogbeat-installation.html)
2. [WatchAD 项目](https://github.com/0Kee-Team/WatchAD)
3. [WatchAD 安装教程](https://github.com/0Kee-Team/WatchAD/wiki/Install(%E4%B8%AD%E6%96%87))
4. [WatchAD-Web 项目及教程](https://github.com/0Kee-Team/WatchAD-Web)
> 本文原创于[BigYoung小站](http://bigyoung.cn "BigYoung小站"),欢迎大家访问。

Windows AD日志分析平台WatchAD安装教程的更多相关文章

  1. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  2. ELK日志分析平台系统windows环境搭建和基本使用

    ELK(ElasticSearch, Logstash, Kibana),三者组合在一起就可以搭建实时的日志分析平台啦! Logstash主要用来收集.过滤日志信息并将其存储,所以主要用来提供信息. ...

  3. 安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台

    安装logstash+kibana+elasticsearch+redis搭建集中式日志分析平台 2014-01-16 19:40:57|  分类: logstash |  标签:logstash   ...

  4. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台发表于 2015-08-19   |   分类于 Linux/Unix   |  ELK简介ELKStack即Elasticsearch + Logstas ...

  5. asp.net core结合NLog搭建ELK实时日志分析平台

    0.整体架构 整体架构目录:ASP.NET Core分布式项目实战-目录 一.介绍ELK 1.说明(此篇ELK采用rpm的方式安装在服务器上)-牛刀小试 承接上一篇文章的内容准备部署ELK来展示asp ...

  6. 搭建ELK日志分析平台(上)—— ELK介绍及搭建 Elasticsearch 分布式集群

    笔记内容:搭建ELK日志分析平台(上)-- ELK介绍及搭建 Elasticsearch 分布式集群笔记日期:2018-03-02 27.1 ELK介绍 27.2 ELK安装准备工作 27.3 安装e ...

  7. 手把手教你搭建 ELK 实时日志分析平台

    本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kiban ...

  8. 使用elk+redis搭建nginx日志分析平台

    elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎么进行nginx的日志分析呢?首先,架构方面,nginx是有日志文件的,它的每个请求的状态 ...

  9. ELK_elk+redis 搭建日志分析平台

    这个是最新的elk+redis搭建日志分析平台,今年时间是2015年9月11日. Elk分别为 elasticsearch,logstash, kibana 官网为:https://www.elast ...

随机推荐

  1. 使用ABAP Data Validator验证数据有效性

    在日常的开发过程中,我们常常要处理不同来源的数据.数据可能来自不可靠的外部系统.不可靠的用户输入和甚至设计有误的数据库表,因此,对数据有效性进行验证是必要的工作. 开源工具ABAP Data Vali ...

  2. Flask登录认证

    login函数 @app.route('/login/', methods=['GET', 'POST']) def login(): if request.method == 'GET': retu ...

  3. CCPC-Wannafly Winter Camp Day 1

    B. 密码学 题意: 告诉你关于字符串加密的方法,然后给你一些加密操作和加密后的字符串,让你求原来的串 思路: 知道被加密后的串与加密字符可以向前推出被加密之前的串,不断向前模拟即可 #include ...

  4. python读取txt打印(print)出乱码的问题

    如下图所示,print第一行首位出现乱码的问题 网上的解答是因为UTF-8的BOM前缀(\xef\xbb\xbf) 解决这个问题的方法很多,最快捷的方法是txt文本另存为的时候更改编码格式 将txt另 ...

  5. jenkins 集成jmeter-简单篇

    测试用例上传至gitlab后,使用jenkins集成gitlab,并执行压测命令 执行完成后,可在jenkins中查看压测报告不同的项目创建最好创建不同的project) [集成]安装&配置& ...

  6. Object-c的数组常用方法

    Object-c的数组常用方法 #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @a ...

  7. ajax--->http头信息的content-type是application/x-www-form-urlencoded或application/json区别

    ajax请求时http头信息的content-type是application/x-www-form-urlencoded或application/json区别 content-type请求头是干嘛的 ...

  8. Mondriaan's Dream 轮廓线DP 状压

    Mondriaan's Dream 题目链接 Problem Description Squares and rectangles fascinated the famous Dutch painte ...

  9. A novel multi-swarm particle swarm optimization with dynamic learning strategy(一种新颖的具有动态学习策略的多种群粒子群优化算法)

    1.核心 在每个子种群的粒子被划分为普通粒子(ordinary particles)和交流粒子(communication particles),在每次迭代过程中,不同的粒子执行不同的进化操作.普通粒 ...

  10. 如何用Git.io来生成自定义后缀名的短网址

    如何用Git.io来生成自定义后缀名的短网址 git.io是Github的官方短网址,它是用来缩短Github上项目的网址. 效果:Git.io/wacsh将会跳转到https://xhemj.git ...