Back

打靶记录-Timelapse

靶机来自HTB

攻击路径

立足点:SMB共享获取敏感文件->破解压缩包密码->破解pfx文件密码->提取证书与私钥->登录winRM

提权:用ps历史中发现的密码登录srv_deploy->发现用户组有LAPS_Readers_>读取admin密码提权

信息整理

端口扫描结束后,得到许多信息

从端口开放情况可以判断这是一台域控,由于端口信息过多,进行其他扫描行为时手动输入不够优雅,这里学了一个处理输出结果的trick:

1
grep open nmapscan/ports.nmap | awk -F '/' '{print $1}' | paste -sd ','

其中,grep open ...用于从输出中提取以开放的端口信息,awk -F '/' '{print $1}'负责将提取的部分从/分列,并取第一列的内容,也就是端口的数字,paste -sd ','用于将结果输出为一行并用逗号分隔

最终结果如下:

1
53,88,135,139,389,445,464,593,636,3268,3269,5986,9389,49667,49673,49674,49695

可以将其赋值给变量,在之后随时调用,大大缩短了操作时间,且十分优雅

SMB渗透

爆破压缩包

从SMB的Shares目录中获取到了压缩包winrm_backup.zip,解压需要密码

这里可以用两种方式进行密码爆破,其一是使用fcrackzip直接爆破:

1
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -v -u winrm_backup.zip

其二便是将压缩包转码为hash,用john进行破解,这种方式更推荐

1
2
zip2john winrm_backup.zip > winrm_backup.zip.hash
john winrm_backup.zip.hash --wordlist=/usr/share/wordlists/rockyou.txt

解压获得legacyy_dev_auth.pfx文件

提取证书与密钥

这里涉及了x.509相关的知识,pfx是一种归档文件,可同时存储证书、私钥等内容,在IBM的官方文档下告诉了我们如何提取其中的证书与私钥

但是解密仍需要密码,和之前一样,通过转码后用john破解的方式

提取出的私钥解密后即可使用,用证书与私钥登录winrm,获取系统立足点

1
evil-winrm -i timelapse.htb -c legacyy_dev_auth.pfx.crt -k legacyy_dev_auth.pfx.decrypt.key -S

域信息收集

net user查看当前用户详细信息:

可以看到属于开发组,值得留意一下

通过查看powershell历史记录,获取到另一个用户srv_deploy的明文密码,直接winrm登录
而在该用户的详细信息中。可看到所属用户组中有LAPS_Readers

LAPS机制

本地管理员密码解决方案(LAPS)是一个用于管理域加入计算机的工具,其中 管理员密码 是 唯一、随机且经常更改 的,这些密码安全地存储在活动目录中,并且只有被授权通过访问控制列表(ACL)的用户才能访问。客户端到服务器的密码传输安全性通过使用 Kerberos 版本 5 和 高级加密标准(AES)来确保。具体请看LAPS

由于当前用户有LAPS权限,因此尝试使用官网的命令去读取

但由于powershell版本不同,目标主机没有这条命令,因此换个思路,使用AD管理的命令,去获取当前主机的扩展成员

1
get-ADComputer dc01 -property *

成功读取到Admin的明文密码

这是由于LAPS的机制所致,LAPS中存储的密码可以以明文或密文两种方式存储,若是密文就需要对其进行破解

之后就可以用该密码连接Adminisrator权限的winRM

总结

这台靶机开放的端口较多,可据此判断是一台域控;通过grep等命令可实现关键信息的整理,如ip、端口等信息,相较于手动输入更加优雅;获取立足点期间进行了多次爆破密码,均可使用转码为hash后用john进行爆破的方式,效率最高;提权部分涉及了较多Windows运维方面的知识,最终通过读取LAPS密码成功获取到Administrator权限