写点什么

如何使用 ADLab 搭建活动目录实验环境来练习渗透测试技术

作者:H
  • 2021 年 12 月 27 日
  • 本文字数:1984 字

    阅读完需:约 7 分钟

如何使用ADLab搭建活动目录实验环境来练习渗透测试技术

关于 ADLab PowerShell 模块

ADLab 是一个功能强大的 PowerShell 模块,该工具可以自动化实现一个活动目录实验环境,以帮助广大研究人员更好地学习和研究内部网络环境内的渗透测试技术。



工具准备

首先,我们需要使用下列命令将该项目源码克隆至本地:

git clone https://github.com/xbufu/ADLab.git
复制代码

接下来,我们需要将该模块移动至 PSModulePath。

显示 PSModulePath:

$env:PSModulePath.split(";")
复制代码

移动模块至该路径:

Move-Item .\ADLab\ "C:\Windows\system32\WindowsPowerShell\v1.0\Modules\"
复制代码

私信回复“资料”课获取以下资料包【点击查看1、200 多本网络安全系列电子书 2、全套工具包 3、100 份 src 源码技术文档 4、网络安全基础入门、Linux、web 安全、攻防方面的视频 5、 网络安全学习路线 6、ctf 夺旗赛解析

导入模块

导入全局模块:

Import-Module ADLab
复制代码

导入本地模块:

Import-Module .\ADLab.psm1
复制代码



初始化实验环境

Invoke-DCPrep

这个功能函数用于准备当前的虚拟机或计算机设备,并将其当作一个域控制器来使用。它回设置一个静态 IP 地址,并设置本地 localhost 主机为 DNS 服务器,然后对本地计算机进行重命名。

使用默认配置运行当前虚拟机,并显示 Verbose 输出:

Invoke-DCPrep -Verbose
复制代码

设置自定义主机名并使用 Google DNS 作为外网访问:

Invoke-DCPrep -Hostname "DC" -NewIPv4DNSServer "8.8.8.8"
复制代码

使用自定义 IP 和默认网关,并显示 Verbose 输出:

Invoke-DCPrep -Verbose -NewIPv4Address "192.168.1.99" -NewIPv4Gateway "192.168.1.1"
复制代码

Invoke-ForestDeploy

该功能函数将安装 AD DS 功能,并设置新的活动目录森林,整个过程自动完成,无需用户输入信息,完成后将会重启计算机。

安装新的森林,使用默认 DSRM 密码-“Password!”:

Invoke-ForestDeploy -Domain bufu-sec.local
复制代码

安装新的森林,使用 DSRM 密码-“P@ssword!”,并显示调试信息:

Invoke-ForestDeploy -Domain "bufu-sec.local" -DSRMPassword "P@ssword!" -Verbose
复制代码

Invoke-DNSDeploy

该功能从安装 DNS 功能开始,然后添加主区域并配置服务器转发器。

在当前主机上安装并配置 DNS,然后显示 Verbose 输出:

Invoke-DNSDeploy -Verbose -NetworkID 192.168.47.0/24 -ZoneFile "192.168.47.2.in-addr.arpa.dns" -ServerForwarder 1.1.1.1
复制代码

Invoke-DHCPDeploy

在本地 DC 上安装并配置 DHCP:

Invoke-DHCPDeploy -Verbose -ScopeName "Default" -ScopeID 192.168.47.0 -StartIP 192.168.47.100 -EndIP 192.168.47.200 -SubnetMask 255.255.255.0 -DNSServer 192.168.47.10 -Router 192.168.47.10
复制代码

在指定 DC 上安装并配置 DHCP:

Invoke-DHCPDeploy -Verbose -ScopeName "Default" -ScopeID 192.168.47.0 -StartIP 192.168.47.100 -EndIP 192.168.47.200 -SubnetMask 255.255.255.0 -DNSServer 192.168.47.10 -Router 192.168.47.10 -DCFQDN DC01.bufu-sec.local
复制代码



内容

Invoke-ADLabFill

该函数首先会创建一个组,并在全局 Groups 变量中定义 OU。默认情况下,它会为每个 OU 生成 10 个用户对象。

使用对象填充域森林,并显示 Verbose 输出:

Invoke-ADLabConfig -Verbose
复制代码

针对每个 OU 创建 50 个用户,并显示 Verbose 输出:

Invoke-ADLabConfig -Verbose -UserCount 50
复制代码

攻击向量

Set-ASREPRoasting

该函数从域中获取一定数量的随机用户,并为每个用户设置 DoesNotRequirePreAuth 标志,其中不包括管理员和 krbtgt 等默认帐户。默认情况下,会获取 5%的 ASREP-Roastable 用户。

获取 5%的 ASREP-Roastable 用户,并显示 Verbose 输出:

Set-ASREPRoasting -Verbose
复制代码

获取 ASREP-Roastable 域中的 10 个随机用户:

Set-ASREPRoasting -VulnerableUsersCount 10
复制代码

获取 ASREP-Roastable bufu 用户,并显示 Verbose 输出:

Set-ASREPRoasting -Users bufu -Verbose
复制代码

将提供的用户列表设置为 ASREP-Roastable 用户,并显示 Verbose 输出:

Set-ASREPRoasting -Users ("bufu", "pepe") -Verbose
复制代码



Set-Kerberoasting

该函数从域中获取一定数量的随机用户,并为每个用户添加一个 SPN,其中不包括管理员和 krbtgt 等默认帐户。默认情况下,会获取 5%的 kerberoastable 用户。

获取 5%的 kerberoastable 用户,并显示 Verbose 输出:

Set-Kerberoasting -Verbose
复制代码

获取 kerberoastable 域中的 10 个随机用户:

Set-Kerberoasting -VulnerableUsersCount 10
复制代码

获取 kerberoastable bufu 用户,并显示 Verbose 输出:

Set-Kerberoasting -Users bufu -Verbose
复制代码

将提供的用户列表设置为 kerberoastable 用户,并显示 Verbose 输出:

Set-Kerberoasting -Users ("bufu", "pepe") -Verbose
复制代码

Set-BadACLs

该函数首先授予 Chads 组对域管理员的常见权限,然后授予 Degens 组对 Chads 组的常见权限。最后,它将 Degens 组的一些用户的常见权限授予 Normaies 组的一些用户。

创建存在安全问题的 ACL 并显示 Verbose 输出:

Set-BadACLs -Verbose
复制代码

Set-PSRemoting

该函数首先将 GPO 配置为允许 WinRM 通过 TCP 端口 5985 连接到加入域的系统,然后通过 GPO 启用 PS 远程处理。

启用 PS 远程功能并显示 Verbose 输出:

Set-PSRemoting -Verbose
复制代码


用户头像

H

关注

还未添加个人签名 2021.08.04 加入

还未添加个人简介

评论

发布
暂无评论
如何使用ADLab搭建活动目录实验环境来练习渗透测试技术