34

GitHub - 0Kee-Team/WatchAD: AD Security Intrusion Detection System

 4 years ago
source link: https://github.com/0Kee-Team/WatchAD
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

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属性修改、万能钥匙-主动检测、万能钥匙-被动检测(流量)、黄金票据(流量)
  • 防御绕过:事件日志清空、事件日志服务被关闭

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

本项目部分技术点在 DEF CON 27 @ Blue Team Village 上发表演讲。

安装部署

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

项目架构简图:

Architecture

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

自定义检测模块

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

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

// TODO

  • English Document
  • English code comment
  • 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 Twitter:@9ian1i

联系我们

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

参考文档


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK