内网渗透-RDP&SPN

RDP连接

RDP通俗来说就是大家所熟知的3389端口

RDP使用明文密码连接:

windows:mstsc

mstsc.exe /console /v:IP /admin

linux:rdesktop IP:3389

RDP密文HASH连接

什么是SPN

Windows域环境是基于微软的活动目录服务工作的,它在网络系统环境中将物理位置分散、所属部门不同的用户进行分组,集中资源,有效地对资源访问控制权限进行细粒度的分配,提高了网络环境的安全性及网络资源统一分配管理的便利性。在域环境中运行的大量应用包含了多种资源,为资源的合理分组、分类和再分配提供了便利。微软给域内的每种资源分配了不同的服务主体名称(Service Principal Name, SPN)。

在使用Kerberos协议进行身份验证的网络中,必须在内置账号(NetworkService、LocalSystem)或者用户账号下为服务器注册SPN。对于内置账号,SPN将自动进行注册。但是,如果在域用户下运行服务,则必须为要使用的账号手动注册SPN。因为域环境中的每台服务器都需要在Kerberos身份验证服务中注册SPN,所以攻击者会直接向域控制器发送查询请求,获取其需要的服务的SPN,从而知晓其需要使用的服务资源在哪台机器上。

总之,若想使用Kerberos协议来认证服务,则必须正确配置SPN。

SPN的分类

SPN分为两种:一种注册在AD上机器帐户(Computers)下,也就是上面提到的内置账号,另一种注册在域用户帐户(Users)下

  1. 当一个服务的权限为Local System或Network Service,则SPN注册在机器帐户(Computers)下。
  2. 当一个服务的权限为一个域用户,则SPN注册在域用户帐户(Users)下。

利用SPN扫描发现域内服务的好处是,利用SPN扫描不需要连接到网络中的每个IP来检查服务端口,与服务所在的机器没有直接联系,隐蔽性高。SPN扫描通过域控制器的LDAP进行服务查询,由于这是Kerberos票据行为的一部分,所以很难被检测到。

SPN利用

探针

 

 如果要查找特定服务可以使用

setspn */* | findstr "mysql"

请求

 

 

 

 

 

 

 

 使用minikatz导出

 

爆破密码

 

 

 

 

 

 

posted @ 2023-01-06 22:39  林烬  阅读(195)  评论(0编辑  收藏  举报