内网安全--AS-REP Roasting攻击

AS-REP Roasting是一种对用户账号进行离线爆破的攻击方式。但是该攻击方式利用比较局限,因为其需要用户账户设置“不要求Kerberos预身份验证”选项,而该选项是默认没有勾选上的。Kerberos预身份验证发送在Kerberos身份验证的第一阶段(AS_REQ&AS-REP),它的主要作用是防止密码离线爆破。默认情况下,预身份验证是开启的,KDC会记录密码错误次数,防止在线爆破。
当关闭了预身份验证后,攻击者可以使用指定用户向域控的88Kerberos端口去请求票据,此时域控不会作任何验证就将TGT认购权证和该用户Hash加密的Login Session Key返回。因此攻击者就可以对获取到的 用户Hash加密的Login Session Key进行离线破解,如果字典足够强大,就能破解得到该指定用户的明文密码。

AS-REP Roasting攻击过程

AS-REP Roasting攻击前提条件:

  • 域用户设置了“不要求kerberos预身份验证”
  • 需要一台可与KDC进行通信的主机/用户

image.png
针对AS-REP Roasting攻击主要分为两步:
1、获取AS-REP响应包中用户Hash加密的Login Session Key。
2、对上一步获得的Login Session Key进行解密。

1、获取Hash

第一步,先获取 AS-REP 响应包中用户 Hash 加密的 Login Session Key, 也就是 AS-REP 响应包中最外层 enc-part 里面的 cipher 部分。获取 AS-REP 响应包中用户 Hash 加密的 Login Session Key 有很多工具,以下演示几个工具的用法。

1)Rubeus

如果当前主机在域内的话,可以通过执行如下命令裕兴Rubeus,该工具会自动搜索域内设置了“不要求kerberos预身份验证的用户”,并以该用户身份发送AS-REQ请求,由于不需要预身份验证,所以KDC会直接返回AS-REP回复包,然后该工具会将AS-REP响应包中返回的用户Hash加密的Login Session Key以John能破解的格式保存为hash.txt。

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

2)ASREPRoast.ps1脚本

如果当前主机在域内的话,通过执行如下命令导入 ASREPRoast.ps1 脚本并进行操作。该脚本会自动搜索域内设置了不要求 Kerberos 预身份验证的域用户, 并以该用户身份发送 AS-REQ 请求,由于不需要预身份验证,所以域控会直接返回 AS-REP 回复包。然后该工具会打印出不要求 Kerberos 预身份验证的用户名,DN以及用户 Hash 加密的 Login Session Key 也就是 Hash。然后我们使用 select 语句过滤出 Hash。

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

3)非域内机器

对于非域内的机器,就无法通过上面两种方式来获取Hash了。所以想要获取域内设置了“不需要kerberos预身份验证”的域内账号,可以使用ADFind执行如下命令来进行过滤查询,这个前提也得拥有一个有效的域用户账号和密码。查询出设置了“不需要kerberos预身份验证”的域内账号之后,再使用ASREPRoast.ps1脚本或impacket 下的 GetNPUsers.py 脚本获取针对指定用户的用户 Hash 加密的 Login Session Key 也就是 Hash。

adfind -h 192.168.1.1:389 -u test\hack -up P@ss1234 -f "useraccountcontrol: 1.2.840.113556.1.4.803:=4194304" -dn

然后运行如下命令调用 ASREPRoast.ps1 脚本获取针对指定用户 test 的用户 Hash 加密的 Login Session Key 也就是 Hash,该格式可以被 John 直接爆破。

Import-Module .\ASREPRoast.ps1
Get-ASREPHash -UserName test -Domain test.com -Server 192.168.1.1 | Out-File -Encoding ASCII hash.txt

也可以使用 impacket 下的 GetNPUsers.py 脚本,只需要把上一步过滤出的设置了 “不需要 kerberos 预身份验证” 的域内账号写在 users.txt 文件中即可运行如下命令获取针对指定用户 test 的用户 Hash 加密的 Login Session Key 也就是 Hash,该格式可以被 John 直接爆破。

python3 GetNPUsers.py -dc-ip 192.168.1.1 -usersfile users.txt -format john test.com/

或者可以直接进行盲爆,这就不需要有效的域用户账号密码。适用于攻击者在域外且没有一个有效的域账号密码。通过将大量用户写在 users.txt 文件中,运行如下命令自动获取指定 users.txt 文件中的用户是否设置了 “不需要 kerberos 预身份验证” 属性,并获取设置了 “不需要 kerberos 预身份验证” 账号的用户 Hash 加密的 Login Session Key

python3 GetNPUsers.py -dc-ip 192.168.1.1 -usersfile users.txt -format john test.com/

2、爆破Hash

可以执行如下命令使用 John 对第一步获取到的 Hash 进行爆破,但是爆破 的成功与否也与我们的字典强度有关。

john --wordlist=/opt/pass.txt hash.txt

而如果想用 hashcat 进行爆破的话,由于第一步获取的 hash 格式并不能直接被 hashcat 所爆破,所以我们得手动添加 $23 到如图所示位置。
image.png
然后执行如下命令使用 hashcat 爆破。

hashcat -m 18200 hash.txt pass.txt --force

AS-REP Roasting攻击防御

  • 检测域中是否存在设置了“不要求kerberos预身份验证”属性的用户。如果存在,将该属性取消勾选
  • 在日志方面进行查看的话,重点关注事件ID为4768(请求Kerberos身份验证服务)的日志。如果有过多的4768日志,可以对该事件ID为4768的日志进行筛选,主要筛选出预身份验证类型为0的日志

image.png

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
V-REP用户手册是指V-REP仿真软件的用户指南,该软件是一款功能强大的机器人仿真平台。V-REP用户手册提供了关于如何使用V-REP软件的详细指导和说明。用户手册分为多个章节,涵盖了V-REP软件的各个方面。 首先,V-REP用户手册介绍了软件的安装和启动过程,包括了适用于不同操作系统的操作说明。然后,手册详细介绍了软件界面的各个组件和功能,如场景层次结构、物体和模型管理、相机设置等。对于初学者来说,这些内容对于了解软件的基本操作非常有帮助。 此外,V-REP用户手册还提供了关于物理引擎的说明,解释了如何设置和模拟不同类型的物理对象。手册还介绍了如何添加传感器、控制器和动作规划算法,以实现更复杂的仿真任务。手册还提供了关于远程API接口的说明,这使得用户可以通过编程来控制和监控仿真实验。 除了基本功能的介绍,V-REP用户手册还包含了一些高级功能的使用教程,如路径规划、机器人学习和视觉传感器。用户手册还提供了一些常见问题和故障排除的解决方案,以帮助用户解决在使用软件过程中遇到的问题。 总之,V-REP用户手册是一本全面指导用户如何使用V-REP软件的重要参考资料,可以帮助用户快速上手并实现各种机器人仿真任务。无论是对于学生、研究人员还是工程师来说,V-REP用户手册都是一本不可或缺的工具书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值