入门|手把手教你入门内网渗透之二
文章插图
0x00 写在前面在上一篇文章中,我介绍了内网信息搜集,提权以及隧道搭建的有关内容,本文中,我将详细的描写内网横向移动的原理和方法。
PS:本文会用到之前文章中获取的信息,如有问题可以回头去查看:文章1
本文顺序
Kerberos协议相关方式横向-》其他方式(漏洞)横向移动-》拿下域控导域hash-》读取到密码后尝试登录其他主机
0x01 Krb相关横向移动一、Kerberos协议krb简介
Kerberos是20世纪80年代美国麻省理工学院开发的一种基于对称密码算法的网络认证协议,允许一个非安全的网络上的两台计算机交换加密消息互相证明他们的身份。
Kerberos阐述了一个这样的问题:假设有一个开放的分布环境,用户通过用户名和口令登陆到了工作站,之后用户可能希望通过网络访问各种远程资源,而这些资源需要认证用户的身份,用户通过与控制中心交互获取信任后得到访问资源的门票,通过门票来请求资源服务。服务器能够只对授权用户提供服务,并能鉴别服务请求的种类。
(上面看的模模糊糊的没关系,我将试着用最简单且易懂的方式描述它。)
涉及角色和过程
这一整个来来回回涉及的有三个角色:
- 服务访问者client
- 服务提供者server(或者AP接入点)
- 密钥分发中心KDC(由两部分组成:Authentication Server[简称AS]和Ticket Granting Server[TGS])
- AS-req:client向KDC发起请求认证(准确来说是KDC中的AS,所以叫AS-request),发送自己使用Client hash加密的身份信息。
- AS-rep:AS使用Client hash进行解密,若结果正确就返回用krbtgt hash加密的TGT票据(用于TGS-req),TGT里面包含PAC。
- TGS-req:client使用刚刚获得的TGT向KDC中的TGS发送请求,说明自己想请求的资源。
- TGS-rep:TGS使用krbtgt hash解密TGT,若结果正确,返回用服务器的hash加密的ST(server ticket),并不会判断client是否有权限访问,只要TGT正确即可。
- AP_req:client拿着获得的ST去服务器请求资源。
- AP_rep:server使用自己的hash解密ST,若解密正确,则拿着获取的PAC去访问KDC判断client是否有权限访问。KDC解密PAC后获取用户sid以及所在组的信息,并根据访问控制表(ACL)判断权限。若符合,server返回资源给client。
![入门|手把手教你入门内网渗透之二](https://p0.ssl.img.360kuai.com/t0140301a6a5b361a65.jpg)
文章插图
SPN、PAC以及ACL
这里作为对krb认证过程的补充。
服务主体名称SPN(ServicePrincipal Names)
是服务实例(比如MySQL)的唯一标识,krb身份验证使用SPN将服务实例与服务登录帐户相关联,若在整个林或域中计算机上安装多个服务实例,则每个实例都必须具有自己的SPN。若想使用 Kerberos协议来认证服务,那么必须正确配置SPN。
SPN分为两种类型:一种是注册在活动目录的机器帐户(Computers)下,当一个服务的权限为Local System或Network Service时,SPN注册在机器帐户(Computers)下。另一种是注册在活动目录的域用户帐户下,当一个服务的权限为一个域用户时,SPN注册在域用户帐户下。
特权属性证书PAC(Privilege Attribute Certificate)
PAC是微软为了解决域内不同权限的用户访问不同资源的问题。PAC中包含用户的sid和用户所在组,用于服务器向KDC确认访问者是否有权限访问相关资源。PAC对于client和服务器全程都是不可见的,只有KDC能够制作和查看PAC。
![入门|手把手教你入门内网渗透之二](https://p0.ssl.img.360kuai.com/t0153fdb3d036263695.jpg)
文章插图
访问控制列表ACL(Access Control List)的那些事
Windows访问控制模型(Access Control Model)是Windows安全的基础组件,它由两部分:访问令牌(Access Token)和安全描述符(Security Descriptor)组成,他们分别被访问者和被访问对象所持有。
【 入门|手把手教你入门内网渗透之二】其中访问令牌是与Windows的账户相互对相应的,当某一账户登录时,系统会生成此用户的访问令牌并分发给启动的进程,当账户通过某一进程访问某些对象或者执行某些系统管理相关的操作时,Windows会检查访问令牌与被访问对象所持有的安全描述符,来判断是否允许相关操作。
访问令牌中包含:用户标识符与用户所属组标识符,用户权限列表等信息,通过SID进行描述。
PS:安全标识符SID(Security Identity)是Windows中每个账户和账户组都有的一个唯一的标识符,分为:内置sid和自动分配的sid。保证了角色(账户/账户组)的唯一性。形式:S-[修订级别]-[权值]-[标识符]
- 交易|什么时候买手机最便宜?内行人教你这样省钱
- 原创|别花冤枉钱,我教你怎么样给电脑装系统,安装版与Ghost都不难!
- 月亮|还不会用手机专业模式?我来教你!
- AMD|AMD终于要推新入门级处理器了,看到具体信息,真为其捏一把汗
- 量度|从0开始教你做CRM「3」:如何构建客户画像?
- 军情六处|新手入门学PLC,搞懂这几种接线方式,再也不用求别人
- 方法论|最实用的中台入门介绍(三)模型篇
- 微信|如何下载微信视频号的视频?教你三种方法,一分钟轻松搞定!
- 评测|电脑多开微信很难?这里教你一键式操作
- Linux|应急响应入门之Linux分析排查