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机器中指定的服务。
相关文章:

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. 域内添加…...

vscode conda activate激活环境出错
vscode conda activate 出错 conda-script.py: error: argument COMMAND: invalid choice: ‘activate’ To initialize your shell, run$ conda init <SHELL_NAME>Currently supported shells are:- bash- fish- tcsh- xonsh- zsh- powershellSee conda init --help f…...

信息与通信工程面试准备——数学知识|正态分布|中心极限定理
目录 正态分布 正态分布的参数 正态分布的第一个参数是均值 正态分布的第二个参数是标准差SD 所有正态分布的共同特征 标准正态分布:正态分布的特例 中心极限定理 理解定义 示例# 1 示例# 2 知道样本均值总是正态分布的实际含义是什么? 正态分…...

Mybatis多表查询与动态SQL的使用
目录 1. Mybatis多表查询 1.1 添加文章表实体类 1.2 文章Interface 1.3 文章.xml 1.4 lombok的toString()有关对象打印的说明 1.5 场景: 一个用户查询多篇文章 2. 复杂情况: 动态SQL的使用 2.1 为什么要使用动态SQL? 2.2 <if>标签 2.3 <trim>标签 2.4 <where&g…...

url 和 uri 有什么区别?
URL(Uniform Resource Locator)和URI(Uniform Resource Identifier)是两个与网络资源定位和标识相关的概念,它们有一些区别,但也存在一些重叠。 URI(Uniform Resource Identifier)是…...

HCIP VLAN实验
VLAN实验 拓扑图配置和分析分析配置LSW1LSW2R1 测试dhcp获取ipICMP测试 拓扑图 配置和分析 分析 从题目来看,因为 pc 1 3都是vlan2而且还是不同网段,pc 2 4 5 6在同一网段,所以可以将pc 1 2 5 4 6分在一个网段 pc4不通5 6 ,那就…...

无涯教程-Perl - waitpid函数
描述 该函数等待ID为PID的子进程终止,返回已故进程的进程ID。如果PID不存在,则返回-1。进程的退出状态包含在$?中。 可以将标志设置为各种值,这些值等于waitpid()UNIX系统调用使用的值。 FLAGS的值为0应该在支持进程的所有操作系统上工作。 语法 以下是此函数的简单语法- …...

Redis之缓存雪崩、缓存击穿、缓存穿透问题
文章目录 前言一、缓存雪崩1.1、原因分析2.2、常用解决方案 二、缓存击穿2.1、原因分析2.2、常用解决方案2.2.1、使用互斥锁2.2.2、逻辑过期方案2.3、方案对比 三、缓存穿透3.1、原因分析3.2、解决方案3.2.1、缓存空对象3.2.3、布隆过滤3.3、方案对比 总结 前言 本文谈谈Redis…...

九五从零开始的运维之路(其三十五)
文章目录 前言一、概述1.概念2.组成3.特点4.工作原理5.优点: 二、各节点及其ip地址三、构建MHA1.ssh免密登录2.构建mysql主从复制(一)安装mariadb数据库并启动(二)master服务器(三)slave服务器&…...

5G科技防汛,助力守护一方平安
“立秋虽已至,炎夏尚还在”,受台风席卷以及季节性影响全国多地正面临强降水的严峻挑战。“落雨又顺秋,绵绵雨不休”,正值“七下八上” 防汛关键时期,贵州省水文水资源局已全面进入备战状态。 为确保及时响应做好防汛抢…...

用easyui DataGrid编辑树形资料
easyui显示编辑树形资料有TreeGrid元件,但是这个元件的vue版本和react版本没有分页功能。virtual scroll功能也表现不佳。 我用DataGrid来处理。要解决的问题点: (1)如何显示成树形。即,子节点如何有缩进。 先计算好…...

Azure存储账户
存储账户的概念 Azure存储账户是Azure提供的一种云存储解决方案,用于存储和访问各种类型的数据,包括文件、磁盘、队列、表格和Blob(二进制大对象)数据。存储账户可以基于访问模式和冗余需求来选择不同的类型,以满足应…...

数字人服装布料解算技术服务,让数字人驱动更真实
一个数字人通过三维建模、骨骼绑定、表情绑定后,对于数字人有两种使用场景,可以使用动捕设备实时驱动,将静态的3D模型结合动捕设备实时“活”起来。数字人通过动捕设备实时驱动的过程,则是基于实时布料毛发解算方案进行技术处理的…...

达梦数据库安装与初始化超详细教程
陈老老老板🦸 👨💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容) 👨💻本文简述:本文讲一下达梦数据库的下载与安装教程(Windows版&am…...

vue输入框只能输入数字类型,禁止输入和粘贴e
js怎么去除1e里面e 方法一:使用 Number() 函数将科学计数法表示的字符串转换为数字。然后,使用 toString() 方法将其转换回字符串形式,这样就会自动移除科学计数法中的 "e" var num 1e10; // 科学计数法表示的数字 var numStr …...

金盘 微信管理平台 getsysteminfo 未授权访问漏洞[2023-HW]
金盘 微信管理平台 getsysteminfo 未授权访问漏洞 一、漏洞描述二、漏洞影响三、网络测绘四、漏洞复现小龙POC检测: 五、 修复建议 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后…...

02-前端基础第二天-HTML5
01-HTML标签(下)导读 目标: 能够书写表格能够写出无序列表能够写出3~4个常用input表单类型能够写出下拉列表表单能够使用表单元素实现注册页面能够独立查阅W3C文档 目录: 表格标签列表标签表单标签综合案例查阅文档 02-表格标…...

i18n 配置vue项目中英文语言包(中英文转化)
一、实现效果 二、下载插件创建文件夹 2.1 下载cookie来存储 npm install --save js-cookienpm i vue-i18n -S 2.2 封装组件多页面应用 2.3 创建配置语言包字段 三、示例代码 3.1 main.js 引用 i18n.js import i18n from ./lang// 实现语言切换:i18n处理element,…...

NFTScan NFT API 在 DID Protocol 开发中的应用
自互联网发展以来,Web2.0 时代产生了网络社会,社会已经不再局限于地理边界,而 Web 3.0 引入了去中心化的理念,强调个体数据隐私和可信互操作性。在这个新的时代中,去中心化身份(Decentralized Identifier 即…...

内存管理(1)
内存管理(1) 1、各类型数据在内存中的存储空间2、C内存管理方式2.1 针对于内置类型分析2.2 针对于自定义类型分析2.3 C语言与C在申请动态内存失败时的区别 3、operator new 和 operator delete函数(重点)3.1 底层知识解析3.2 实现…...

实践教程|基于 pytorch 实现模型剪枝
PyTorch剪枝方法详解,附详细代码。 一,剪枝分类 1.1,非结构化剪枝 1.2,结构化剪枝 1.3,本地与全局修剪 二,PyTorch 的剪枝 2.1,pytorch 剪枝工作原理 2.2,局部剪枝 2.3&#…...

[Docker精进篇] Docker镜像构建和实践 (三)
前言: Docker镜像构建的作用是将应用程序及其依赖打包到一个可移植、自包含的镜像中,以便在不同环境中快速、可靠地部署和运行应用程序。 文章目录 Docker镜像构建1️⃣是什么?2️⃣为什么?3️⃣镜像构建一、用现有容器构建新镜像…...

【Unity细节】Unity中的层级LayerMask
👨💻个人主页:元宇宙-秩沅 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 秩沅 原创 😶🌫️收录于专栏:unity细节和bug 😶🌫️优质专栏 ⭐【…...

修改el-table行悬停状态的背景颜色
.content:deep().el-table tr:hover>td {background-color: #f5f5f5 !important; /* 设置悬停时的背景颜色 */ }/*这一点很重要,否则可能会导致hover行时操作列还是原来的背景色*/ .content:deep().el-table__body tr.hover-row>td{background-color: #f5f5f5…...

记一次mysql not in的使用问题
现象:使用not in 某个id集合,出现脏数据,存在null数据。例如:not in(1,2,null),结果会一条数据都没有,为空 原因: 当使用NOT IN操作符时,传递给它的值列表中不能包含NULL值…...

JavaFx基础学习【四】:UI控件的通用属性
目录 前言 一、介绍 二、继承关系 三、常用通用属性 四、属性Properties 五、属性绑定 六、属性监听 七、事件驱动 八、其他章节 前言 如果你还没有看过前面的文章,可以通过以下链接快速前往学习: JavaFx基础学习【一】:基本认识_明…...

【Leetcode】101.对称二叉树
一、题目 1、题目描述 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例1: 输入:root = [1,2,2,3,4,4,3] 输出:true示例2: 输入:root = [1,2,2,null,3,null,3] 输出:false提示: 树中节点数目在范围 [1, 1000] 内-100 <= Node.val <= 100进阶:你可以…...

用Java实现原神抽卡算法
哈喽~大家好,好久没有更新了,也确实遇到了很多事,这篇开始恢复更新,喜欢的话,可以给个的三连,什么?你要白嫖?那可以给个免费的赞麻。 🥇个人主页:个人主页…...

微服务—Eureka注册中心
eureka相当于是一个公司的管理人事HR,各部门之间如果有合作时,由HR进行人员的分配以及调度,具体选哪个人,全凭HR的心情,如果你这个部门存在没有意义,直接把你这个部门撤销,全体人员裁掉,所以不想…...

AI问答:JSBridge / WebView 与 Native 通信
一、理解JSBridge JSBridge是一种连接JavaScript和Native代码的桥梁,它提供了一种方法,使得JavaScript可以直接调用Native的代码,同时使得Native的代码也能直接调用JavaScript的方法,从而实现了JavaScript和Native之间的相互调用和…...