Active Directory审计工具
项目描述
关于BTA
BTA是一个开源的Active Directory安全审计框架。它的目标是帮助审计员收集他们需要的信息来回答以下问题:
- 谁有对给定对象(计算机、用户账户等)的权限? 
- 谁可以读取给定的邮箱? 
- 哪些账户有域管理员权限? 
- 谁有扩展权限(userForceChangePassword、SendAs等)? 
- 在AD中两个时间点之间发生了哪些变化? 
该框架包括
- 一个可以将包含所有AD数据的ntds.dit文件转换为数据库的导入器 
- 用于查询数据库的工具 - AD挖掘框架 
- AD差异工具 
- 小型实用程序(数据库列表等) 
 
导入了全面的属性集,包括所有架构扩展(Exchange、Sharepoint等),并可查询。
每个问题都可以由AD专家作为一个挖掘器来明确化,这样就可以在整个审计过程中使用,而无需再次进行艰苦的工作。
安装BTA
快速安装
依赖项
- mongodb(《apt-get install mongodb-server》) 
- libesedb 2012 alpha版本 [1] - https://bitbucket.org/iwseclabs/bta/downloads/libesedb-alpha-20120102.tar.gz SHA-1 2aba34b1c9703a28b8913019044efa3ff53428fb 
- 构建它。安装它或在运行btaimport时将其安装到LD_LIBRARY_PATH中 
 
安装
- pip安装bta 
从源码
依赖项
- mongodb(《apt-get install mongodb-server python-pymongo》) 
- libesedb 2012 alpha版本 [1] - https://bitbucket.org/iwseclabs/bta/downloads/libesedb-alpha-20120102.tar.gz SHA-1 2aba34b1c9703a28b8913019044efa3ff53428fb 
- 构建它。安装它或在运行btaimport时将其安装到LD_LIBRARY_PATH中 
 
- openpyxl(≥2.0.2) 
安装
- 使用python setup.py install进行安装 
Active Directory安全分析
目标
- 清理AD或AD森林,查找 - 不良做法 
- 遗忘条目 
- 后门 
- 重新授权 
 
- BTA是一个操作工具,应该是 - 确定性的,可靠的 
- 运行一个成熟的程序 
 
协议
审计步骤
- 提取ntds.dit文件 
- 将ntds.dit文件导入数据库 
- 在数据库中查找控制点 
提取
以下是在Windows 2008上运行的域控制器备份NTDS.dit文件的示例。有关更多信息或Windows 2003方法,请参阅[2]。
ntdsutil
activate instance ntds
ifm
create full c:{\bs}NTDS_saved
quit
quithttps://www.sstic.org/2012/presentation/audit_ace_active_directory/
导入
- 原始的ntds.dit文件不可用。 
- 将一个ntds.dit导入一个MongoDB数据库 
- 能够并行导入多个ntds.dit 
示例
ntds2db -C ::mydb /path/to/ntds.dit
ntds2db /path/to/*.dit  --multi             \
  --C-from-filename                         \
     "::%s" "basename rmext 'DB' swap plus"分析
- 查询数据库 - 分析数据库的控制点:btaminer 
- 分析两个数据库之间的差异:btadiff 
 
分析控制点
- 挖掘结晶专业知识 - 管理员账户列表 
- 具有扩展权限的账户列表 
- 具有密码错误的账户列表 
- 各种时间线的列表 
 
btaminer -t ReST -C ::AD1 Schema --timelineCS created
Analysis by miner [Schema]
==========================
+---------------+-----------------------+
| Date          | Affected class schema |
+===============+=======================+
| 2009-02-11 18 | 234                   |
| 2011-12-20 00 | 267                   |
| 2011-12-22 14 | 3                     |
| 2011-12-23 18 | 46                    |
+---------------+-----------------------+分析差异
- diff - 在时间不同的两个导入之间的diff(目前是原始的) 
- 噪声过滤 
 
$ btadiff --CA ::ADclean --CB ::ADbackdoor --ignore-defaults
===============
Starting diffing sd_table
---------------
AB,101: [] *sd_refcount['14'=>'15']
AB,108: [] *sd_refcount['39'=>'41']
A ,229: []
A ,372: []
AB,423: [] *sd_refcount['3'=>'2']
 B,424: []
 B,425: []
 B,428: []
---------------
Table [sd_table]: 160 records checked, 2 disappeared, 3 appeared, 3 changed
===============
[...]===============
Starting diffing datatable
---------------
AB,3586: [DC001] *logonCount['116'=>'117'], *lastLogon['130052518207794051L'=>'130052535716737649L']
AB,3639: [RID Set] *rIDNextRID['1153'=>'1154']
AB,8784: [A:[gc]/B:[gc  DEL:346bf199-8567-4375-ac15-79ec4b42b270]] +isDeleted,
         *name["u'gc'"=>"u'gc\\nDEL:346bf199-8"], *dc["u'gc'"=>"u'gc\\nDEL:346bf199-8"]
AB,8785: [A:[DomainDnsZones]/B:[DomainDnsZones  DEL:58b2962b-708c-4c93-99ff-0b7e163131f9]]
         +isDeleted, *name["u'DomainDnsZones'"=>"u'DomainDnsZones\\nDE"],
         *dc["u'DomainDnsZones'"=>"u'DomainDnsZones\\nDE"]
AB,8786: [A:[ForestDnsZones]/B:[ForestDnsZones  DEL:87f7d8a2-4d05-48d0-8283-9ab084584470]]
         +isDeleted, *name["u'ForestDnsZones'"=>"u'ForestDnsZones\\nDE"],
         *dc["u'ForestDnsZones'"=>"u'ForestDnsZones\\nDE"]
 B,8789: [snorky insomnihack]
 B,8790: [gc]
 B,8791: [DomainDnsZones]
 B,8792: [ForestDnsZones]
---------------
Table [datatable]: 7636 records checked, 0 disappeared, 4 appeared, 5 changed
===============其他功能
- 可以以不同的格式生成报告 - 实时转储 
- ReST文档 
- CSV文件的压缩树 
 
- 数据库写入的审计日志 
- 在挖掘之前对表一致性进行检查 
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
bta-0.6.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 01e8c2b68f8d0a574785130ab207b77b698c1b6990a40d8434ffd4b355c13bd6 | |
| MD5 | 34a1820e306df2373dde1a33d5568b90 | |
| BLAKE2b-256 | e9517a7f94568db26efc495d710827b28cfe3fc41a4688162ee94f4bae0fe3de | 
bta-0.6.linux-x86_64.tar.gz的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | f3b6d6696f6c3cad2ff64009c1cd45d66c228a61abb8d8ec3757d8f13316a0ad | |
| MD5 | 7f02a7288e1a6365e1854cbfd33b6a09 | |
| BLAKE2b-256 | 1bb36cb645b02bbb1afaab53ce56666b2dbcedc8fb0e15ed817e018c92a4210b |