Giter Club home page Giter Club logo

watchad's Introduction

WatchAD

PyPI version ElasticSearch version Logstash version RabbitMQ version DEF CON 27 Blue Team Village

域安全入侵感知系统

WatchAD收集所有域控上的事件日志和kerberos流量,通过特征匹配、Kerberos协议分析、历史行为、敏感操作和蜜罐账户等方式来检测各种已知与未知威胁,功能覆盖了大部分目前的常见内网域渗透手法。该项目在360内部上线运行半年有余,发现多起威胁活动,取得了较好的效果。现决定开源系统中基于事件日志的检测部分。

目前支持的具体检测功能如下:

  • 信息探测:使用SAMR查询敏感用户组、使用SAMR查询敏感用户、蜜罐账户的活动、PsLoggedOn信息收集
  • 凭证盗取:Kerberoasting (流量)、AS-REP Roasting、远程Dump域控密码
  • 横向移动:账户爆破、显式凭据远程登录、目标域控的远程代码执行、未知文件共享名、Kerberos票据加密方式降级(流量)、异常的Kerberos票据请求(流量)
  • 权限提升:ACL修改、MS17-010攻击检测、新增组策略监控、NTLM 中继检测、基于资源的约束委派权限授予检测、攻击打印机服务 SpoolSample、未知权限提升、MS14-068攻击检测(流量)、Kerberos约束委派滥用(流量)
  • 权限维持:AdminSDHolder对象修改、DCShadow攻击检测、DSRM密码重置、组策略委派权限授予检测、Kerberos约束委派权限授予检测、敏感用户组修改、域控新增系统服务、域控新增计划任务、SIDHistory属性修改、万能钥匙-主动检测、万能钥匙-被动检测(流量)、黄金票据(流量)
  • 防御绕过:事件日志清空、事件日志服务被关闭

其中标注了流量的检测方法暂未在本次开源计划中,后续会根据大家的反馈继续开源。

安装部署

WatchAD是一个完整的检测系统,涉及的内容较多,请参考 安装教程 进行安装。如果你需要设置蜜罐账户,也可以参考我们关于蜜罐账户的说明

项目架构简图:

Architecture

本项目 WatchAD 只包含了检测引擎相关的代码,你可以选择直接将告警数据导入运营中心统一管理,或者使用我们开发的Web平台 WatchAD-Web ,它是一个为WatchAD定制的简易平台,可进行简单的运营工作,如果你对界面设计或者操作体验有更高的要求,请根据WatchAD的告警数据格式自行定制化开发。

自定义检测模块

WatchAD支持开发自定义的检测模块,详情请参考我们的教程

如果你不需要某个检测模块,直接将该py文件删除并重启检测引擎即可,无需其它配置。record目录中的文件不参与告警检测,只负责记录域内实体的关键活动,请勿删除。

// TODO

  • English Document
  • ElasticSearch兼容6.X
  • 各个检测模块的误报持续优化
  • Kerberoasting:基于事件日志检测的代码被流量替代,后续可添加
  • Pass-the-Hash(PtH):内部存在误报,暂缓开源
  • Pass-the-Ticket(PtT):内部存在误报,暂缓开源
  • Silver-Ticket:内部存在误报,暂缓开源
  • 伪造用户信息:内部存在误报,暂缓开源
  • 基于用户行为的失陷账户检测
  • 基于Kerberos流量的分析开源
  • NTLM流量分析

如果你有认为需要加入到WatchAD检测的攻击方法,请提issue告诉我们相关复现方式,或者提交PR成为本项目的贡献者。

如果你发现某个检测模块有较多的误报(日均超过10条),请提issue告诉我们或由你优化之后提交PR。

Follow me

微博: @9ian1i

Github: @9ian1i

联系我们

我们来自360信息安全部0KEE Team,如果你有安全工具或者安全系统开发经验,热衷于甲方安全建设,请投递简历到:zhanglu-it#360.cn、renyan-it#360.cn、zhusiyu1#360.cn。

watchad's People

Contributors

qianlitp avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.