当前位置: 首页 > news >正文

渗透测试 之 AD域渗透 【AS-REP Roasting】 攻击技术详解

说明:

  1. AS-REP Roasting是一种对用户账户进行离线爆破的攻击方式。但是该攻击方式使用比较受限,因为其需要用户账户设置“不要求Kerberos预身份验证”选项,而该选项默是没有勾选的。
  2. Kerberos 预身份验证发生在Kerberos身份验证的第一阶段(AS_REQ&AS REP),它的主要作用是防止密码离线爆破。
  3. 如果当前主机在域内会自动搜索不需要预认证的用户进行AS-REP Roasting攻击,并将该用户加密的。

攻击过程
AS-REP Roasting 攻击的前提条件如下:

  • 域用户勾选“不要求Kerberos预身份验证”选项
  • 需要一台可与KDC88端口进行通信的主机。

用户test勾选了“不要求Kerberos预身份验证”选项。
AS-REP Roasting 攻击主要分为两步:
1)获取AS-REP响应包中用户Hash加密的Login Session Key,后面统称为Hash
2)对上一步获得的Hash进行解密。

  • 获取Hash
    • 获取AS-REP包中用户Hash加密的Login Session Key,也就是AS-REP响应包中最外层ecp-part中的cipher部分。获取该Hash的工具有很多,下面介绍几个工具的用法
  • Rubeus
    • 如果当前主机在域内,可以通过执行如下命令运行Rubeus,该工具会自动搜索域内勾选了,不要求Kerberos预身份验证”选项的用户,并以该用户身份发起AS-REQ。
    • 由于不需要预身份验证,所以KDC会直接返回AS-REP包。然后该工具会将AS-REP包中返回的用户Hash加密的 Login Session Key 以John工具能破解的格式保存为 hash.txt文件。
      • John工具 kali上有这个多种加密破解工具 这个具体自行百度查阅
  •        Rubeus.exe asreproast /format:john /outfile:hash.txt

  • 非域内机器
    • 对于非域内的机器,就无法通过上面两种方式来获取 Hash 了。
    • 要想获取域内勾选了“不需要 Kerberos 预身份验证”选项的账户、可以使用 Adfind 执行如下命令来进行过滤查询,前提是拥有一个有效的域账户和密码。查询出符合条件的域账户之后。
    • 再使用 Impacket 下的 GetNPUsers.py 脚本获取针对指定用户的用户 Hash 加密的 Login Session Key。
  • AdFind.exe -h 192.168.1.89:389 -u xie\Administrator -up  123@qq.com  -f "userAccountControl:1.2.840.113556.1.4.803:=4194304" -dn

  •  
  • 过滤出test用户-不需要Kerberos 预身份验证账号。
  1. 然后使用 Impacket 下的 GetNPUsers.py 脚本把上一步过滤出来的域账户写入 user.txt 文件中
    1. 运行如下命令获取针对指定用户的用户 Hash 加密的 Login Session Key,该格式可以被 John 直接爆破。
      1.  python GetNPusers.py -dc-ip 192.168.1.89 -usersfile user.txt -format john xie.com/

  • 盲爆破
    • 不需要有效的域账户和密码,这个情况适用于攻击者在域外且没有一个有效的域账户和密码。
    • 将大量的用户名写入到user.txt 获取这些用户验证是否开启Kerberos预身份验证。
    • python GetNPusers.py -dc-ip 192.168.1.89 -usersfile user1.txt -format john xie.com/

  • 爆破hash
    • john --wordlist=<密码字典路径> <hash值>
    • 爆破出来的密码是123@qq.com

AS-REP Roasting 攻击防御

  • 检测域中是否存在设置了,不要求Kerberos预身份验证,属性的用户如果存在,将该属性取消勾选。 
  • 如果想在日志层面上进行检测,重点关注的事件ID是4768且预身份验证类型为0的日志。 

http://www.mrgr.cn/news/48803.html

相关文章:

  • 【笔记】Day2.5.1查询运费模板列表(未完
  • win软件 超强的本地视频 图片去水印 动态水印!
  • vue面试题
  • 【网络协议】TCP协议常用机制——延迟应答、捎带应答、面向字节流、异常处理,保姆级详解,建议收藏
  • 垂直AI大模型行业全景分析及发展趋势研究报告
  • Linux(三):文件比较利器——vimdiff与vim -d
  • newlibc memcpy 存在问题
  • Git-bug001 VScode中git clone的地址首次push报错push.default is unset
  • Linux -- 初识动静态库
  • 2024ccna考试时间?新手小白看这些就够了
  • HTB:Cap[WriteUP]
  • 避免 Python 类型转换错误:实用指南
  • 51单片机的智能温控风扇【proteus仿真+程序+报告+原理图+演示视频】
  • 配置WSGI 服务器(Gunicorn)和Nginx 反向代理服务器部署Flask项目
  • Hi电源芯片选型表
  • 手撕数据结构 —— 栈(C语言讲解)
  • java 程序在服务器出现时区错误问题(使用Date,LocalDateTime,ZonedDateTime都不正确)
  • 完成单位信息宣传考核任务投稿为什么邮箱投稿不香了?
  • 【ProtoBuf】基础使用与编译
  • C# udp通信测试助手-点对点-网络断开检测